summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Sakhartchouk <alexst@google.com>2011-02-04 10:41:05 -0800
committerAlex Sakhartchouk <alexst@google.com>2011-02-04 10:41:05 -0800
commit87ac3e2db6d5ae163131102c066e9d19bdfdc139 (patch)
tree8bd1acdae6481671262b60318ce67a7ddb554c2a
parent36c504662cd1f55141297c216dc7646c7d62e76c (diff)
downloadcollada-87ac3e2db6d5ae163131102c066e9d19bdfdc139.tar.gz
Collada Dom 1.4
Used by the geometry converter tool Change-Id: Ifec30e54a5d041f82e9dfa293421e1c4335585fb
-rw-r--r--Android.mk248
-rwxr-xr-xinclude/1.4/dom/domAccessor.h154
-rwxr-xr-xinclude/1.4/dom/domAnimation.h212
-rwxr-xr-xinclude/1.4/dom/domAnimation_clip.h174
-rwxr-xr-xinclude/1.4/dom/domAsset.h1101
-rwxr-xr-xinclude/1.4/dom/domBind_material.h185
-rwxr-xr-xinclude/1.4/dom/domBool_array.h132
-rwxr-xr-xinclude/1.4/dom/domBox.h152
-rwxr-xr-xinclude/1.4/dom/domCOLLADA.h522
-rwxr-xr-xinclude/1.4/dom/domCamera.h653
-rwxr-xr-xinclude/1.4/dom/domCapsule.h225
-rwxr-xr-xinclude/1.4/dom/domCg_connect_param.h105
-rwxr-xr-xinclude/1.4/dom/domCg_newarray_type.h189
-rwxr-xr-xinclude/1.4/dom/domCg_newparam.h313
-rwxr-xr-xinclude/1.4/dom/domCg_param_type.h7459
-rwxr-xr-xinclude/1.4/dom/domCg_sampler1D.h75
-rwxr-xr-xinclude/1.4/dom/domCg_sampler2D.h75
-rwxr-xr-xinclude/1.4/dom/domCg_sampler3D.h75
-rwxr-xr-xinclude/1.4/dom/domCg_samplerCUBE.h75
-rwxr-xr-xinclude/1.4/dom/domCg_samplerDEPTH.h75
-rwxr-xr-xinclude/1.4/dom/domCg_samplerRECT.h75
-rwxr-xr-xinclude/1.4/dom/domCg_setarray_type.h177
-rwxr-xr-xinclude/1.4/dom/domCg_setparam.h182
-rwxr-xr-xinclude/1.4/dom/domCg_setparam_simple.h122
-rwxr-xr-xinclude/1.4/dom/domCg_setuser_type.h221
-rwxr-xr-xinclude/1.4/dom/domCg_surface_type.h312
-rwxr-xr-xinclude/1.4/dom/domChannel.h104
-rwxr-xr-xinclude/1.4/dom/domCommon_color_or_texture_type.h328
-rwxr-xr-xinclude/1.4/dom/domCommon_float_or_param_type.h242
-rwxr-xr-xinclude/1.4/dom/domCommon_newparam_type.h484
-rwxr-xr-xinclude/1.4/dom/domCommon_transparent_type.h103
-rwxr-xr-xinclude/1.4/dom/domConstants.h1088
-rwxr-xr-xinclude/1.4/dom/domController.h169
-rwxr-xr-xinclude/1.4/dom/domConvex_mesh.h234
-rwxr-xr-xinclude/1.4/dom/domCylinder.h224
-rwxr-xr-xinclude/1.4/dom/domEffect.h204
-rwxr-xr-xinclude/1.4/dom/domElements.h866
-rwxr-xr-xinclude/1.4/dom/domEllipsoid.h128
-rwxr-xr-xinclude/1.4/dom/domExtra.h138
-rwxr-xr-xinclude/1.4/dom/domFloat_array.h166
-rwxr-xr-xinclude/1.4/dom/domForce_field.h137
-rwxr-xr-xinclude/1.4/dom/domFx_annotate_common.h110
-rwxr-xr-xinclude/1.4/dom/domFx_annotate_type_common.h1171
-rwxr-xr-xinclude/1.4/dom/domFx_basic_type_common.h2112
-rwxr-xr-xinclude/1.4/dom/domFx_clearcolor_common.h123
-rwxr-xr-xinclude/1.4/dom/domFx_cleardepth_common.h118
-rwxr-xr-xinclude/1.4/dom/domFx_clearstencil_common.h118
-rwxr-xr-xinclude/1.4/dom/domFx_code_profile.h127
-rwxr-xr-xinclude/1.4/dom/domFx_colortarget_common.h187
-rwxr-xr-xinclude/1.4/dom/domFx_depthtarget_common.h187
-rwxr-xr-xinclude/1.4/dom/domFx_include_common.h160
-rwxr-xr-xinclude/1.4/dom/domFx_newparam_common.h279
-rwxr-xr-xinclude/1.4/dom/domFx_profile_abstract.h58
-rwxr-xr-xinclude/1.4/dom/domFx_sampler1D_common.h611
-rwxr-xr-xinclude/1.4/dom/domFx_sampler2D_common.h675
-rwxr-xr-xinclude/1.4/dom/domFx_sampler3D_common.h739
-rwxr-xr-xinclude/1.4/dom/domFx_samplerCUBE_common.h739
-rwxr-xr-xinclude/1.4/dom/domFx_samplerDEPTH_common.h414
-rwxr-xr-xinclude/1.4/dom/domFx_samplerRECT_common.h675
-rwxr-xr-xinclude/1.4/dom/domFx_stenciltarget_common.h187
-rwxr-xr-xinclude/1.4/dom/domFx_surface_common.h563
-rwxr-xr-xinclude/1.4/dom/domFx_surface_format_hint_common.h397
-rwxr-xr-xinclude/1.4/dom/domFx_surface_init_common.h254
-rwxr-xr-xinclude/1.4/dom/domFx_surface_init_cube_common.h409
-rwxr-xr-xinclude/1.4/dom/domFx_surface_init_from_common.h173
-rwxr-xr-xinclude/1.4/dom/domFx_surface_init_planar_common.h179
-rwxr-xr-xinclude/1.4/dom/domFx_surface_init_volume_common.h251
-rwxr-xr-xinclude/1.4/dom/domGeometry.h175
-rwxr-xr-xinclude/1.4/dom/domGl_hook_abstract.h54
-rwxr-xr-xinclude/1.4/dom/domGl_pipeline_settings.h10820
-rwxr-xr-xinclude/1.4/dom/domGl_sampler1D.h78
-rwxr-xr-xinclude/1.4/dom/domGl_sampler2D.h78
-rwxr-xr-xinclude/1.4/dom/domGl_sampler3D.h78
-rwxr-xr-xinclude/1.4/dom/domGl_samplerCUBE.h78
-rwxr-xr-xinclude/1.4/dom/domGl_samplerDEPTH.h78
-rwxr-xr-xinclude/1.4/dom/domGl_samplerRECT.h78
-rwxr-xr-xinclude/1.4/dom/domGles_basic_type_common.h2091
-rwxr-xr-xinclude/1.4/dom/domGles_newparam.h279
-rwxr-xr-xinclude/1.4/dom/domGles_pipeline_settings.h6310
-rwxr-xr-xinclude/1.4/dom/domGles_sampler_state.h578
-rwxr-xr-xinclude/1.4/dom/domGles_texcombiner_argumentAlpha_type.h148
-rwxr-xr-xinclude/1.4/dom/domGles_texcombiner_argumentRGB_type.h148
-rwxr-xr-xinclude/1.4/dom/domGles_texcombiner_commandAlpha_type.h138
-rwxr-xr-xinclude/1.4/dom/domGles_texcombiner_commandRGB_type.h142
-rwxr-xr-xinclude/1.4/dom/domGles_texcombiner_command_type.h98
-rwxr-xr-xinclude/1.4/dom/domGles_texenv_command_type.h133
-rwxr-xr-xinclude/1.4/dom/domGles_texture_constant_type.h135
-rwxr-xr-xinclude/1.4/dom/domGles_texture_pipeline.h185
-rwxr-xr-xinclude/1.4/dom/domGles_texture_unit.h311
-rwxr-xr-xinclude/1.4/dom/domGlsl_newarray_type.h163
-rwxr-xr-xinclude/1.4/dom/domGlsl_newparam.h284
-rwxr-xr-xinclude/1.4/dom/domGlsl_param_type.h1220
-rwxr-xr-xinclude/1.4/dom/domGlsl_setarray_type.h163
-rwxr-xr-xinclude/1.4/dom/domGlsl_setparam.h177
-rwxr-xr-xinclude/1.4/dom/domGlsl_setparam_simple.h122
-rwxr-xr-xinclude/1.4/dom/domGlsl_surface_type.h313
-rwxr-xr-xinclude/1.4/dom/domIDREF_array.h132
-rwxr-xr-xinclude/1.4/dom/domImage.h375
-rwxr-xr-xinclude/1.4/dom/domInputGlobal.h157
-rwxr-xr-xinclude/1.4/dom/domInputLocal.h157
-rwxr-xr-xinclude/1.4/dom/domInputLocalOffset.h213
-rwxr-xr-xinclude/1.4/dom/domInstanceWithExtra.h203
-rwxr-xr-xinclude/1.4/dom/domInstance_camera.h102
-rwxr-xr-xinclude/1.4/dom/domInstance_controller.h239
-rwxr-xr-xinclude/1.4/dom/domInstance_effect.h327
-rwxr-xr-xinclude/1.4/dom/domInstance_force_field.h102
-rwxr-xr-xinclude/1.4/dom/domInstance_geometry.h148
-rwxr-xr-xinclude/1.4/dom/domInstance_light.h102
-rwxr-xr-xinclude/1.4/dom/domInstance_material.h353
-rwxr-xr-xinclude/1.4/dom/domInstance_node.h102
-rwxr-xr-xinclude/1.4/dom/domInstance_physics_material.h102
-rwxr-xr-xinclude/1.4/dom/domInstance_physics_model.h213
-rwxr-xr-xinclude/1.4/dom/domInstance_rigid_body.h894
-rwxr-xr-xinclude/1.4/dom/domInstance_rigid_constraint.h124
-rwxr-xr-xinclude/1.4/dom/domInt_array.h165
-rwxr-xr-xinclude/1.4/dom/domLibrary_animation_clips.h137
-rwxr-xr-xinclude/1.4/dom/domLibrary_animations.h135
-rwxr-xr-xinclude/1.4/dom/domLibrary_cameras.h135
-rwxr-xr-xinclude/1.4/dom/domLibrary_controllers.h135
-rwxr-xr-xinclude/1.4/dom/domLibrary_effects.h135
-rwxr-xr-xinclude/1.4/dom/domLibrary_force_fields.h135
-rwxr-xr-xinclude/1.4/dom/domLibrary_geometries.h135
-rwxr-xr-xinclude/1.4/dom/domLibrary_images.h135
-rwxr-xr-xinclude/1.4/dom/domLibrary_lights.h135
-rwxr-xr-xinclude/1.4/dom/domLibrary_materials.h135
-rwxr-xr-xinclude/1.4/dom/domLibrary_nodes.h135
-rwxr-xr-xinclude/1.4/dom/domLibrary_physics_materials.h137
-rwxr-xr-xinclude/1.4/dom/domLibrary_physics_models.h136
-rwxr-xr-xinclude/1.4/dom/domLibrary_physics_scenes.h136
-rwxr-xr-xinclude/1.4/dom/domLibrary_visual_scenes.h136
-rwxr-xr-xinclude/1.4/dom/domLight.h615
-rwxr-xr-xinclude/1.4/dom/domLines.h155
-rwxr-xr-xinclude/1.4/dom/domLinestrips.h160
-rwxr-xr-xinclude/1.4/dom/domLookat.h101
-rwxr-xr-xinclude/1.4/dom/domMaterial.h130
-rwxr-xr-xinclude/1.4/dom/domMatrix.h100
-rwxr-xr-xinclude/1.4/dom/domMesh.h232
-rwxr-xr-xinclude/1.4/dom/domMorph.h224
-rwxr-xr-xinclude/1.4/dom/domName_array.h132
-rwxr-xr-xinclude/1.4/dom/domNode.h385
-rwxr-xr-xinclude/1.4/dom/domP.h83
-rwxr-xr-xinclude/1.4/dom/domParam.h141
-rwxr-xr-xinclude/1.4/dom/domPhysics_material.h227
-rwxr-xr-xinclude/1.4/dom/domPhysics_model.h169
-rwxr-xr-xinclude/1.4/dom/domPhysics_scene.h243
-rwxr-xr-xinclude/1.4/dom/domPlane.h154
-rwxr-xr-xinclude/1.4/dom/domPolygons.h339
-rwxr-xr-xinclude/1.4/dom/domPolylist.h236
-rwxr-xr-xinclude/1.4/dom/domProfile_CG.h1171
-rwxr-xr-xinclude/1.4/dom/domProfile_COMMON.h723
-rwxr-xr-xinclude/1.4/dom/domProfile_GLES.h1018
-rwxr-xr-xinclude/1.4/dom/domProfile_GLSL.h1147
-rwxr-xr-xinclude/1.4/dom/domRigid_body.h787
-rwxr-xr-xinclude/1.4/dom/domRigid_constraint.h1102
-rwxr-xr-xinclude/1.4/dom/domRotate.h99
-rwxr-xr-xinclude/1.4/dom/domSampler.h98
-rwxr-xr-xinclude/1.4/dom/domScale.h70
-rwxr-xr-xinclude/1.4/dom/domSkew.h99
-rwxr-xr-xinclude/1.4/dom/domSkin.h554
-rwxr-xr-xinclude/1.4/dom/domSource.h267
-rwxr-xr-xinclude/1.4/dom/domSphere.h147
-rwxr-xr-xinclude/1.4/dom/domSpline.h193
-rwxr-xr-xinclude/1.4/dom/domTapered_capsule.h306
-rwxr-xr-xinclude/1.4/dom/domTapered_cylinder.h306
-rwxr-xr-xinclude/1.4/dom/domTargetableFloat.h127
-rwxr-xr-xinclude/1.4/dom/domTargetableFloat3.h132
-rwxr-xr-xinclude/1.4/dom/domTechnique.h125
-rwxr-xr-xinclude/1.4/dom/domTranslate.h70
-rwxr-xr-xinclude/1.4/dom/domTriangles.h155
-rwxr-xr-xinclude/1.4/dom/domTrifans.h160
-rwxr-xr-xinclude/1.4/dom/domTristrips.h160
-rwxr-xr-xinclude/1.4/dom/domTypes.h1243
-rwxr-xr-xinclude/1.4/dom/domVertices.h129
-rwxr-xr-xinclude/1.4/dom/domVisual_scene.h402
-rwxr-xr-xinclude/dae.h227
-rw-r--r--include/dae/dae.h0
-rwxr-xr-xinclude/dae/daeArray.h701
-rwxr-xr-xinclude/dae/daeArrayTypes.h25
-rwxr-xr-xinclude/dae/daeAtomicType.h726
-rwxr-xr-xinclude/dae/daeDatabase.h334
-rwxr-xr-xinclude/dae/daeDocument.h163
-rwxr-xr-xinclude/dae/daeDom.h17
-rwxr-xr-xinclude/dae/daeDomTypes.h63
-rwxr-xr-xinclude/dae/daeElement.h551
-rwxr-xr-xinclude/dae/daeError.h46
-rwxr-xr-xinclude/dae/daeErrorHandler.h61
-rwxr-xr-xinclude/dae/daeGCCPlatform.h25
-rwxr-xr-xinclude/dae/daeIDRef.h230
-rwxr-xr-xinclude/dae/daeIOPlugin.h128
-rwxr-xr-xinclude/dae/daeIOPluginCommon.h63
-rwxr-xr-xinclude/dae/daeMemorySystem.h57
-rwxr-xr-xinclude/dae/daeMetaAny.h39
-rwxr-xr-xinclude/dae/daeMetaAttribute.h320
-rwxr-xr-xinclude/dae/daeMetaCMPolicy.h115
-rwxr-xr-xinclude/dae/daeMetaChoice.h43
-rwxr-xr-xinclude/dae/daeMetaElement.h363
-rwxr-xr-xinclude/dae/daeMetaElementAttribute.h184
-rwxr-xr-xinclude/dae/daeMetaGroup.h50
-rwxr-xr-xinclude/dae/daeMetaSequence.h46
-rwxr-xr-xinclude/dae/daePlatform.h34
-rwxr-xr-xinclude/dae/daeRawResolver.h52
-rwxr-xr-xinclude/dae/daeRefCountedObj.h41
-rwxr-xr-xinclude/dae/daeSIDResolver.h174
-rwxr-xr-xinclude/dae/daeSmartRef.h134
-rwxr-xr-xinclude/dae/daeStandardURIResolver.h39
-rwxr-xr-xinclude/dae/daeStringRef.h103
-rwxr-xr-xinclude/dae/daeStringTable.h59
-rwxr-xr-xinclude/dae/daeTinyXMLPlugin.h70
-rwxr-xr-xinclude/dae/daeTypes.h50
-rwxr-xr-xinclude/dae/daeURI.h493
-rwxr-xr-xinclude/dae/daeUtils.h104
-rwxr-xr-xinclude/dae/daeWin32Platform.h53
-rwxr-xr-xinclude/dae/daeZAEUncompressHandler.h119
-rwxr-xr-xinclude/dae/domAny.h141
-rwxr-xr-xinclude/dom.h24
-rwxr-xr-xinclude/modules/daeLIBXMLPlugin.h89
-rwxr-xr-xinclude/modules/daeSTLDatabase.h114
-rwxr-xr-xinclude/modules/stdErrPlugin.h46
-rwxr-xr-xlicense.txt21
-rw-r--r--src/1.4/.DS_Storebin0 -> 6148 bytes
-rwxr-xr-xsrc/1.4/dom/domAccessor.cpp103
-rwxr-xr-xsrc/1.4/dom/domAnimation.cpp172
-rwxr-xr-xsrc/1.4/dom/domAnimation_clip.cpp113
-rwxr-xr-xsrc/1.4/dom/domAsset.cpp650
-rwxr-xr-xsrc/1.4/dom/domBind_material.cpp113
-rwxr-xr-xsrc/1.4/dom/domBool_array.cpp87
-rwxr-xr-xsrc/1.4/dom/domBox.cpp98
-rwxr-xr-xsrc/1.4/dom/domCOLLADA.cpp259
-rwxr-xr-xsrc/1.4/dom/domCamera.cpp447
-rwxr-xr-xsrc/1.4/dom/domCapsule.cpp140
-rwxr-xr-xsrc/1.4/dom/domCg_connect_param.cpp56
-rwxr-xr-xsrc/1.4/dom/domCg_newarray_type.cpp90
-rwxr-xr-xsrc/1.4/dom/domCg_newparam.cpp180
-rwxr-xr-xsrc/1.4/dom/domCg_param_type.cpp4591
-rwxr-xr-xsrc/1.4/dom/domCg_sampler1D.cpp110
-rwxr-xr-xsrc/1.4/dom/domCg_sampler2D.cpp116
-rwxr-xr-xsrc/1.4/dom/domCg_sampler3D.cpp122
-rwxr-xr-xsrc/1.4/dom/domCg_samplerCUBE.cpp122
-rwxr-xr-xsrc/1.4/dom/domCg_samplerDEPTH.cpp92
-rwxr-xr-xsrc/1.4/dom/domCg_samplerRECT.cpp116
-rwxr-xr-xsrc/1.4/dom/domCg_setarray_type.cpp84
-rwxr-xr-xsrc/1.4/dom/domCg_setparam.cpp101
-rwxr-xr-xsrc/1.4/dom/domCg_setparam_simple.cpp74
-rwxr-xr-xsrc/1.4/dom/domCg_setuser_type.cpp114
-rwxr-xr-xsrc/1.4/dom/domCg_surface_type.cpp259
-rwxr-xr-xsrc/1.4/dom/domChannel.cpp68
-rwxr-xr-xsrc/1.4/dom/domCommon_color_or_texture_type.cpp221
-rwxr-xr-xsrc/1.4/dom/domCommon_float_or_param_type.cpp152
-rwxr-xr-xsrc/1.4/dom/domCommon_newparam_type.cpp294
-rwxr-xr-xsrc/1.4/dom/domCommon_transparent_type.cpp90
-rwxr-xr-xsrc/1.4/dom/domConstants.cpp1083
-rwxr-xr-xsrc/1.4/dom/domController.cpp106
-rwxr-xr-xsrc/1.4/dom/domConvex_mesh.cpp131
-rwxr-xr-xsrc/1.4/dom/domCylinder.cpp140
-rwxr-xr-xsrc/1.4/dom/domEffect.cpp145
-rwxr-xr-xsrc/1.4/dom/domEllipsoid.cpp92
-rwxr-xr-xsrc/1.4/dom/domExtra.cpp95
-rwxr-xr-xsrc/1.4/dom/domFloat_array.cpp111
-rwxr-xr-xsrc/1.4/dom/domForce_field.cpp90
-rwxr-xr-xsrc/1.4/dom/domFx_annotate_common.cpp68
-rwxr-xr-xsrc/1.4/dom/domFx_annotate_type_common.cpp727
-rwxr-xr-xsrc/1.4/dom/domFx_basic_type_common.cpp1315
-rwxr-xr-xsrc/1.4/dom/domFx_clearcolor_common.cpp66
-rwxr-xr-xsrc/1.4/dom/domFx_cleardepth_common.cpp66
-rwxr-xr-xsrc/1.4/dom/domFx_clearstencil_common.cpp66
-rwxr-xr-xsrc/1.4/dom/domFx_code_profile.cpp65
-rwxr-xr-xsrc/1.4/dom/domFx_colortarget_common.cpp105
-rwxr-xr-xsrc/1.4/dom/domFx_depthtarget_common.cpp105
-rwxr-xr-xsrc/1.4/dom/domFx_include_common.cpp68
-rwxr-xr-xsrc/1.4/dom/domFx_newparam_common.cpp158
-rwxr-xr-xsrc/1.4/dom/domFx_profile_abstract.cpp45
-rwxr-xr-xsrc/1.4/dom/domFx_sampler1D_common.cpp392
-rwxr-xr-xsrc/1.4/dom/domFx_sampler2D_common.cpp434
-rwxr-xr-xsrc/1.4/dom/domFx_sampler3D_common.cpp476
-rwxr-xr-xsrc/1.4/dom/domFx_samplerCUBE_common.cpp476
-rwxr-xr-xsrc/1.4/dom/domFx_samplerDEPTH_common.cpp266
-rwxr-xr-xsrc/1.4/dom/domFx_samplerRECT_common.cpp434
-rwxr-xr-xsrc/1.4/dom/domFx_stenciltarget_common.cpp105
-rwxr-xr-xsrc/1.4/dom/domFx_surface_common.cpp300
-rwxr-xr-xsrc/1.4/dom/domFx_surface_format_hint_common.cpp224
-rwxr-xr-xsrc/1.4/dom/domFx_surface_init_common.cpp145
-rwxr-xr-xsrc/1.4/dom/domFx_surface_init_cube_common.cpp237
-rwxr-xr-xsrc/1.4/dom/domFx_surface_init_from_common.cpp89
-rwxr-xr-xsrc/1.4/dom/domFx_surface_init_planar_common.cpp99
-rwxr-xr-xsrc/1.4/dom/domFx_surface_init_volume_common.cpp144
-rwxr-xr-xsrc/1.4/dom/domGeometry.cpp112
-rwxr-xr-xsrc/1.4/dom/domGl_hook_abstract.cpp45
-rwxr-xr-xsrc/1.4/dom/domGl_pipeline_settings.cpp8364
-rwxr-xr-xsrc/1.4/dom/domGl_sampler1D.cpp110
-rwxr-xr-xsrc/1.4/dom/domGl_sampler2D.cpp116
-rwxr-xr-xsrc/1.4/dom/domGl_sampler3D.cpp122
-rwxr-xr-xsrc/1.4/dom/domGl_samplerCUBE.cpp122
-rwxr-xr-xsrc/1.4/dom/domGl_samplerDEPTH.cpp92
-rwxr-xr-xsrc/1.4/dom/domGl_samplerRECT.cpp116
-rwxr-xr-xsrc/1.4/dom/domGles_basic_type_common.cpp1297
-rwxr-xr-xsrc/1.4/dom/domGles_newparam.cpp158
-rwxr-xr-xsrc/1.4/dom/domGles_pipeline_settings.cpp4941
-rwxr-xr-xsrc/1.4/dom/domGles_sampler_state.cpp361
-rwxr-xr-xsrc/1.4/dom/domGles_texcombiner_argumentAlpha_type.cpp79
-rwxr-xr-xsrc/1.4/dom/domGles_texcombiner_argumentRGB_type.cpp79
-rwxr-xr-xsrc/1.4/dom/domGles_texcombiner_commandAlpha_type.cpp79
-rwxr-xr-xsrc/1.4/dom/domGles_texcombiner_commandRGB_type.cpp79
-rwxr-xr-xsrc/1.4/dom/domGles_texcombiner_command_type.cpp68
-rwxr-xr-xsrc/1.4/dom/domGles_texenv_command_type.cpp78
-rwxr-xr-xsrc/1.4/dom/domGles_texture_constant_type.cpp68
-rwxr-xr-xsrc/1.4/dom/domGles_texture_pipeline.cpp83
-rwxr-xr-xsrc/1.4/dom/domGles_texture_unit.cpp195
-rwxr-xr-xsrc/1.4/dom/domGlsl_newarray_type.cpp78
-rwxr-xr-xsrc/1.4/dom/domGlsl_newparam.cpp174
-rwxr-xr-xsrc/1.4/dom/domGlsl_param_type.cpp769
-rwxr-xr-xsrc/1.4/dom/domGlsl_setarray_type.cpp78
-rwxr-xr-xsrc/1.4/dom/domGlsl_setparam.cpp101
-rwxr-xr-xsrc/1.4/dom/domGlsl_setparam_simple.cpp74
-rwxr-xr-xsrc/1.4/dom/domGlsl_surface_type.cpp259
-rwxr-xr-xsrc/1.4/dom/domIDREF_array.cpp87
-rwxr-xr-xsrc/1.4/dom/domImage.cpp223
-rwxr-xr-xsrc/1.4/dom/domInputGlobal.cpp68
-rwxr-xr-xsrc/1.4/dom/domInputLocal.cpp68
-rwxr-xr-xsrc/1.4/dom/domInputLocalOffset.cpp91
-rwxr-xr-xsrc/1.4/dom/domInstanceWithExtra.cpp90
-rwxr-xr-xsrc/1.4/dom/domInstance_camera.cpp90
-rwxr-xr-xsrc/1.4/dom/domInstance_controller.cpp138
-rwxr-xr-xsrc/1.4/dom/domInstance_effect.cpp216
-rwxr-xr-xsrc/1.4/dom/domInstance_force_field.cpp90
-rwxr-xr-xsrc/1.4/dom/domInstance_geometry.cpp96
-rwxr-xr-xsrc/1.4/dom/domInstance_light.cpp90
-rwxr-xr-xsrc/1.4/dom/domInstance_material.cpp227
-rwxr-xr-xsrc/1.4/dom/domInstance_node.cpp90
-rwxr-xr-xsrc/1.4/dom/domInstance_physics_material.cpp90
-rwxr-xr-xsrc/1.4/dom/domInstance_physics_model.cpp119
-rwxr-xr-xsrc/1.4/dom/domInstance_rigid_body.cpp577
-rwxr-xr-xsrc/1.4/dom/domInstance_rigid_constraint.cpp90
-rwxr-xr-xsrc/1.4/dom/domInt_array.cpp111
-rwxr-xr-xsrc/1.4/dom/domLibrary_animation_clips.cpp90
-rwxr-xr-xsrc/1.4/dom/domLibrary_animations.cpp90
-rwxr-xr-xsrc/1.4/dom/domLibrary_cameras.cpp90
-rwxr-xr-xsrc/1.4/dom/domLibrary_controllers.cpp90
-rwxr-xr-xsrc/1.4/dom/domLibrary_effects.cpp90
-rwxr-xr-xsrc/1.4/dom/domLibrary_force_fields.cpp90
-rwxr-xr-xsrc/1.4/dom/domLibrary_geometries.cpp90
-rwxr-xr-xsrc/1.4/dom/domLibrary_images.cpp90
-rwxr-xr-xsrc/1.4/dom/domLibrary_lights.cpp90
-rwxr-xr-xsrc/1.4/dom/domLibrary_materials.cpp90
-rwxr-xr-xsrc/1.4/dom/domLibrary_nodes.cpp90
-rwxr-xr-xsrc/1.4/dom/domLibrary_physics_materials.cpp90
-rwxr-xr-xsrc/1.4/dom/domLibrary_physics_models.cpp90
-rwxr-xr-xsrc/1.4/dom/domLibrary_physics_scenes.cpp90
-rwxr-xr-xsrc/1.4/dom/domLibrary_visual_scenes.cpp90
-rwxr-xr-xsrc/1.4/dom/domLight.cpp361
-rwxr-xr-xsrc/1.4/dom/domLines.cpp102
-rwxr-xr-xsrc/1.4/dom/domLinestrips.cpp102
-rwxr-xr-xsrc/1.4/dom/domLookat.cpp64
-rwxr-xr-xsrc/1.4/dom/domMaterial.cpp90
-rwxr-xr-xsrc/1.4/dom/domMatrix.cpp64
-rwxr-xr-xsrc/1.4/dom/domMesh.cpp120
-rwxr-xr-xsrc/1.4/dom/domMorph.cpp137
-rwxr-xr-xsrc/1.4/dom/domName_array.cpp87
-rwxr-xr-xsrc/1.4/dom/domNode.cpp200
-rwxr-xr-xsrc/1.4/dom/domP.cpp53
-rwxr-xr-xsrc/1.4/dom/domParam.cpp98
-rwxr-xr-xsrc/1.4/dom/domPhysics_material.cpp147
-rwxr-xr-xsrc/1.4/dom/domPhysics_model.cpp102
-rwxr-xr-xsrc/1.4/dom/domPhysics_scene.cpp153
-rwxr-xr-xsrc/1.4/dom/domPlane.cpp98
-rwxr-xr-xsrc/1.4/dom/domPolygons.cpp199
-rwxr-xr-xsrc/1.4/dom/domPolylist.cpp144
-rwxr-xr-xsrc/1.4/dom/domProfile_CG.cpp716
-rwxr-xr-xsrc/1.4/dom/domProfile_COMMON.cpp558
-rwxr-xr-xsrc/1.4/dom/domProfile_GLES.cpp647
-rwxr-xr-xsrc/1.4/dom/domProfile_GLSL.cpp697
-rwxr-xr-xsrc/1.4/dom/domRigid_body.cpp470
-rwxr-xr-xsrc/1.4/dom/domRigid_constraint.cpp668
-rwxr-xr-xsrc/1.4/dom/domRotate.cpp64
-rwxr-xr-xsrc/1.4/dom/domSampler.cpp67
-rwxr-xr-xsrc/1.4/dom/domScale.cpp64
-rwxr-xr-xsrc/1.4/dom/domSkew.cpp64
-rwxr-xr-xsrc/1.4/dom/domSkin.cpp314
-rwxr-xr-xsrc/1.4/dom/domSource.cpp170
-rwxr-xr-xsrc/1.4/dom/domSphere.cpp98
-rwxr-xr-xsrc/1.4/dom/domSpline.cpp125
-rwxr-xr-xsrc/1.4/dom/domTapered_capsule.cpp182
-rwxr-xr-xsrc/1.4/dom/domTapered_cylinder.cpp182
-rwxr-xr-xsrc/1.4/dom/domTargetableFloat.cpp64
-rwxr-xr-xsrc/1.4/dom/domTargetableFloat3.cpp64
-rwxr-xr-xsrc/1.4/dom/domTechnique.cpp82
-rwxr-xr-xsrc/1.4/dom/domTranslate.cpp64
-rwxr-xr-xsrc/1.4/dom/domTriangles.cpp102
-rwxr-xr-xsrc/1.4/dom/domTrifans.cpp102
-rwxr-xr-xsrc/1.4/dom/domTristrips.cpp102
-rwxr-xr-xsrc/1.4/dom/domTypes.cpp2937
-rwxr-xr-xsrc/1.4/dom/domVertices.cpp85
-rwxr-xr-xsrc/1.4/dom/domVisual_scene.cpp240
-rwxr-xr-xsrc/dae/dae.cpp368
-rw-r--r--src/dae/dae.h0
-rwxr-xr-xsrc/dae/daeArray.cpp23
-rwxr-xr-xsrc/dae/daeAtomicType.cpp946
-rwxr-xr-xsrc/dae/daeDatabase.cpp40
-rwxr-xr-xsrc/dae/daeDocument.cpp43
-rwxr-xr-xsrc/dae/daeDom.cpp17
-rwxr-xr-xsrc/dae/daeElement.cpp753
-rwxr-xr-xsrc/dae/daeError.cpp41
-rwxr-xr-xsrc/dae/daeErrorHandler.cpp30
-rwxr-xr-xsrc/dae/daeIDRef.cpp172
-rwxr-xr-xsrc/dae/daeIOPluginCommon.cpp189
-rwxr-xr-xsrc/dae/daeMemorySystem.cpp29
-rwxr-xr-xsrc/dae/daeMetaAny.cpp57
-rwxr-xr-xsrc/dae/daeMetaAttribute.cpp173
-rwxr-xr-xsrc/dae/daeMetaCMPolicy.cpp17
-rwxr-xr-xsrc/dae/daeMetaChoice.cpp151
-rwxr-xr-xsrc/dae/daeMetaElement.cpp472
-rwxr-xr-xsrc/dae/daeMetaElementAttribute.cpp231
-rwxr-xr-xsrc/dae/daeMetaGroup.cpp144
-rwxr-xr-xsrc/dae/daeMetaSequence.cpp67
-rwxr-xr-xsrc/dae/daeRawResolver.cpp124
-rwxr-xr-xsrc/dae/daeRefCountedObj.cpp32
-rwxr-xr-xsrc/dae/daeSIDResolver.cpp506
-rwxr-xr-xsrc/dae/daeStandardURIResolver.cpp54
-rwxr-xr-xsrc/dae/daeStringRef.cpp53
-rwxr-xr-xsrc/dae/daeStringTable.cpp64
-rwxr-xr-xsrc/dae/daeTinyXMLPlugin.cpp222
-rwxr-xr-xsrc/dae/daeURI.cpp836
-rwxr-xr-xsrc/dae/daeUtils.cpp198
-rwxr-xr-xsrc/dae/daeZAEUncompressHandler.cpp307
-rwxr-xr-xsrc/dae/domAny.cpp106
-rwxr-xr-xsrc/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp541
-rwxr-xr-xsrc/modules/STLDatabase/daeSTLDatabase.cpp680
-rwxr-xr-xsrc/modules/stdErrPlugin/stdErrPlugin.cpp30
427 files changed, 140134 insertions, 0 deletions
diff --git a/Android.mk b/Android.mk
new file mode 100644
index 0000000..e604387
--- /dev/null
+++ b/Android.mk
@@ -0,0 +1,248 @@
+# Copyright (C) 2010 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH:= $(call my-dir)
+#src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp \
+#src/dae/daeZAEUncompressHandler.cpp \
+
+common_SRC_FILES := \
+ src/dae/dae.cpp \
+ src/dae/daeArray.cpp \
+ src/dae/daeAtomicType.cpp \
+ src/dae/daeDatabase.cpp \
+ src/dae/daeDocument.cpp \
+ src/dae/daeDom.cpp \
+ src/dae/daeElement.cpp \
+ src/dae/daeError.cpp \
+ src/dae/daeErrorHandler.cpp \
+ src/dae/daeIDRef.cpp \
+ src/dae/daeIOPluginCommon.cpp \
+ src/dae/daeMemorySystem.cpp \
+ src/dae/daeMetaAny.cpp \
+ src/dae/daeMetaAttribute.cpp \
+ src/dae/daeMetaCMPolicy.cpp \
+ src/dae/daeMetaChoice.cpp \
+ src/dae/daeMetaElement.cpp \
+ src/dae/daeMetaElementAttribute.cpp \
+ src/dae/daeMetaGroup.cpp \
+ src/dae/daeMetaSequence.cpp \
+ src/dae/daeRawResolver.cpp \
+ src/dae/daeRefCountedObj.cpp \
+ src/dae/daeSIDResolver.cpp \
+ src/dae/daeStandardURIResolver.cpp \
+ src/dae/daeStringRef.cpp \
+ src/dae/daeStringTable.cpp \
+ src/dae/daeTinyXMLPlugin.cpp \
+ src/dae/daeURI.cpp \
+ src/dae/daeUtils.cpp \
+ src/dae/domAny.cpp \
+ src/modules/stdErrPlugin/stdErrPlugin.cpp \
+ src/modules/STLDatabase/daeSTLDatabase.cpp \
+ src/1.4/dom/domAccessor.cpp \
+ src/1.4/dom/domAnimation.cpp \
+ src/1.4/dom/domAnimation_clip.cpp \
+ src/1.4/dom/domAsset.cpp \
+ src/1.4/dom/domBind_material.cpp \
+ src/1.4/dom/domBool_array.cpp \
+ src/1.4/dom/domBox.cpp \
+ src/1.4/dom/domCOLLADA.cpp \
+ src/1.4/dom/domCamera.cpp \
+ src/1.4/dom/domCapsule.cpp \
+ src/1.4/dom/domCg_connect_param.cpp \
+ src/1.4/dom/domCg_newarray_type.cpp \
+ src/1.4/dom/domCg_newparam.cpp \
+ src/1.4/dom/domCg_param_type.cpp \
+ src/1.4/dom/domCg_sampler1D.cpp \
+ src/1.4/dom/domCg_sampler2D.cpp \
+ src/1.4/dom/domCg_sampler3D.cpp \
+ src/1.4/dom/domCg_samplerCUBE.cpp \
+ src/1.4/dom/domCg_samplerDEPTH.cpp \
+ src/1.4/dom/domCg_samplerRECT.cpp \
+ src/1.4/dom/domCg_setarray_type.cpp \
+ src/1.4/dom/domCg_setparam.cpp \
+ src/1.4/dom/domCg_setparam_simple.cpp \
+ src/1.4/dom/domCg_setuser_type.cpp \
+ src/1.4/dom/domCg_surface_type.cpp \
+ src/1.4/dom/domChannel.cpp \
+ src/1.4/dom/domCommon_color_or_texture_type.cpp \
+ src/1.4/dom/domCommon_float_or_param_type.cpp \
+ src/1.4/dom/domCommon_newparam_type.cpp \
+ src/1.4/dom/domCommon_transparent_type.cpp \
+ src/1.4/dom/domConstants.cpp \
+ src/1.4/dom/domController.cpp \
+ src/1.4/dom/domConvex_mesh.cpp \
+ src/1.4/dom/domCylinder.cpp \
+ src/1.4/dom/domEffect.cpp \
+ src/1.4/dom/domEllipsoid.cpp \
+ src/1.4/dom/domExtra.cpp \
+ src/1.4/dom/domFloat_array.cpp \
+ src/1.4/dom/domForce_field.cpp \
+ src/1.4/dom/domFx_annotate_common.cpp \
+ src/1.4/dom/domFx_annotate_type_common.cpp \
+ src/1.4/dom/domFx_basic_type_common.cpp \
+ src/1.4/dom/domFx_clearcolor_common.cpp \
+ src/1.4/dom/domFx_cleardepth_common.cpp \
+ src/1.4/dom/domFx_clearstencil_common.cpp \
+ src/1.4/dom/domFx_code_profile.cpp \
+ src/1.4/dom/domFx_colortarget_common.cpp \
+ src/1.4/dom/domFx_depthtarget_common.cpp \
+ src/1.4/dom/domFx_include_common.cpp \
+ src/1.4/dom/domFx_newparam_common.cpp \
+ src/1.4/dom/domFx_profile_abstract.cpp \
+ src/1.4/dom/domFx_sampler1D_common.cpp \
+ src/1.4/dom/domFx_sampler2D_common.cpp \
+ src/1.4/dom/domFx_sampler3D_common.cpp \
+ src/1.4/dom/domFx_samplerCUBE_common.cpp \
+ src/1.4/dom/domFx_samplerDEPTH_common.cpp \
+ src/1.4/dom/domFx_samplerRECT_common.cpp \
+ src/1.4/dom/domFx_stenciltarget_common.cpp \
+ src/1.4/dom/domFx_surface_common.cpp \
+ src/1.4/dom/domFx_surface_format_hint_common.cpp \
+ src/1.4/dom/domFx_surface_init_common.cpp \
+ src/1.4/dom/domFx_surface_init_cube_common.cpp \
+ src/1.4/dom/domFx_surface_init_from_common.cpp \
+ src/1.4/dom/domFx_surface_init_planar_common.cpp \
+ src/1.4/dom/domFx_surface_init_volume_common.cpp \
+ src/1.4/dom/domGeometry.cpp \
+ src/1.4/dom/domGl_hook_abstract.cpp \
+ src/1.4/dom/domGl_pipeline_settings.cpp \
+ src/1.4/dom/domGl_sampler1D.cpp \
+ src/1.4/dom/domGl_sampler2D.cpp \
+ src/1.4/dom/domGl_sampler3D.cpp \
+ src/1.4/dom/domGl_samplerCUBE.cpp \
+ src/1.4/dom/domGl_samplerDEPTH.cpp \
+ src/1.4/dom/domGl_samplerRECT.cpp \
+ src/1.4/dom/domGles_basic_type_common.cpp \
+ src/1.4/dom/domGles_newparam.cpp \
+ src/1.4/dom/domGles_pipeline_settings.cpp \
+ src/1.4/dom/domGles_sampler_state.cpp \
+ src/1.4/dom/domGles_texcombiner_argumentAlpha_type.cpp \
+ src/1.4/dom/domGles_texcombiner_argumentRGB_type.cpp \
+ src/1.4/dom/domGles_texcombiner_commandAlpha_type.cpp \
+ src/1.4/dom/domGles_texcombiner_commandRGB_type.cpp \
+ src/1.4/dom/domGles_texcombiner_command_type.cpp \
+ src/1.4/dom/domGles_texenv_command_type.cpp \
+ src/1.4/dom/domGles_texture_constant_type.cpp \
+ src/1.4/dom/domGles_texture_pipeline.cpp \
+ src/1.4/dom/domGles_texture_unit.cpp \
+ src/1.4/dom/domGlsl_newarray_type.cpp \
+ src/1.4/dom/domGlsl_newparam.cpp \
+ src/1.4/dom/domGlsl_param_type.cpp \
+ src/1.4/dom/domGlsl_setarray_type.cpp \
+ src/1.4/dom/domGlsl_setparam.cpp \
+ src/1.4/dom/domGlsl_setparam_simple.cpp \
+ src/1.4/dom/domGlsl_surface_type.cpp \
+ src/1.4/dom/domIDREF_array.cpp \
+ src/1.4/dom/domImage.cpp \
+ src/1.4/dom/domInputGlobal.cpp \
+ src/1.4/dom/domInputLocal.cpp \
+ src/1.4/dom/domInputLocalOffset.cpp \
+ src/1.4/dom/domInstanceWithExtra.cpp \
+ src/1.4/dom/domInstance_camera.cpp \
+ src/1.4/dom/domInstance_controller.cpp \
+ src/1.4/dom/domInstance_effect.cpp \
+ src/1.4/dom/domInstance_force_field.cpp \
+ src/1.4/dom/domInstance_geometry.cpp \
+ src/1.4/dom/domInstance_light.cpp \
+ src/1.4/dom/domInstance_material.cpp \
+ src/1.4/dom/domInstance_node.cpp \
+ src/1.4/dom/domInstance_physics_material.cpp \
+ src/1.4/dom/domInstance_physics_model.cpp \
+ src/1.4/dom/domInstance_rigid_body.cpp \
+ src/1.4/dom/domInstance_rigid_constraint.cpp \
+ src/1.4/dom/domInt_array.cpp \
+ src/1.4/dom/domLibrary_animation_clips.cpp \
+ src/1.4/dom/domLibrary_animations.cpp \
+ src/1.4/dom/domLibrary_cameras.cpp \
+ src/1.4/dom/domLibrary_controllers.cpp \
+ src/1.4/dom/domLibrary_effects.cpp \
+ src/1.4/dom/domLibrary_force_fields.cpp \
+ src/1.4/dom/domLibrary_geometries.cpp \
+ src/1.4/dom/domLibrary_images.cpp \
+ src/1.4/dom/domLibrary_lights.cpp \
+ src/1.4/dom/domLibrary_materials.cpp \
+ src/1.4/dom/domLibrary_nodes.cpp \
+ src/1.4/dom/domLibrary_physics_materials.cpp \
+ src/1.4/dom/domLibrary_physics_models.cpp \
+ src/1.4/dom/domLibrary_physics_scenes.cpp \
+ src/1.4/dom/domLibrary_visual_scenes.cpp \
+ src/1.4/dom/domLight.cpp \
+ src/1.4/dom/domLines.cpp \
+ src/1.4/dom/domLinestrips.cpp \
+ src/1.4/dom/domLookat.cpp \
+ src/1.4/dom/domMaterial.cpp \
+ src/1.4/dom/domMatrix.cpp \
+ src/1.4/dom/domMesh.cpp \
+ src/1.4/dom/domMorph.cpp \
+ src/1.4/dom/domName_array.cpp \
+ src/1.4/dom/domNode.cpp \
+ src/1.4/dom/domP.cpp \
+ src/1.4/dom/domParam.cpp \
+ src/1.4/dom/domPhysics_material.cpp \
+ src/1.4/dom/domPhysics_model.cpp \
+ src/1.4/dom/domPhysics_scene.cpp \
+ src/1.4/dom/domPlane.cpp \
+ src/1.4/dom/domPolygons.cpp \
+ src/1.4/dom/domPolylist.cpp \
+ src/1.4/dom/domProfile_CG.cpp \
+ src/1.4/dom/domProfile_COMMON.cpp \
+ src/1.4/dom/domProfile_GLES.cpp \
+ src/1.4/dom/domProfile_GLSL.cpp \
+ src/1.4/dom/domRigid_body.cpp \
+ src/1.4/dom/domRigid_constraint.cpp \
+ src/1.4/dom/domRotate.cpp \
+ src/1.4/dom/domSampler.cpp \
+ src/1.4/dom/domScale.cpp \
+ src/1.4/dom/domSkew.cpp \
+ src/1.4/dom/domSkin.cpp \
+ src/1.4/dom/domSource.cpp \
+ src/1.4/dom/domSphere.cpp \
+ src/1.4/dom/domSpline.cpp \
+ src/1.4/dom/domTapered_capsule.cpp \
+ src/1.4/dom/domTapered_cylinder.cpp \
+ src/1.4/dom/domTargetableFloat.cpp \
+ src/1.4/dom/domTargetableFloat3.cpp \
+ src/1.4/dom/domTechnique.cpp \
+ src/1.4/dom/domTranslate.cpp \
+ src/1.4/dom/domTriangles.cpp \
+ src/1.4/dom/domTrifans.cpp \
+ src/1.4/dom/domTristrips.cpp \
+ src/1.4/dom/domTypes.cpp \
+ src/1.4/dom/domVertices.cpp \
+ src/1.4/dom/domVisual_scene.cpp
+
+pcre_intermediates := $(call intermediates-dir-for,STATIC_LIBRARIES,libpcre,HOST,)/pcre
+pcrecpp_intermediates := $(call intermediates-dir-for,STATIC_LIBRARIES,libpcrecpp,HOST,)/pcrecpp
+
+common_C_INCLUDES += \
+ $(LOCAL_PATH)/include \
+ $(LOCAL_PATH)/include/1.4 \
+ external/tinyxml \
+ external/pcre \
+ $(pcre_intermediates)/include \
+ $(pcrecpp_intermediates)/include
+
+# For the host
+# ========================================================
+include $(CLEAR_VARS)
+LOCAL_PRELINK_MODULE := false
+LOCAL_MODULE_TAGS := optional
+LOCAL_CFLAGS += -DNO_BOOST -DDOM_INCLUDE_TINYXML -DNO_ZAE
+LOCAL_CFLAGS += -fPIC
+
+LOCAL_SRC_FILES := $(common_SRC_FILES)
+LOCAL_C_INCLUDES += $(common_C_INCLUDES)
+LOCAL_STATIC_LIBRARIES := libtinyxml
+LOCAL_MODULE:= colladadom
+include $(BUILD_HOST_STATIC_LIBRARY)
diff --git a/include/1.4/dom/domAccessor.h b/include/1.4/dom/domAccessor.h
new file mode 100755
index 0000000..a08622e
--- /dev/null
+++ b/include/1.4/dom/domAccessor.h
@@ -0,0 +1,154 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domAccessor_h__
+#define __domAccessor_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domParam.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domAnimation.h b/include/1.4/dom/domAnimation.h
new file mode 100755
index 0000000..5d25b7f
--- /dev/null
+++ b/include/1.4/dom/domAnimation.h
@@ -0,0 +1,212 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domAnimation_h__
+#define __domAnimation_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domSource.h>
+#include <dom/domSampler.h>
+#include <dom/domChannel.h>
+#include <dom/domAnimation.h>
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domAnimation_clip.h b/include/1.4/dom/domAnimation_clip.h
new file mode 100755
index 0000000..d3fb83a
--- /dev/null
+++ b/include/1.4/dom/domAnimation_clip.h
@@ -0,0 +1,174 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domAnimation_clip_h__
+#define __domAnimation_clip_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domExtra.h>
+#include <dom/domInstanceWithExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domAsset.h b/include/1.4/dom/domAsset.h
new file mode 100755
index 0000000..c525c56
--- /dev/null
+++ b/include/1.4/dom/domAsset.h
@@ -0,0 +1,1101 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domAsset_h__
+#define __domAsset_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domBind_material.h b/include/1.4/dom/domBind_material.h
new file mode 100755
index 0000000..98f353f
--- /dev/null
+++ b/include/1.4/dom/domBind_material.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 __domBind_material_h__
+#define __domBind_material_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domParam.h>
+#include <dom/domTechnique.h>
+#include <dom/domExtra.h>
+#include <dom/domInstance_material.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domBool_array.h b/include/1.4/dom/domBool_array.h
new file mode 100755
index 0000000..a710d6c
--- /dev/null
+++ b/include/1.4/dom/domBool_array.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 __domBool_array_h__
+#define __domBool_array_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domBox.h b/include/1.4/dom/domBox.h
new file mode 100755
index 0000000..dddf24a
--- /dev/null
+++ b/include/1.4/dom/domBox.h
@@ -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
+*
+*/
+
+#ifndef __domBox_h__
+#define __domBox_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domCOLLADA.h b/include/1.4/dom/domCOLLADA.h
new file mode 100755
index 0000000..b94a2e0
--- /dev/null
+++ b/include/1.4/dom/domCOLLADA.h
@@ -0,0 +1,522 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domCOLLADA_h__
+#define __domCOLLADA_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domLibrary_animations.h>
+#include <dom/domLibrary_animation_clips.h>
+#include <dom/domLibrary_cameras.h>
+#include <dom/domLibrary_controllers.h>
+#include <dom/domLibrary_geometries.h>
+#include <dom/domLibrary_effects.h>
+#include <dom/domLibrary_force_fields.h>
+#include <dom/domLibrary_images.h>
+#include <dom/domLibrary_lights.h>
+#include <dom/domLibrary_materials.h>
+#include <dom/domLibrary_nodes.h>
+#include <dom/domLibrary_physics_materials.h>
+#include <dom/domLibrary_physics_models.h>
+#include <dom/domLibrary_physics_scenes.h>
+#include <dom/domLibrary_visual_scenes.h>
+#include <dom/domExtra.h>
+#include <dom/domInstanceWithExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domCamera.h b/include/1.4/dom/domCamera.h
new file mode 100755
index 0000000..18f19ec
--- /dev/null
+++ b/include/1.4/dom/domCamera.h
@@ -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
+*
+*/
+
+#ifndef __domCamera_h__
+#define __domCamera_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domExtra.h>
+#include <dom/domTechnique.h>
+#include <dom/domTargetableFloat.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domCapsule.h b/include/1.4/dom/domCapsule.h
new file mode 100755
index 0000000..622edb4
--- /dev/null
+++ b/include/1.4/dom/domCapsule.h
@@ -0,0 +1,225 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domCapsule_h__
+#define __domCapsule_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domCg_connect_param.h b/include/1.4/dom/domCg_connect_param.h
new file mode 100755
index 0000000..2ee530f
--- /dev/null
+++ b/include/1.4/dom/domCg_connect_param.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 __domCg_connect_param_h__
+#define __domCg_connect_param_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domCg_newarray_type.h b/include/1.4/dom/domCg_newarray_type.h
new file mode 100755
index 0000000..2de88d8
--- /dev/null
+++ b/include/1.4/dom/domCg_newarray_type.h
@@ -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
+*
+*/
+
+#ifndef __domCg_newarray_type_h__
+#define __domCg_newarray_type_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domCg_param_type.h>
+#include <dom/domCg_newarray_type.h>
+#include <dom/domCg_setuser_type.h>
+#include <dom/domCg_connect_param.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domCg_newparam.h b/include/1.4/dom/domCg_newparam.h
new file mode 100755
index 0000000..9412cc5
--- /dev/null
+++ b/include/1.4/dom/domCg_newparam.h
@@ -0,0 +1,313 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domCg_newparam_h__
+#define __domCg_newparam_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domCg_param_type.h>
+#include <dom/domFx_annotate_common.h>
+#include <dom/domCg_setuser_type.h>
+#include <dom/domCg_newarray_type.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domCg_param_type.h b/include/1.4/dom/domCg_param_type.h
new file mode 100755
index 0000000..d1d29d2
--- /dev/null
+++ b/include/1.4/dom/domCg_param_type.h
@@ -0,0 +1,7459 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domCg_param_type_h__
+#define __domCg_param_type_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domCg_surface_type.h>
+#include <dom/domCg_sampler1D.h>
+#include <dom/domCg_sampler2D.h>
+#include <dom/domCg_sampler3D.h>
+#include <dom/domCg_samplerRECT.h>
+#include <dom/domCg_samplerCUBE.h>
+#include <dom/domCg_samplerDEPTH.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domCg_sampler1D.h b/include/1.4/dom/domCg_sampler1D.h
new file mode 100755
index 0000000..27785f5
--- /dev/null
+++ b/include/1.4/dom/domCg_sampler1D.h
@@ -0,0 +1,75 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domCg_sampler1D_h__
+#define __domCg_sampler1D_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domFx_sampler1D_common.h>
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domCg_sampler2D.h b/include/1.4/dom/domCg_sampler2D.h
new file mode 100755
index 0000000..463ca92
--- /dev/null
+++ b/include/1.4/dom/domCg_sampler2D.h
@@ -0,0 +1,75 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domCg_sampler2D_h__
+#define __domCg_sampler2D_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domFx_sampler2D_common.h>
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domCg_sampler3D.h b/include/1.4/dom/domCg_sampler3D.h
new file mode 100755
index 0000000..a865122
--- /dev/null
+++ b/include/1.4/dom/domCg_sampler3D.h
@@ -0,0 +1,75 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domCg_sampler3D_h__
+#define __domCg_sampler3D_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domFx_sampler3D_common.h>
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domCg_samplerCUBE.h b/include/1.4/dom/domCg_samplerCUBE.h
new file mode 100755
index 0000000..0bb7f16
--- /dev/null
+++ b/include/1.4/dom/domCg_samplerCUBE.h
@@ -0,0 +1,75 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domCg_samplerCUBE_h__
+#define __domCg_samplerCUBE_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domFx_samplerCUBE_common.h>
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domCg_samplerDEPTH.h b/include/1.4/dom/domCg_samplerDEPTH.h
new file mode 100755
index 0000000..48ade27
--- /dev/null
+++ b/include/1.4/dom/domCg_samplerDEPTH.h
@@ -0,0 +1,75 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domCg_samplerDEPTH_h__
+#define __domCg_samplerDEPTH_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domFx_samplerDEPTH_common.h>
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domCg_samplerRECT.h b/include/1.4/dom/domCg_samplerRECT.h
new file mode 100755
index 0000000..733a5ba
--- /dev/null
+++ b/include/1.4/dom/domCg_samplerRECT.h
@@ -0,0 +1,75 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domCg_samplerRECT_h__
+#define __domCg_samplerRECT_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domFx_samplerRECT_common.h>
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domCg_setarray_type.h b/include/1.4/dom/domCg_setarray_type.h
new file mode 100755
index 0000000..535b699
--- /dev/null
+++ b/include/1.4/dom/domCg_setarray_type.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 __domCg_setarray_type_h__
+#define __domCg_setarray_type_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domCg_param_type.h>
+#include <dom/domCg_setarray_type.h>
+#include <dom/domCg_setuser_type.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domCg_setparam.h b/include/1.4/dom/domCg_setparam.h
new file mode 100755
index 0000000..01894fa
--- /dev/null
+++ b/include/1.4/dom/domCg_setparam.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 __domCg_setparam_h__
+#define __domCg_setparam_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domCg_param_type.h>
+#include <dom/domCg_setuser_type.h>
+#include <dom/domCg_setarray_type.h>
+#include <dom/domCg_connect_param.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domCg_setparam_simple.h b/include/1.4/dom/domCg_setparam_simple.h
new file mode 100755
index 0000000..70075bc
--- /dev/null
+++ b/include/1.4/dom/domCg_setparam_simple.h
@@ -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
+*
+*/
+
+#ifndef __domCg_setparam_simple_h__
+#define __domCg_setparam_simple_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domCg_param_type.h>
+#include <dom/domFx_annotate_common.h>
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domCg_setuser_type.h b/include/1.4/dom/domCg_setuser_type.h
new file mode 100755
index 0000000..48577fa
--- /dev/null
+++ b/include/1.4/dom/domCg_setuser_type.h
@@ -0,0 +1,221 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domCg_setuser_type_h__
+#define __domCg_setuser_type_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domCg_param_type.h>
+#include <dom/domCg_setarray_type.h>
+#include <dom/domCg_setuser_type.h>
+#include <dom/domCg_connect_param.h>
+#include <dom/domCg_setparam.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domCg_surface_type.h b/include/1.4/dom/domCg_surface_type.h
new file mode 100755
index 0000000..a409fd8
--- /dev/null
+++ b/include/1.4/dom/domCg_surface_type.h
@@ -0,0 +1,312 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domCg_surface_type_h__
+#define __domCg_surface_type_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domFx_surface_common.h>
+#include <dom/domFx_annotate_common.h>
+#include <dom/domFx_code_profile.h>
+#include <dom/domFx_include_common.h>
+#include <dom/domCg_setparam_simple.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domChannel.h b/include/1.4/dom/domChannel.h
new file mode 100755
index 0000000..5e649cf
--- /dev/null
+++ b/include/1.4/dom/domChannel.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 __domChannel_h__
+#define __domChannel_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domCommon_color_or_texture_type.h b/include/1.4/dom/domCommon_color_or_texture_type.h
new file mode 100755
index 0000000..9eb6363
--- /dev/null
+++ b/include/1.4/dom/domCommon_color_or_texture_type.h
@@ -0,0 +1,328 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domCommon_color_or_texture_type_h__
+#define __domCommon_color_or_texture_type_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domExtra.h>
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domCommon_float_or_param_type.h b/include/1.4/dom/domCommon_float_or_param_type.h
new file mode 100755
index 0000000..b630226
--- /dev/null
+++ b/include/1.4/dom/domCommon_float_or_param_type.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 __domCommon_float_or_param_type_h__
+#define __domCommon_float_or_param_type_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+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 ::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; _validAttributeArray[0] = true; }
+
+ /**
+ * 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
+ */
+ 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domCommon_newparam_type.h b/include/1.4/dom/domCommon_newparam_type.h
new file mode 100755
index 0000000..deb940d
--- /dev/null
+++ b/include/1.4/dom/domCommon_newparam_type.h
@@ -0,0 +1,484 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domCommon_newparam_type_h__
+#define __domCommon_newparam_type_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domFx_surface_common.h>
+#include <dom/domFx_sampler2D_common.h>
+class DAE;
+
+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 ::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
+ */
+ 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 ::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
+ */
+ 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 ::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
+ */
+ 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 ::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
+ */
+ 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domCommon_transparent_type.h b/include/1.4/dom/domCommon_transparent_type.h
new file mode 100755
index 0000000..c6c527b
--- /dev/null
+++ b/include/1.4/dom/domCommon_transparent_type.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 __domCommon_transparent_type_h__
+#define __domCommon_transparent_type_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domCommon_color_or_texture_type.h>
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domConstants.h b/include/1.4/dom/domConstants.h
new file mode 100755
index 0000000..12f8eec
--- /dev/null
+++ b/include/1.4/dom/domConstants.h
@@ -0,0 +1,1088 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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_CONSTANTS_H__
+#define __DOM_CONSTANTS_H__
+
+#include <dae/daeDomTypes.h>
+
+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;
+
+#endif //__DOM_CONSTANTS_H__
+
diff --git a/include/1.4/dom/domController.h b/include/1.4/dom/domController.h
new file mode 100755
index 0000000..e427937
--- /dev/null
+++ b/include/1.4/dom/domController.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 __domController_h__
+#define __domController_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domSkin.h>
+#include <dom/domMorph.h>
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domConvex_mesh.h b/include/1.4/dom/domConvex_mesh.h
new file mode 100755
index 0000000..46454af
--- /dev/null
+++ b/include/1.4/dom/domConvex_mesh.h
@@ -0,0 +1,234 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domConvex_mesh_h__
+#define __domConvex_mesh_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domSource.h>
+#include <dom/domVertices.h>
+#include <dom/domLines.h>
+#include <dom/domLinestrips.h>
+#include <dom/domPolygons.h>
+#include <dom/domPolylist.h>
+#include <dom/domTriangles.h>
+#include <dom/domTrifans.h>
+#include <dom/domTristrips.h>
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domCylinder.h b/include/1.4/dom/domCylinder.h
new file mode 100755
index 0000000..b796e81
--- /dev/null
+++ b/include/1.4/dom/domCylinder.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 __domCylinder_h__
+#define __domCylinder_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domEffect.h b/include/1.4/dom/domEffect.h
new file mode 100755
index 0000000..cc7778f
--- /dev/null
+++ b/include/1.4/dom/domEffect.h
@@ -0,0 +1,204 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domEffect_h__
+#define __domEffect_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domImage.h>
+#include <dom/domFx_profile_abstract.h>
+#include <dom/domExtra.h>
+#include <dom/domFx_annotate_common.h>
+#include <dom/domFx_newparam_common.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domElements.h b/include/1.4/dom/domElements.h
new file mode 100755
index 0000000..78d17ba
--- /dev/null
+++ b/include/1.4/dom/domElements.h
@@ -0,0 +1,866 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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_ELEMENTS_H__
+#define __DOM_ELEMENTS_H__
+
+#include <dom/domTypes.h>
+
+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;
+
+
+#endif //__DOM_ELEMENTS_H__
+
diff --git a/include/1.4/dom/domEllipsoid.h b/include/1.4/dom/domEllipsoid.h
new file mode 100755
index 0000000..b67a4f5
--- /dev/null
+++ b/include/1.4/dom/domEllipsoid.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 __domEllipsoid_h__
+#define __domEllipsoid_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domExtra.h b/include/1.4/dom/domExtra.h
new file mode 100755
index 0000000..0e946cc
--- /dev/null
+++ b/include/1.4/dom/domExtra.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 __domExtra_h__
+#define __domExtra_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domTechnique.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domFloat_array.h b/include/1.4/dom/domFloat_array.h
new file mode 100755
index 0000000..499b531
--- /dev/null
+++ b/include/1.4/dom/domFloat_array.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 __domFloat_array_h__
+#define __domFloat_array_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domForce_field.h b/include/1.4/dom/domForce_field.h
new file mode 100755
index 0000000..79398c8
--- /dev/null
+++ b/include/1.4/dom/domForce_field.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 __domForce_field_h__
+#define __domForce_field_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domTechnique.h>
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domFx_annotate_common.h b/include/1.4/dom/domFx_annotate_common.h
new file mode 100755
index 0000000..751971e
--- /dev/null
+++ b/include/1.4/dom/domFx_annotate_common.h
@@ -0,0 +1,110 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domFx_annotate_common_h__
+#define __domFx_annotate_common_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domFx_annotate_type_common.h>
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domFx_annotate_type_common.h b/include/1.4/dom/domFx_annotate_type_common.h
new file mode 100755
index 0000000..d9080dc
--- /dev/null
+++ b/include/1.4/dom/domFx_annotate_type_common.h
@@ -0,0 +1,1171 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domFx_annotate_type_common_h__
+#define __domFx_annotate_type_common_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+/**
+ * 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 ::domBool value of the text data of this element.
+ */
+ ::domBool _value;
+
+ public: //Accessors and Mutators
+ /**
+ * 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
+ */
+ 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 ::domBool2 value of the text data of this element.
+ */
+ ::domBool2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domBool2 reference of the _value array.
+ */
+ ::domBool2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domBool2 reference of the _value array.
+ */
+ const ::domBool2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::domBool3 value of the text data of this element.
+ */
+ ::domBool3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domBool3 reference of the _value array.
+ */
+ ::domBool3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domBool3 reference of the _value array.
+ */
+ const ::domBool3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::domBool4 value of the text data of this element.
+ */
+ ::domBool4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domBool4 reference of the _value array.
+ */
+ ::domBool4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domBool4 reference of the _value array.
+ */
+ const ::domBool4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::domInt value of the text data of this element.
+ */
+ ::domInt _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ::domInt of the value.
+ */
+ ::domInt getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( ::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 ::domInt2 value of the text data of this element.
+ */
+ ::domInt2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domInt2 reference of the _value array.
+ */
+ ::domInt2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domInt2 reference of the _value array.
+ */
+ const ::domInt2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::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
+ */
+ 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 ::domInt4 value of the text data of this element.
+ */
+ ::domInt4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domInt4 reference of the _value array.
+ */
+ ::domInt4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domInt4 reference of the _value array.
+ */
+ const ::domInt4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::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
+ */
+ 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 ::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
+ */
+ 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 ::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
+ */
+ 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 ::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
+ */
+ 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 ::domFloat2x2 value of the text data of this element.
+ */
+ ::domFloat2x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domFloat2x2 reference of the _value array.
+ */
+ ::domFloat2x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domFloat2x2 reference of the _value array.
+ */
+ const ::domFloat2x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::domFloat3x3 value of the text data of this element.
+ */
+ ::domFloat3x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * 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
+ */
+ 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 ::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
+ */
+ 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domFx_basic_type_common.h b/include/1.4/dom/domFx_basic_type_common.h
new file mode 100755
index 0000000..ea0a6c2
--- /dev/null
+++ b/include/1.4/dom/domFx_basic_type_common.h
@@ -0,0 +1,2112 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domFx_basic_type_common_h__
+#define __domFx_basic_type_common_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domFx_surface_common.h>
+#include <dom/domFx_sampler1D_common.h>
+#include <dom/domFx_sampler2D_common.h>
+#include <dom/domFx_sampler3D_common.h>
+#include <dom/domFx_samplerCUBE_common.h>
+#include <dom/domFx_samplerRECT_common.h>
+#include <dom/domFx_samplerDEPTH_common.h>
+class DAE;
+
+/**
+ * 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 ::domBool value of the text data of this element.
+ */
+ ::domBool _value;
+
+ public: //Accessors and Mutators
+ /**
+ * 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
+ */
+ 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 ::domBool2 value of the text data of this element.
+ */
+ ::domBool2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domBool2 reference of the _value array.
+ */
+ ::domBool2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domBool2 reference of the _value array.
+ */
+ const ::domBool2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::domBool3 value of the text data of this element.
+ */
+ ::domBool3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domBool3 reference of the _value array.
+ */
+ ::domBool3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domBool3 reference of the _value array.
+ */
+ const ::domBool3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::domBool4 value of the text data of this element.
+ */
+ ::domBool4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domBool4 reference of the _value array.
+ */
+ ::domBool4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domBool4 reference of the _value array.
+ */
+ const ::domBool4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::domInt value of the text data of this element.
+ */
+ ::domInt _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ::domInt of the value.
+ */
+ ::domInt getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( ::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 ::domInt2 value of the text data of this element.
+ */
+ ::domInt2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domInt2 reference of the _value array.
+ */
+ ::domInt2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domInt2 reference of the _value array.
+ */
+ const ::domInt2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::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
+ */
+ 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 ::domInt4 value of the text data of this element.
+ */
+ ::domInt4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domInt4 reference of the _value array.
+ */
+ ::domInt4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domInt4 reference of the _value array.
+ */
+ const ::domInt4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::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
+ */
+ 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 ::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
+ */
+ 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 ::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
+ */
+ 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 ::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
+ */
+ 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 ::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
+ */
+ 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 ::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
+ */
+ 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 ::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
+ */
+ 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 ::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
+ */
+ 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 ::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
+ */
+ 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 ::domFloat2x2 value of the text data of this element.
+ */
+ ::domFloat2x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domFloat2x2 reference of the _value array.
+ */
+ ::domFloat2x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domFloat2x2 reference of the _value array.
+ */
+ const ::domFloat2x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::domFloat2x3 value of the text data of this element.
+ */
+ ::domFloat2x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domFloat2x3 reference of the _value array.
+ */
+ ::domFloat2x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domFloat2x3 reference of the _value array.
+ */
+ const ::domFloat2x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::domFloat2x4 value of the text data of this element.
+ */
+ ::domFloat2x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domFloat2x4 reference of the _value array.
+ */
+ ::domFloat2x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domFloat2x4 reference of the _value array.
+ */
+ const ::domFloat2x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::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
+ */
+ 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 ::domFloat3x2 value of the text data of this element.
+ */
+ ::domFloat3x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domFloat3x2 reference of the _value array.
+ */
+ ::domFloat3x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domFloat3x2 reference of the _value array.
+ */
+ const ::domFloat3x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::domFloat3x3 value of the text data of this element.
+ */
+ ::domFloat3x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * 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
+ */
+ 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 ::domFloat3x4 value of the text data of this element.
+ */
+ ::domFloat3x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domFloat3x4 reference of the _value array.
+ */
+ ::domFloat3x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domFloat3x4 reference of the _value array.
+ */
+ const ::domFloat3x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::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
+ */
+ 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 ::domFloat4x2 value of the text data of this element.
+ */
+ ::domFloat4x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domFloat4x2 reference of the _value array.
+ */
+ ::domFloat4x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domFloat4x2 reference of the _value array.
+ */
+ const ::domFloat4x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::domFloat4x3 value of the text data of this element.
+ */
+ ::domFloat4x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domFloat4x3 reference of the _value array.
+ */
+ ::domFloat4x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domFloat4x3 reference of the _value array.
+ */
+ const ::domFloat4x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::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
+ */
+ 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domFx_clearcolor_common.h b/include/1.4/dom/domFx_clearcolor_common.h
new file mode 100755
index 0000000..6943b21
--- /dev/null
+++ b/include/1.4/dom/domFx_clearcolor_common.h
@@ -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
+*
+*/
+
+#ifndef __domFx_clearcolor_common_h__
+#define __domFx_clearcolor_common_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domFx_cleardepth_common.h b/include/1.4/dom/domFx_cleardepth_common.h
new file mode 100755
index 0000000..8f91e21
--- /dev/null
+++ b/include/1.4/dom/domFx_cleardepth_common.h
@@ -0,0 +1,118 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domFx_cleardepth_common_h__
+#define __domFx_cleardepth_common_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domFx_clearstencil_common.h b/include/1.4/dom/domFx_clearstencil_common.h
new file mode 100755
index 0000000..87159b4
--- /dev/null
+++ b/include/1.4/dom/domFx_clearstencil_common.h
@@ -0,0 +1,118 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domFx_clearstencil_common_h__
+#define __domFx_clearstencil_common_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domFx_code_profile.h b/include/1.4/dom/domFx_code_profile.h
new file mode 100755
index 0000000..e5acb84
--- /dev/null
+++ b/include/1.4/dom/domFx_code_profile.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 __domFx_code_profile_h__
+#define __domFx_code_profile_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domFx_colortarget_common.h b/include/1.4/dom/domFx_colortarget_common.h
new file mode 100755
index 0000000..f6872c6
--- /dev/null
+++ b/include/1.4/dom/domFx_colortarget_common.h
@@ -0,0 +1,187 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domFx_colortarget_common_h__
+#define __domFx_colortarget_common_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domFx_depthtarget_common.h b/include/1.4/dom/domFx_depthtarget_common.h
new file mode 100755
index 0000000..738829e
--- /dev/null
+++ b/include/1.4/dom/domFx_depthtarget_common.h
@@ -0,0 +1,187 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domFx_depthtarget_common_h__
+#define __domFx_depthtarget_common_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domFx_include_common.h b/include/1.4/dom/domFx_include_common.h
new file mode 100755
index 0000000..6436770
--- /dev/null
+++ b/include/1.4/dom/domFx_include_common.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 __domFx_include_common_h__
+#define __domFx_include_common_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domFx_newparam_common.h b/include/1.4/dom/domFx_newparam_common.h
new file mode 100755
index 0000000..93b4a78
--- /dev/null
+++ b/include/1.4/dom/domFx_newparam_common.h
@@ -0,0 +1,279 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domFx_newparam_common_h__
+#define __domFx_newparam_common_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domFx_basic_type_common.h>
+#include <dom/domFx_annotate_common.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domFx_profile_abstract.h b/include/1.4/dom/domFx_profile_abstract.h
new file mode 100755
index 0000000..7e6424b
--- /dev/null
+++ b/include/1.4/dom/domFx_profile_abstract.h
@@ -0,0 +1,58 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domFx_profile_abstract_h__
+#define __domFx_profile_abstract_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domFx_sampler1D_common.h b/include/1.4/dom/domFx_sampler1D_common.h
new file mode 100755
index 0000000..2cc1a6c
--- /dev/null
+++ b/include/1.4/dom/domFx_sampler1D_common.h
@@ -0,0 +1,611 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domFx_sampler1D_common_h__
+#define __domFx_sampler1D_common_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domFx_sampler2D_common.h b/include/1.4/dom/domFx_sampler2D_common.h
new file mode 100755
index 0000000..eec2364
--- /dev/null
+++ b/include/1.4/dom/domFx_sampler2D_common.h
@@ -0,0 +1,675 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domFx_sampler2D_common_h__
+#define __domFx_sampler2D_common_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domFx_sampler3D_common.h b/include/1.4/dom/domFx_sampler3D_common.h
new file mode 100755
index 0000000..613b3ed
--- /dev/null
+++ b/include/1.4/dom/domFx_sampler3D_common.h
@@ -0,0 +1,739 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domFx_sampler3D_common_h__
+#define __domFx_sampler3D_common_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domFx_samplerCUBE_common.h b/include/1.4/dom/domFx_samplerCUBE_common.h
new file mode 100755
index 0000000..a7c848c
--- /dev/null
+++ b/include/1.4/dom/domFx_samplerCUBE_common.h
@@ -0,0 +1,739 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domFx_samplerCUBE_common_h__
+#define __domFx_samplerCUBE_common_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domFx_samplerDEPTH_common.h b/include/1.4/dom/domFx_samplerDEPTH_common.h
new file mode 100755
index 0000000..b666828
--- /dev/null
+++ b/include/1.4/dom/domFx_samplerDEPTH_common.h
@@ -0,0 +1,414 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domFx_samplerDEPTH_common_h__
+#define __domFx_samplerDEPTH_common_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domFx_samplerRECT_common.h b/include/1.4/dom/domFx_samplerRECT_common.h
new file mode 100755
index 0000000..68196a2
--- /dev/null
+++ b/include/1.4/dom/domFx_samplerRECT_common.h
@@ -0,0 +1,675 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domFx_samplerRECT_common_h__
+#define __domFx_samplerRECT_common_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domFx_stenciltarget_common.h b/include/1.4/dom/domFx_stenciltarget_common.h
new file mode 100755
index 0000000..e24b5eb
--- /dev/null
+++ b/include/1.4/dom/domFx_stenciltarget_common.h
@@ -0,0 +1,187 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domFx_stenciltarget_common_h__
+#define __domFx_stenciltarget_common_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domFx_surface_common.h b/include/1.4/dom/domFx_surface_common.h
new file mode 100755
index 0000000..ee44bbd
--- /dev/null
+++ b/include/1.4/dom/domFx_surface_common.h
@@ -0,0 +1,563 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domFx_surface_common_h__
+#define __domFx_surface_common_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domFx_surface_init_common.h>
+#include <dom/domExtra.h>
+#include <dom/domFx_surface_format_hint_common.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domFx_surface_format_hint_common.h b/include/1.4/dom/domFx_surface_format_hint_common.h
new file mode 100755
index 0000000..71650b7
--- /dev/null
+++ b/include/1.4/dom/domFx_surface_format_hint_common.h
@@ -0,0 +1,397 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domFx_surface_format_hint_common_h__
+#define __domFx_surface_format_hint_common_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domFx_surface_init_common.h b/include/1.4/dom/domFx_surface_init_common.h
new file mode 100755
index 0000000..8e30eda
--- /dev/null
+++ b/include/1.4/dom/domFx_surface_init_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 __domFx_surface_init_common_h__
+#define __domFx_surface_init_common_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domFx_surface_init_cube_common.h>
+#include <dom/domFx_surface_init_volume_common.h>
+#include <dom/domFx_surface_init_planar_common.h>
+#include <dom/domFx_surface_init_from_common.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domFx_surface_init_cube_common.h b/include/1.4/dom/domFx_surface_init_cube_common.h
new file mode 100755
index 0000000..881ae8c
--- /dev/null
+++ b/include/1.4/dom/domFx_surface_init_cube_common.h
@@ -0,0 +1,409 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domFx_surface_init_cube_common_h__
+#define __domFx_surface_init_cube_common_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domFx_surface_init_from_common.h b/include/1.4/dom/domFx_surface_init_from_common.h
new file mode 100755
index 0000000..e24b892
--- /dev/null
+++ b/include/1.4/dom/domFx_surface_init_from_common.h
@@ -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
+*
+*/
+
+#ifndef __domFx_surface_init_from_common_h__
+#define __domFx_surface_init_from_common_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domFx_surface_init_planar_common.h b/include/1.4/dom/domFx_surface_init_planar_common.h
new file mode 100755
index 0000000..34452c4
--- /dev/null
+++ b/include/1.4/dom/domFx_surface_init_planar_common.h
@@ -0,0 +1,179 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domFx_surface_init_planar_common_h__
+#define __domFx_surface_init_planar_common_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domFx_surface_init_volume_common.h b/include/1.4/dom/domFx_surface_init_volume_common.h
new file mode 100755
index 0000000..425b1a4
--- /dev/null
+++ b/include/1.4/dom/domFx_surface_init_volume_common.h
@@ -0,0 +1,251 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domFx_surface_init_volume_common_h__
+#define __domFx_surface_init_volume_common_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGeometry.h b/include/1.4/dom/domGeometry.h
new file mode 100755
index 0000000..a4fef23
--- /dev/null
+++ b/include/1.4/dom/domGeometry.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 __domGeometry_h__
+#define __domGeometry_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domConvex_mesh.h>
+#include <dom/domMesh.h>
+#include <dom/domSpline.h>
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGl_hook_abstract.h b/include/1.4/dom/domGl_hook_abstract.h
new file mode 100755
index 0000000..0e26d02
--- /dev/null
+++ b/include/1.4/dom/domGl_hook_abstract.h
@@ -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
+*
+*/
+
+#ifndef __domGl_hook_abstract_h__
+#define __domGl_hook_abstract_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGl_pipeline_settings.h b/include/1.4/dom/domGl_pipeline_settings.h
new file mode 100755
index 0000000..f8997d7
--- /dev/null
+++ b/include/1.4/dom/domGl_pipeline_settings.h
@@ -0,0 +1,10820 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domGl_pipeline_settings_h__
+#define __domGl_pipeline_settings_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domGl_hook_abstract.h>
+#include <dom/domGl_sampler1D.h>
+#include <dom/domGl_sampler2D.h>
+#include <dom/domGl_sampler3D.h>
+#include <dom/domGl_samplerCUBE.h>
+#include <dom/domGl_samplerRECT.h>
+#include <dom/domGl_samplerDEPTH.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGl_sampler1D.h b/include/1.4/dom/domGl_sampler1D.h
new file mode 100755
index 0000000..11c2e1a
--- /dev/null
+++ b/include/1.4/dom/domGl_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 __domGl_sampler1D_h__
+#define __domGl_sampler1D_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domFx_sampler1D_common.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGl_sampler2D.h b/include/1.4/dom/domGl_sampler2D.h
new file mode 100755
index 0000000..3c77779
--- /dev/null
+++ b/include/1.4/dom/domGl_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 __domGl_sampler2D_h__
+#define __domGl_sampler2D_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domFx_sampler2D_common.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGl_sampler3D.h b/include/1.4/dom/domGl_sampler3D.h
new file mode 100755
index 0000000..e064be1
--- /dev/null
+++ b/include/1.4/dom/domGl_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 __domGl_sampler3D_h__
+#define __domGl_sampler3D_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domFx_sampler3D_common.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGl_samplerCUBE.h b/include/1.4/dom/domGl_samplerCUBE.h
new file mode 100755
index 0000000..23ecc89
--- /dev/null
+++ b/include/1.4/dom/domGl_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 __domGl_samplerCUBE_h__
+#define __domGl_samplerCUBE_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domFx_samplerCUBE_common.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGl_samplerDEPTH.h b/include/1.4/dom/domGl_samplerDEPTH.h
new file mode 100755
index 0000000..05c7a8d
--- /dev/null
+++ b/include/1.4/dom/domGl_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 __domGl_samplerDEPTH_h__
+#define __domGl_samplerDEPTH_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domFx_samplerDEPTH_common.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGl_samplerRECT.h b/include/1.4/dom/domGl_samplerRECT.h
new file mode 100755
index 0000000..7bcc31d
--- /dev/null
+++ b/include/1.4/dom/domGl_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 __domGl_samplerRECT_h__
+#define __domGl_samplerRECT_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domFx_samplerRECT_common.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGles_basic_type_common.h b/include/1.4/dom/domGles_basic_type_common.h
new file mode 100755
index 0000000..4d1167d
--- /dev/null
+++ b/include/1.4/dom/domGles_basic_type_common.h
@@ -0,0 +1,2091 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domGles_basic_type_common_h__
+#define __domGles_basic_type_common_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domFx_surface_common.h>
+#include <dom/domGles_texture_pipeline.h>
+#include <dom/domGles_sampler_state.h>
+#include <dom/domGles_texture_unit.h>
+class DAE;
+
+/**
+ * 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 ::domBool value of the text data of this element.
+ */
+ ::domBool _value;
+
+ public: //Accessors and Mutators
+ /**
+ * 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
+ */
+ 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 ::domBool2 value of the text data of this element.
+ */
+ ::domBool2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domBool2 reference of the _value array.
+ */
+ ::domBool2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domBool2 reference of the _value array.
+ */
+ const ::domBool2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::domBool3 value of the text data of this element.
+ */
+ ::domBool3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domBool3 reference of the _value array.
+ */
+ ::domBool3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domBool3 reference of the _value array.
+ */
+ const ::domBool3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::domBool4 value of the text data of this element.
+ */
+ ::domBool4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domBool4 reference of the _value array.
+ */
+ ::domBool4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domBool4 reference of the _value array.
+ */
+ const ::domBool4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::domInt value of the text data of this element.
+ */
+ ::domInt _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ::domInt of the value.
+ */
+ ::domInt getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( ::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 ::domInt2 value of the text data of this element.
+ */
+ ::domInt2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domInt2 reference of the _value array.
+ */
+ ::domInt2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domInt2 reference of the _value array.
+ */
+ const ::domInt2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::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
+ */
+ 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 ::domInt4 value of the text data of this element.
+ */
+ ::domInt4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domInt4 reference of the _value array.
+ */
+ ::domInt4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domInt4 reference of the _value array.
+ */
+ const ::domInt4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::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
+ */
+ 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 ::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
+ */
+ 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 ::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
+ */
+ 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 ::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
+ */
+ 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 ::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
+ */
+ 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 ::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
+ */
+ 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 ::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
+ */
+ 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 ::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
+ */
+ 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 ::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
+ */
+ 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 ::domFloat2x2 value of the text data of this element.
+ */
+ ::domFloat2x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domFloat2x2 reference of the _value array.
+ */
+ ::domFloat2x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domFloat2x2 reference of the _value array.
+ */
+ const ::domFloat2x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::domFloat2x3 value of the text data of this element.
+ */
+ ::domFloat2x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domFloat2x3 reference of the _value array.
+ */
+ ::domFloat2x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domFloat2x3 reference of the _value array.
+ */
+ const ::domFloat2x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::domFloat2x4 value of the text data of this element.
+ */
+ ::domFloat2x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domFloat2x4 reference of the _value array.
+ */
+ ::domFloat2x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domFloat2x4 reference of the _value array.
+ */
+ const ::domFloat2x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::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
+ */
+ 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 ::domFloat3x2 value of the text data of this element.
+ */
+ ::domFloat3x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domFloat3x2 reference of the _value array.
+ */
+ ::domFloat3x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domFloat3x2 reference of the _value array.
+ */
+ const ::domFloat3x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::domFloat3x3 value of the text data of this element.
+ */
+ ::domFloat3x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * 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
+ */
+ 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 ::domFloat3x4 value of the text data of this element.
+ */
+ ::domFloat3x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domFloat3x4 reference of the _value array.
+ */
+ ::domFloat3x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domFloat3x4 reference of the _value array.
+ */
+ const ::domFloat3x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::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
+ */
+ 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 ::domFloat4x2 value of the text data of this element.
+ */
+ ::domFloat4x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domFloat4x2 reference of the _value array.
+ */
+ ::domFloat4x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domFloat4x2 reference of the _value array.
+ */
+ const ::domFloat4x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::domFloat4x3 value of the text data of this element.
+ */
+ ::domFloat4x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ::domFloat4x3 reference of the _value array.
+ */
+ ::domFloat4x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ::domFloat4x3 reference of the _value array.
+ */
+ const ::domFloat4x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ::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 ::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
+ */
+ 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGles_newparam.h b/include/1.4/dom/domGles_newparam.h
new file mode 100755
index 0000000..d923392
--- /dev/null
+++ b/include/1.4/dom/domGles_newparam.h
@@ -0,0 +1,279 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domGles_newparam_h__
+#define __domGles_newparam_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domGles_basic_type_common.h>
+#include <dom/domFx_annotate_common.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGles_pipeline_settings.h b/include/1.4/dom/domGles_pipeline_settings.h
new file mode 100755
index 0000000..67790dd
--- /dev/null
+++ b/include/1.4/dom/domGles_pipeline_settings.h
@@ -0,0 +1,6310 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domGles_pipeline_settings_h__
+#define __domGles_pipeline_settings_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domGles_texture_pipeline.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGles_sampler_state.h b/include/1.4/dom/domGles_sampler_state.h
new file mode 100755
index 0000000..1593936
--- /dev/null
+++ b/include/1.4/dom/domGles_sampler_state.h
@@ -0,0 +1,578 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domGles_sampler_state_h__
+#define __domGles_sampler_state_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGles_texcombiner_argumentAlpha_type.h b/include/1.4/dom/domGles_texcombiner_argumentAlpha_type.h
new file mode 100755
index 0000000..17292b7
--- /dev/null
+++ b/include/1.4/dom/domGles_texcombiner_argumentAlpha_type.h
@@ -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
+*
+*/
+
+#ifndef __domGles_texcombiner_argumentAlpha_type_h__
+#define __domGles_texcombiner_argumentAlpha_type_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGles_texcombiner_argumentRGB_type.h b/include/1.4/dom/domGles_texcombiner_argumentRGB_type.h
new file mode 100755
index 0000000..bc923d9
--- /dev/null
+++ b/include/1.4/dom/domGles_texcombiner_argumentRGB_type.h
@@ -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
+*
+*/
+
+#ifndef __domGles_texcombiner_argumentRGB_type_h__
+#define __domGles_texcombiner_argumentRGB_type_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGles_texcombiner_commandAlpha_type.h b/include/1.4/dom/domGles_texcombiner_commandAlpha_type.h
new file mode 100755
index 0000000..d19cfcd
--- /dev/null
+++ b/include/1.4/dom/domGles_texcombiner_commandAlpha_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 __domGles_texcombiner_commandAlpha_type_h__
+#define __domGles_texcombiner_commandAlpha_type_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domGles_texcombiner_argumentAlpha_type.h>
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGles_texcombiner_commandRGB_type.h b/include/1.4/dom/domGles_texcombiner_commandRGB_type.h
new file mode 100755
index 0000000..bb6b0e0
--- /dev/null
+++ b/include/1.4/dom/domGles_texcombiner_commandRGB_type.h
@@ -0,0 +1,142 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domGles_texcombiner_commandRGB_type_h__
+#define __domGles_texcombiner_commandRGB_type_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domGles_texcombiner_argumentRGB_type.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGles_texcombiner_command_type.h b/include/1.4/dom/domGles_texcombiner_command_type.h
new file mode 100755
index 0000000..52a092a
--- /dev/null
+++ b/include/1.4/dom/domGles_texcombiner_command_type.h
@@ -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
+*
+*/
+
+#ifndef __domGles_texcombiner_command_type_h__
+#define __domGles_texcombiner_command_type_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domGles_texture_constant_type.h>
+#include <dom/domGles_texcombiner_commandRGB_type.h>
+#include <dom/domGles_texcombiner_commandAlpha_type.h>
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGles_texenv_command_type.h b/include/1.4/dom/domGles_texenv_command_type.h
new file mode 100755
index 0000000..2465f90
--- /dev/null
+++ b/include/1.4/dom/domGles_texenv_command_type.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 __domGles_texenv_command_type_h__
+#define __domGles_texenv_command_type_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domGles_texture_constant_type.h>
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGles_texture_constant_type.h b/include/1.4/dom/domGles_texture_constant_type.h
new file mode 100755
index 0000000..7f02212
--- /dev/null
+++ b/include/1.4/dom/domGles_texture_constant_type.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 __domGles_texture_constant_type_h__
+#define __domGles_texture_constant_type_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGles_texture_pipeline.h b/include/1.4/dom/domGles_texture_pipeline.h
new file mode 100755
index 0000000..39804b0
--- /dev/null
+++ b/include/1.4/dom/domGles_texture_pipeline.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 __domGles_texture_pipeline_h__
+#define __domGles_texture_pipeline_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domExtra.h>
+#include <dom/domGles_texcombiner_command_type.h>
+#include <dom/domGles_texenv_command_type.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGles_texture_unit.h b/include/1.4/dom/domGles_texture_unit.h
new file mode 100755
index 0000000..4ed0a77
--- /dev/null
+++ b/include/1.4/dom/domGles_texture_unit.h
@@ -0,0 +1,311 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domGles_texture_unit_h__
+#define __domGles_texture_unit_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domExtra.h>
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGlsl_newarray_type.h b/include/1.4/dom/domGlsl_newarray_type.h
new file mode 100755
index 0000000..12eb0a6
--- /dev/null
+++ b/include/1.4/dom/domGlsl_newarray_type.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 __domGlsl_newarray_type_h__
+#define __domGlsl_newarray_type_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domGlsl_param_type.h>
+#include <dom/domGlsl_newarray_type.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGlsl_newparam.h b/include/1.4/dom/domGlsl_newparam.h
new file mode 100755
index 0000000..43c5ef4
--- /dev/null
+++ b/include/1.4/dom/domGlsl_newparam.h
@@ -0,0 +1,284 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domGlsl_newparam_h__
+#define __domGlsl_newparam_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domGlsl_param_type.h>
+#include <dom/domFx_annotate_common.h>
+#include <dom/domGlsl_newarray_type.h>
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGlsl_param_type.h b/include/1.4/dom/domGlsl_param_type.h
new file mode 100755
index 0000000..7f23d4e
--- /dev/null
+++ b/include/1.4/dom/domGlsl_param_type.h
@@ -0,0 +1,1220 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domGlsl_param_type_h__
+#define __domGlsl_param_type_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domGlsl_surface_type.h>
+#include <dom/domGl_sampler1D.h>
+#include <dom/domGl_sampler2D.h>
+#include <dom/domGl_sampler3D.h>
+#include <dom/domGl_samplerCUBE.h>
+#include <dom/domGl_samplerRECT.h>
+#include <dom/domGl_samplerDEPTH.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGlsl_setarray_type.h b/include/1.4/dom/domGlsl_setarray_type.h
new file mode 100755
index 0000000..83e47af
--- /dev/null
+++ b/include/1.4/dom/domGlsl_setarray_type.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 __domGlsl_setarray_type_h__
+#define __domGlsl_setarray_type_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domGlsl_param_type.h>
+#include <dom/domGlsl_setarray_type.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGlsl_setparam.h b/include/1.4/dom/domGlsl_setparam.h
new file mode 100755
index 0000000..3ec9922
--- /dev/null
+++ b/include/1.4/dom/domGlsl_setparam.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 __domGlsl_setparam_h__
+#define __domGlsl_setparam_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domGlsl_param_type.h>
+#include <dom/domFx_annotate_common.h>
+#include <dom/domGlsl_setarray_type.h>
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGlsl_setparam_simple.h b/include/1.4/dom/domGlsl_setparam_simple.h
new file mode 100755
index 0000000..656e542
--- /dev/null
+++ b/include/1.4/dom/domGlsl_setparam_simple.h
@@ -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
+*
+*/
+
+#ifndef __domGlsl_setparam_simple_h__
+#define __domGlsl_setparam_simple_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domGlsl_param_type.h>
+#include <dom/domFx_annotate_common.h>
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domGlsl_surface_type.h b/include/1.4/dom/domGlsl_surface_type.h
new file mode 100755
index 0000000..6c85a5c
--- /dev/null
+++ b/include/1.4/dom/domGlsl_surface_type.h
@@ -0,0 +1,313 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domGlsl_surface_type_h__
+#define __domGlsl_surface_type_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domFx_surface_common.h>
+#include <dom/domFx_annotate_common.h>
+#include <dom/domFx_code_profile.h>
+#include <dom/domFx_include_common.h>
+#include <dom/domGlsl_setparam_simple.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domIDREF_array.h b/include/1.4/dom/domIDREF_array.h
new file mode 100755
index 0000000..1e59d1b
--- /dev/null
+++ b/include/1.4/dom/domIDREF_array.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 __domIDREF_array_h__
+#define __domIDREF_array_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domImage.h b/include/1.4/dom/domImage.h
new file mode 100755
index 0000000..1dd7632
--- /dev/null
+++ b/include/1.4/dom/domImage.h
@@ -0,0 +1,375 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domImage_h__
+#define __domImage_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domInputGlobal.h b/include/1.4/dom/domInputGlobal.h
new file mode 100755
index 0000000..20c2874
--- /dev/null
+++ b/include/1.4/dom/domInputGlobal.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 __domInputGlobal_h__
+#define __domInputGlobal_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domInputLocal.h b/include/1.4/dom/domInputLocal.h
new file mode 100755
index 0000000..9524993
--- /dev/null
+++ b/include/1.4/dom/domInputLocal.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 __domInputLocal_h__
+#define __domInputLocal_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domInputLocalOffset.h b/include/1.4/dom/domInputLocalOffset.h
new file mode 100755
index 0000000..aab0e2a
--- /dev/null
+++ b/include/1.4/dom/domInputLocalOffset.h
@@ -0,0 +1,213 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domInputLocalOffset_h__
+#define __domInputLocalOffset_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domInstanceWithExtra.h b/include/1.4/dom/domInstanceWithExtra.h
new file mode 100755
index 0000000..342c536
--- /dev/null
+++ b/include/1.4/dom/domInstanceWithExtra.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 __domInstanceWithExtra_h__
+#define __domInstanceWithExtra_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domInstance_camera.h b/include/1.4/dom/domInstance_camera.h
new file mode 100755
index 0000000..f49a901
--- /dev/null
+++ b/include/1.4/dom/domInstance_camera.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 __domInstance_camera_h__
+#define __domInstance_camera_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domInstanceWithExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domInstance_controller.h b/include/1.4/dom/domInstance_controller.h
new file mode 100755
index 0000000..668c741
--- /dev/null
+++ b/include/1.4/dom/domInstance_controller.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 __domInstance_controller_h__
+#define __domInstance_controller_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domBind_material.h>
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domInstance_effect.h b/include/1.4/dom/domInstance_effect.h
new file mode 100755
index 0000000..c1f17e1
--- /dev/null
+++ b/include/1.4/dom/domInstance_effect.h
@@ -0,0 +1,327 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domInstance_effect_h__
+#define __domInstance_effect_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domExtra.h>
+#include <dom/domFx_basic_type_common.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domInstance_force_field.h b/include/1.4/dom/domInstance_force_field.h
new file mode 100755
index 0000000..adb858f
--- /dev/null
+++ b/include/1.4/dom/domInstance_force_field.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 __domInstance_force_field_h__
+#define __domInstance_force_field_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domInstanceWithExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domInstance_geometry.h b/include/1.4/dom/domInstance_geometry.h
new file mode 100755
index 0000000..60c5753
--- /dev/null
+++ b/include/1.4/dom/domInstance_geometry.h
@@ -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
+*
+*/
+
+#ifndef __domInstance_geometry_h__
+#define __domInstance_geometry_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domBind_material.h>
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domInstance_light.h b/include/1.4/dom/domInstance_light.h
new file mode 100755
index 0000000..a27377e
--- /dev/null
+++ b/include/1.4/dom/domInstance_light.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 __domInstance_light_h__
+#define __domInstance_light_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domInstanceWithExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domInstance_material.h b/include/1.4/dom/domInstance_material.h
new file mode 100755
index 0000000..a6c2c77
--- /dev/null
+++ b/include/1.4/dom/domInstance_material.h
@@ -0,0 +1,353 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domInstance_material_h__
+#define __domInstance_material_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domInstance_node.h b/include/1.4/dom/domInstance_node.h
new file mode 100755
index 0000000..680a0ab
--- /dev/null
+++ b/include/1.4/dom/domInstance_node.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 __domInstance_node_h__
+#define __domInstance_node_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domInstanceWithExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domInstance_physics_material.h b/include/1.4/dom/domInstance_physics_material.h
new file mode 100755
index 0000000..0e33bdd
--- /dev/null
+++ b/include/1.4/dom/domInstance_physics_material.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 __domInstance_physics_material_h__
+#define __domInstance_physics_material_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domInstanceWithExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domInstance_physics_model.h b/include/1.4/dom/domInstance_physics_model.h
new file mode 100755
index 0000000..95d2852
--- /dev/null
+++ b/include/1.4/dom/domInstance_physics_model.h
@@ -0,0 +1,213 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domInstance_physics_model_h__
+#define __domInstance_physics_model_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domInstance_force_field.h>
+#include <dom/domInstance_rigid_body.h>
+#include <dom/domInstance_rigid_constraint.h>
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domInstance_rigid_body.h b/include/1.4/dom/domInstance_rigid_body.h
new file mode 100755
index 0000000..e0a187d
--- /dev/null
+++ b/include/1.4/dom/domInstance_rigid_body.h
@@ -0,0 +1,894 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domInstance_rigid_body_h__
+#define __domInstance_rigid_body_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domTechnique.h>
+#include <dom/domExtra.h>
+#include <dom/domInstance_physics_material.h>
+#include <dom/domPhysics_material.h>
+#include <dom/domTargetableFloat.h>
+#include <dom/domTranslate.h>
+#include <dom/domRotate.h>
+#include <dom/domTargetableFloat3.h>
+#include <dom/domInstance_geometry.h>
+#include <dom/domPlane.h>
+#include <dom/domBox.h>
+#include <dom/domSphere.h>
+#include <dom/domCylinder.h>
+#include <dom/domTapered_cylinder.h>
+#include <dom/domCapsule.h>
+#include <dom/domTapered_capsule.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domInstance_rigid_constraint.h b/include/1.4/dom/domInstance_rigid_constraint.h
new file mode 100755
index 0000000..8f40e7b
--- /dev/null
+++ b/include/1.4/dom/domInstance_rigid_constraint.h
@@ -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
+*
+*/
+
+#ifndef __domInstance_rigid_constraint_h__
+#define __domInstance_rigid_constraint_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domInt_array.h b/include/1.4/dom/domInt_array.h
new file mode 100755
index 0000000..4bf27b0
--- /dev/null
+++ b/include/1.4/dom/domInt_array.h
@@ -0,0 +1,165 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domInt_array_h__
+#define __domInt_array_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domLibrary_animation_clips.h b/include/1.4/dom/domLibrary_animation_clips.h
new file mode 100755
index 0000000..e48789f
--- /dev/null
+++ b/include/1.4/dom/domLibrary_animation_clips.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 __domLibrary_animation_clips_h__
+#define __domLibrary_animation_clips_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domAnimation_clip.h>
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domLibrary_animations.h b/include/1.4/dom/domLibrary_animations.h
new file mode 100755
index 0000000..92572e3
--- /dev/null
+++ b/include/1.4/dom/domLibrary_animations.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 __domLibrary_animations_h__
+#define __domLibrary_animations_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domAnimation.h>
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domLibrary_cameras.h b/include/1.4/dom/domLibrary_cameras.h
new file mode 100755
index 0000000..c4e4564
--- /dev/null
+++ b/include/1.4/dom/domLibrary_cameras.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 __domLibrary_cameras_h__
+#define __domLibrary_cameras_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domCamera.h>
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domLibrary_controllers.h b/include/1.4/dom/domLibrary_controllers.h
new file mode 100755
index 0000000..23bef3e
--- /dev/null
+++ b/include/1.4/dom/domLibrary_controllers.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 __domLibrary_controllers_h__
+#define __domLibrary_controllers_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domController.h>
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domLibrary_effects.h b/include/1.4/dom/domLibrary_effects.h
new file mode 100755
index 0000000..72efe72
--- /dev/null
+++ b/include/1.4/dom/domLibrary_effects.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 __domLibrary_effects_h__
+#define __domLibrary_effects_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domEffect.h>
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domLibrary_force_fields.h b/include/1.4/dom/domLibrary_force_fields.h
new file mode 100755
index 0000000..5d48707
--- /dev/null
+++ b/include/1.4/dom/domLibrary_force_fields.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 __domLibrary_force_fields_h__
+#define __domLibrary_force_fields_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domForce_field.h>
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domLibrary_geometries.h b/include/1.4/dom/domLibrary_geometries.h
new file mode 100755
index 0000000..c59b07a
--- /dev/null
+++ b/include/1.4/dom/domLibrary_geometries.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 __domLibrary_geometries_h__
+#define __domLibrary_geometries_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domGeometry.h>
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domLibrary_images.h b/include/1.4/dom/domLibrary_images.h
new file mode 100755
index 0000000..8a05231
--- /dev/null
+++ b/include/1.4/dom/domLibrary_images.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 __domLibrary_images_h__
+#define __domLibrary_images_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domImage.h>
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domLibrary_lights.h b/include/1.4/dom/domLibrary_lights.h
new file mode 100755
index 0000000..8100e93
--- /dev/null
+++ b/include/1.4/dom/domLibrary_lights.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 __domLibrary_lights_h__
+#define __domLibrary_lights_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domLight.h>
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domLibrary_materials.h b/include/1.4/dom/domLibrary_materials.h
new file mode 100755
index 0000000..d73ed12
--- /dev/null
+++ b/include/1.4/dom/domLibrary_materials.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 __domLibrary_materials_h__
+#define __domLibrary_materials_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domMaterial.h>
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domLibrary_nodes.h b/include/1.4/dom/domLibrary_nodes.h
new file mode 100755
index 0000000..06d481a
--- /dev/null
+++ b/include/1.4/dom/domLibrary_nodes.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 __domLibrary_nodes_h__
+#define __domLibrary_nodes_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domNode.h>
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domLibrary_physics_materials.h b/include/1.4/dom/domLibrary_physics_materials.h
new file mode 100755
index 0000000..eb489e1
--- /dev/null
+++ b/include/1.4/dom/domLibrary_physics_materials.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 __domLibrary_physics_materials_h__
+#define __domLibrary_physics_materials_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domPhysics_material.h>
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domLibrary_physics_models.h b/include/1.4/dom/domLibrary_physics_models.h
new file mode 100755
index 0000000..a610d25
--- /dev/null
+++ b/include/1.4/dom/domLibrary_physics_models.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 __domLibrary_physics_models_h__
+#define __domLibrary_physics_models_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domPhysics_model.h>
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domLibrary_physics_scenes.h b/include/1.4/dom/domLibrary_physics_scenes.h
new file mode 100755
index 0000000..c8e9de8
--- /dev/null
+++ b/include/1.4/dom/domLibrary_physics_scenes.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 __domLibrary_physics_scenes_h__
+#define __domLibrary_physics_scenes_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domPhysics_scene.h>
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domLibrary_visual_scenes.h b/include/1.4/dom/domLibrary_visual_scenes.h
new file mode 100755
index 0000000..15a16d8
--- /dev/null
+++ b/include/1.4/dom/domLibrary_visual_scenes.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 __domLibrary_visual_scenes_h__
+#define __domLibrary_visual_scenes_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domVisual_scene.h>
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domLight.h b/include/1.4/dom/domLight.h
new file mode 100755
index 0000000..e4b0054
--- /dev/null
+++ b/include/1.4/dom/domLight.h
@@ -0,0 +1,615 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domLight_h__
+#define __domLight_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domTechnique.h>
+#include <dom/domExtra.h>
+#include <dom/domTargetableFloat3.h>
+#include <dom/domTargetableFloat.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domLines.h b/include/1.4/dom/domLines.h
new file mode 100755
index 0000000..1780554
--- /dev/null
+++ b/include/1.4/dom/domLines.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 __domLines_h__
+#define __domLines_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domP.h>
+#include <dom/domExtra.h>
+#include <dom/domInputLocalOffset.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domLinestrips.h b/include/1.4/dom/domLinestrips.h
new file mode 100755
index 0000000..3118b7b
--- /dev/null
+++ b/include/1.4/dom/domLinestrips.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 __domLinestrips_h__
+#define __domLinestrips_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domP.h>
+#include <dom/domExtra.h>
+#include <dom/domInputLocalOffset.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domLookat.h b/include/1.4/dom/domLookat.h
new file mode 100755
index 0000000..d6dcff0
--- /dev/null
+++ b/include/1.4/dom/domLookat.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 __domLookat_h__
+#define __domLookat_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domMaterial.h b/include/1.4/dom/domMaterial.h
new file mode 100755
index 0000000..44c9dc2
--- /dev/null
+++ b/include/1.4/dom/domMaterial.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 __domMaterial_h__
+#define __domMaterial_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domInstance_effect.h>
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domMatrix.h b/include/1.4/dom/domMatrix.h
new file mode 100755
index 0000000..a7341dd
--- /dev/null
+++ b/include/1.4/dom/domMatrix.h
@@ -0,0 +1,100 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domMatrix_h__
+#define __domMatrix_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domMesh.h b/include/1.4/dom/domMesh.h
new file mode 100755
index 0000000..af5c2b4
--- /dev/null
+++ b/include/1.4/dom/domMesh.h
@@ -0,0 +1,232 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domMesh_h__
+#define __domMesh_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domSource.h>
+#include <dom/domVertices.h>
+#include <dom/domLines.h>
+#include <dom/domLinestrips.h>
+#include <dom/domPolygons.h>
+#include <dom/domPolylist.h>
+#include <dom/domTriangles.h>
+#include <dom/domTrifans.h>
+#include <dom/domTristrips.h>
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domMorph.h b/include/1.4/dom/domMorph.h
new file mode 100755
index 0000000..f0506de
--- /dev/null
+++ b/include/1.4/dom/domMorph.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 __domMorph_h__
+#define __domMorph_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domSource.h>
+#include <dom/domExtra.h>
+#include <dom/domInputLocal.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domName_array.h b/include/1.4/dom/domName_array.h
new file mode 100755
index 0000000..7dca563
--- /dev/null
+++ b/include/1.4/dom/domName_array.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 __domName_array_h__
+#define __domName_array_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domNode.h b/include/1.4/dom/domNode.h
new file mode 100755
index 0000000..c95c0ff
--- /dev/null
+++ b/include/1.4/dom/domNode.h
@@ -0,0 +1,385 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domNode_h__
+#define __domNode_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domLookat.h>
+#include <dom/domMatrix.h>
+#include <dom/domRotate.h>
+#include <dom/domScale.h>
+#include <dom/domSkew.h>
+#include <dom/domTranslate.h>
+#include <dom/domInstance_camera.h>
+#include <dom/domInstance_controller.h>
+#include <dom/domInstance_geometry.h>
+#include <dom/domInstance_light.h>
+#include <dom/domInstance_node.h>
+#include <dom/domNode.h>
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domP.h b/include/1.4/dom/domP.h
new file mode 100755
index 0000000..df69ae0
--- /dev/null
+++ b/include/1.4/dom/domP.h
@@ -0,0 +1,83 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domP_h__
+#define __domP_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domParam.h b/include/1.4/dom/domParam.h
new file mode 100755
index 0000000..c3ced0f
--- /dev/null
+++ b/include/1.4/dom/domParam.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 __domParam_h__
+#define __domParam_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domPhysics_material.h b/include/1.4/dom/domPhysics_material.h
new file mode 100755
index 0000000..5a406ad
--- /dev/null
+++ b/include/1.4/dom/domPhysics_material.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 __domPhysics_material_h__
+#define __domPhysics_material_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domTechnique.h>
+#include <dom/domExtra.h>
+#include <dom/domTargetableFloat.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domPhysics_model.h b/include/1.4/dom/domPhysics_model.h
new file mode 100755
index 0000000..ad2b7eb
--- /dev/null
+++ b/include/1.4/dom/domPhysics_model.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 __domPhysics_model_h__
+#define __domPhysics_model_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domRigid_body.h>
+#include <dom/domRigid_constraint.h>
+#include <dom/domInstance_physics_model.h>
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domPhysics_scene.h b/include/1.4/dom/domPhysics_scene.h
new file mode 100755
index 0000000..b45be9b
--- /dev/null
+++ b/include/1.4/dom/domPhysics_scene.h
@@ -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
+*
+*/
+
+#ifndef __domPhysics_scene_h__
+#define __domPhysics_scene_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domInstance_force_field.h>
+#include <dom/domInstance_physics_model.h>
+#include <dom/domTechnique.h>
+#include <dom/domExtra.h>
+#include <dom/domTargetableFloat3.h>
+#include <dom/domTargetableFloat.h>
+class DAE;
+
+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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domPlane.h b/include/1.4/dom/domPlane.h
new file mode 100755
index 0000000..aaf8790
--- /dev/null
+++ b/include/1.4/dom/domPlane.h
@@ -0,0 +1,154 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domPlane_h__
+#define __domPlane_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domPolygons.h b/include/1.4/dom/domPolygons.h
new file mode 100755
index 0000000..6cfe1e7
--- /dev/null
+++ b/include/1.4/dom/domPolygons.h
@@ -0,0 +1,339 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domPolygons_h__
+#define __domPolygons_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domP.h>
+#include <dom/domExtra.h>
+#include <dom/domInputLocalOffset.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domPolylist.h b/include/1.4/dom/domPolylist.h
new file mode 100755
index 0000000..39a9ea1
--- /dev/null
+++ b/include/1.4/dom/domPolylist.h
@@ -0,0 +1,236 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domPolylist_h__
+#define __domPolylist_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domP.h>
+#include <dom/domExtra.h>
+#include <dom/domInputLocalOffset.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domProfile_CG.h b/include/1.4/dom/domProfile_CG.h
new file mode 100755
index 0000000..c79403b
--- /dev/null
+++ b/include/1.4/dom/domProfile_CG.h
@@ -0,0 +1,1171 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domProfile_CG_h__
+#define __domProfile_CG_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domFx_profile_abstract.h>
+#include <dom/domAsset.h>
+#include <dom/domImage.h>
+#include <dom/domExtra.h>
+#include <dom/domFx_code_profile.h>
+#include <dom/domFx_include_common.h>
+#include <dom/domCg_newparam.h>
+#include <dom/domFx_annotate_common.h>
+#include <dom/domCg_setparam.h>
+#include <dom/domGl_pipeline_settings.h>
+#include <dom/domFx_colortarget_common.h>
+#include <dom/domFx_depthtarget_common.h>
+#include <dom/domFx_stenciltarget_common.h>
+#include <dom/domFx_clearcolor_common.h>
+#include <dom/domFx_cleardepth_common.h>
+#include <dom/domFx_clearstencil_common.h>
+#include <dom/domCg_param_type.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domProfile_COMMON.h b/include/1.4/dom/domProfile_COMMON.h
new file mode 100755
index 0000000..996e728
--- /dev/null
+++ b/include/1.4/dom/domProfile_COMMON.h
@@ -0,0 +1,723 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domProfile_COMMON_h__
+#define __domProfile_COMMON_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domFx_profile_abstract.h>
+#include <dom/domAsset.h>
+#include <dom/domImage.h>
+#include <dom/domExtra.h>
+#include <dom/domCommon_newparam_type.h>
+#include <dom/domCommon_color_or_texture_type.h>
+#include <dom/domCommon_float_or_param_type.h>
+#include <dom/domCommon_transparent_type.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domProfile_GLES.h b/include/1.4/dom/domProfile_GLES.h
new file mode 100755
index 0000000..f7e1701
--- /dev/null
+++ b/include/1.4/dom/domProfile_GLES.h
@@ -0,0 +1,1018 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domProfile_GLES_h__
+#define __domProfile_GLES_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domFx_profile_abstract.h>
+#include <dom/domAsset.h>
+#include <dom/domImage.h>
+#include <dom/domExtra.h>
+#include <dom/domGles_newparam.h>
+#include <dom/domFx_annotate_common.h>
+#include <dom/domGles_basic_type_common.h>
+#include <dom/domGles_pipeline_settings.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domProfile_GLSL.h b/include/1.4/dom/domProfile_GLSL.h
new file mode 100755
index 0000000..c85bcb2
--- /dev/null
+++ b/include/1.4/dom/domProfile_GLSL.h
@@ -0,0 +1,1147 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domProfile_GLSL_h__
+#define __domProfile_GLSL_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domFx_profile_abstract.h>
+#include <dom/domAsset.h>
+#include <dom/domImage.h>
+#include <dom/domExtra.h>
+#include <dom/domFx_code_profile.h>
+#include <dom/domFx_include_common.h>
+#include <dom/domGlsl_newparam.h>
+#include <dom/domFx_annotate_common.h>
+#include <dom/domGlsl_setparam.h>
+#include <dom/domGl_pipeline_settings.h>
+#include <dom/domFx_colortarget_common.h>
+#include <dom/domFx_depthtarget_common.h>
+#include <dom/domFx_stenciltarget_common.h>
+#include <dom/domFx_clearcolor_common.h>
+#include <dom/domFx_cleardepth_common.h>
+#include <dom/domFx_clearstencil_common.h>
+#include <dom/domGlsl_param_type.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domRigid_body.h b/include/1.4/dom/domRigid_body.h
new file mode 100755
index 0000000..d5efe2e
--- /dev/null
+++ b/include/1.4/dom/domRigid_body.h
@@ -0,0 +1,787 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domRigid_body_h__
+#define __domRigid_body_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domTechnique.h>
+#include <dom/domExtra.h>
+#include <dom/domInstance_physics_material.h>
+#include <dom/domPhysics_material.h>
+#include <dom/domTargetableFloat.h>
+#include <dom/domTranslate.h>
+#include <dom/domRotate.h>
+#include <dom/domTargetableFloat3.h>
+#include <dom/domInstance_geometry.h>
+#include <dom/domPlane.h>
+#include <dom/domBox.h>
+#include <dom/domSphere.h>
+#include <dom/domCylinder.h>
+#include <dom/domTapered_cylinder.h>
+#include <dom/domCapsule.h>
+#include <dom/domTapered_capsule.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domRigid_constraint.h b/include/1.4/dom/domRigid_constraint.h
new file mode 100755
index 0000000..fe71664
--- /dev/null
+++ b/include/1.4/dom/domRigid_constraint.h
@@ -0,0 +1,1102 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domRigid_constraint_h__
+#define __domRigid_constraint_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domTechnique.h>
+#include <dom/domExtra.h>
+#include <dom/domTranslate.h>
+#include <dom/domRotate.h>
+#include <dom/domTargetableFloat3.h>
+#include <dom/domTargetableFloat.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domRotate.h b/include/1.4/dom/domRotate.h
new file mode 100755
index 0000000..32c4276
--- /dev/null
+++ b/include/1.4/dom/domRotate.h
@@ -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
+*
+*/
+
+#ifndef __domRotate_h__
+#define __domRotate_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domSampler.h b/include/1.4/dom/domSampler.h
new file mode 100755
index 0000000..356eccf
--- /dev/null
+++ b/include/1.4/dom/domSampler.h
@@ -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
+*
+*/
+
+#ifndef __domSampler_h__
+#define __domSampler_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domInputLocal.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domScale.h b/include/1.4/dom/domScale.h
new file mode 100755
index 0000000..d6d8446
--- /dev/null
+++ b/include/1.4/dom/domScale.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 __domScale_h__
+#define __domScale_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domTargetableFloat3.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domSkew.h b/include/1.4/dom/domSkew.h
new file mode 100755
index 0000000..6d0466b
--- /dev/null
+++ b/include/1.4/dom/domSkew.h
@@ -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
+*
+*/
+
+#ifndef __domSkew_h__
+#define __domSkew_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domSkin.h b/include/1.4/dom/domSkin.h
new file mode 100755
index 0000000..56eebf3
--- /dev/null
+++ b/include/1.4/dom/domSkin.h
@@ -0,0 +1,554 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domSkin_h__
+#define __domSkin_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domSource.h>
+#include <dom/domExtra.h>
+#include <dom/domInputLocal.h>
+#include <dom/domInputLocalOffset.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domSource.h b/include/1.4/dom/domSource.h
new file mode 100755
index 0000000..1bd5c11
--- /dev/null
+++ b/include/1.4/dom/domSource.h
@@ -0,0 +1,267 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domSource_h__
+#define __domSource_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domIDREF_array.h>
+#include <dom/domName_array.h>
+#include <dom/domBool_array.h>
+#include <dom/domFloat_array.h>
+#include <dom/domInt_array.h>
+#include <dom/domTechnique.h>
+#include <dom/domAccessor.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domSphere.h b/include/1.4/dom/domSphere.h
new file mode 100755
index 0000000..2caa155
--- /dev/null
+++ b/include/1.4/dom/domSphere.h
@@ -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
+*
+*/
+
+#ifndef __domSphere_h__
+#define __domSphere_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domSpline.h b/include/1.4/dom/domSpline.h
new file mode 100755
index 0000000..28ad904
--- /dev/null
+++ b/include/1.4/dom/domSpline.h
@@ -0,0 +1,193 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domSpline_h__
+#define __domSpline_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domSource.h>
+#include <dom/domExtra.h>
+#include <dom/domInputLocal.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domTapered_capsule.h b/include/1.4/dom/domTapered_capsule.h
new file mode 100755
index 0000000..dfdbd13
--- /dev/null
+++ b/include/1.4/dom/domTapered_capsule.h
@@ -0,0 +1,306 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domTapered_capsule_h__
+#define __domTapered_capsule_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domTapered_cylinder.h b/include/1.4/dom/domTapered_cylinder.h
new file mode 100755
index 0000000..754020e
--- /dev/null
+++ b/include/1.4/dom/domTapered_cylinder.h
@@ -0,0 +1,306 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domTapered_cylinder_h__
+#define __domTapered_cylinder_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domExtra.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domTargetableFloat.h b/include/1.4/dom/domTargetableFloat.h
new file mode 100755
index 0000000..8eee8fa
--- /dev/null
+++ b/include/1.4/dom/domTargetableFloat.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 __domTargetableFloat_h__
+#define __domTargetableFloat_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domTargetableFloat3.h b/include/1.4/dom/domTargetableFloat3.h
new file mode 100755
index 0000000..86245b7
--- /dev/null
+++ b/include/1.4/dom/domTargetableFloat3.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 __domTargetableFloat3_h__
+#define __domTargetableFloat3_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domTechnique.h b/include/1.4/dom/domTechnique.h
new file mode 100755
index 0000000..49f63ef
--- /dev/null
+++ b/include/1.4/dom/domTechnique.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 __domTechnique_h__
+#define __domTechnique_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domTranslate.h b/include/1.4/dom/domTranslate.h
new file mode 100755
index 0000000..9779826
--- /dev/null
+++ b/include/1.4/dom/domTranslate.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 __domTranslate_h__
+#define __domTranslate_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domTargetableFloat3.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domTriangles.h b/include/1.4/dom/domTriangles.h
new file mode 100755
index 0000000..3e6547b
--- /dev/null
+++ b/include/1.4/dom/domTriangles.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 __domTriangles_h__
+#define __domTriangles_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domP.h>
+#include <dom/domExtra.h>
+#include <dom/domInputLocalOffset.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domTrifans.h b/include/1.4/dom/domTrifans.h
new file mode 100755
index 0000000..00ced41
--- /dev/null
+++ b/include/1.4/dom/domTrifans.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 __domTrifans_h__
+#define __domTrifans_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domP.h>
+#include <dom/domExtra.h>
+#include <dom/domInputLocalOffset.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domTristrips.h b/include/1.4/dom/domTristrips.h
new file mode 100755
index 0000000..f74ebd7
--- /dev/null
+++ b/include/1.4/dom/domTristrips.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 __domTristrips_h__
+#define __domTristrips_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domP.h>
+#include <dom/domExtra.h>
+#include <dom/domInputLocalOffset.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domTypes.h b/include/1.4/dom/domTypes.h
new file mode 100755
index 0000000..9a06491
--- /dev/null
+++ b/include/1.4/dom/domTypes.h
@@ -0,0 +1,1243 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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_TYPES_H__
+#define __DOM_TYPES_H__
+
+#include <dae/daeDomTypes.h>
+
+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
+{
+ 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();
+
+#endif
diff --git a/include/1.4/dom/domVertices.h b/include/1.4/dom/domVertices.h
new file mode 100755
index 0000000..6c7b302
--- /dev/null
+++ b/include/1.4/dom/domVertices.h
@@ -0,0 +1,129 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domVertices_h__
+#define __domVertices_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domExtra.h>
+#include <dom/domInputLocal.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/1.4/dom/domVisual_scene.h b/include/1.4/dom/domVisual_scene.h
new file mode 100755
index 0000000..53fd71d
--- /dev/null
+++ b/include/1.4/dom/domVisual_scene.h
@@ -0,0 +1,402 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 __domVisual_scene_h__
+#define __domVisual_scene_h__
+
+#include <dae/daeDocument.h>
+#include <dom/domTypes.h>
+#include <dom/domElements.h>
+
+#include <dom/domAsset.h>
+#include <dom/domNode.h>
+#include <dom/domExtra.h>
+#include <dom/domInstance_effect.h>
+class DAE;
+
+/**
+ * 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);
+};
+
+
+#endif
diff --git a/include/dae.h b/include/dae.h
new file mode 100755
index 0000000..f8216b8
--- /dev/null
+++ b/include/dae.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 __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>
+
+class domCOLLADA;
+typedef daeSmartRef<domCOLLADA> domCOLLADARef;
+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.
+ DAE(daeDatabase* database = NULL, daeIOPlugin* ioPlugin = 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);
+ 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.
+ virtual domCOLLADA* add(const std::string& path);
+ // Opens an existing document, returning null on failure.
+ virtual domCOLLADA* open(const std::string& path);
+ // Opens a document from memory, returning null on failure.
+ virtual domCOLLADA* openFromMemory(const std::string& path, daeString buffer);
+ // 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 domCOLLADA object corresponding to a particular document.
+ virtual domCOLLADA* getRoot(const std::string& path);
+ // Set the root domCOLLADA object corresponding to a particular document, returning false on failure.
+ virtual bool setRoot(const std::string& path, domCOLLADA* root);
+
+ // 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 domCOLLADA* getDom(daeString uri); // use getRoot
+ virtual daeInt setDom(daeString uri, domCOLLADA* dom); // use setRoot
+
+private:
+ void init(daeDatabase* database, daeIOPlugin* ioPlugin);
+ void dummyFunction1();
+ std::string makeFullUri(const std::string& path);
+ domCOLLADA* 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;
+
+ 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/include/dae/dae.h b/include/dae/dae.h
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/include/dae/dae.h
diff --git a/include/dae/daeArray.h b/include/dae/daeArray.h
new file mode 100755
index 0000000..81e0fa7
--- /dev/null
+++ b/include/dae/daeArray.h
@@ -0,0 +1,701 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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.
+ */
+class daeArray
+{
+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/include/dae/daeArrayTypes.h b/include/dae/daeArrayTypes.h
new file mode 100755
index 0000000..850a7ad
--- /dev/null
+++ b/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/include/dae/daeAtomicType.h b/include/dae/daeAtomicType.h
new file mode 100755
index 0000000..7d6fc91
--- /dev/null
+++ b/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/include/dae/daeDatabase.h b/include/dae/daeDatabase.h
new file mode 100755
index 0000000..2760a42
--- /dev/null
+++ b/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/include/dae/daeDocument.h b/include/dae/daeDocument.h
new file mode 100755
index 0000000..443cf0f
--- /dev/null
+++ b/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/include/dae/daeDom.h b/include/dae/daeDom.h
new file mode 100755
index 0000000..bbb47c2
--- /dev/null
+++ b/include/dae/daeDom.h
@@ -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
+*
+*/
+
+#ifndef __DAE_DOM__
+#define __DAE_DOM__
+
+class daeMetaElement;
+class DAE;
+
+daeMetaElement* initializeDomMeta(DAE& dae);
+
+#endif //__DAE_DOM__
diff --git a/include/dae/daeDomTypes.h b/include/dae/daeDomTypes.h
new file mode 100755
index 0000000..39786de
--- /dev/null
+++ b/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/include/dae/daeElement.h b/include/dae/daeElement.h
new file mode 100755
index 0000000..af17204
--- /dev/null
+++ b/include/dae/daeElement.h
@@ -0,0 +1,551 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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/include/dae/daeError.h b/include/dae/daeError.h
new file mode 100755
index 0000000..a5e60ab
--- /dev/null
+++ b/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/include/dae/daeErrorHandler.h b/include/dae/daeErrorHandler.h
new file mode 100755
index 0000000..1c77104
--- /dev/null
+++ b/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/include/dae/daeGCCPlatform.h b/include/dae/daeGCCPlatform.h
new file mode 100755
index 0000000..ffee87f
--- /dev/null
+++ b/include/dae/daeGCCPlatform.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_GCC_PLATFORM_H__
+#define __DAE_GCC_PLATFORM_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
diff --git a/include/dae/daeIDRef.h b/include/dae/daeIDRef.h
new file mode 100755
index 0000000..2cefea3
--- /dev/null
+++ b/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/include/dae/daeIOPlugin.h b/include/dae/daeIOPlugin.h
new file mode 100755
index 0000000..f8f1639
--- /dev/null
+++ b/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/include/dae/daeIOPluginCommon.h b/include/dae/daeIOPluginCommon.h
new file mode 100755
index 0000000..782afdb
--- /dev/null
+++ b/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/include/dae/daeMemorySystem.h b/include/dae/daeMemorySystem.h
new file mode 100755
index 0000000..9a10341
--- /dev/null
+++ b/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/include/dae/daeMetaAny.h b/include/dae/daeMetaAny.h
new file mode 100755
index 0000000..b5df334
--- /dev/null
+++ b/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/include/dae/daeMetaAttribute.h b/include/dae/daeMetaAttribute.h
new file mode 100755
index 0000000..9d3f598
--- /dev/null
+++ b/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/include/dae/daeMetaCMPolicy.h b/include/dae/daeMetaCMPolicy.h
new file mode 100755
index 0000000..bf8e553
--- /dev/null
+++ b/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/include/dae/daeMetaChoice.h b/include/dae/daeMetaChoice.h
new file mode 100755
index 0000000..b71806d
--- /dev/null
+++ b/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/include/dae/daeMetaElement.h b/include/dae/daeMetaElement.h
new file mode 100755
index 0000000..8b30ff0
--- /dev/null
+++ b/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/include/dae/daeMetaElementAttribute.h b/include/dae/daeMetaElementAttribute.h
new file mode 100755
index 0000000..7bf2d77
--- /dev/null
+++ b/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/include/dae/daeMetaGroup.h b/include/dae/daeMetaGroup.h
new file mode 100755
index 0000000..9f848b1
--- /dev/null
+++ b/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/include/dae/daeMetaSequence.h b/include/dae/daeMetaSequence.h
new file mode 100755
index 0000000..94da2de
--- /dev/null
+++ b/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/include/dae/daePlatform.h b/include/dae/daePlatform.h
new file mode 100755
index 0000000..8e2b772
--- /dev/null
+++ b/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( __GCC__ )
+#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/include/dae/daeRawResolver.h b/include/dae/daeRawResolver.h
new file mode 100755
index 0000000..c4bc33d
--- /dev/null
+++ b/include/dae/daeRawResolver.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 __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:
+ 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/include/dae/daeRefCountedObj.h b/include/dae/daeRefCountedObj.h
new file mode 100755
index 0000000..be1ec5a
--- /dev/null
+++ b/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/include/dae/daeSIDResolver.h b/include/dae/daeSIDResolver.h
new file mode 100755
index 0000000..ac73783
--- /dev/null
+++ b/include/dae/daeSIDResolver.h
@@ -0,0 +1,174 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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();
+
+ 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/include/dae/daeSmartRef.h b/include/dae/daeSmartRef.h
new file mode 100755
index 0000000..18e7c41
--- /dev/null
+++ b/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/include/dae/daeStandardURIResolver.h b/include/dae/daeStandardURIResolver.h
new file mode 100755
index 0000000..ce7c600
--- /dev/null
+++ b/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/include/dae/daeStringRef.h b/include/dae/daeStringRef.h
new file mode 100755
index 0000000..3c03cc5
--- /dev/null
+++ b/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/include/dae/daeStringTable.h b/include/dae/daeStringTable.h
new file mode 100755
index 0000000..9ebac70
--- /dev/null
+++ b/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/include/dae/daeTinyXMLPlugin.h b/include/dae/daeTinyXMLPlugin.h
new file mode 100755
index 0000000..c46f794
--- /dev/null
+++ b/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/include/dae/daeTypes.h b/include/dae/daeTypes.h
new file mode 100755
index 0000000..cbf4b3e
--- /dev/null
+++ b/include/dae/daeTypes.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_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;
+typedef PLATFORM_FLOAT32 daeFloat;
+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>
+
+#endif //__DAE_TYPES_H__
diff --git a/include/dae/daeURI.h b/include/dae/daeURI.h
new file mode 100755
index 0000000..d111699
--- /dev/null
+++ b/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/include/dae/daeUtils.h b/include/dae/daeUtils.h
new file mode 100755
index 0000000..def2147
--- /dev/null
+++ b/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/include/dae/daeWin32Platform.h b/include/dae/daeWin32Platform.h
new file mode 100755
index 0000000..7589f16
--- /dev/null
+++ b/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/include/dae/daeZAEUncompressHandler.h b/include/dae/daeZAEUncompressHandler.h
new file mode 100755
index 0000000..4fd081a
--- /dev/null
+++ b/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/include/dae/domAny.h b/include/dae/domAny.h
new file mode 100755
index 0000000..e0a181b
--- /dev/null
+++ b/include/dae/domAny.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 __domAny_h__
+#define __domAny_h__
+
+#include <dae/daeElement.h>
+#include <dae/daeMetaElement.h>
+#include <dae/daeArray.h>
+#include <dae/daeURI.h>
+#include <dae/daeIDRef.h>
+#include <dom/domTypes.h>
+
+/**
+ * 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;
+
+#endif
+
diff --git a/include/dom.h b/include/dom.h
new file mode 100755
index 0000000..4d779c6
--- /dev/null
+++ b/include/dom.h
@@ -0,0 +1,24 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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;
+
+extern daeString COLLADA_VERSION;
+extern daeString COLLADA_NAMESPACE;
+
+// Register all types
+void registerDomTypes(DAE& dae);
+
+// Register all elements
+daeMetaElement* registerDomElements(DAE& dae);
+
+
+#endif // __DOM_INTERFACE__
diff --git a/include/modules/daeLIBXMLPlugin.h b/include/modules/daeLIBXMLPlugin.h
new file mode 100755
index 0000000..c7c4329
--- /dev/null
+++ b/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/include/modules/daeSTLDatabase.h b/include/modules/daeSTLDatabase.h
new file mode 100755
index 0000000..00b2bb0
--- /dev/null
+++ b/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/include/modules/stdErrPlugin.h b/include/modules/stdErrPlugin.h
new file mode 100755
index 0000000..624aca3
--- /dev/null
+++ b/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/license.txt b/license.txt
new file mode 100755
index 0000000..49ef7b2
--- /dev/null
+++ b/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/src/1.4/.DS_Store b/src/1.4/.DS_Store
new file mode 100644
index 0000000..15fef87
--- /dev/null
+++ b/src/1.4/.DS_Store
Binary files differ
diff --git a/src/1.4/dom/domAccessor.cpp b/src/1.4/dom/domAccessor.cpp
new file mode 100755
index 0000000..c91eaf8
--- /dev/null
+++ b/src/1.4/dom/domAccessor.cpp
@@ -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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domAnimation.cpp b/src/1.4/dom/domAnimation.cpp
new file mode 100755
index 0000000..799a61f
--- /dev/null
+++ b/src/1.4/dom/domAnimation.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 <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domAnimation_clip.cpp b/src/1.4/dom/domAnimation_clip.cpp
new file mode 100755
index 0000000..abc1888
--- /dev/null
+++ b/src/1.4/dom/domAnimation_clip.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domAsset.cpp b/src/1.4/dom/domAsset.cpp
new file mode 100755
index 0000000..ba3651c
--- /dev/null
+++ b/src/1.4/dom/domAsset.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domBind_material.cpp b/src/1.4/dom/domBind_material.cpp
new file mode 100755
index 0000000..e1fd3d6
--- /dev/null
+++ b/src/1.4/dom/domBind_material.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domBool_array.cpp b/src/1.4/dom/domBool_array.cpp
new file mode 100755
index 0000000..1914fbf
--- /dev/null
+++ b/src/1.4/dom/domBool_array.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domBox.cpp b/src/1.4/dom/domBox.cpp
new file mode 100755
index 0000000..a538dc2
--- /dev/null
+++ b/src/1.4/dom/domBox.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domCOLLADA.cpp b/src/1.4/dom/domCOLLADA.cpp
new file mode 100755
index 0000000..0d046d8
--- /dev/null
+++ b/src/1.4/dom/domCOLLADA.cpp
@@ -0,0 +1,259 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domCamera.cpp b/src/1.4/dom/domCamera.cpp
new file mode 100755
index 0000000..3db84f9
--- /dev/null
+++ b/src/1.4/dom/domCamera.cpp
@@ -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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domCapsule.cpp b/src/1.4/dom/domCapsule.cpp
new file mode 100755
index 0000000..28bb66f
--- /dev/null
+++ b/src/1.4/dom/domCapsule.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domCg_connect_param.cpp b/src/1.4/dom/domCg_connect_param.cpp
new file mode 100755
index 0000000..6b5fff1
--- /dev/null
+++ b/src/1.4/dom/domCg_connect_param.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domCg_newarray_type.cpp b/src/1.4/dom/domCg_newarray_type.cpp
new file mode 100755
index 0000000..5626265
--- /dev/null
+++ b/src/1.4/dom/domCg_newarray_type.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domCg_newparam.cpp b/src/1.4/dom/domCg_newparam.cpp
new file mode 100755
index 0000000..33e6010
--- /dev/null
+++ b/src/1.4/dom/domCg_newparam.cpp
@@ -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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domCg_param_type.cpp b/src/1.4/dom/domCg_param_type.cpp
new file mode 100755
index 0000000..ac1e264
--- /dev/null
+++ b/src/1.4/dom/domCg_param_type.cpp
@@ -0,0 +1,4591 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domCg_sampler1D.cpp b/src/1.4/dom/domCg_sampler1D.cpp
new file mode 100755
index 0000000..685716d
--- /dev/null
+++ b/src/1.4/dom/domCg_sampler1D.cpp
@@ -0,0 +1,110 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domCg_sampler2D.cpp b/src/1.4/dom/domCg_sampler2D.cpp
new file mode 100755
index 0000000..7123ea4
--- /dev/null
+++ b/src/1.4/dom/domCg_sampler2D.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domCg_sampler3D.cpp b/src/1.4/dom/domCg_sampler3D.cpp
new file mode 100755
index 0000000..ac2a0ea
--- /dev/null
+++ b/src/1.4/dom/domCg_sampler3D.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domCg_samplerCUBE.cpp b/src/1.4/dom/domCg_samplerCUBE.cpp
new file mode 100755
index 0000000..f33da0c
--- /dev/null
+++ b/src/1.4/dom/domCg_samplerCUBE.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domCg_samplerDEPTH.cpp b/src/1.4/dom/domCg_samplerDEPTH.cpp
new file mode 100755
index 0000000..e21a1f9
--- /dev/null
+++ b/src/1.4/dom/domCg_samplerDEPTH.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domCg_samplerRECT.cpp b/src/1.4/dom/domCg_samplerRECT.cpp
new file mode 100755
index 0000000..0eb6b5a
--- /dev/null
+++ b/src/1.4/dom/domCg_samplerRECT.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domCg_setarray_type.cpp b/src/1.4/dom/domCg_setarray_type.cpp
new file mode 100755
index 0000000..61ce48a
--- /dev/null
+++ b/src/1.4/dom/domCg_setarray_type.cpp
@@ -0,0 +1,84 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domCg_setparam.cpp b/src/1.4/dom/domCg_setparam.cpp
new file mode 100755
index 0000000..b472362
--- /dev/null
+++ b/src/1.4/dom/domCg_setparam.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domCg_setparam_simple.cpp b/src/1.4/dom/domCg_setparam_simple.cpp
new file mode 100755
index 0000000..79e44c9
--- /dev/null
+++ b/src/1.4/dom/domCg_setparam_simple.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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domCg_setuser_type.cpp b/src/1.4/dom/domCg_setuser_type.cpp
new file mode 100755
index 0000000..9b61c00
--- /dev/null
+++ b/src/1.4/dom/domCg_setuser_type.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domCg_surface_type.cpp b/src/1.4/dom/domCg_surface_type.cpp
new file mode 100755
index 0000000..e48f4af
--- /dev/null
+++ b/src/1.4/dom/domCg_surface_type.cpp
@@ -0,0 +1,259 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domChannel.cpp b/src/1.4/dom/domChannel.cpp
new file mode 100755
index 0000000..e108c5c
--- /dev/null
+++ b/src/1.4/dom/domChannel.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domCommon_color_or_texture_type.cpp b/src/1.4/dom/domCommon_color_or_texture_type.cpp
new file mode 100755
index 0000000..815155c
--- /dev/null
+++ b/src/1.4/dom/domCommon_color_or_texture_type.cpp
@@ -0,0 +1,221 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domCommon_float_or_param_type.cpp b/src/1.4/dom/domCommon_float_or_param_type.cpp
new file mode 100755
index 0000000..284be11
--- /dev/null
+++ b/src/1.4/dom/domCommon_float_or_param_type.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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domCommon_newparam_type.cpp b/src/1.4/dom/domCommon_newparam_type.cpp
new file mode 100755
index 0000000..dfc7bf8
--- /dev/null
+++ b/src/1.4/dom/domCommon_newparam_type.cpp
@@ -0,0 +1,294 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domCommon_transparent_type.cpp b/src/1.4/dom/domCommon_transparent_type.cpp
new file mode 100755
index 0000000..6aa3e11
--- /dev/null
+++ b/src/1.4/dom/domCommon_transparent_type.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domConstants.cpp b/src/1.4/dom/domConstants.cpp
new file mode 100755
index 0000000..01fe49b
--- /dev/null
+++ b/src/1.4/dom/domConstants.cpp
@@ -0,0 +1,1083 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <dom/domConstants.h>
+
+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";
diff --git a/src/1.4/dom/domController.cpp b/src/1.4/dom/domController.cpp
new file mode 100755
index 0000000..d36a8df
--- /dev/null
+++ b/src/1.4/dom/domController.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domConvex_mesh.cpp b/src/1.4/dom/domConvex_mesh.cpp
new file mode 100755
index 0000000..2dd0ce8
--- /dev/null
+++ b/src/1.4/dom/domConvex_mesh.cpp
@@ -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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domCylinder.cpp b/src/1.4/dom/domCylinder.cpp
new file mode 100755
index 0000000..93bae68
--- /dev/null
+++ b/src/1.4/dom/domCylinder.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domEffect.cpp b/src/1.4/dom/domEffect.cpp
new file mode 100755
index 0000000..cc2f175
--- /dev/null
+++ b/src/1.4/dom/domEffect.cpp
@@ -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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+daeElementRef
+domEffect::create(DAE& dae)
+{
+ domEffectRef ref = new domEffect(dae);
+ return ref;
+}
+
+#include <dom/domProfile_GLSL.h>
+#include <dom/domProfile_COMMON.h>
+#include <dom/domProfile_CG.h>
+#include <dom/domProfile_GLES.h>
+
+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;
+}
+
diff --git a/src/1.4/dom/domEllipsoid.cpp b/src/1.4/dom/domEllipsoid.cpp
new file mode 100755
index 0000000..a939c49
--- /dev/null
+++ b/src/1.4/dom/domEllipsoid.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domExtra.cpp b/src/1.4/dom/domExtra.cpp
new file mode 100755
index 0000000..86edb6a
--- /dev/null
+++ b/src/1.4/dom/domExtra.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domFloat_array.cpp b/src/1.4/dom/domFloat_array.cpp
new file mode 100755
index 0000000..2265744
--- /dev/null
+++ b/src/1.4/dom/domFloat_array.cpp
@@ -0,0 +1,111 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domForce_field.cpp b/src/1.4/dom/domForce_field.cpp
new file mode 100755
index 0000000..8143069
--- /dev/null
+++ b/src/1.4/dom/domForce_field.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domFx_annotate_common.cpp b/src/1.4/dom/domFx_annotate_common.cpp
new file mode 100755
index 0000000..89aff70
--- /dev/null
+++ b/src/1.4/dom/domFx_annotate_common.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domFx_annotate_type_common.cpp b/src/1.4/dom/domFx_annotate_type_common.cpp
new file mode 100755
index 0000000..6aa9a46
--- /dev/null
+++ b/src/1.4/dom/domFx_annotate_type_common.cpp
@@ -0,0 +1,727 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domFx_basic_type_common.cpp b/src/1.4/dom/domFx_basic_type_common.cpp
new file mode 100755
index 0000000..b425296
--- /dev/null
+++ b/src/1.4/dom/domFx_basic_type_common.cpp
@@ -0,0 +1,1315 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domFx_clearcolor_common.cpp b/src/1.4/dom/domFx_clearcolor_common.cpp
new file mode 100755
index 0000000..d7ce6cb
--- /dev/null
+++ b/src/1.4/dom/domFx_clearcolor_common.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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domFx_cleardepth_common.cpp b/src/1.4/dom/domFx_cleardepth_common.cpp
new file mode 100755
index 0000000..2befc56
--- /dev/null
+++ b/src/1.4/dom/domFx_cleardepth_common.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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domFx_clearstencil_common.cpp b/src/1.4/dom/domFx_clearstencil_common.cpp
new file mode 100755
index 0000000..86ca186
--- /dev/null
+++ b/src/1.4/dom/domFx_clearstencil_common.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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domFx_code_profile.cpp b/src/1.4/dom/domFx_code_profile.cpp
new file mode 100755
index 0000000..d645d82
--- /dev/null
+++ b/src/1.4/dom/domFx_code_profile.cpp
@@ -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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domFx_colortarget_common.cpp b/src/1.4/dom/domFx_colortarget_common.cpp
new file mode 100755
index 0000000..ff2e583
--- /dev/null
+++ b/src/1.4/dom/domFx_colortarget_common.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domFx_depthtarget_common.cpp b/src/1.4/dom/domFx_depthtarget_common.cpp
new file mode 100755
index 0000000..bba0944
--- /dev/null
+++ b/src/1.4/dom/domFx_depthtarget_common.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domFx_include_common.cpp b/src/1.4/dom/domFx_include_common.cpp
new file mode 100755
index 0000000..384fd49
--- /dev/null
+++ b/src/1.4/dom/domFx_include_common.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domFx_newparam_common.cpp b/src/1.4/dom/domFx_newparam_common.cpp
new file mode 100755
index 0000000..183fc9d
--- /dev/null
+++ b/src/1.4/dom/domFx_newparam_common.cpp
@@ -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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domFx_profile_abstract.cpp b/src/1.4/dom/domFx_profile_abstract.cpp
new file mode 100755
index 0000000..b26ae23
--- /dev/null
+++ b/src/1.4/dom/domFx_profile_abstract.cpp
@@ -0,0 +1,45 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domFx_sampler1D_common.cpp b/src/1.4/dom/domFx_sampler1D_common.cpp
new file mode 100755
index 0000000..702d0f7
--- /dev/null
+++ b/src/1.4/dom/domFx_sampler1D_common.cpp
@@ -0,0 +1,392 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domFx_sampler2D_common.cpp b/src/1.4/dom/domFx_sampler2D_common.cpp
new file mode 100755
index 0000000..a1f21b2
--- /dev/null
+++ b/src/1.4/dom/domFx_sampler2D_common.cpp
@@ -0,0 +1,434 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domFx_sampler3D_common.cpp b/src/1.4/dom/domFx_sampler3D_common.cpp
new file mode 100755
index 0000000..ea97614
--- /dev/null
+++ b/src/1.4/dom/domFx_sampler3D_common.cpp
@@ -0,0 +1,476 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domFx_samplerCUBE_common.cpp b/src/1.4/dom/domFx_samplerCUBE_common.cpp
new file mode 100755
index 0000000..bd15972
--- /dev/null
+++ b/src/1.4/dom/domFx_samplerCUBE_common.cpp
@@ -0,0 +1,476 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domFx_samplerDEPTH_common.cpp b/src/1.4/dom/domFx_samplerDEPTH_common.cpp
new file mode 100755
index 0000000..fa32b69
--- /dev/null
+++ b/src/1.4/dom/domFx_samplerDEPTH_common.cpp
@@ -0,0 +1,266 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domFx_samplerRECT_common.cpp b/src/1.4/dom/domFx_samplerRECT_common.cpp
new file mode 100755
index 0000000..e36c4ae
--- /dev/null
+++ b/src/1.4/dom/domFx_samplerRECT_common.cpp
@@ -0,0 +1,434 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domFx_stenciltarget_common.cpp b/src/1.4/dom/domFx_stenciltarget_common.cpp
new file mode 100755
index 0000000..61927fe
--- /dev/null
+++ b/src/1.4/dom/domFx_stenciltarget_common.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domFx_surface_common.cpp b/src/1.4/dom/domFx_surface_common.cpp
new file mode 100755
index 0000000..18d6605
--- /dev/null
+++ b/src/1.4/dom/domFx_surface_common.cpp
@@ -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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domFx_surface_format_hint_common.cpp b/src/1.4/dom/domFx_surface_format_hint_common.cpp
new file mode 100755
index 0000000..16dc90b
--- /dev/null
+++ b/src/1.4/dom/domFx_surface_format_hint_common.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domFx_surface_init_common.cpp b/src/1.4/dom/domFx_surface_init_common.cpp
new file mode 100755
index 0000000..f12a701
--- /dev/null
+++ b/src/1.4/dom/domFx_surface_init_common.cpp
@@ -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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domFx_surface_init_cube_common.cpp b/src/1.4/dom/domFx_surface_init_cube_common.cpp
new file mode 100755
index 0000000..68a6de3
--- /dev/null
+++ b/src/1.4/dom/domFx_surface_init_cube_common.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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domFx_surface_init_from_common.cpp b/src/1.4/dom/domFx_surface_init_from_common.cpp
new file mode 100755
index 0000000..ea9300c
--- /dev/null
+++ b/src/1.4/dom/domFx_surface_init_from_common.cpp
@@ -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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domFx_surface_init_planar_common.cpp b/src/1.4/dom/domFx_surface_init_planar_common.cpp
new file mode 100755
index 0000000..9ad7aba
--- /dev/null
+++ b/src/1.4/dom/domFx_surface_init_planar_common.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domFx_surface_init_volume_common.cpp b/src/1.4/dom/domFx_surface_init_volume_common.cpp
new file mode 100755
index 0000000..66df278
--- /dev/null
+++ b/src/1.4/dom/domFx_surface_init_volume_common.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.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGeometry.cpp b/src/1.4/dom/domGeometry.cpp
new file mode 100755
index 0000000..c6424e2
--- /dev/null
+++ b/src/1.4/dom/domGeometry.cpp
@@ -0,0 +1,112 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGl_hook_abstract.cpp b/src/1.4/dom/domGl_hook_abstract.cpp
new file mode 100755
index 0000000..a0ad036
--- /dev/null
+++ b/src/1.4/dom/domGl_hook_abstract.cpp
@@ -0,0 +1,45 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGl_pipeline_settings.cpp b/src/1.4/dom/domGl_pipeline_settings.cpp
new file mode 100755
index 0000000..acae7db
--- /dev/null
+++ b/src/1.4/dom/domGl_pipeline_settings.cpp
@@ -0,0 +1,8364 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGl_sampler1D.cpp b/src/1.4/dom/domGl_sampler1D.cpp
new file mode 100755
index 0000000..d26028e
--- /dev/null
+++ b/src/1.4/dom/domGl_sampler1D.cpp
@@ -0,0 +1,110 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGl_sampler2D.cpp b/src/1.4/dom/domGl_sampler2D.cpp
new file mode 100755
index 0000000..276fd9c
--- /dev/null
+++ b/src/1.4/dom/domGl_sampler2D.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGl_sampler3D.cpp b/src/1.4/dom/domGl_sampler3D.cpp
new file mode 100755
index 0000000..128352f
--- /dev/null
+++ b/src/1.4/dom/domGl_sampler3D.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGl_samplerCUBE.cpp b/src/1.4/dom/domGl_samplerCUBE.cpp
new file mode 100755
index 0000000..a071f0b
--- /dev/null
+++ b/src/1.4/dom/domGl_samplerCUBE.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGl_samplerDEPTH.cpp b/src/1.4/dom/domGl_samplerDEPTH.cpp
new file mode 100755
index 0000000..5a85a75
--- /dev/null
+++ b/src/1.4/dom/domGl_samplerDEPTH.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGl_samplerRECT.cpp b/src/1.4/dom/domGl_samplerRECT.cpp
new file mode 100755
index 0000000..393fdda
--- /dev/null
+++ b/src/1.4/dom/domGl_samplerRECT.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGles_basic_type_common.cpp b/src/1.4/dom/domGles_basic_type_common.cpp
new file mode 100755
index 0000000..802cdfd
--- /dev/null
+++ b/src/1.4/dom/domGles_basic_type_common.cpp
@@ -0,0 +1,1297 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGles_newparam.cpp b/src/1.4/dom/domGles_newparam.cpp
new file mode 100755
index 0000000..e4c2ee1
--- /dev/null
+++ b/src/1.4/dom/domGles_newparam.cpp
@@ -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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGles_pipeline_settings.cpp b/src/1.4/dom/domGles_pipeline_settings.cpp
new file mode 100755
index 0000000..2b03e17
--- /dev/null
+++ b/src/1.4/dom/domGles_pipeline_settings.cpp
@@ -0,0 +1,4941 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGles_sampler_state.cpp b/src/1.4/dom/domGles_sampler_state.cpp
new file mode 100755
index 0000000..e534bc2
--- /dev/null
+++ b/src/1.4/dom/domGles_sampler_state.cpp
@@ -0,0 +1,361 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGles_texcombiner_argumentAlpha_type.cpp b/src/1.4/dom/domGles_texcombiner_argumentAlpha_type.cpp
new file mode 100755
index 0000000..eb073c3
--- /dev/null
+++ b/src/1.4/dom/domGles_texcombiner_argumentAlpha_type.cpp
@@ -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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGles_texcombiner_argumentRGB_type.cpp b/src/1.4/dom/domGles_texcombiner_argumentRGB_type.cpp
new file mode 100755
index 0000000..badf2c9
--- /dev/null
+++ b/src/1.4/dom/domGles_texcombiner_argumentRGB_type.cpp
@@ -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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGles_texcombiner_commandAlpha_type.cpp b/src/1.4/dom/domGles_texcombiner_commandAlpha_type.cpp
new file mode 100755
index 0000000..d20e1e0
--- /dev/null
+++ b/src/1.4/dom/domGles_texcombiner_commandAlpha_type.cpp
@@ -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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGles_texcombiner_commandRGB_type.cpp b/src/1.4/dom/domGles_texcombiner_commandRGB_type.cpp
new file mode 100755
index 0000000..a5ebc25
--- /dev/null
+++ b/src/1.4/dom/domGles_texcombiner_commandRGB_type.cpp
@@ -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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGles_texcombiner_command_type.cpp b/src/1.4/dom/domGles_texcombiner_command_type.cpp
new file mode 100755
index 0000000..f0e18fe
--- /dev/null
+++ b/src/1.4/dom/domGles_texcombiner_command_type.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGles_texenv_command_type.cpp b/src/1.4/dom/domGles_texenv_command_type.cpp
new file mode 100755
index 0000000..c37e7a7
--- /dev/null
+++ b/src/1.4/dom/domGles_texenv_command_type.cpp
@@ -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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGles_texture_constant_type.cpp b/src/1.4/dom/domGles_texture_constant_type.cpp
new file mode 100755
index 0000000..89838f1
--- /dev/null
+++ b/src/1.4/dom/domGles_texture_constant_type.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGles_texture_pipeline.cpp b/src/1.4/dom/domGles_texture_pipeline.cpp
new file mode 100755
index 0000000..02ed1ab
--- /dev/null
+++ b/src/1.4/dom/domGles_texture_pipeline.cpp
@@ -0,0 +1,83 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGles_texture_unit.cpp b/src/1.4/dom/domGles_texture_unit.cpp
new file mode 100755
index 0000000..95fe661
--- /dev/null
+++ b/src/1.4/dom/domGles_texture_unit.cpp
@@ -0,0 +1,195 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGlsl_newarray_type.cpp b/src/1.4/dom/domGlsl_newarray_type.cpp
new file mode 100755
index 0000000..a31baa7
--- /dev/null
+++ b/src/1.4/dom/domGlsl_newarray_type.cpp
@@ -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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGlsl_newparam.cpp b/src/1.4/dom/domGlsl_newparam.cpp
new file mode 100755
index 0000000..6f9c389
--- /dev/null
+++ b/src/1.4/dom/domGlsl_newparam.cpp
@@ -0,0 +1,174 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGlsl_param_type.cpp b/src/1.4/dom/domGlsl_param_type.cpp
new file mode 100755
index 0000000..c85f732
--- /dev/null
+++ b/src/1.4/dom/domGlsl_param_type.cpp
@@ -0,0 +1,769 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGlsl_setarray_type.cpp b/src/1.4/dom/domGlsl_setarray_type.cpp
new file mode 100755
index 0000000..0926332
--- /dev/null
+++ b/src/1.4/dom/domGlsl_setarray_type.cpp
@@ -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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGlsl_setparam.cpp b/src/1.4/dom/domGlsl_setparam.cpp
new file mode 100755
index 0000000..43a04b5
--- /dev/null
+++ b/src/1.4/dom/domGlsl_setparam.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGlsl_setparam_simple.cpp b/src/1.4/dom/domGlsl_setparam_simple.cpp
new file mode 100755
index 0000000..83273a4
--- /dev/null
+++ b/src/1.4/dom/domGlsl_setparam_simple.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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domGlsl_surface_type.cpp b/src/1.4/dom/domGlsl_surface_type.cpp
new file mode 100755
index 0000000..f30c94b
--- /dev/null
+++ b/src/1.4/dom/domGlsl_surface_type.cpp
@@ -0,0 +1,259 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domIDREF_array.cpp b/src/1.4/dom/domIDREF_array.cpp
new file mode 100755
index 0000000..82fcf9b
--- /dev/null
+++ b/src/1.4/dom/domIDREF_array.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domImage.cpp b/src/1.4/dom/domImage.cpp
new file mode 100755
index 0000000..0afabcf
--- /dev/null
+++ b/src/1.4/dom/domImage.cpp
@@ -0,0 +1,223 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domInputGlobal.cpp b/src/1.4/dom/domInputGlobal.cpp
new file mode 100755
index 0000000..476d58c
--- /dev/null
+++ b/src/1.4/dom/domInputGlobal.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domInputLocal.cpp b/src/1.4/dom/domInputLocal.cpp
new file mode 100755
index 0000000..b879bde
--- /dev/null
+++ b/src/1.4/dom/domInputLocal.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domInputLocalOffset.cpp b/src/1.4/dom/domInputLocalOffset.cpp
new file mode 100755
index 0000000..8af99ad
--- /dev/null
+++ b/src/1.4/dom/domInputLocalOffset.cpp
@@ -0,0 +1,91 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domInstanceWithExtra.cpp b/src/1.4/dom/domInstanceWithExtra.cpp
new file mode 100755
index 0000000..8b77f58
--- /dev/null
+++ b/src/1.4/dom/domInstanceWithExtra.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domInstance_camera.cpp b/src/1.4/dom/domInstance_camera.cpp
new file mode 100755
index 0000000..8d0a68e
--- /dev/null
+++ b/src/1.4/dom/domInstance_camera.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domInstance_controller.cpp b/src/1.4/dom/domInstance_controller.cpp
new file mode 100755
index 0000000..a1baf6f
--- /dev/null
+++ b/src/1.4/dom/domInstance_controller.cpp
@@ -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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domInstance_effect.cpp b/src/1.4/dom/domInstance_effect.cpp
new file mode 100755
index 0000000..b221065
--- /dev/null
+++ b/src/1.4/dom/domInstance_effect.cpp
@@ -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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domInstance_force_field.cpp b/src/1.4/dom/domInstance_force_field.cpp
new file mode 100755
index 0000000..a882f13
--- /dev/null
+++ b/src/1.4/dom/domInstance_force_field.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domInstance_geometry.cpp b/src/1.4/dom/domInstance_geometry.cpp
new file mode 100755
index 0000000..faf3fca
--- /dev/null
+++ b/src/1.4/dom/domInstance_geometry.cpp
@@ -0,0 +1,96 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domInstance_light.cpp b/src/1.4/dom/domInstance_light.cpp
new file mode 100755
index 0000000..9ec506a
--- /dev/null
+++ b/src/1.4/dom/domInstance_light.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domInstance_material.cpp b/src/1.4/dom/domInstance_material.cpp
new file mode 100755
index 0000000..a9af16b
--- /dev/null
+++ b/src/1.4/dom/domInstance_material.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domInstance_node.cpp b/src/1.4/dom/domInstance_node.cpp
new file mode 100755
index 0000000..11f1f1d
--- /dev/null
+++ b/src/1.4/dom/domInstance_node.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domInstance_physics_material.cpp b/src/1.4/dom/domInstance_physics_material.cpp
new file mode 100755
index 0000000..a90c6d0
--- /dev/null
+++ b/src/1.4/dom/domInstance_physics_material.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domInstance_physics_model.cpp b/src/1.4/dom/domInstance_physics_model.cpp
new file mode 100755
index 0000000..229dc6d
--- /dev/null
+++ b/src/1.4/dom/domInstance_physics_model.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domInstance_rigid_body.cpp b/src/1.4/dom/domInstance_rigid_body.cpp
new file mode 100755
index 0000000..ecb4cdf
--- /dev/null
+++ b/src/1.4/dom/domInstance_rigid_body.cpp
@@ -0,0 +1,577 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domInstance_rigid_constraint.cpp b/src/1.4/dom/domInstance_rigid_constraint.cpp
new file mode 100755
index 0000000..b903c10
--- /dev/null
+++ b/src/1.4/dom/domInstance_rigid_constraint.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domInt_array.cpp b/src/1.4/dom/domInt_array.cpp
new file mode 100755
index 0000000..2d0aaa3
--- /dev/null
+++ b/src/1.4/dom/domInt_array.cpp
@@ -0,0 +1,111 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domLibrary_animation_clips.cpp b/src/1.4/dom/domLibrary_animation_clips.cpp
new file mode 100755
index 0000000..0beea3e
--- /dev/null
+++ b/src/1.4/dom/domLibrary_animation_clips.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domLibrary_animations.cpp b/src/1.4/dom/domLibrary_animations.cpp
new file mode 100755
index 0000000..33737c7
--- /dev/null
+++ b/src/1.4/dom/domLibrary_animations.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domLibrary_cameras.cpp b/src/1.4/dom/domLibrary_cameras.cpp
new file mode 100755
index 0000000..5283151
--- /dev/null
+++ b/src/1.4/dom/domLibrary_cameras.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domLibrary_controllers.cpp b/src/1.4/dom/domLibrary_controllers.cpp
new file mode 100755
index 0000000..a1e09e3
--- /dev/null
+++ b/src/1.4/dom/domLibrary_controllers.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domLibrary_effects.cpp b/src/1.4/dom/domLibrary_effects.cpp
new file mode 100755
index 0000000..1f23035
--- /dev/null
+++ b/src/1.4/dom/domLibrary_effects.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domLibrary_force_fields.cpp b/src/1.4/dom/domLibrary_force_fields.cpp
new file mode 100755
index 0000000..7845658
--- /dev/null
+++ b/src/1.4/dom/domLibrary_force_fields.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domLibrary_geometries.cpp b/src/1.4/dom/domLibrary_geometries.cpp
new file mode 100755
index 0000000..deedb98
--- /dev/null
+++ b/src/1.4/dom/domLibrary_geometries.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domLibrary_images.cpp b/src/1.4/dom/domLibrary_images.cpp
new file mode 100755
index 0000000..c353503
--- /dev/null
+++ b/src/1.4/dom/domLibrary_images.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domLibrary_lights.cpp b/src/1.4/dom/domLibrary_lights.cpp
new file mode 100755
index 0000000..1eb2ad2
--- /dev/null
+++ b/src/1.4/dom/domLibrary_lights.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domLibrary_materials.cpp b/src/1.4/dom/domLibrary_materials.cpp
new file mode 100755
index 0000000..1a8b70c
--- /dev/null
+++ b/src/1.4/dom/domLibrary_materials.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domLibrary_nodes.cpp b/src/1.4/dom/domLibrary_nodes.cpp
new file mode 100755
index 0000000..4c72ea2
--- /dev/null
+++ b/src/1.4/dom/domLibrary_nodes.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domLibrary_physics_materials.cpp b/src/1.4/dom/domLibrary_physics_materials.cpp
new file mode 100755
index 0000000..a99f3fe
--- /dev/null
+++ b/src/1.4/dom/domLibrary_physics_materials.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domLibrary_physics_models.cpp b/src/1.4/dom/domLibrary_physics_models.cpp
new file mode 100755
index 0000000..0e3abde
--- /dev/null
+++ b/src/1.4/dom/domLibrary_physics_models.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domLibrary_physics_scenes.cpp b/src/1.4/dom/domLibrary_physics_scenes.cpp
new file mode 100755
index 0000000..243a316
--- /dev/null
+++ b/src/1.4/dom/domLibrary_physics_scenes.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domLibrary_visual_scenes.cpp b/src/1.4/dom/domLibrary_visual_scenes.cpp
new file mode 100755
index 0000000..9b33914
--- /dev/null
+++ b/src/1.4/dom/domLibrary_visual_scenes.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domLight.cpp b/src/1.4/dom/domLight.cpp
new file mode 100755
index 0000000..3180ae5
--- /dev/null
+++ b/src/1.4/dom/domLight.cpp
@@ -0,0 +1,361 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domLines.cpp b/src/1.4/dom/domLines.cpp
new file mode 100755
index 0000000..968c74f
--- /dev/null
+++ b/src/1.4/dom/domLines.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domLinestrips.cpp b/src/1.4/dom/domLinestrips.cpp
new file mode 100755
index 0000000..dad4832
--- /dev/null
+++ b/src/1.4/dom/domLinestrips.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domLookat.cpp b/src/1.4/dom/domLookat.cpp
new file mode 100755
index 0000000..1d3687b
--- /dev/null
+++ b/src/1.4/dom/domLookat.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.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domMaterial.cpp b/src/1.4/dom/domMaterial.cpp
new file mode 100755
index 0000000..59c511f
--- /dev/null
+++ b/src/1.4/dom/domMaterial.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domMatrix.cpp b/src/1.4/dom/domMatrix.cpp
new file mode 100755
index 0000000..18c937a
--- /dev/null
+++ b/src/1.4/dom/domMatrix.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.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domMesh.cpp b/src/1.4/dom/domMesh.cpp
new file mode 100755
index 0000000..e54d40f
--- /dev/null
+++ b/src/1.4/dom/domMesh.cpp
@@ -0,0 +1,120 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domMorph.cpp b/src/1.4/dom/domMorph.cpp
new file mode 100755
index 0000000..1b57538
--- /dev/null
+++ b/src/1.4/dom/domMorph.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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domName_array.cpp b/src/1.4/dom/domName_array.cpp
new file mode 100755
index 0000000..ced7ee8
--- /dev/null
+++ b/src/1.4/dom/domName_array.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domNode.cpp b/src/1.4/dom/domNode.cpp
new file mode 100755
index 0000000..105704a
--- /dev/null
+++ b/src/1.4/dom/domNode.cpp
@@ -0,0 +1,200 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domP.cpp b/src/1.4/dom/domP.cpp
new file mode 100755
index 0000000..7bdf77c
--- /dev/null
+++ b/src/1.4/dom/domP.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.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domParam.cpp b/src/1.4/dom/domParam.cpp
new file mode 100755
index 0000000..ca2d3cd
--- /dev/null
+++ b/src/1.4/dom/domParam.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domPhysics_material.cpp b/src/1.4/dom/domPhysics_material.cpp
new file mode 100755
index 0000000..c6cd3d7
--- /dev/null
+++ b/src/1.4/dom/domPhysics_material.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domPhysics_model.cpp b/src/1.4/dom/domPhysics_model.cpp
new file mode 100755
index 0000000..67f7be9
--- /dev/null
+++ b/src/1.4/dom/domPhysics_model.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domPhysics_scene.cpp b/src/1.4/dom/domPhysics_scene.cpp
new file mode 100755
index 0000000..d042a10
--- /dev/null
+++ b/src/1.4/dom/domPhysics_scene.cpp
@@ -0,0 +1,153 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domPlane.cpp b/src/1.4/dom/domPlane.cpp
new file mode 100755
index 0000000..6df1dd7
--- /dev/null
+++ b/src/1.4/dom/domPlane.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domPolygons.cpp b/src/1.4/dom/domPolygons.cpp
new file mode 100755
index 0000000..6174123
--- /dev/null
+++ b/src/1.4/dom/domPolygons.cpp
@@ -0,0 +1,199 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domPolylist.cpp b/src/1.4/dom/domPolylist.cpp
new file mode 100755
index 0000000..e197ba6
--- /dev/null
+++ b/src/1.4/dom/domPolylist.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.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domProfile_CG.cpp b/src/1.4/dom/domProfile_CG.cpp
new file mode 100755
index 0000000..51c9618
--- /dev/null
+++ b/src/1.4/dom/domProfile_CG.cpp
@@ -0,0 +1,716 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domProfile_COMMON.cpp b/src/1.4/dom/domProfile_COMMON.cpp
new file mode 100755
index 0000000..cdd1b27
--- /dev/null
+++ b/src/1.4/dom/domProfile_COMMON.cpp
@@ -0,0 +1,558 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domProfile_GLES.cpp b/src/1.4/dom/domProfile_GLES.cpp
new file mode 100755
index 0000000..8b23015
--- /dev/null
+++ b/src/1.4/dom/domProfile_GLES.cpp
@@ -0,0 +1,647 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domProfile_GLSL.cpp b/src/1.4/dom/domProfile_GLSL.cpp
new file mode 100755
index 0000000..c2f8519
--- /dev/null
+++ b/src/1.4/dom/domProfile_GLSL.cpp
@@ -0,0 +1,697 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domRigid_body.cpp b/src/1.4/dom/domRigid_body.cpp
new file mode 100755
index 0000000..6992ac9
--- /dev/null
+++ b/src/1.4/dom/domRigid_body.cpp
@@ -0,0 +1,470 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domRigid_constraint.cpp b/src/1.4/dom/domRigid_constraint.cpp
new file mode 100755
index 0000000..9867362
--- /dev/null
+++ b/src/1.4/dom/domRigid_constraint.cpp
@@ -0,0 +1,668 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domRotate.cpp b/src/1.4/dom/domRotate.cpp
new file mode 100755
index 0000000..24afad3
--- /dev/null
+++ b/src/1.4/dom/domRotate.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.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domSampler.cpp b/src/1.4/dom/domSampler.cpp
new file mode 100755
index 0000000..6c226b5
--- /dev/null
+++ b/src/1.4/dom/domSampler.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domScale.cpp b/src/1.4/dom/domScale.cpp
new file mode 100755
index 0000000..3cc8597
--- /dev/null
+++ b/src/1.4/dom/domScale.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.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domSkew.cpp b/src/1.4/dom/domSkew.cpp
new file mode 100755
index 0000000..430596c
--- /dev/null
+++ b/src/1.4/dom/domSkew.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.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domSkin.cpp b/src/1.4/dom/domSkin.cpp
new file mode 100755
index 0000000..229df68
--- /dev/null
+++ b/src/1.4/dom/domSkin.cpp
@@ -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
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domSource.cpp b/src/1.4/dom/domSource.cpp
new file mode 100755
index 0000000..bd52fce
--- /dev/null
+++ b/src/1.4/dom/domSource.cpp
@@ -0,0 +1,170 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domSphere.cpp b/src/1.4/dom/domSphere.cpp
new file mode 100755
index 0000000..053e807
--- /dev/null
+++ b/src/1.4/dom/domSphere.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domSpline.cpp b/src/1.4/dom/domSpline.cpp
new file mode 100755
index 0000000..7d2a5d9
--- /dev/null
+++ b/src/1.4/dom/domSpline.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domTapered_capsule.cpp b/src/1.4/dom/domTapered_capsule.cpp
new file mode 100755
index 0000000..e36dc26
--- /dev/null
+++ b/src/1.4/dom/domTapered_capsule.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 <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domTapered_cylinder.cpp b/src/1.4/dom/domTapered_cylinder.cpp
new file mode 100755
index 0000000..f03a2a7
--- /dev/null
+++ b/src/1.4/dom/domTapered_cylinder.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 <dae.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domTargetableFloat.cpp b/src/1.4/dom/domTargetableFloat.cpp
new file mode 100755
index 0000000..12b7e7c
--- /dev/null
+++ b/src/1.4/dom/domTargetableFloat.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.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domTargetableFloat3.cpp b/src/1.4/dom/domTargetableFloat3.cpp
new file mode 100755
index 0000000..9106ef4
--- /dev/null
+++ b/src/1.4/dom/domTargetableFloat3.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.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domTechnique.cpp b/src/1.4/dom/domTechnique.cpp
new file mode 100755
index 0000000..c18956a
--- /dev/null
+++ b/src/1.4/dom/domTechnique.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domTranslate.cpp b/src/1.4/dom/domTranslate.cpp
new file mode 100755
index 0000000..ce49bc1
--- /dev/null
+++ b/src/1.4/dom/domTranslate.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.h>
+#include <dae/daeDom.h>
+#include <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domTriangles.cpp b/src/1.4/dom/domTriangles.cpp
new file mode 100755
index 0000000..e1f25bf
--- /dev/null
+++ b/src/1.4/dom/domTriangles.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domTrifans.cpp b/src/1.4/dom/domTrifans.cpp
new file mode 100755
index 0000000..e220958
--- /dev/null
+++ b/src/1.4/dom/domTrifans.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domTristrips.cpp b/src/1.4/dom/domTristrips.cpp
new file mode 100755
index 0000000..7101bc7
--- /dev/null
+++ b/src/1.4/dom/domTristrips.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domTypes.cpp b/src/1.4/dom/domTypes.cpp
new file mode 100755
index 0000000..0fbdec0
--- /dev/null
+++ b/src/1.4/dom/domTypes.cpp
@@ -0,0 +1,2937 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <dom/domTypes.h>
+#include <dae/daeDom.h>
+#include <dom/domCOLLADA.h>
+
+
+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 DLLSPEC colladaTypeCount() {
+ return 815;
+}
diff --git a/src/1.4/dom/domVertices.cpp b/src/1.4/dom/domVertices.cpp
new file mode 100755
index 0000000..2b5b28a
--- /dev/null
+++ b/src/1.4/dom/domVertices.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 <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>
+
+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;
+}
+
diff --git a/src/1.4/dom/domVisual_scene.cpp b/src/1.4/dom/domVisual_scene.cpp
new file mode 100755
index 0000000..e94e444
--- /dev/null
+++ b/src/1.4/dom/domVisual_scene.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 <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>
+
+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;
+}
+
diff --git a/src/dae/dae.cpp b/src/dae/dae.cpp
new file mode 100755
index 0000000..a39cb28
--- /dev/null
+++ b/src/dae/dae.cpp
@@ -0,0 +1,368 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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>
+#include <dom/domTypes.h>
+#include <dom/domCOLLADA.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,
+// just extern the one thing we need (COLLADA_VERSION) which all versions of
+// domConstants.h/.cpp are required to define.
+
+extern daeString COLLADA_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) {
+ database = NULL;
+ plugin = NULL;
+ defaultDatabase = false;
+ defaultPlugin = false;
+ metas.setCount(colladaTypeCount());
+
+ initializeDomMeta(*this);
+ 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(domCOLLADA::ID()));
+ 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(domCOLLADA::ID()));
+ 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();
+}
+
+
+domCOLLADA* DAE::add(const string& path) {
+ close(path);
+ string uri = makeFullUri(path);
+ database->insertDocument(uri.c_str());
+ return getRoot(uri);
+}
+
+domCOLLADA* 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);
+}
+
+domCOLLADA* DAE::open(const string& path) {
+ return openCommon(path, NULL);
+}
+
+domCOLLADA* 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);
+}
+
+domCOLLADA* DAE::getRoot(const string& path) {
+ if (daeDocument* doc = getDoc(path))
+ return (domCOLLADA*)doc->getDomRoot();
+ return NULL;
+}
+
+bool DAE::setRoot(const string& path, domCOLLADA* root) {
+ if (daeDocument* doc = getDoc(path))
+ doc->setDomRoot(root);
+ else
+ database->insertDocument(makeFullUri(path).c_str(), root);
+ return getRoot(path) != NULL;
+}
+
+domCOLLADA* DAE::getDom(daeString uri) {
+ return getRoot(uri);
+}
+
+daeInt DAE::setDom(daeString uri, domCOLLADA* dom) {
+ return setRoot(uri, dom);
+}
+
+daeString DAE::getDomVersion()
+{
+ return(COLLADA_VERSION);
+}
+
+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/src/dae/dae.h b/src/dae/dae.h
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/dae/dae.h
diff --git a/src/dae/daeArray.cpp b/src/dae/daeArray.cpp
new file mode 100755
index 0000000..2b87807
--- /dev/null
+++ b/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/src/dae/daeAtomicType.cpp b/src/dae/daeAtomicType.cpp
new file mode 100755
index 0000000..97fe0e7
--- /dev/null
+++ b/src/dae/daeAtomicType.cpp
@@ -0,0 +1,946 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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/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
+ dst << *(daeFloat*)src;
+ 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
+ dst << *(daeDouble*)src;
+#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/src/dae/daeDatabase.cpp b/src/dae/daeDatabase.cpp
new file mode 100755
index 0000000..71e36e3
--- /dev/null
+++ b/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/src/dae/daeDocument.cpp b/src/dae/daeDocument.cpp
new file mode 100755
index 0000000..2c996e2
--- /dev/null
+++ b/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/src/dae/daeDom.cpp b/src/dae/daeDom.cpp
new file mode 100755
index 0000000..3bc2364
--- /dev/null
+++ b/src/dae/daeDom.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.h>
+#include <dae/daeDom.h>
+#include <dae/daeMetaElement.h>
+#include <dom.h>
+
+daeMetaElement* initializeDomMeta(DAE& dae)
+{
+ registerDomTypes(dae);
+ return registerDomElements(dae);
+}
diff --git a/src/dae/daeElement.cpp b/src/dae/daeElement.cpp
new file mode 100755
index 0000000..f0c7303
--- /dev/null
+++ b/src/dae/daeElement.cpp
@@ -0,0 +1,753 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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/domAny.h>
+#include <dae/daeUtils.h>
+
+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;
+ 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;
+ 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() == domAny::ID();
+ daeElementRef ret = any ? domAny::registerElement(*getDAE())->create() : _meta->create();
+ ret->setElementName( _elementName );
+
+ // Copy the attributes and character data. Requires special care for domAny.
+ if (any) {
+ domAny* thisAny = (domAny*)this;
+ domAny* retAny = (domAny*)ret.cast();
+ for (daeUInt i = 0; i < (daeUInt)thisAny->getAttributeCount(); i++)
+ retAny->setAttribute(thisAny->getAttributeName(i), thisAny->getAttributeValue(i));
+ retAny->setValue(thisAny->getValue());
+ } 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() == domAny::ID())
+ 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/src/dae/daeError.cpp b/src/dae/daeError.cpp
new file mode 100755
index 0000000..a8492c5
--- /dev/null
+++ b/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/src/dae/daeErrorHandler.cpp b/src/dae/daeErrorHandler.cpp
new file mode 100755
index 0000000..616b8ce
--- /dev/null
+++ b/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/src/dae/daeIDRef.cpp b/src/dae/daeIDRef.cpp
new file mode 100755
index 0000000..c5af66b
--- /dev/null
+++ b/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/src/dae/daeIOPluginCommon.cpp b/src/dae/daeIOPluginCommon.cpp
new file mode 100755
index 0000000..b3843b2
--- /dev/null
+++ b/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(), COLLADA_NAMESPACE ) != 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/src/dae/daeMemorySystem.cpp b/src/dae/daeMemorySystem.cpp
new file mode 100755
index 0000000..7c4559f
--- /dev/null
+++ b/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/src/dae/daeMetaAny.cpp b/src/dae/daeMetaAny.cpp
new file mode 100755
index 0000000..5cc01cf
--- /dev/null
+++ b/src/dae/daeMetaAny.cpp
@@ -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
+*
+*/
+
+#include <dae/daeMetaAny.h>
+#include <dae/domAny.h>
+#include <dae/daeMetaElementAttribute.h>
+#include <dae.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 domAny::registerElement(*_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/src/dae/daeMetaAttribute.cpp b/src/dae/daeMetaAttribute.cpp
new file mode 100755
index 0000000..e7d942d
--- /dev/null
+++ b/src/dae/daeMetaAttribute.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 <sstream>
+#include <dae/daeMetaAttribute.h>
+#include <dae/daeMetaElement.h>
+#include <dae/daeErrorHandler.h>
+#include <dae/daeDocument.h>
+
+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;
+ _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;
+ _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/src/dae/daeMetaCMPolicy.cpp b/src/dae/daeMetaCMPolicy.cpp
new file mode 100755
index 0000000..530066b
--- /dev/null
+++ b/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/src/dae/daeMetaChoice.cpp b/src/dae/daeMetaChoice.cpp
new file mode 100755
index 0000000..67b0f37
--- /dev/null
+++ b/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/src/dae/daeMetaElement.cpp b/src/dae/daeMetaElement.cpp
new file mode 100755
index 0000000..55a57f5
--- /dev/null
+++ b/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/domAny.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaElementAttribute.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 = domAny::registerElement(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/src/dae/daeMetaElementAttribute.cpp b/src/dae/daeMetaElementAttribute.cpp
new file mode 100755
index 0000000..5de214d
--- /dev/null
+++ b/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/src/dae/daeMetaGroup.cpp b/src/dae/daeMetaGroup.cpp
new file mode 100755
index 0000000..676141f
--- /dev/null
+++ b/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 false;
+ }
+ 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/src/dae/daeMetaSequence.cpp b/src/dae/daeMetaSequence.cpp
new file mode 100755
index 0000000..6d831ad
--- /dev/null
+++ b/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/src/dae/daeRawResolver.cpp b/src/dae/daeRawResolver.cpp
new file mode 100755
index 0000000..1666bb6
--- /dev/null
+++ b/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/src/dae/daeRefCountedObj.cpp b/src/dae/daeRefCountedObj.cpp
new file mode 100755
index 0000000..9caf184
--- /dev/null
+++ b/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/src/dae/daeSIDResolver.cpp b/src/dae/daeSIDResolver.cpp
new file mode 100755
index 0000000..fe9e0fb
--- /dev/null
+++ b/src/dae/daeSIDResolver.cpp
@@ -0,0 +1,506 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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 <dom/domTypes.h>
+#include <dom/domConstants.h>
+#include <dae/daeDocument.h>
+#include <dae/daeDatabase.h>
+#include <dae/daeUtils.h>
+#include <dom/domSource.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) == 0)
+ continue;
+ if (strcmp(elt->getElementName(), COLLADA_ELEMENT_TECHNIQUE) == 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) == 0)
+ return UINT_MAX;
+ if (strcmp(elt->getElementName(), COLLADA_ELEMENT_TECHNIQUE) == 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();
+
+ // 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() == domSource::ID()) {
+ if (domFloat_array* floatArray = ((domSource*)result.elt)->getFloat_array())
+ result.array = (daeDoubleArray*)floatArray->getCharDataObject()->get(floatArray);
+ }
+ 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();
+
+ // 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) { }
+
+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/src/dae/daeStandardURIResolver.cpp b/src/dae/daeStandardURIResolver.cpp
new file mode 100755
index 0000000..e702f52
--- /dev/null
+++ b/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/src/dae/daeStringRef.cpp b/src/dae/daeStringRef.cpp
new file mode 100755
index 0000000..90da801
--- /dev/null
+++ b/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/src/dae/daeStringTable.cpp b/src/dae/daeStringTable.cpp
new file mode 100755
index 0000000..881ea9b
--- /dev/null
+++ b/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/src/dae/daeTinyXMLPlugin.cpp b/src/dae/daeTinyXMLPlugin.cpp
new file mode 100755
index 0000000..16a3705
--- /dev/null
+++ b/src/dae/daeTinyXMLPlugin.cpp
@@ -0,0 +1,222 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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());
+
+ 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/src/dae/daeURI.cpp b/src/dae/daeURI.cpp
new file mode 100755
index 0000000..5f0e034
--- /dev/null
+++ b/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/src/dae/daeUtils.cpp b/src/dae/daeUtils.cpp
new file mode 100755
index 0000000..49ed2ca
--- /dev/null
+++ b/src/dae/daeUtils.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 <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
+
+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;
+#ifdef WIN32
+ std::string tmp(tmpnam(0));
+ randomSegment = tmp.substr(tmp.find_last_of('\\')+1);
+#elif defined(__linux__) || defined(__linux)
+ std::string tmp(tmpnam(0));
+ randomSegment = tmp.substr(tmp.find_last_of('/')+1);
+#elif defined __APPLE_CC__
+ std::string tmp(tmpnam(0));
+ 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() {
+ static string tmpDir = getSystemTmpDir() + getRandomFileName() + getFileSeparator();
+ 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/src/dae/daeZAEUncompressHandler.cpp b/src/dae/daeZAEUncompressHandler.cpp
new file mode 100755
index 0000000..e8c1755
--- /dev/null
+++ b/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/src/dae/domAny.cpp b/src/dae/domAny.cpp
new file mode 100755
index 0000000..5336cf8
--- /dev/null
+++ b/src/dae/domAny.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 <dae/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>
+
+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;
+}
+
+
diff --git a/src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp b/src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp
new file mode 100755
index 0000000..935dc49
--- /dev/null
+++ b/src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp
@@ -0,0 +1,541 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* 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>
+
+using namespace std;
+
+
+// Some helper functions for working with libxml
+namespace {
+ daeInt getCurrentLineNumber(xmlTextReaderPtr reader) {
+#if LIBXML_VERSION >= 20620
+ return xmlTextReaderGetParserLineNumber(reader);
+#else
+ return -1;
+#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;
+ }
+
+ 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;
+}
+
+daeLIBXMLPlugin::~daeLIBXMLPlugin()
+{
+ 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);
+ }
+}
+
+// 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, 0)))
+ xmlTextReaderSetErrorHandler(reader, libxmlErrorHandler, NULL);
+ }
+
+ xmlTextReaderHelper(daeString buffer, const daeURI& baseUri) {
+ if((reader = xmlReaderForDoc((xmlChar*)buffer, cdom::fixUriForLibxml(baseUri.str()).c_str(), NULL, 0)))
+ 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 );
+ }
+
+ // 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() << ") failed\n";
+ daeErrorHandler::get()->handleError(msg.str().c_str());
+ return DAE_ERR_BACKEND_IO;
+ }
+ xmlTextWriterSetIndentString( writer, (const xmlChar*)"\t" ); // Don't change this to spaces
+ xmlTextWriterSetIndent( writer, 1 ); // Turns indentation on
+ xmlTextWriterStartDocument( writer, "1.0", "UTF-8", NULL );
+
+ writeElement( document->getDomRoot() );
+
+ xmlTextWriterEndDocument( writer );
+ xmlTextWriterFlush( writer );
+ xmlFreeTextWriter( writer );
+
+ 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;
+ 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;
+ 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/src/modules/STLDatabase/daeSTLDatabase.cpp b/src/modules/STLDatabase/daeSTLDatabase.cpp
new file mode 100755
index 0000000..c8eb0ea
--- /dev/null
+++ b/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/src/modules/stdErrPlugin/stdErrPlugin.cpp b/src/modules/stdErrPlugin/stdErrPlugin.cpp
new file mode 100755
index 0000000..5553763
--- /dev/null
+++ b/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 );
+}