summaryrefslogtreecommitdiffstats
path: root/1.4.0/dom/src/1.5
diff options
context:
space:
mode:
Diffstat (limited to '1.4.0/dom/src/1.5')
-rw-r--r--1.4.0/dom/src/1.5/CMakeLists.txt3
-rw-r--r--1.4.0/dom/src/1.5/dom/domAccessor.cpp100
-rw-r--r--1.4.0/dom/src/1.5/dom/domAnimation.cpp167
-rw-r--r--1.4.0/dom/src/1.5/dom/domAnimation_clip.cpp114
-rw-r--r--1.4.0/dom/src/1.5/dom/domAny.cpp108
-rw-r--r--1.4.0/dom/src/1.5/dom/domArticulated_system.cpp101
-rw-r--r--1.4.0/dom/src/1.5/dom/domAsset.cpp953
-rw-r--r--1.4.0/dom/src/1.5/dom/domAxis.cpp70
-rw-r--r--1.4.0/dom/src/1.5/dom/domAxis_constraint.cpp68
-rw-r--r--1.4.0/dom/src/1.5/dom/domBind_joint_axis.cpp68
-rw-r--r--1.4.0/dom/src/1.5/dom/domBind_kinematics_model.cpp78
-rw-r--r--1.4.0/dom/src/1.5/dom/domBind_material.cpp108
-rw-r--r--1.4.0/dom/src/1.5/dom/domBool_array.cpp82
-rw-r--r--1.4.0/dom/src/1.5/dom/domBox.cpp93
-rw-r--r--1.4.0/dom/src/1.5/dom/domBrep.cpp117
-rw-r--r--1.4.0/dom/src/1.5/dom/domCOLLADA.cpp291
-rw-r--r--1.4.0/dom/src/1.5/dom/domCamera.cpp442
-rw-r--r--1.4.0/dom/src/1.5/dom/domCapsule.cpp135
-rw-r--r--1.4.0/dom/src/1.5/dom/domCg_array.cpp76
-rw-r--r--1.4.0/dom/src/1.5/dom/domCg_newparam.cpp153
-rw-r--r--1.4.0/dom/src/1.5/dom/domCg_param.cpp3542
-rw-r--r--1.4.0/dom/src/1.5/dom/domCg_pass.cpp512
-rw-r--r--1.4.0/dom/src/1.5/dom/domCg_setparam.cpp63
-rw-r--r--1.4.0/dom/src/1.5/dom/domCg_user.cpp75
-rw-r--r--1.4.0/dom/src/1.5/dom/domChannel.cpp64
-rw-r--r--1.4.0/dom/src/1.5/dom/domCircle.cpp93
-rw-r--r--1.4.0/dom/src/1.5/dom/domCommon_bool_or_param.cpp97
-rw-r--r--1.4.0/dom/src/1.5/dom/domCommon_float2_or_param.cpp97
-rw-r--r--1.4.0/dom/src/1.5/dom/domCommon_float_or_param.cpp97
-rw-r--r--1.4.0/dom/src/1.5/dom/domCommon_int_or_param.cpp97
-rw-r--r--1.4.0/dom/src/1.5/dom/domCommon_param.cpp48
-rw-r--r--1.4.0/dom/src/1.5/dom/domCommon_sidref_or_param.cpp97
-rw-r--r--1.4.0/dom/src/1.5/dom/domCone.cpp135
-rw-r--r--1.4.0/dom/src/1.5/dom/domConstants.cpp1211
-rw-r--r--1.4.0/dom/src/1.5/dom/domController.cpp101
-rw-r--r--1.4.0/dom/src/1.5/dom/domConvex_mesh.cpp127
-rw-r--r--1.4.0/dom/src/1.5/dom/domCurve.cpp127
-rw-r--r--1.4.0/dom/src/1.5/dom/domCurves.cpp57
-rw-r--r--1.4.0/dom/src/1.5/dom/domCylinder.cpp135
-rw-r--r--1.4.0/dom/src/1.5/dom/domEdges.cpp98
-rw-r--r--1.4.0/dom/src/1.5/dom/domEffect.cpp98
-rw-r--r--1.4.0/dom/src/1.5/dom/domEllipse.cpp93
-rw-r--r--1.4.0/dom/src/1.5/dom/domEllipsoid.cpp87
-rw-r--r--1.4.0/dom/src/1.5/dom/domExtra.cpp90
-rw-r--r--1.4.0/dom/src/1.5/dom/domFaces.cpp140
-rw-r--r--1.4.0/dom/src/1.5/dom/domFloat_array.cpp106
-rw-r--r--1.4.0/dom/src/1.5/dom/domForce_field.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domFormula.cpp102
-rw-r--r--1.4.0/dom/src/1.5/dom/domFormula_newparam.cpp228
-rw-r--r--1.4.0/dom/src/1.5/dom/domFormula_setparam.cpp235
-rw-r--r--1.4.0/dom/src/1.5/dom/domFormula_technique.cpp55
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_annotate.cpp722
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_clearcolor.cpp61
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_cleardepth.cpp61
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_clearstencil.cpp61
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_code.cpp60
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_colortarget.cpp119
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_common_color_or_texture.cpp216
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_common_float_or_param.cpp147
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_common_newparam.cpp283
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_common_transparent.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_depthtarget.cpp119
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_include.cpp64
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_newparam.cpp1136
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_profile.cpp86
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_rendertarget.cpp152
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_sampler.cpp57
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_sampler1D.cpp63
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_sampler2D.cpp63
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_sampler3D.cpp63
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_samplerCUBE.cpp63
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_samplerDEPTH.cpp63
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_samplerRECT.cpp63
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_sampler_states.cpp514
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_setparam.cpp1151
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_sources.cpp142
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_stenciltarget.cpp119
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_target.cpp220
-rw-r--r--1.4.0/dom/src/1.5/dom/domGeometry.cpp113
-rw-r--r--1.4.0/dom/src/1.5/dom/domGl_pipeline_settings.cpp8121
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles2_newparam.cpp153
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles2_pass.cpp237
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles2_pipeline_settings.cpp3240
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles2_program.cpp260
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles2_shader.cpp148
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles2_value.cpp911
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles_newparam.cpp153
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles_param.cpp1274
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles_pipeline_settings.cpp4695
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles_sampler.cpp101
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles_sampler_states.cpp346
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles_texcombiner_argument_alpha.cpp74
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles_texcombiner_argument_rgb.cpp74
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles_texcombiner_command.cpp63
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles_texcombiner_command_alpha.cpp74
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles_texcombiner_command_rgb.cpp74
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles_texenv_command.cpp73
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles_texture_constant.cpp63
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles_texture_pipeline.cpp78
-rw-r--r--1.4.0/dom/src/1.5/dom/domGlsl_array.cpp63
-rw-r--r--1.4.0/dom/src/1.5/dom/domGlsl_newparam.cpp153
-rw-r--r--1.4.0/dom/src/1.5/dom/domGlsl_program.cpp254
-rw-r--r--1.4.0/dom/src/1.5/dom/domGlsl_shader.cpp69
-rw-r--r--1.4.0/dom/src/1.5/dom/domGlsl_value.cpp764
-rw-r--r--1.4.0/dom/src/1.5/dom/domHyperbola.cpp93
-rw-r--r--1.4.0/dom/src/1.5/dom/domIdref_array.cpp82
-rw-r--r--1.4.0/dom/src/1.5/dom/domImage.cpp1531
-rw-r--r--1.4.0/dom/src/1.5/dom/domImage_mips.cpp63
-rw-r--r--1.4.0/dom/src/1.5/dom/domImage_source.cpp146
-rw-r--r--1.4.0/dom/src/1.5/dom/domInput_global.cpp64
-rw-r--r--1.4.0/dom/src/1.5/dom/domInput_local.cpp64
-rw-r--r--1.4.0/dom/src/1.5/dom/domInput_local_offset.cpp87
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_articulated_system.cpp104
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_camera.cpp91
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_controller.cpp135
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_effect.cpp212
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_force_field.cpp91
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_formula.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_geometry.cpp92
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_image.cpp91
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_joint.cpp91
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_kinematics_model.cpp104
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_kinematics_scene.cpp116
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_light.cpp91
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_material.cpp223
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_node.cpp103
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_physics_material.cpp91
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_physics_model.cpp116
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_rigid_body.cpp561
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_rigid_constraint.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_with_extra.cpp86
-rw-r--r--1.4.0/dom/src/1.5/dom/domInt_array.cpp106
-rw-r--r--1.4.0/dom/src/1.5/dom/domJoint.cpp106
-rw-r--r--1.4.0/dom/src/1.5/dom/domJoint_limits.cpp57
-rw-r--r--1.4.0/dom/src/1.5/dom/domKinematics.cpp69
-rw-r--r--1.4.0/dom/src/1.5/dom/domKinematics_axis_info.cpp131
-rw-r--r--1.4.0/dom/src/1.5/dom/domKinematics_bind.cpp235
-rw-r--r--1.4.0/dom/src/1.5/dom/domKinematics_connect_param.cpp51
-rw-r--r--1.4.0/dom/src/1.5/dom/domKinematics_frame.cpp72
-rw-r--r--1.4.0/dom/src/1.5/dom/domKinematics_index.cpp78
-rw-r--r--1.4.0/dom/src/1.5/dom/domKinematics_limits.cpp57
-rw-r--r--1.4.0/dom/src/1.5/dom/domKinematics_model.cpp91
-rw-r--r--1.4.0/dom/src/1.5/dom/domKinematics_model_technique.cpp97
-rw-r--r--1.4.0/dom/src/1.5/dom/domKinematics_newparam.cpp228
-rw-r--r--1.4.0/dom/src/1.5/dom/domKinematics_param.cpp51
-rw-r--r--1.4.0/dom/src/1.5/dom/domKinematics_scene.cpp91
-rw-r--r--1.4.0/dom/src/1.5/dom/domKinematics_setparam.cpp235
-rw-r--r--1.4.0/dom/src/1.5/dom/domKinematics_technique.cpp75
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_animation_clips.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_animations.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_articulated_systems.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_cameras.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_controllers.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_effects.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_force_fields.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_formulas.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_geometries.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_images.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_joints.cpp87
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_kinematics_models.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_kinematics_scenes.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_lights.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_materials.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_nodes.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_physics_materials.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_physics_models.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_physics_scenes.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_visual_scenes.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLight.cpp356
-rw-r--r--1.4.0/dom/src/1.5/dom/domLimits_sub.cpp59
-rw-r--r--1.4.0/dom/src/1.5/dom/domLine.cpp135
-rw-r--r--1.4.0/dom/src/1.5/dom/domLines.cpp97
-rw-r--r--1.4.0/dom/src/1.5/dom/domLinestrips.cpp97
-rw-r--r--1.4.0/dom/src/1.5/dom/domLink.cpp308
-rw-r--r--1.4.0/dom/src/1.5/dom/domLookat.cpp59
-rw-r--r--1.4.0/dom/src/1.5/dom/domMaterial.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domMatrix.cpp59
-rw-r--r--1.4.0/dom/src/1.5/dom/domMesh.cpp115
-rw-r--r--1.4.0/dom/src/1.5/dom/domMinmax.cpp70
-rw-r--r--1.4.0/dom/src/1.5/dom/domMorph.cpp133
-rw-r--r--1.4.0/dom/src/1.5/dom/domMotion.cpp69
-rw-r--r--1.4.0/dom/src/1.5/dom/domMotion_axis_info.cpp121
-rw-r--r--1.4.0/dom/src/1.5/dom/domMotion_effector_info.cpp109
-rw-r--r--1.4.0/dom/src/1.5/dom/domMotion_technique.cpp57
-rw-r--r--1.4.0/dom/src/1.5/dom/domName_array.cpp82
-rw-r--r--1.4.0/dom/src/1.5/dom/domNode.cpp195
-rw-r--r--1.4.0/dom/src/1.5/dom/domNurbs.cpp132
-rw-r--r--1.4.0/dom/src/1.5/dom/domNurbs_surface.cpp156
-rw-r--r--1.4.0/dom/src/1.5/dom/domOrient.cpp48
-rw-r--r--1.4.0/dom/src/1.5/dom/domOrigin.cpp48
-rw-r--r--1.4.0/dom/src/1.5/dom/domP.cpp48
-rw-r--r--1.4.0/dom/src/1.5/dom/domParabola.cpp93
-rw-r--r--1.4.0/dom/src/1.5/dom/domParam.cpp93
-rw-r--r--1.4.0/dom/src/1.5/dom/domPcurves.cpp141
-rw-r--r--1.4.0/dom/src/1.5/dom/domPhysics_material.cpp142
-rw-r--r--1.4.0/dom/src/1.5/dom/domPhysics_model.cpp97
-rw-r--r--1.4.0/dom/src/1.5/dom/domPhysics_scene.cpp148
-rw-r--r--1.4.0/dom/src/1.5/dom/domPlane.cpp93
-rw-r--r--1.4.0/dom/src/1.5/dom/domPolygons.cpp194
-rw-r--r--1.4.0/dom/src/1.5/dom/domPolylist.cpp139
-rw-r--r--1.4.0/dom/src/1.5/dom/domProfile_bridge.cpp93
-rw-r--r--1.4.0/dom/src/1.5/dom/domProfile_cg.cpp196
-rw-r--r--1.4.0/dom/src/1.5/dom/domProfile_common.cpp519
-rw-r--r--1.4.0/dom/src/1.5/dom/domProfile_gles.cpp393
-rw-r--r--1.4.0/dom/src/1.5/dom/domProfile_gles2.cpp280
-rw-r--r--1.4.0/dom/src/1.5/dom/domProfile_glsl.cpp421
-rw-r--r--1.4.0/dom/src/1.5/dom/domRigid_body.cpp464
-rw-r--r--1.4.0/dom/src/1.5/dom/domRigid_constraint.cpp677
-rw-r--r--1.4.0/dom/src/1.5/dom/domRotate.cpp59
-rw-r--r--1.4.0/dom/src/1.5/dom/domSampler.cpp84
-rw-r--r--1.4.0/dom/src/1.5/dom/domScale.cpp59
-rw-r--r--1.4.0/dom/src/1.5/dom/domShells.cpp140
-rw-r--r--1.4.0/dom/src/1.5/dom/domSidref_array.cpp82
-rw-r--r--1.4.0/dom/src/1.5/dom/domSkew.cpp59
-rw-r--r--1.4.0/dom/src/1.5/dom/domSkin.cpp310
-rw-r--r--1.4.0/dom/src/1.5/dom/domSolids.cpp140
-rw-r--r--1.4.0/dom/src/1.5/dom/domSource.cpp177
-rw-r--r--1.4.0/dom/src/1.5/dom/domSphere.cpp93
-rw-r--r--1.4.0/dom/src/1.5/dom/domSpline.cpp120
-rw-r--r--1.4.0/dom/src/1.5/dom/domSurface.cpp213
-rw-r--r--1.4.0/dom/src/1.5/dom/domSurface_curves.cpp57
-rw-r--r--1.4.0/dom/src/1.5/dom/domSurfaces.cpp57
-rw-r--r--1.4.0/dom/src/1.5/dom/domSwept_surface.cpp199
-rw-r--r--1.4.0/dom/src/1.5/dom/domTargetable_float.cpp59
-rw-r--r--1.4.0/dom/src/1.5/dom/domTargetable_float3.cpp59
-rw-r--r--1.4.0/dom/src/1.5/dom/domTargetable_float4.cpp59
-rw-r--r--1.4.0/dom/src/1.5/dom/domTechnique.cpp67
-rw-r--r--1.4.0/dom/src/1.5/dom/domToken_array.cpp82
-rw-r--r--1.4.0/dom/src/1.5/dom/domTorus.cpp93
-rw-r--r--1.4.0/dom/src/1.5/dom/domTranslate.cpp59
-rw-r--r--1.4.0/dom/src/1.5/dom/domTriangles.cpp97
-rw-r--r--1.4.0/dom/src/1.5/dom/domTrifans.cpp97
-rw-r--r--1.4.0/dom/src/1.5/dom/domTristrips.cpp97
-rw-r--r--1.4.0/dom/src/1.5/dom/domTypes.cpp1670
-rw-r--r--1.4.0/dom/src/1.5/dom/domVertices.cpp80
-rw-r--r--1.4.0/dom/src/1.5/dom/domVisual_scene.cpp475
-rw-r--r--1.4.0/dom/src/1.5/dom/domWires.cpp140
237 files changed, 59134 insertions, 0 deletions
diff --git a/1.4.0/dom/src/1.5/CMakeLists.txt b/1.4.0/dom/src/1.5/CMakeLists.txt
new file mode 100644
index 0000000..ae4308c
--- /dev/null
+++ b/1.4.0/dom/src/1.5/CMakeLists.txt
@@ -0,0 +1,3 @@
+file(GLOB dom_files ${CMAKE_CURRENT_SOURCE_DIR}/dom/*.cpp)
+add_library(colladadom150 STATIC ${dom_files})
+set_target_properties(colladadom150 PROPERTIES COMPILE_FLAGS "${COLLADA_COMPILE_FLAGS}" LINK_FLAGS "${libpcrecpp_LDFLAGS_OTHERS}")
diff --git a/1.4.0/dom/src/1.5/dom/domAccessor.cpp b/1.4.0/dom/src/1.5/dom/domAccessor.cpp
new file mode 100644
index 0000000..b9c6fef
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domAccessor.cpp
@@ -0,0 +1,100 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domAccessor.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domAccessor::create(DAE& dae)
+{
+ domAccessorRef ref = new domAccessor(dae);
+ ref->attrSource.setContainer( (domAccessor*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domAccessor::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "accessor" );
+ meta->registerClass(domAccessor::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domAccessor,elemParam_array) );
+ mea->setElementType( domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domAccessor , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: offset
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "offset" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domAccessor , attrOffset ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domAccessor , attrSource ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: stride
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "stride" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domAccessor , attrStride ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAccessor));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domAnimation.cpp b/1.4.0/dom/src/1.5/dom/domAnimation.cpp
new file mode 100644
index 0000000..8a8ad12
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domAnimation.cpp
@@ -0,0 +1,167 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domAnimation.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domAnimation::create(DAE& dae)
+{
+ domAnimationRef ref = new domAnimation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAnimation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "animation" );
+ meta->registerClass(domAnimation::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemSource_array) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 1, 1, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "sampler" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemSampler_array) );
+ mea->setElementType( domSampler::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "channel" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemChannel_array) );
+ mea->setElementType( domChannel::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "animation" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemAnimation_array) );
+ mea->setElementType( domAnimation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 1, -1 );
+ mea->setName( "animation" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemAnimation_array) );
+ mea->setElementType( domAnimation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaSequence( meta, cm, 2, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "sampler" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemSampler_array) );
+ mea->setElementType( domSampler::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "channel" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemChannel_array) );
+ mea->setElementType( domChannel::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "animation" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemAnimation_array) );
+ mea->setElementType( domAnimation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 5, 1, -1 );
+ mea->setName( "animation" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemAnimation_array) );
+ mea->setElementType( domAnimation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domAnimation,_contents));
+ meta->addContentsOrder(daeOffsetOf(domAnimation,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domAnimation,_CMData), 2);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domAnimation , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domAnimation , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAnimation));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domAnimation_clip.cpp b/1.4.0/dom/src/1.5/dom/domAnimation_clip.cpp
new file mode 100644
index 0000000..b6803c9
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domAnimation_clip.cpp
@@ -0,0 +1,114 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domAnimation_clip.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domAnimation_clip::create(DAE& dae)
+{
+ domAnimation_clipRef ref = new domAnimation_clip(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAnimation_clip::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "animation_clip" );
+ meta->registerClass(domAnimation_clip::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domAnimation_clip,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "instance_animation" );
+ mea->setOffset( daeOffsetOf(domAnimation_clip,elemInstance_animation_array) );
+ mea->setElementType( domInstance_with_extra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "instance_formula" );
+ mea->setOffset( daeOffsetOf(domAnimation_clip,elemInstance_formula_array) );
+ mea->setElementType( domInstance_formula::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domAnimation_clip,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domAnimation_clip , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domAnimation_clip , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: start
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "start" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domAnimation_clip , attrStart ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0.0");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: end
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "end" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domAnimation_clip , attrEnd ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAnimation_clip));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domAny.cpp b/1.4.0/dom/src/1.5/dom/domAny.cpp
new file mode 100644
index 0000000..b85bc08
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domAny.cpp
@@ -0,0 +1,108 @@
+/*
+ * Copyright 2006 Sony Computer Entertainment Inc.
+ *
+ * Licensed under the MIT Open Source License, for details please see license.txt or the website
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domAny.h>
+#include <dae/daeMetaAttribute.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+#include <dae/daeErrorHandler.h>
+
+namespace ColladaDOM150 {
+daeElementRef
+domAny::create(DAE& dae)
+{
+ domAnyRef ref = new domAny;
+ return ref;
+}
+
+
+daeMetaElement *
+domAny::registerElement(DAE& dae)
+{
+ daeMetaElement *_Meta = new daeMetaElement(dae);
+ _Meta->setName( "any" );
+ _Meta->registerClass(domAny::create);
+ _Meta->setIsInnerClass( true );
+
+ daeMetaCMPolicy *cm = NULL;
+ cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaAny( _Meta, cm, 0, 0, -1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ _Meta->setCMRoot( cm );
+ _Meta->setAllowsAny( true );
+
+ _Meta->addContents(daeOffsetOf(domAny,_contents));
+ _Meta->addContentsOrder(daeOffsetOf(domAny,_contentsOrder));
+
+ //VALUE
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domAny, _value ));
+ ma->setContainer( _Meta );
+ _Meta->appendAttribute(ma);
+ }
+
+ _Meta->setElementSize(sizeof(domAny));
+ _Meta->validate();
+
+ return _Meta;
+}
+
+domAny::~domAny() {
+ // domAny objects own their corresponding daeMetaElement
+ delete _meta;
+}
+
+// Implementation of daeMetaAttribute that understands how domAny works
+class domAnyAttribute : public daeMetaAttribute {
+public:
+ virtual daeChar* getWritableMemory(daeElement* e) {
+ return (daeChar*)&((domAny*)e)->attrs[_offset];
+ }
+};
+
+daeBool domAny::setAttribute(daeString attrName, daeString attrValue) {
+ if (_meta == NULL)
+ return false;
+
+ //if the attribute already exists set it.
+ if (daeElement::setAttribute(attrName, attrValue))
+ return true;
+
+ //else register it and then set it.
+ attrs.append("");
+ daeMetaAttribute *ma = new domAnyAttribute;
+ ma->setName( attrName );
+ ma->setType( getDAE()->getAtomicTypes().get("xsString"));
+ ma->setOffset((daeInt)attrs.getCount()-1);
+ ma->setContainer( _meta );
+ if (ma->getType()) {
+ _meta->appendAttribute(ma);
+ _validAttributeArray.append( true );
+ ma->stringToMemory(this, attrValue);
+ return true;
+ }
+
+ delete ma;
+ return false;
+}
+
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domArticulated_system.cpp b/1.4.0/dom/src/1.5/dom/domArticulated_system.cpp
new file mode 100644
index 0000000..6999885
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domArticulated_system.cpp
@@ -0,0 +1,101 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domArticulated_system.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domArticulated_system::create(DAE& dae)
+{
+ domArticulated_systemRef ref = new domArticulated_system(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domArticulated_system::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "articulated_system" );
+ meta->registerClass(domArticulated_system::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domArticulated_system,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "kinematics" );
+ mea->setOffset( daeOffsetOf(domArticulated_system,elemKinematics) );
+ mea->setElementType( domKinematics::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "motion" );
+ mea->setOffset( daeOffsetOf(domArticulated_system,elemMotion) );
+ mea->setElementType( domMotion::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domArticulated_system,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domArticulated_system,_contents));
+ meta->addContentsOrder(daeOffsetOf(domArticulated_system,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domArticulated_system,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domArticulated_system , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domArticulated_system , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domArticulated_system));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domAsset.cpp b/1.4.0/dom/src/1.5/dom/domAsset.cpp
new file mode 100644
index 0000000..9bfa79b
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domAsset.cpp
@@ -0,0 +1,953 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domAsset.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domAsset::create(DAE& dae)
+{
+ domAssetRef ref = new domAsset(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "asset" );
+ meta->registerClass(domAsset::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "contributor" );
+ mea->setOffset( daeOffsetOf(domAsset,elemContributor_array) );
+ mea->setElementType( domAsset::domContributor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "coverage" );
+ mea->setOffset( daeOffsetOf(domAsset,elemCoverage) );
+ mea->setElementType( domAsset::domCoverage::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "created" );
+ mea->setOffset( daeOffsetOf(domAsset,elemCreated) );
+ mea->setElementType( domAsset::domCreated::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "keywords" );
+ mea->setOffset( daeOffsetOf(domAsset,elemKeywords) );
+ mea->setElementType( domAsset::domKeywords::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 1, 1 );
+ mea->setName( "modified" );
+ mea->setOffset( daeOffsetOf(domAsset,elemModified) );
+ mea->setElementType( domAsset::domModified::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "revision" );
+ mea->setOffset( daeOffsetOf(domAsset,elemRevision) );
+ mea->setElementType( domAsset::domRevision::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "subject" );
+ mea->setOffset( daeOffsetOf(domAsset,elemSubject) );
+ mea->setElementType( domAsset::domSubject::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "title" );
+ mea->setOffset( daeOffsetOf(domAsset,elemTitle) );
+ mea->setElementType( domAsset::domTitle::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 8, 0, 1 );
+ mea->setName( "unit" );
+ mea->setOffset( daeOffsetOf(domAsset,elemUnit) );
+ mea->setElementType( domAsset::domUnit::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 9, 0, 1 );
+ mea->setName( "up_axis" );
+ mea->setOffset( daeOffsetOf(domAsset,elemUp_axis) );
+ mea->setElementType( domAsset::domUp_axis::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 10, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domAsset,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 10 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domAsset));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domContributor::create(DAE& dae)
+{
+ domAsset::domContributorRef ref = new domAsset::domContributor(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domContributor::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "contributor" );
+ meta->registerClass(domAsset::domContributor::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "author" );
+ mea->setOffset( daeOffsetOf(domAsset::domContributor,elemAuthor) );
+ mea->setElementType( domAsset::domContributor::domAuthor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "author_email" );
+ mea->setOffset( daeOffsetOf(domAsset::domContributor,elemAuthor_email) );
+ mea->setElementType( domAsset::domContributor::domAuthor_email::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "author_website" );
+ mea->setOffset( daeOffsetOf(domAsset::domContributor,elemAuthor_website) );
+ mea->setElementType( domAsset::domContributor::domAuthor_website::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "authoring_tool" );
+ mea->setOffset( daeOffsetOf(domAsset::domContributor,elemAuthoring_tool) );
+ mea->setElementType( domAsset::domContributor::domAuthoring_tool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "comments" );
+ mea->setOffset( daeOffsetOf(domAsset::domContributor,elemComments) );
+ mea->setElementType( domAsset::domContributor::domComments::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "copyright" );
+ mea->setOffset( daeOffsetOf(domAsset::domContributor,elemCopyright) );
+ mea->setElementType( domAsset::domContributor::domCopyright::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "source_data" );
+ mea->setOffset( daeOffsetOf(domAsset::domContributor,elemSource_data) );
+ mea->setElementType( domAsset::domContributor::domSource_data::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 6 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domAsset::domContributor));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domContributor::domAuthor::create(DAE& dae)
+{
+ domAsset::domContributor::domAuthorRef ref = new domAsset::domContributor::domAuthor(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domContributor::domAuthor::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "author" );
+ meta->registerClass(domAsset::domContributor::domAuthor::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domAsset::domContributor::domAuthor , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domContributor::domAuthor));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domContributor::domAuthor_email::create(DAE& dae)
+{
+ domAsset::domContributor::domAuthor_emailRef ref = new domAsset::domContributor::domAuthor_email(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domContributor::domAuthor_email::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "author_email" );
+ meta->registerClass(domAsset::domContributor::domAuthor_email::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domAsset::domContributor::domAuthor_email , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domContributor::domAuthor_email));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domContributor::domAuthor_website::create(DAE& dae)
+{
+ domAsset::domContributor::domAuthor_websiteRef ref = new domAsset::domContributor::domAuthor_website(dae);
+ ref->_value.setContainer( (domAsset::domContributor::domAuthor_website*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domContributor::domAuthor_website::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "author_website" );
+ meta->registerClass(domAsset::domContributor::domAuthor_website::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domAsset::domContributor::domAuthor_website , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domContributor::domAuthor_website));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domContributor::domAuthoring_tool::create(DAE& dae)
+{
+ domAsset::domContributor::domAuthoring_toolRef ref = new domAsset::domContributor::domAuthoring_tool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domContributor::domAuthoring_tool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "authoring_tool" );
+ meta->registerClass(domAsset::domContributor::domAuthoring_tool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domAsset::domContributor::domAuthoring_tool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domContributor::domAuthoring_tool));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domContributor::domComments::create(DAE& dae)
+{
+ domAsset::domContributor::domCommentsRef ref = new domAsset::domContributor::domComments(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domContributor::domComments::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "comments" );
+ meta->registerClass(domAsset::domContributor::domComments::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domAsset::domContributor::domComments , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domContributor::domComments));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domContributor::domCopyright::create(DAE& dae)
+{
+ domAsset::domContributor::domCopyrightRef ref = new domAsset::domContributor::domCopyright(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domContributor::domCopyright::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "copyright" );
+ meta->registerClass(domAsset::domContributor::domCopyright::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domAsset::domContributor::domCopyright , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domContributor::domCopyright));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domContributor::domSource_data::create(DAE& dae)
+{
+ domAsset::domContributor::domSource_dataRef ref = new domAsset::domContributor::domSource_data(dae);
+ ref->_value.setContainer( (domAsset::domContributor::domSource_data*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domContributor::domSource_data::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "source_data" );
+ meta->registerClass(domAsset::domContributor::domSource_data::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domAsset::domContributor::domSource_data , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domContributor::domSource_data));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domCoverage::create(DAE& dae)
+{
+ domAsset::domCoverageRef ref = new domAsset::domCoverage(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domCoverage::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "coverage" );
+ meta->registerClass(domAsset::domCoverage::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "geographic_location" );
+ mea->setOffset( daeOffsetOf(domAsset::domCoverage,elemGeographic_location) );
+ mea->setElementType( domAsset::domCoverage::domGeographic_location::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domAsset::domCoverage));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domCoverage::domGeographic_location::create(DAE& dae)
+{
+ domAsset::domCoverage::domGeographic_locationRef ref = new domAsset::domCoverage::domGeographic_location(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domCoverage::domGeographic_location::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "geographic_location" );
+ meta->registerClass(domAsset::domCoverage::domGeographic_location::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "longitude" );
+ mea->setOffset( daeOffsetOf(domAsset::domCoverage::domGeographic_location,elemLongitude) );
+ mea->setElementType( domAsset::domCoverage::domGeographic_location::domLongitude::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "latitude" );
+ mea->setOffset( daeOffsetOf(domAsset::domCoverage::domGeographic_location,elemLatitude) );
+ mea->setElementType( domAsset::domCoverage::domGeographic_location::domLatitude::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "altitude" );
+ mea->setOffset( daeOffsetOf(domAsset::domCoverage::domGeographic_location,elemAltitude) );
+ mea->setElementType( domAsset::domCoverage::domGeographic_location::domAltitude::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domAsset::domCoverage::domGeographic_location));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domCoverage::domGeographic_location::domLongitude::create(DAE& dae)
+{
+ domAsset::domCoverage::domGeographic_location::domLongitudeRef ref = new domAsset::domCoverage::domGeographic_location::domLongitude(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domCoverage::domGeographic_location::domLongitude::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "longitude" );
+ meta->registerClass(domAsset::domCoverage::domGeographic_location::domLongitude::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domAsset::domCoverage::domGeographic_location::domLongitude , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domCoverage::domGeographic_location::domLongitude));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domCoverage::domGeographic_location::domLatitude::create(DAE& dae)
+{
+ domAsset::domCoverage::domGeographic_location::domLatitudeRef ref = new domAsset::domCoverage::domGeographic_location::domLatitude(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domCoverage::domGeographic_location::domLatitude::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "latitude" );
+ meta->registerClass(domAsset::domCoverage::domGeographic_location::domLatitude::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domAsset::domCoverage::domGeographic_location::domLatitude , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domCoverage::domGeographic_location::domLatitude));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domCoverage::domGeographic_location::domAltitude::create(DAE& dae)
+{
+ domAsset::domCoverage::domGeographic_location::domAltitudeRef ref = new domAsset::domCoverage::domGeographic_location::domAltitude(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domCoverage::domGeographic_location::domAltitude::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "altitude" );
+ meta->registerClass(domAsset::domCoverage::domGeographic_location::domAltitude::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domAsset::domCoverage::domGeographic_location::domAltitude , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: mode
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "mode" );
+ ma->setType( dae.getAtomicTypes().get("Altitude_mode"));
+ ma->setOffset( daeOffsetOf( domAsset::domCoverage::domGeographic_location::domAltitude , attrMode ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "relativeToGround");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domCoverage::domGeographic_location::domAltitude));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domCreated::create(DAE& dae)
+{
+ domAsset::domCreatedRef ref = new domAsset::domCreated(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domCreated::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "created" );
+ meta->registerClass(domAsset::domCreated::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsDateTime"));
+ ma->setOffset( daeOffsetOf( domAsset::domCreated , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domCreated));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domKeywords::create(DAE& dae)
+{
+ domAsset::domKeywordsRef ref = new domAsset::domKeywords(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domKeywords::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "keywords" );
+ meta->registerClass(domAsset::domKeywords::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domAsset::domKeywords , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domKeywords));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domModified::create(DAE& dae)
+{
+ domAsset::domModifiedRef ref = new domAsset::domModified(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domModified::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "modified" );
+ meta->registerClass(domAsset::domModified::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsDateTime"));
+ ma->setOffset( daeOffsetOf( domAsset::domModified , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domModified));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domRevision::create(DAE& dae)
+{
+ domAsset::domRevisionRef ref = new domAsset::domRevision(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domRevision::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "revision" );
+ meta->registerClass(domAsset::domRevision::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domAsset::domRevision , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domRevision));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domSubject::create(DAE& dae)
+{
+ domAsset::domSubjectRef ref = new domAsset::domSubject(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domSubject::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "subject" );
+ meta->registerClass(domAsset::domSubject::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domAsset::domSubject , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domSubject));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domTitle::create(DAE& dae)
+{
+ domAsset::domTitleRef ref = new domAsset::domTitle(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domTitle::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "title" );
+ meta->registerClass(domAsset::domTitle::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domAsset::domTitle , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domTitle));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domUnit::create(DAE& dae)
+{
+ domAsset::domUnitRef ref = new domAsset::domUnit(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domUnit::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "unit" );
+ meta->registerClass(domAsset::domUnit::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: meter
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "meter" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domAsset::domUnit , attrMeter ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1.0");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
+ ma->setOffset( daeOffsetOf( domAsset::domUnit , attrName ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "meter");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domUnit));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domUp_axis::create(DAE& dae)
+{
+ domAsset::domUp_axisRef ref = new domAsset::domUp_axis(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domUp_axis::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "up_axis" );
+ meta->registerClass(domAsset::domUp_axis::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Up_axis"));
+ ma->setOffset( daeOffsetOf( domAsset::domUp_axis , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domUp_axis));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domAxis.cpp b/1.4.0/dom/src/1.5/dom/domAxis.cpp
new file mode 100644
index 0000000..79ed7b2
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domAxis.cpp
@@ -0,0 +1,70 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domAxis.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domAxis::create(DAE& dae)
+{
+ domAxisRef ref = new domAxis(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAxis::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "axis" );
+ meta->registerClass(domAxis::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domAxis , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domAxis , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domAxis , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAxis));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domAxis_constraint.cpp b/1.4.0/dom/src/1.5/dom/domAxis_constraint.cpp
new file mode 100644
index 0000000..d7f62be
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domAxis_constraint.cpp
@@ -0,0 +1,68 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domAxis_constraint.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domAxis_constraint::create(DAE& dae)
+{
+ domAxis_constraintRef ref = new domAxis_constraint(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAxis_constraint::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "axis_constraint" );
+ meta->registerClass(domAxis_constraint::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "axis" );
+ mea->setOffset( daeOffsetOf(domAxis_constraint,elemAxis) );
+ mea->setElementType( domAxis::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "limits" );
+ mea->setOffset( daeOffsetOf(domAxis_constraint,elemLimits) );
+ mea->setElementType( domJoint_limits::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domAxis_constraint , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAxis_constraint));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domBind_joint_axis.cpp b/1.4.0/dom/src/1.5/dom/domBind_joint_axis.cpp
new file mode 100644
index 0000000..f07032f
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domBind_joint_axis.cpp
@@ -0,0 +1,68 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domBind_joint_axis.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domBind_joint_axis::create(DAE& dae)
+{
+ domBind_joint_axisRef ref = new domBind_joint_axis(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domBind_joint_axis::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind_joint_axis" );
+ meta->registerClass(domBind_joint_axis::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "axis" );
+ mea->setOffset( daeOffsetOf(domBind_joint_axis,elemAxis) );
+ mea->setElementType( domCommon_sidref_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domBind_joint_axis,elemValue) );
+ mea->setElementType( domCommon_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: target
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "target" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domBind_joint_axis , attrTarget ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domBind_joint_axis));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domBind_kinematics_model.cpp b/1.4.0/dom/src/1.5/dom/domBind_kinematics_model.cpp
new file mode 100644
index 0000000..b4c679a
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domBind_kinematics_model.cpp
@@ -0,0 +1,78 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domBind_kinematics_model.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domBind_kinematics_model::create(DAE& dae)
+{
+ domBind_kinematics_modelRef ref = new domBind_kinematics_model(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domBind_kinematics_model::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind_kinematics_model" );
+ meta->registerClass(domBind_kinematics_model::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "SIDREF" );
+ mea->setOffset( daeOffsetOf(domBind_kinematics_model,elemSIDREF) );
+ mea->setElementType( domSIDREF::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domBind_kinematics_model,elemParam) );
+ mea->setElementType( domCommon_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domBind_kinematics_model,_contents));
+ meta->addContentsOrder(daeOffsetOf(domBind_kinematics_model,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domBind_kinematics_model,_CMData), 1);
+ // Add attribute: node
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "node" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domBind_kinematics_model , attrNode ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domBind_kinematics_model));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domBind_material.cpp b/1.4.0/dom/src/1.5/dom/domBind_material.cpp
new file mode 100644
index 0000000..7f720c9
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domBind_material.cpp
@@ -0,0 +1,108 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domBind_material.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domBind_material::create(DAE& dae)
+{
+ domBind_materialRef ref = new domBind_material(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domBind_material::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind_material" );
+ meta->registerClass(domBind_material::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domBind_material,elemParam_array) );
+ mea->setElementType( domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domBind_material,elemTechnique_common) );
+ mea->setElementType( domBind_material::domTechnique_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domBind_material,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domBind_material,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domBind_material));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domBind_material::domTechnique_common::create(DAE& dae)
+{
+ domBind_material::domTechnique_commonRef ref = new domBind_material::domTechnique_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domBind_material::domTechnique_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_common" );
+ meta->registerClass(domBind_material::domTechnique_common::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "instance_material" );
+ mea->setOffset( daeOffsetOf(domBind_material::domTechnique_common,elemInstance_material_array) );
+ mea->setElementType( domInstance_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domBind_material::domTechnique_common));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domBool_array.cpp b/1.4.0/dom/src/1.5/dom/domBool_array.cpp
new file mode 100644
index 0000000..958691a
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domBool_array.cpp
@@ -0,0 +1,82 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domBool_array.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domBool_array::create(DAE& dae)
+{
+ domBool_arrayRef ref = new domBool_array(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domBool_array::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool_array" );
+ meta->registerClass(domBool_array::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_bools"));
+ ma->setOffset( daeOffsetOf( domBool_array , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domBool_array , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domBool_array , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domBool_array , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domBool_array));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domBox.cpp b/1.4.0/dom/src/1.5/dom/domBox.cpp
new file mode 100644
index 0000000..96f0c9f
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domBox.cpp
@@ -0,0 +1,93 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domBox.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domBox::create(DAE& dae)
+{
+ domBoxRef ref = new domBox(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domBox::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "box" );
+ meta->registerClass(domBox::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half_extents" );
+ mea->setOffset( daeOffsetOf(domBox,elemHalf_extents) );
+ mea->setElementType( domBox::domHalf_extents::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domBox,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domBox));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domBox::domHalf_extents::create(DAE& dae)
+{
+ domBox::domHalf_extentsRef ref = new domBox::domHalf_extents(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domBox::domHalf_extents::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half_extents" );
+ meta->registerClass(domBox::domHalf_extents::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domBox::domHalf_extents , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domBox::domHalf_extents));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domBrep.cpp b/1.4.0/dom/src/1.5/dom/domBrep.cpp
new file mode 100644
index 0000000..50f7923
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domBrep.cpp
@@ -0,0 +1,117 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domBrep.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domBrep::create(DAE& dae)
+{
+ domBrepRef ref = new domBrep(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domBrep::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "brep" );
+ meta->registerClass(domBrep::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "curves" );
+ mea->setOffset( daeOffsetOf(domBrep,elemCurves) );
+ mea->setElementType( domCurves::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "surface_curves" );
+ mea->setOffset( daeOffsetOf(domBrep,elemSurface_curves) );
+ mea->setElementType( domSurface_curves::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "surfaces" );
+ mea->setOffset( daeOffsetOf(domBrep,elemSurfaces) );
+ mea->setElementType( domSurfaces::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 1, -1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domBrep,elemSource_array) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 1, 1 );
+ mea->setName( "vertices" );
+ mea->setOffset( daeOffsetOf(domBrep,elemVertices) );
+ mea->setElementType( domVertices::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "edges" );
+ mea->setOffset( daeOffsetOf(domBrep,elemEdges) );
+ mea->setElementType( domEdges::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "wires" );
+ mea->setOffset( daeOffsetOf(domBrep,elemWires) );
+ mea->setElementType( domWires::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "faces" );
+ mea->setOffset( daeOffsetOf(domBrep,elemFaces) );
+ mea->setElementType( domFaces::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 8, 0, 1 );
+ mea->setName( "pcurves" );
+ mea->setOffset( daeOffsetOf(domBrep,elemPcurves) );
+ mea->setElementType( domPcurves::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 9, 0, 1 );
+ mea->setName( "shells" );
+ mea->setOffset( daeOffsetOf(domBrep,elemShells) );
+ mea->setElementType( domShells::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 10, 0, 1 );
+ mea->setName( "solids" );
+ mea->setOffset( daeOffsetOf(domBrep,elemSolids) );
+ mea->setElementType( domSolids::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 11, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domBrep,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 11 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domBrep));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCOLLADA.cpp b/1.4.0/dom/src/1.5/dom/domCOLLADA.cpp
new file mode 100644
index 0000000..a974028
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCOLLADA.cpp
@@ -0,0 +1,291 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCOLLADA.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+namespace ColladaDOM150 {
+extern daeString COLLADA_VERSION;
+extern daeString COLLADA_NAMESPACE;
+
+daeElementRef
+domCOLLADA::create(DAE& dae)
+{
+ domCOLLADARef ref = new domCOLLADA(dae);
+ ref->attrXmlns.setContainer( (domCOLLADA*)ref );
+ ref->attrXml_base.setContainer( (domCOLLADA*)ref );
+ ref->_meta = dae.getMeta(domCOLLADA::ID());
+ ref->setAttribute("version", COLLADA_VERSION );
+ ref->setAttribute("xmlns", COLLADA_NAMESPACE );
+ ref->_meta = NULL;
+ return ref;
+}
+
+
+daeMetaElement *
+domCOLLADA::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "COLLADA" );
+ meta->registerClass(domCOLLADA::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_animations" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_animations_array) );
+ mea->setElementType( domLibrary_animations::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_animation_clips" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_animation_clips_array) );
+ mea->setElementType( domLibrary_animation_clips::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_cameras" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_cameras_array) );
+ mea->setElementType( domLibrary_cameras::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_controllers" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_controllers_array) );
+ mea->setElementType( domLibrary_controllers::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_geometries" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_geometries_array) );
+ mea->setElementType( domLibrary_geometries::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_effects" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_effects_array) );
+ mea->setElementType( domLibrary_effects::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_force_fields" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_force_fields_array) );
+ mea->setElementType( domLibrary_force_fields::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_images" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_images_array) );
+ mea->setElementType( domLibrary_images::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_lights" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_lights_array) );
+ mea->setElementType( domLibrary_lights::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_materials" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_materials_array) );
+ mea->setElementType( domLibrary_materials::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_nodes" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_nodes_array) );
+ mea->setElementType( domLibrary_nodes::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_physics_materials" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_physics_materials_array) );
+ mea->setElementType( domLibrary_physics_materials::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_physics_models" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_physics_models_array) );
+ mea->setElementType( domLibrary_physics_models::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_physics_scenes" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_physics_scenes_array) );
+ mea->setElementType( domLibrary_physics_scenes::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_visual_scenes" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_visual_scenes_array) );
+ mea->setElementType( domLibrary_visual_scenes::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_joints" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_joints_array) );
+ mea->setElementType( domLibrary_joints::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_kinematics_models" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_kinematics_models_array) );
+ mea->setElementType( domLibrary_kinematics_models::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_articulated_systems" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_articulated_systems_array) );
+ mea->setElementType( domLibrary_articulated_systems::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_kinematics_scenes" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_kinematics_scenes_array) );
+ mea->setElementType( domLibrary_kinematics_scenes::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_formulas" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_formulas_array) );
+ mea->setElementType( domLibrary_formulas::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementAttribute( meta, cm, 3002, 0, 1 );
+ mea->setName( "scene" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemScene) );
+ mea->setElementType( domCOLLADA::domScene::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3003, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3003 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCOLLADA,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCOLLADA,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCOLLADA,_CMData), 1); // Add attribute: xmlns
+ {
+ daeMetaAttribute* ma = new daeMetaAttribute;
+ ma->setName( "xmlns" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domCOLLADA, attrXmlns ));
+ ma->setContainer( meta );
+ //ma->setIsRequired( true );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: version
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "version" );
+ ma->setType( dae.getAtomicTypes().get("Version"));
+ ma->setOffset( daeOffsetOf( domCOLLADA, attrVersion ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: xml_base
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "xml_base" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domCOLLADA, attrXml_base ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCOLLADA));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCOLLADA::domScene::create(DAE& dae)
+{
+ domCOLLADA::domSceneRef ref = new domCOLLADA::domScene(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCOLLADA::domScene::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "scene" );
+ meta->registerClass(domCOLLADA::domScene::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "instance_physics_scene" );
+ mea->setOffset( daeOffsetOf(domCOLLADA::domScene,elemInstance_physics_scene_array) );
+ mea->setElementType( domInstance_with_extra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "instance_visual_scene" );
+ mea->setOffset( daeOffsetOf(domCOLLADA::domScene,elemInstance_visual_scene) );
+ mea->setElementType( domInstance_with_extra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "instance_kinematics_scene" );
+ mea->setOffset( daeOffsetOf(domCOLLADA::domScene,elemInstance_kinematics_scene_array) );
+ mea->setElementType( domInstance_kinematics_scene::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCOLLADA::domScene,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCOLLADA::domScene));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCamera.cpp b/1.4.0/dom/src/1.5/dom/domCamera.cpp
new file mode 100644
index 0000000..efc8e4e
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCamera.cpp
@@ -0,0 +1,442 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCamera.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCamera::create(DAE& dae)
+{
+ domCameraRef ref = new domCamera(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCamera::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "camera" );
+ meta->registerClass(domCamera::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domCamera,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "optics" );
+ mea->setOffset( daeOffsetOf(domCamera,elemOptics) );
+ mea->setElementType( domCamera::domOptics::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "imager" );
+ mea->setOffset( daeOffsetOf(domCamera,elemImager) );
+ mea->setElementType( domCamera::domImager::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCamera,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domCamera , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domCamera , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCamera));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCamera::domOptics::create(DAE& dae)
+{
+ domCamera::domOpticsRef ref = new domCamera::domOptics(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCamera::domOptics::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "optics" );
+ meta->registerClass(domCamera::domOptics::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics,elemTechnique_common) );
+ mea->setElementType( domCamera::domOptics::domTechnique_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCamera::domOptics));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCamera::domOptics::domTechnique_common::create(DAE& dae)
+{
+ domCamera::domOptics::domTechnique_commonRef ref = new domCamera::domOptics::domTechnique_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCamera::domOptics::domTechnique_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_common" );
+ meta->registerClass(domCamera::domOptics::domTechnique_common::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "orthographic" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common,elemOrthographic) );
+ mea->setElementType( domCamera::domOptics::domTechnique_common::domOrthographic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "perspective" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common,elemPerspective) );
+ mea->setElementType( domCamera::domOptics::domTechnique_common::domPerspective::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCamera::domOptics::domTechnique_common,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCamera::domOptics::domTechnique_common,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCamera::domOptics::domTechnique_common,_CMData), 1);
+ meta->setElementSize(sizeof(domCamera::domOptics::domTechnique_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCamera::domOptics::domTechnique_common::domOrthographic::create(DAE& dae)
+{
+ domCamera::domOptics::domTechnique_common::domOrthographicRef ref = new domCamera::domOptics::domTechnique_common::domOrthographic(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCamera::domOptics::domTechnique_common::domOrthographic::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "orthographic" );
+ meta->registerClass(domCamera::domOptics::domTechnique_common::domOrthographic::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "xmag" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemXmag) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 1, 1, 0, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ymag" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemYmag) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "aspect_ratio" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemAspect_ratio) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaSequence( meta, cm, 2, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ymag" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemYmag) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "aspect_ratio" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemAspect_ratio) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 3 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "znear" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemZnear) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "zfar" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemZfar) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,_CMData), 2);
+ meta->setElementSize(sizeof(domCamera::domOptics::domTechnique_common::domOrthographic));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCamera::domOptics::domTechnique_common::domPerspective::create(DAE& dae)
+{
+ domCamera::domOptics::domTechnique_common::domPerspectiveRef ref = new domCamera::domOptics::domTechnique_common::domPerspective(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCamera::domOptics::domTechnique_common::domPerspective::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "perspective" );
+ meta->registerClass(domCamera::domOptics::domTechnique_common::domPerspective::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "xfov" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemXfov) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 1, 1, 0, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "yfov" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemYfov) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "aspect_ratio" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemAspect_ratio) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "yfov" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemYfov) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "aspect_ratio" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemAspect_ratio) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 3 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "znear" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemZnear) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "zfar" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemZfar) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,_CMData), 2);
+ meta->setElementSize(sizeof(domCamera::domOptics::domTechnique_common::domPerspective));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCamera::domImager::create(DAE& dae)
+{
+ domCamera::domImagerRef ref = new domCamera::domImager(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCamera::domImager::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "imager" );
+ meta->registerClass(domCamera::domImager::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domCamera::domImager,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCamera::domImager,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCamera::domImager));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCapsule.cpp b/1.4.0/dom/src/1.5/dom/domCapsule.cpp
new file mode 100644
index 0000000..c64ff17
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCapsule.cpp
@@ -0,0 +1,135 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCapsule.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCapsule::create(DAE& dae)
+{
+ domCapsuleRef ref = new domCapsule(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCapsule::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "capsule" );
+ meta->registerClass(domCapsule::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "height" );
+ mea->setOffset( daeOffsetOf(domCapsule,elemHeight) );
+ mea->setElementType( domCapsule::domHeight::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "radius" );
+ mea->setOffset( daeOffsetOf(domCapsule,elemRadius) );
+ mea->setElementType( domCapsule::domRadius::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCapsule,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCapsule));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCapsule::domHeight::create(DAE& dae)
+{
+ domCapsule::domHeightRef ref = new domCapsule::domHeight(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCapsule::domHeight::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "height" );
+ meta->registerClass(domCapsule::domHeight::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domCapsule::domHeight , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCapsule::domHeight));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCapsule::domRadius::create(DAE& dae)
+{
+ domCapsule::domRadiusRef ref = new domCapsule::domRadius(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCapsule::domRadius::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "radius" );
+ meta->registerClass(domCapsule::domRadius::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domCapsule::domRadius , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCapsule::domRadius));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCg_array.cpp b/1.4.0/dom/src/1.5/dom/domCg_array.cpp
new file mode 100644
index 0000000..08d275c
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCg_array.cpp
@@ -0,0 +1,76 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCg_array.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCg_array::create(DAE& dae)
+{
+ domCg_arrayRef ref = new domCg_array(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_array::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cg_array" );
+ meta->registerClass(domCg_array::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "cg_param" );
+ mea->setOffset( daeOffsetOf(domCg_array,elemCg_param_array) );
+ mea->setElementType( domCg_param::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, -1 ) );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: length
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "length" );
+ ma->setType( dae.getAtomicTypes().get("xsPositiveInteger"));
+ ma->setOffset( daeOffsetOf( domCg_array , attrLength ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: resizable
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "resizable" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domCg_array , attrResizable ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_array));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCg_newparam.cpp b/1.4.0/dom/src/1.5/dom/domCg_newparam.cpp
new file mode 100644
index 0000000..fd09ad4
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCg_newparam.cpp
@@ -0,0 +1,153 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCg_newparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCg_newparam::create(DAE& dae)
+{
+ domCg_newparamRef ref = new domCg_newparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_newparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cg_newparam" );
+ meta->registerClass(domCg_newparam::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domCg_newparam,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "semantic" );
+ mea->setOffset( daeOffsetOf(domCg_newparam,elemSemantic) );
+ mea->setElementType( domCg_newparam::domSemantic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "modifier" );
+ mea->setOffset( daeOffsetOf(domCg_newparam,elemModifier) );
+ mea->setElementType( domCg_newparam::domModifier::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "cg_param" );
+ mea->setOffset( daeOffsetOf(domCg_newparam,elemCg_param) );
+ mea->setElementType( domCg_param::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 3, 1, 1 ) );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domCg_newparam , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_newparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_newparam::domSemantic::create(DAE& dae)
+{
+ domCg_newparam::domSemanticRef ref = new domCg_newparam::domSemantic(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_newparam::domSemantic::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "semantic" );
+ meta->registerClass(domCg_newparam::domSemantic::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domCg_newparam::domSemantic , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_newparam::domSemantic));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_newparam::domModifier::create(DAE& dae)
+{
+ domCg_newparam::domModifierRef ref = new domCg_newparam::domModifier(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_newparam::domModifier::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "modifier" );
+ meta->registerClass(domCg_newparam::domModifier::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_modifier"));
+ ma->setOffset( daeOffsetOf( domCg_newparam::domModifier , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_newparam::domModifier));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCg_param.cpp b/1.4.0/dom/src/1.5/dom/domCg_param.cpp
new file mode 100644
index 0000000..d6b0804
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCg_param.cpp
@@ -0,0 +1,3542 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCg_param.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCg_param::create(DAE& dae)
+{
+ domCg_paramRef ref = new domCg_param(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cg_param" );
+ meta->registerClass(domCg_param::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool) );
+ mea->setElementType( domCg_param::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool2) );
+ mea->setElementType( domCg_param::domBool2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool3) );
+ mea->setElementType( domCg_param::domBool3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool4) );
+ mea->setElementType( domCg_param::domBool4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool2x1) );
+ mea->setElementType( domCg_param::domBool2x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool2x2) );
+ mea->setElementType( domCg_param::domBool2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool2x3) );
+ mea->setElementType( domCg_param::domBool2x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool2x4) );
+ mea->setElementType( domCg_param::domBool2x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool3x1) );
+ mea->setElementType( domCg_param::domBool3x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool3x2) );
+ mea->setElementType( domCg_param::domBool3x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool3x3) );
+ mea->setElementType( domCg_param::domBool3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool3x4) );
+ mea->setElementType( domCg_param::domBool3x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool4x1) );
+ mea->setElementType( domCg_param::domBool4x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool4x2) );
+ mea->setElementType( domCg_param::domBool4x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool4x3) );
+ mea->setElementType( domCg_param::domBool4x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool4x4) );
+ mea->setElementType( domCg_param::domBool4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat) );
+ mea->setElementType( domCg_param::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat2) );
+ mea->setElementType( domCg_param::domFloat2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat3) );
+ mea->setElementType( domCg_param::domFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat4) );
+ mea->setElementType( domCg_param::domFloat4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat2x1) );
+ mea->setElementType( domCg_param::domFloat2x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat2x2) );
+ mea->setElementType( domCg_param::domFloat2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat2x3) );
+ mea->setElementType( domCg_param::domFloat2x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat2x4) );
+ mea->setElementType( domCg_param::domFloat2x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat3x1) );
+ mea->setElementType( domCg_param::domFloat3x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat3x2) );
+ mea->setElementType( domCg_param::domFloat3x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat3x3) );
+ mea->setElementType( domCg_param::domFloat3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat3x4) );
+ mea->setElementType( domCg_param::domFloat3x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat4x1) );
+ mea->setElementType( domCg_param::domFloat4x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat4x2) );
+ mea->setElementType( domCg_param::domFloat4x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat4x3) );
+ mea->setElementType( domCg_param::domFloat4x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat4x4) );
+ mea->setElementType( domCg_param::domFloat4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt) );
+ mea->setElementType( domCg_param::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt2) );
+ mea->setElementType( domCg_param::domInt2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt3) );
+ mea->setElementType( domCg_param::domInt3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt4) );
+ mea->setElementType( domCg_param::domInt4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt2x1) );
+ mea->setElementType( domCg_param::domInt2x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt2x2) );
+ mea->setElementType( domCg_param::domInt2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt2x3) );
+ mea->setElementType( domCg_param::domInt2x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt2x4) );
+ mea->setElementType( domCg_param::domInt2x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt3x1) );
+ mea->setElementType( domCg_param::domInt3x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt3x2) );
+ mea->setElementType( domCg_param::domInt3x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt3x3) );
+ mea->setElementType( domCg_param::domInt3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt3x4) );
+ mea->setElementType( domCg_param::domInt3x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt4x1) );
+ mea->setElementType( domCg_param::domInt4x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt4x2) );
+ mea->setElementType( domCg_param::domInt4x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt4x3) );
+ mea->setElementType( domCg_param::domInt4x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt4x4) );
+ mea->setElementType( domCg_param::domInt4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf) );
+ mea->setElementType( domCg_param::domHalf::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf2) );
+ mea->setElementType( domCg_param::domHalf2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf3) );
+ mea->setElementType( domCg_param::domHalf3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf4) );
+ mea->setElementType( domCg_param::domHalf4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half2x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf2x1) );
+ mea->setElementType( domCg_param::domHalf2x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half2x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf2x2) );
+ mea->setElementType( domCg_param::domHalf2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half2x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf2x3) );
+ mea->setElementType( domCg_param::domHalf2x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half2x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf2x4) );
+ mea->setElementType( domCg_param::domHalf2x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half3x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf3x1) );
+ mea->setElementType( domCg_param::domHalf3x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half3x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf3x2) );
+ mea->setElementType( domCg_param::domHalf3x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half3x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf3x3) );
+ mea->setElementType( domCg_param::domHalf3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half3x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf3x4) );
+ mea->setElementType( domCg_param::domHalf3x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half4x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf4x1) );
+ mea->setElementType( domCg_param::domHalf4x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half4x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf4x2) );
+ mea->setElementType( domCg_param::domHalf4x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half4x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf4x3) );
+ mea->setElementType( domCg_param::domHalf4x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half4x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf4x4) );
+ mea->setElementType( domCg_param::domHalf4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed) );
+ mea->setElementType( domCg_param::domFixed::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed2) );
+ mea->setElementType( domCg_param::domFixed2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed3) );
+ mea->setElementType( domCg_param::domFixed3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed4) );
+ mea->setElementType( domCg_param::domFixed4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed2x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed2x1) );
+ mea->setElementType( domCg_param::domFixed2x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed2x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed2x2) );
+ mea->setElementType( domCg_param::domFixed2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed2x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed2x3) );
+ mea->setElementType( domCg_param::domFixed2x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed2x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed2x4) );
+ mea->setElementType( domCg_param::domFixed2x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed3x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed3x1) );
+ mea->setElementType( domCg_param::domFixed3x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed3x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed3x2) );
+ mea->setElementType( domCg_param::domFixed3x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed3x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed3x3) );
+ mea->setElementType( domCg_param::domFixed3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed3x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed3x4) );
+ mea->setElementType( domCg_param::domFixed3x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed4x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed4x1) );
+ mea->setElementType( domCg_param::domFixed4x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed4x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed4x2) );
+ mea->setElementType( domCg_param::domFixed4x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed4x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed4x3) );
+ mea->setElementType( domCg_param::domFixed4x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed4x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed4x4) );
+ mea->setElementType( domCg_param::domFixed4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler1D" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemSampler1D) );
+ mea->setElementType( domFx_sampler1D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler2D" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemSampler2D) );
+ mea->setElementType( domFx_sampler2D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler3D" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemSampler3D) );
+ mea->setElementType( domFx_sampler3D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerRECT" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemSamplerRECT) );
+ mea->setElementType( domFx_samplerRECT::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerCUBE" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemSamplerCUBE) );
+ mea->setElementType( domFx_samplerCUBE::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerDEPTH" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemSamplerDEPTH) );
+ mea->setElementType( domFx_samplerDEPTH::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "string" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemString) );
+ mea->setElementType( domCg_param::domString::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "enum" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemEnum) );
+ mea->setElementType( domCg_param::domEnum::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "array" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemArray) );
+ mea->setElementType( domCg_array::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "usertype" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemUsertype) );
+ mea->setElementType( domCg_user::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCg_param,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCg_param,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCg_param,_CMData), 1);
+ meta->setElementSize(sizeof(domCg_param));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool::create(DAE& dae)
+{
+ domCg_param::domBoolRef ref = new domCg_param::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domCg_param::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool2::create(DAE& dae)
+{
+ domCg_param::domBool2Ref ref = new domCg_param::domBool2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2" );
+ meta->registerClass(domCg_param::domBool2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool3::create(DAE& dae)
+{
+ domCg_param::domBool3Ref ref = new domCg_param::domBool3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3" );
+ meta->registerClass(domCg_param::domBool3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool4::create(DAE& dae)
+{
+ domCg_param::domBool4Ref ref = new domCg_param::domBool4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4" );
+ meta->registerClass(domCg_param::domBool4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool2x1::create(DAE& dae)
+{
+ domCg_param::domBool2x1Ref ref = new domCg_param::domBool2x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool2x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2x1" );
+ meta->registerClass(domCg_param::domBool2x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool2x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool2x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool2x2::create(DAE& dae)
+{
+ domCg_param::domBool2x2Ref ref = new domCg_param::domBool2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2x2" );
+ meta->registerClass(domCg_param::domBool2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool2x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool2x3::create(DAE& dae)
+{
+ domCg_param::domBool2x3Ref ref = new domCg_param::domBool2x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool2x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2x3" );
+ meta->registerClass(domCg_param::domBool2x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool2x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool2x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool2x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool2x4::create(DAE& dae)
+{
+ domCg_param::domBool2x4Ref ref = new domCg_param::domBool2x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool2x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2x4" );
+ meta->registerClass(domCg_param::domBool2x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool2x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool2x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool2x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool3x1::create(DAE& dae)
+{
+ domCg_param::domBool3x1Ref ref = new domCg_param::domBool3x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool3x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3x1" );
+ meta->registerClass(domCg_param::domBool3x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool3x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool3x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool3x2::create(DAE& dae)
+{
+ domCg_param::domBool3x2Ref ref = new domCg_param::domBool3x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool3x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3x2" );
+ meta->registerClass(domCg_param::domBool3x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool3x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool3x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool3x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool3x3::create(DAE& dae)
+{
+ domCg_param::domBool3x3Ref ref = new domCg_param::domBool3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3x3" );
+ meta->registerClass(domCg_param::domBool3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool3x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool3x4::create(DAE& dae)
+{
+ domCg_param::domBool3x4Ref ref = new domCg_param::domBool3x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool3x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3x4" );
+ meta->registerClass(domCg_param::domBool3x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool3x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool3x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool3x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool4x1::create(DAE& dae)
+{
+ domCg_param::domBool4x1Ref ref = new domCg_param::domBool4x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool4x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4x1" );
+ meta->registerClass(domCg_param::domBool4x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool4x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool4x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool4x2::create(DAE& dae)
+{
+ domCg_param::domBool4x2Ref ref = new domCg_param::domBool4x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool4x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4x2" );
+ meta->registerClass(domCg_param::domBool4x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool4x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool4x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool4x3::create(DAE& dae)
+{
+ domCg_param::domBool4x3Ref ref = new domCg_param::domBool4x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool4x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4x3" );
+ meta->registerClass(domCg_param::domBool4x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool4x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool4x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool4x4::create(DAE& dae)
+{
+ domCg_param::domBool4x4Ref ref = new domCg_param::domBool4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4x4" );
+ meta->registerClass(domCg_param::domBool4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat::create(DAE& dae)
+{
+ domCg_param::domFloatRef ref = new domCg_param::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domCg_param::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat2::create(DAE& dae)
+{
+ domCg_param::domFloat2Ref ref = new domCg_param::domFloat2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2" );
+ meta->registerClass(domCg_param::domFloat2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat3::create(DAE& dae)
+{
+ domCg_param::domFloat3Ref ref = new domCg_param::domFloat3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3" );
+ meta->registerClass(domCg_param::domFloat3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat4::create(DAE& dae)
+{
+ domCg_param::domFloat4Ref ref = new domCg_param::domFloat4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4" );
+ meta->registerClass(domCg_param::domFloat4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat2x1::create(DAE& dae)
+{
+ domCg_param::domFloat2x1Ref ref = new domCg_param::domFloat2x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat2x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x1" );
+ meta->registerClass(domCg_param::domFloat2x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat2x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat2x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat2x2::create(DAE& dae)
+{
+ domCg_param::domFloat2x2Ref ref = new domCg_param::domFloat2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x2" );
+ meta->registerClass(domCg_param::domFloat2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat2x3::create(DAE& dae)
+{
+ domCg_param::domFloat2x3Ref ref = new domCg_param::domFloat2x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat2x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x3" );
+ meta->registerClass(domCg_param::domFloat2x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat2x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat2x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat2x4::create(DAE& dae)
+{
+ domCg_param::domFloat2x4Ref ref = new domCg_param::domFloat2x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat2x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x4" );
+ meta->registerClass(domCg_param::domFloat2x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat2x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat2x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat3x1::create(DAE& dae)
+{
+ domCg_param::domFloat3x1Ref ref = new domCg_param::domFloat3x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat3x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x1" );
+ meta->registerClass(domCg_param::domFloat3x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat3x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat3x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat3x2::create(DAE& dae)
+{
+ domCg_param::domFloat3x2Ref ref = new domCg_param::domFloat3x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat3x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x2" );
+ meta->registerClass(domCg_param::domFloat3x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat3x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat3x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat3x3::create(DAE& dae)
+{
+ domCg_param::domFloat3x3Ref ref = new domCg_param::domFloat3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x3" );
+ meta->registerClass(domCg_param::domFloat3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat3x4::create(DAE& dae)
+{
+ domCg_param::domFloat3x4Ref ref = new domCg_param::domFloat3x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat3x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x4" );
+ meta->registerClass(domCg_param::domFloat3x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat3x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat3x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat4x1::create(DAE& dae)
+{
+ domCg_param::domFloat4x1Ref ref = new domCg_param::domFloat4x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat4x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x1" );
+ meta->registerClass(domCg_param::domFloat4x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat4x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat4x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat4x2::create(DAE& dae)
+{
+ domCg_param::domFloat4x2Ref ref = new domCg_param::domFloat4x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat4x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x2" );
+ meta->registerClass(domCg_param::domFloat4x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat4x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat4x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat4x3::create(DAE& dae)
+{
+ domCg_param::domFloat4x3Ref ref = new domCg_param::domFloat4x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat4x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x3" );
+ meta->registerClass(domCg_param::domFloat4x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat4x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat4x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat4x4::create(DAE& dae)
+{
+ domCg_param::domFloat4x4Ref ref = new domCg_param::domFloat4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x4" );
+ meta->registerClass(domCg_param::domFloat4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt::create(DAE& dae)
+{
+ domCg_param::domIntRef ref = new domCg_param::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domCg_param::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt2::create(DAE& dae)
+{
+ domCg_param::domInt2Ref ref = new domCg_param::domInt2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2" );
+ meta->registerClass(domCg_param::domInt2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt3::create(DAE& dae)
+{
+ domCg_param::domInt3Ref ref = new domCg_param::domInt3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3" );
+ meta->registerClass(domCg_param::domInt3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt4::create(DAE& dae)
+{
+ domCg_param::domInt4Ref ref = new domCg_param::domInt4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4" );
+ meta->registerClass(domCg_param::domInt4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt2x1::create(DAE& dae)
+{
+ domCg_param::domInt2x1Ref ref = new domCg_param::domInt2x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt2x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2x1" );
+ meta->registerClass(domCg_param::domInt2x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt2x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt2x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt2x2::create(DAE& dae)
+{
+ domCg_param::domInt2x2Ref ref = new domCg_param::domInt2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2x2" );
+ meta->registerClass(domCg_param::domInt2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int2x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt2x3::create(DAE& dae)
+{
+ domCg_param::domInt2x3Ref ref = new domCg_param::domInt2x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt2x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2x3" );
+ meta->registerClass(domCg_param::domInt2x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int2x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt2x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt2x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt2x4::create(DAE& dae)
+{
+ domCg_param::domInt2x4Ref ref = new domCg_param::domInt2x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt2x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2x4" );
+ meta->registerClass(domCg_param::domInt2x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int2x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt2x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt2x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt3x1::create(DAE& dae)
+{
+ domCg_param::domInt3x1Ref ref = new domCg_param::domInt3x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt3x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3x1" );
+ meta->registerClass(domCg_param::domInt3x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt3x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt3x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt3x2::create(DAE& dae)
+{
+ domCg_param::domInt3x2Ref ref = new domCg_param::domInt3x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt3x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3x2" );
+ meta->registerClass(domCg_param::domInt3x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int3x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt3x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt3x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt3x3::create(DAE& dae)
+{
+ domCg_param::domInt3x3Ref ref = new domCg_param::domInt3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3x3" );
+ meta->registerClass(domCg_param::domInt3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int3x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt3x4::create(DAE& dae)
+{
+ domCg_param::domInt3x4Ref ref = new domCg_param::domInt3x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt3x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3x4" );
+ meta->registerClass(domCg_param::domInt3x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int3x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt3x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt3x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt4x1::create(DAE& dae)
+{
+ domCg_param::domInt4x1Ref ref = new domCg_param::domInt4x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt4x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4x1" );
+ meta->registerClass(domCg_param::domInt4x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt4x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt4x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt4x2::create(DAE& dae)
+{
+ domCg_param::domInt4x2Ref ref = new domCg_param::domInt4x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt4x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4x2" );
+ meta->registerClass(domCg_param::domInt4x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int4x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt4x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt4x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt4x3::create(DAE& dae)
+{
+ domCg_param::domInt4x3Ref ref = new domCg_param::domInt4x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt4x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4x3" );
+ meta->registerClass(domCg_param::domInt4x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int4x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt4x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt4x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt4x4::create(DAE& dae)
+{
+ domCg_param::domInt4x4Ref ref = new domCg_param::domInt4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4x4" );
+ meta->registerClass(domCg_param::domInt4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int4x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf::create(DAE& dae)
+{
+ domCg_param::domHalfRef ref = new domCg_param::domHalf(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half" );
+ meta->registerClass(domCg_param::domHalf::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf2::create(DAE& dae)
+{
+ domCg_param::domHalf2Ref ref = new domCg_param::domHalf2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half2" );
+ meta->registerClass(domCg_param::domHalf2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf3::create(DAE& dae)
+{
+ domCg_param::domHalf3Ref ref = new domCg_param::domHalf3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half3" );
+ meta->registerClass(domCg_param::domHalf3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf4::create(DAE& dae)
+{
+ domCg_param::domHalf4Ref ref = new domCg_param::domHalf4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half4" );
+ meta->registerClass(domCg_param::domHalf4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf2x1::create(DAE& dae)
+{
+ domCg_param::domHalf2x1Ref ref = new domCg_param::domHalf2x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf2x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half2x1" );
+ meta->registerClass(domCg_param::domHalf2x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf2x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf2x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf2x2::create(DAE& dae)
+{
+ domCg_param::domHalf2x2Ref ref = new domCg_param::domHalf2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half2x2" );
+ meta->registerClass(domCg_param::domHalf2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf2x3::create(DAE& dae)
+{
+ domCg_param::domHalf2x3Ref ref = new domCg_param::domHalf2x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf2x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half2x3" );
+ meta->registerClass(domCg_param::domHalf2x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf2x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf2x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf2x4::create(DAE& dae)
+{
+ domCg_param::domHalf2x4Ref ref = new domCg_param::domHalf2x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf2x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half2x4" );
+ meta->registerClass(domCg_param::domHalf2x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf2x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf2x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf3x1::create(DAE& dae)
+{
+ domCg_param::domHalf3x1Ref ref = new domCg_param::domHalf3x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf3x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half3x1" );
+ meta->registerClass(domCg_param::domHalf3x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf3x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf3x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf3x2::create(DAE& dae)
+{
+ domCg_param::domHalf3x2Ref ref = new domCg_param::domHalf3x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf3x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half3x2" );
+ meta->registerClass(domCg_param::domHalf3x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf3x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf3x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf3x3::create(DAE& dae)
+{
+ domCg_param::domHalf3x3Ref ref = new domCg_param::domHalf3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half3x3" );
+ meta->registerClass(domCg_param::domHalf3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf3x4::create(DAE& dae)
+{
+ domCg_param::domHalf3x4Ref ref = new domCg_param::domHalf3x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf3x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half3x4" );
+ meta->registerClass(domCg_param::domHalf3x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf3x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf3x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf4x1::create(DAE& dae)
+{
+ domCg_param::domHalf4x1Ref ref = new domCg_param::domHalf4x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf4x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half4x1" );
+ meta->registerClass(domCg_param::domHalf4x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf4x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf4x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf4x2::create(DAE& dae)
+{
+ domCg_param::domHalf4x2Ref ref = new domCg_param::domHalf4x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf4x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half4x2" );
+ meta->registerClass(domCg_param::domHalf4x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf4x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf4x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf4x3::create(DAE& dae)
+{
+ domCg_param::domHalf4x3Ref ref = new domCg_param::domHalf4x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf4x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half4x3" );
+ meta->registerClass(domCg_param::domHalf4x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf4x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf4x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf4x4::create(DAE& dae)
+{
+ domCg_param::domHalf4x4Ref ref = new domCg_param::domHalf4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half4x4" );
+ meta->registerClass(domCg_param::domHalf4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed::create(DAE& dae)
+{
+ domCg_param::domFixedRef ref = new domCg_param::domFixed(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed" );
+ meta->registerClass(domCg_param::domFixed::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed2::create(DAE& dae)
+{
+ domCg_param::domFixed2Ref ref = new domCg_param::domFixed2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed2" );
+ meta->registerClass(domCg_param::domFixed2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed3::create(DAE& dae)
+{
+ domCg_param::domFixed3Ref ref = new domCg_param::domFixed3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed3" );
+ meta->registerClass(domCg_param::domFixed3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed4::create(DAE& dae)
+{
+ domCg_param::domFixed4Ref ref = new domCg_param::domFixed4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed4" );
+ meta->registerClass(domCg_param::domFixed4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed2x1::create(DAE& dae)
+{
+ domCg_param::domFixed2x1Ref ref = new domCg_param::domFixed2x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed2x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed2x1" );
+ meta->registerClass(domCg_param::domFixed2x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed2x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed2x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed2x2::create(DAE& dae)
+{
+ domCg_param::domFixed2x2Ref ref = new domCg_param::domFixed2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed2x2" );
+ meta->registerClass(domCg_param::domFixed2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed2x3::create(DAE& dae)
+{
+ domCg_param::domFixed2x3Ref ref = new domCg_param::domFixed2x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed2x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed2x3" );
+ meta->registerClass(domCg_param::domFixed2x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed2x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed2x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed2x4::create(DAE& dae)
+{
+ domCg_param::domFixed2x4Ref ref = new domCg_param::domFixed2x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed2x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed2x4" );
+ meta->registerClass(domCg_param::domFixed2x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed2x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed2x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed3x1::create(DAE& dae)
+{
+ domCg_param::domFixed3x1Ref ref = new domCg_param::domFixed3x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed3x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed3x1" );
+ meta->registerClass(domCg_param::domFixed3x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed3x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed3x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed3x2::create(DAE& dae)
+{
+ domCg_param::domFixed3x2Ref ref = new domCg_param::domFixed3x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed3x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed3x2" );
+ meta->registerClass(domCg_param::domFixed3x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed3x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed3x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed3x3::create(DAE& dae)
+{
+ domCg_param::domFixed3x3Ref ref = new domCg_param::domFixed3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed3x3" );
+ meta->registerClass(domCg_param::domFixed3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed3x4::create(DAE& dae)
+{
+ domCg_param::domFixed3x4Ref ref = new domCg_param::domFixed3x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed3x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed3x4" );
+ meta->registerClass(domCg_param::domFixed3x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed3x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed3x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed4x1::create(DAE& dae)
+{
+ domCg_param::domFixed4x1Ref ref = new domCg_param::domFixed4x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed4x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed4x1" );
+ meta->registerClass(domCg_param::domFixed4x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed4x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed4x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed4x2::create(DAE& dae)
+{
+ domCg_param::domFixed4x2Ref ref = new domCg_param::domFixed4x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed4x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed4x2" );
+ meta->registerClass(domCg_param::domFixed4x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed4x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed4x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed4x3::create(DAE& dae)
+{
+ domCg_param::domFixed4x3Ref ref = new domCg_param::domFixed4x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed4x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed4x3" );
+ meta->registerClass(domCg_param::domFixed4x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed4x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed4x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed4x4::create(DAE& dae)
+{
+ domCg_param::domFixed4x4Ref ref = new domCg_param::domFixed4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed4x4" );
+ meta->registerClass(domCg_param::domFixed4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domString::create(DAE& dae)
+{
+ domCg_param::domStringRef ref = new domCg_param::domString(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domString::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "string" );
+ meta->registerClass(domCg_param::domString::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domCg_param::domString , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domString));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domEnum::create(DAE& dae)
+{
+ domCg_param::domEnumRef ref = new domCg_param::domEnum(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domEnum::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "enum" );
+ meta->registerClass(domCg_param::domEnum::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_enumeration"));
+ ma->setOffset( daeOffsetOf( domCg_param::domEnum , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domEnum));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCg_pass.cpp b/1.4.0/dom/src/1.5/dom/domCg_pass.cpp
new file mode 100644
index 0000000..d767152
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCg_pass.cpp
@@ -0,0 +1,512 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCg_pass.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCg_pass::create(DAE& dae)
+{
+ domCg_passRef ref = new domCg_pass(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_pass::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cg_pass" );
+ meta->registerClass(domCg_pass::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domCg_pass,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "states" );
+ mea->setOffset( daeOffsetOf(domCg_pass,elemStates) );
+ mea->setElementType( domCg_pass::domStates::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "program" );
+ mea->setOffset( daeOffsetOf(domCg_pass,elemProgram) );
+ mea->setElementType( domCg_pass::domProgram::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "evaluate" );
+ mea->setOffset( daeOffsetOf(domCg_pass,elemEvaluate) );
+ mea->setElementType( domCg_pass::domEvaluate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCg_pass,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domCg_pass , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_pass));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_pass::domStates::create(DAE& dae)
+{
+ domCg_pass::domStatesRef ref = new domCg_pass::domStates(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_pass::domStates::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "states" );
+ meta->registerClass(domCg_pass::domStates::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "gl_pipeline_settings" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domStates,elemGl_pipeline_settings_array) );
+ mea->setElementType( domGl_pipeline_settings::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 0, -1 ) );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCg_pass::domStates));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_pass::domProgram::create(DAE& dae)
+{
+ domCg_pass::domProgramRef ref = new domCg_pass::domProgram(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_pass::domProgram::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "program" );
+ meta->registerClass(domCg_pass::domProgram::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "shader" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domProgram,elemShader_array) );
+ mea->setElementType( domCg_pass::domProgram::domShader::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCg_pass::domProgram));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_pass::domProgram::domShader::create(DAE& dae)
+{
+ domCg_pass::domProgram::domShaderRef ref = new domCg_pass::domProgram::domShader(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_pass::domProgram::domShader::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "shader" );
+ meta->registerClass(domCg_pass::domProgram::domShader::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sources" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domProgram::domShader,elemSources) );
+ mea->setElementType( domCg_pass::domProgram::domShader::domSources::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "compiler" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domProgram::domShader,elemCompiler_array) );
+ mea->setElementType( domFx_target::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "bind_uniform" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domProgram::domShader,elemBind_uniform_array) );
+ mea->setElementType( domCg_pass::domProgram::domShader::domBind_uniform::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: stage
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "stage" );
+ ma->setType( dae.getAtomicTypes().get("Fx_pipeline_stage"));
+ ma->setOffset( daeOffsetOf( domCg_pass::domProgram::domShader , attrStage ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_pass::domProgram::domShader));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_pass::domProgram::domShader::domSources::create(DAE& dae)
+{
+ domCg_pass::domProgram::domShader::domSourcesRef ref = new domCg_pass::domProgram::domShader::domSources(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_pass::domProgram::domShader::domSources::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sources" );
+ meta->registerClass(domCg_pass::domProgram::domShader::domSources::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "inline" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domProgram::domShader::domSources,elemInline_array) );
+ mea->setElementType( domInline::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "import" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domProgram::domShader::domSources,elemImport_array) );
+ mea->setElementType( domImport::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 3000 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 3000 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCg_pass::domProgram::domShader::domSources,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCg_pass::domProgram::domShader::domSources,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCg_pass::domProgram::domShader::domSources,_CMData), 1);
+ // Add attribute: entry
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "entry" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domCg_pass::domProgram::domShader::domSources , attrEntry ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_pass::domProgram::domShader::domSources));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_pass::domProgram::domShader::domBind_uniform::create(DAE& dae)
+{
+ domCg_pass::domProgram::domShader::domBind_uniformRef ref = new domCg_pass::domProgram::domShader::domBind_uniform(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_pass::domProgram::domShader::domBind_uniform::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind_uniform" );
+ meta->registerClass(domCg_pass::domProgram::domShader::domBind_uniform::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domProgram::domShader::domBind_uniform,elemParam) );
+ mea->setElementType( domCg_pass::domProgram::domShader::domBind_uniform::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cg_param" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domProgram::domShader::domBind_uniform,elemCg_param) );
+ mea->setElementType( domCg_param::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCg_pass::domProgram::domShader::domBind_uniform,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCg_pass::domProgram::domShader::domBind_uniform,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCg_pass::domProgram::domShader::domBind_uniform,_CMData), 1);
+ // Add attribute: symbol
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "symbol" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domCg_pass::domProgram::domShader::domBind_uniform , attrSymbol ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_pass::domProgram::domShader::domBind_uniform));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_pass::domProgram::domShader::domBind_uniform::domParam::create(DAE& dae)
+{
+ domCg_pass::domProgram::domShader::domBind_uniform::domParamRef ref = new domCg_pass::domProgram::domShader::domBind_uniform::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_pass::domProgram::domShader::domBind_uniform::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domCg_pass::domProgram::domShader::domBind_uniform::domParam::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domCg_pass::domProgram::domShader::domBind_uniform::domParam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_pass::domProgram::domShader::domBind_uniform::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_pass::domEvaluate::create(DAE& dae)
+{
+ domCg_pass::domEvaluateRef ref = new domCg_pass::domEvaluate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_pass::domEvaluate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "evaluate" );
+ meta->registerClass(domCg_pass::domEvaluate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "color_target" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domEvaluate,elemColor_target_array) );
+ mea->setElementType( domFx_colortarget::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "depth_target" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domEvaluate,elemDepth_target_array) );
+ mea->setElementType( domFx_depthtarget::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "stencil_target" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domEvaluate,elemStencil_target_array) );
+ mea->setElementType( domFx_stenciltarget::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "color_clear" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domEvaluate,elemColor_clear_array) );
+ mea->setElementType( domFx_clearcolor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "depth_clear" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domEvaluate,elemDepth_clear_array) );
+ mea->setElementType( domFx_cleardepth::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 5, 0, -1 );
+ mea->setName( "stencil_clear" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domEvaluate,elemStencil_clear_array) );
+ mea->setElementType( domFx_clearstencil::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "draw" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domEvaluate,elemDraw) );
+ mea->setElementType( domCg_pass::domEvaluate::domDraw::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 6 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCg_pass::domEvaluate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_pass::domEvaluate::domDraw::create(DAE& dae)
+{
+ domCg_pass::domEvaluate::domDrawRef ref = new domCg_pass::domEvaluate::domDraw(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_pass::domEvaluate::domDraw::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "draw" );
+ meta->registerClass(domCg_pass::domEvaluate::domDraw::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_draw"));
+ ma->setOffset( daeOffsetOf( domCg_pass::domEvaluate::domDraw , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_pass::domEvaluate::domDraw));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCg_setparam.cpp b/1.4.0/dom/src/1.5/dom/domCg_setparam.cpp
new file mode 100644
index 0000000..862f5f8
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCg_setparam.cpp
@@ -0,0 +1,63 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCg_setparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCg_setparam::create(DAE& dae)
+{
+ domCg_setparamRef ref = new domCg_setparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_setparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cg_setparam" );
+ meta->registerClass(domCg_setparam::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cg_param" );
+ mea->setOffset( daeOffsetOf(domCg_setparam,elemCg_param) );
+ mea->setElementType( domCg_param::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domCg_setparam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_setparam));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCg_user.cpp b/1.4.0/dom/src/1.5/dom/domCg_user.cpp
new file mode 100644
index 0000000..123b58d
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCg_user.cpp
@@ -0,0 +1,75 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCg_user.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCg_user::create(DAE& dae)
+{
+ domCg_userRef ref = new domCg_user(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_user::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cg_user" );
+ meta->registerClass(domCg_user::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 0, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "setparam" );
+ mea->setOffset( daeOffsetOf(domCg_user,elemSetparam_array) );
+ mea->setElementType( domCg_setparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: typename
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "typename" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domCg_user , attrTypename ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domCg_user , attrSource ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_user));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domChannel.cpp b/1.4.0/dom/src/1.5/dom/domChannel.cpp
new file mode 100644
index 0000000..6241c37
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domChannel.cpp
@@ -0,0 +1,64 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domChannel.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domChannel::create(DAE& dae)
+{
+ domChannelRef ref = new domChannel(dae);
+ ref->attrSource.setContainer( (domChannel*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domChannel::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "channel" );
+ meta->registerClass(domChannel::create);
+
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("Urifragment"));
+ ma->setOffset( daeOffsetOf( domChannel , attrSource ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: target
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "target" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domChannel , attrTarget ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domChannel));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCircle.cpp b/1.4.0/dom/src/1.5/dom/domCircle.cpp
new file mode 100644
index 0000000..732dc38
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCircle.cpp
@@ -0,0 +1,93 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCircle.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCircle::create(DAE& dae)
+{
+ domCircleRef ref = new domCircle(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCircle::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "circle" );
+ meta->registerClass(domCircle::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "radius" );
+ mea->setOffset( daeOffsetOf(domCircle,elemRadius) );
+ mea->setElementType( domCircle::domRadius::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCircle,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCircle));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCircle::domRadius::create(DAE& dae)
+{
+ domCircle::domRadiusRef ref = new domCircle::domRadius(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCircle::domRadius::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "radius" );
+ meta->registerClass(domCircle::domRadius::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domCircle::domRadius , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCircle::domRadius));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCommon_bool_or_param.cpp b/1.4.0/dom/src/1.5/dom/domCommon_bool_or_param.cpp
new file mode 100644
index 0000000..e26675f
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCommon_bool_or_param.cpp
@@ -0,0 +1,97 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCommon_bool_or_param.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCommon_bool_or_param::create(DAE& dae)
+{
+ domCommon_bool_or_paramRef ref = new domCommon_bool_or_param(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_bool_or_param::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "common_bool_or_param" );
+ meta->registerClass(domCommon_bool_or_param::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domCommon_bool_or_param,elemBool) );
+ mea->setElementType( domCommon_bool_or_param::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domCommon_bool_or_param,elemParam) );
+ mea->setElementType( domCommon_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCommon_bool_or_param,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCommon_bool_or_param,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCommon_bool_or_param,_CMData), 1);
+ meta->setElementSize(sizeof(domCommon_bool_or_param));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCommon_bool_or_param::domBool::create(DAE& dae)
+{
+ domCommon_bool_or_param::domBoolRef ref = new domCommon_bool_or_param::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_bool_or_param::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domCommon_bool_or_param::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domCommon_bool_or_param::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCommon_bool_or_param::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCommon_float2_or_param.cpp b/1.4.0/dom/src/1.5/dom/domCommon_float2_or_param.cpp
new file mode 100644
index 0000000..207506f
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCommon_float2_or_param.cpp
@@ -0,0 +1,97 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCommon_float2_or_param.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCommon_float2_or_param::create(DAE& dae)
+{
+ domCommon_float2_or_paramRef ref = new domCommon_float2_or_param(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_float2_or_param::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "common_float2_or_param" );
+ meta->registerClass(domCommon_float2_or_param::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2" );
+ mea->setOffset( daeOffsetOf(domCommon_float2_or_param,elemFloat2) );
+ mea->setElementType( domCommon_float2_or_param::domFloat2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domCommon_float2_or_param,elemParam) );
+ mea->setElementType( domCommon_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCommon_float2_or_param,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCommon_float2_or_param,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCommon_float2_or_param,_CMData), 1);
+ meta->setElementSize(sizeof(domCommon_float2_or_param));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCommon_float2_or_param::domFloat2::create(DAE& dae)
+{
+ domCommon_float2_or_param::domFloat2Ref ref = new domCommon_float2_or_param::domFloat2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_float2_or_param::domFloat2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2" );
+ meta->registerClass(domCommon_float2_or_param::domFloat2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domCommon_float2_or_param::domFloat2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCommon_float2_or_param::domFloat2));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCommon_float_or_param.cpp b/1.4.0/dom/src/1.5/dom/domCommon_float_or_param.cpp
new file mode 100644
index 0000000..a69b914
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCommon_float_or_param.cpp
@@ -0,0 +1,97 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCommon_float_or_param.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCommon_float_or_param::create(DAE& dae)
+{
+ domCommon_float_or_paramRef ref = new domCommon_float_or_param(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_float_or_param::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "common_float_or_param" );
+ meta->registerClass(domCommon_float_or_param::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domCommon_float_or_param,elemFloat) );
+ mea->setElementType( domCommon_float_or_param::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domCommon_float_or_param,elemParam) );
+ mea->setElementType( domCommon_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCommon_float_or_param,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCommon_float_or_param,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCommon_float_or_param,_CMData), 1);
+ meta->setElementSize(sizeof(domCommon_float_or_param));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCommon_float_or_param::domFloat::create(DAE& dae)
+{
+ domCommon_float_or_param::domFloatRef ref = new domCommon_float_or_param::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_float_or_param::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domCommon_float_or_param::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domCommon_float_or_param::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCommon_float_or_param::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCommon_int_or_param.cpp b/1.4.0/dom/src/1.5/dom/domCommon_int_or_param.cpp
new file mode 100644
index 0000000..9072629
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCommon_int_or_param.cpp
@@ -0,0 +1,97 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCommon_int_or_param.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCommon_int_or_param::create(DAE& dae)
+{
+ domCommon_int_or_paramRef ref = new domCommon_int_or_param(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_int_or_param::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "common_int_or_param" );
+ meta->registerClass(domCommon_int_or_param::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domCommon_int_or_param,elemInt) );
+ mea->setElementType( domCommon_int_or_param::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domCommon_int_or_param,elemParam) );
+ mea->setElementType( domCommon_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCommon_int_or_param,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCommon_int_or_param,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCommon_int_or_param,_CMData), 1);
+ meta->setElementSize(sizeof(domCommon_int_or_param));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCommon_int_or_param::domInt::create(DAE& dae)
+{
+ domCommon_int_or_param::domIntRef ref = new domCommon_int_or_param::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_int_or_param::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domCommon_int_or_param::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domCommon_int_or_param::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCommon_int_or_param::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCommon_param.cpp b/1.4.0/dom/src/1.5/dom/domCommon_param.cpp
new file mode 100644
index 0000000..9b3b986
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCommon_param.cpp
@@ -0,0 +1,48 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCommon_param.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCommon_param::create(DAE& dae)
+{
+ domCommon_paramRef ref = new domCommon_param(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_param::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "common_param" );
+ meta->registerClass(domCommon_param::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domCommon_param , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCommon_param));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCommon_sidref_or_param.cpp b/1.4.0/dom/src/1.5/dom/domCommon_sidref_or_param.cpp
new file mode 100644
index 0000000..03705ca
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCommon_sidref_or_param.cpp
@@ -0,0 +1,97 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCommon_sidref_or_param.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCommon_sidref_or_param::create(DAE& dae)
+{
+ domCommon_sidref_or_paramRef ref = new domCommon_sidref_or_param(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_sidref_or_param::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "common_sidref_or_param" );
+ meta->registerClass(domCommon_sidref_or_param::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "SIDREF" );
+ mea->setOffset( daeOffsetOf(domCommon_sidref_or_param,elemSIDREF) );
+ mea->setElementType( domCommon_sidref_or_param::domSIDREF::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domCommon_sidref_or_param,elemParam) );
+ mea->setElementType( domCommon_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCommon_sidref_or_param,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCommon_sidref_or_param,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCommon_sidref_or_param,_CMData), 1);
+ meta->setElementSize(sizeof(domCommon_sidref_or_param));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCommon_sidref_or_param::domSIDREF::create(DAE& dae)
+{
+ domCommon_sidref_or_param::domSIDREFRef ref = new domCommon_sidref_or_param::domSIDREF(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_sidref_or_param::domSIDREF::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "SIDREF" );
+ meta->registerClass(domCommon_sidref_or_param::domSIDREF::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Sidref"));
+ ma->setOffset( daeOffsetOf( domCommon_sidref_or_param::domSIDREF , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCommon_sidref_or_param::domSIDREF));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCone.cpp b/1.4.0/dom/src/1.5/dom/domCone.cpp
new file mode 100644
index 0000000..1cc1ede
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCone.cpp
@@ -0,0 +1,135 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCone.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCone::create(DAE& dae)
+{
+ domConeRef ref = new domCone(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCone::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cone" );
+ meta->registerClass(domCone::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "radius" );
+ mea->setOffset( daeOffsetOf(domCone,elemRadius) );
+ mea->setElementType( domCone::domRadius::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "angle" );
+ mea->setOffset( daeOffsetOf(domCone,elemAngle) );
+ mea->setElementType( domCone::domAngle::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCone,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCone));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCone::domRadius::create(DAE& dae)
+{
+ domCone::domRadiusRef ref = new domCone::domRadius(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCone::domRadius::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "radius" );
+ meta->registerClass(domCone::domRadius::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domCone::domRadius , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCone::domRadius));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCone::domAngle::create(DAE& dae)
+{
+ domCone::domAngleRef ref = new domCone::domAngle(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCone::domAngle::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "angle" );
+ meta->registerClass(domCone::domAngle::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domCone::domAngle , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCone::domAngle));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domConstants.cpp b/1.4.0/dom/src/1.5/dom/domConstants.cpp
new file mode 100644
index 0000000..d458a12
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domConstants.cpp
@@ -0,0 +1,1211 @@
+#include <1.5/dom/domConstants.h>
+
+namespace ColladaDOM150 {
+
+DLLSPEC daeString COLLADA_VERSION = "1.5.0";
+DLLSPEC daeString COLLADA_NAMESPACE = "http://www.collada.org/2008/03/COLLADASchema";
+
+DLLSPEC daeString COMMON_PROFILE_INPUT_BINORMAL = "BINORMAL";
+DLLSPEC daeString COMMON_PROFILE_INPUT_COLOR = "COLOR";
+DLLSPEC daeString COMMON_PROFILE_INPUT_CONTINUITY = "CONTINUITY";
+DLLSPEC daeString COMMON_PROFILE_INPUT_IMAGE = "IMAGE";
+DLLSPEC daeString COMMON_PROFILE_INPUT_IN_TANGENT = "IN_TANGENT";
+DLLSPEC daeString COMMON_PROFILE_INPUT_INPUT = "INPUT";
+DLLSPEC daeString COMMON_PROFILE_INPUT_INTERPOLATION = "INTERPOLATION";
+DLLSPEC daeString COMMON_PROFILE_INPUT_INV_BIND_MATRIX = "INV_BIND_MATRIX";
+DLLSPEC daeString COMMON_PROFILE_INPUT_JOINT = "JOINT";
+DLLSPEC daeString COMMON_PROFILE_INPUT_LINEAR_STEPS = "LINEAR_STEPS";
+DLLSPEC daeString COMMON_PROFILE_INPUT_MORPH_TARGET = "MORPH_TARGET";
+DLLSPEC daeString COMMON_PROFILE_INPUT_MORPH_WEIGHT = "MORPH_WEIGHT";
+DLLSPEC daeString COMMON_PROFILE_INPUT_NORMAL = "NORMAL";
+DLLSPEC daeString COMMON_PROFILE_INPUT_OUTPUT = "OUTPUT";
+DLLSPEC daeString COMMON_PROFILE_INPUT_OUT_TANGENT = "OUT_TANGENT";
+DLLSPEC daeString COMMON_PROFILE_INPUT_POSITION = "POSITION";
+DLLSPEC daeString COMMON_PROFILE_INPUT_TANGENT = "TANGENT";
+DLLSPEC daeString COMMON_PROFILE_INPUT_TEXBINORMAL = "TEXBINORMAL";
+DLLSPEC daeString COMMON_PROFILE_INPUT_TEXCOORD = "TEXCOORD";
+DLLSPEC daeString COMMON_PROFILE_INPUT_TEXTANGENT = "TEXTANGENT";
+DLLSPEC daeString COMMON_PROFILE_INPUT_UV = "UV";
+DLLSPEC daeString COMMON_PROFILE_INPUT_VERTEX = "VERTEX";
+DLLSPEC daeString COMMON_PROFILE_INPUT_WEIGHT = "WEIGHT";
+
+DLLSPEC daeString COMMON_PROFILE_PARAM_A = "A";
+DLLSPEC daeString COMMON_PROFILE_PARAM_ANGLE = "ANGLE";
+DLLSPEC daeString COMMON_PROFILE_PARAM_B = "B";
+DLLSPEC daeString COMMON_PROFILE_PARAM_DOUBLE_SIDED = "DOUBLE_SIDED";
+DLLSPEC daeString COMMON_PROFILE_PARAM_G = "G";
+DLLSPEC daeString COMMON_PROFILE_PARAM_P = "P";
+DLLSPEC daeString COMMON_PROFILE_PARAM_Q = "Q";
+DLLSPEC daeString COMMON_PROFILE_PARAM_R = "R";
+DLLSPEC daeString COMMON_PROFILE_PARAM_S = "S";
+DLLSPEC daeString COMMON_PROFILE_PARAM_T = "T";
+DLLSPEC daeString COMMON_PROFILE_PARAM_TIME = "TIME";
+DLLSPEC daeString COMMON_PROFILE_PARAM_U = "U";
+DLLSPEC daeString COMMON_PROFILE_PARAM_V = "V";
+DLLSPEC daeString COMMON_PROFILE_PARAM_W = "W";
+DLLSPEC daeString COMMON_PROFILE_PARAM_X = "X";
+DLLSPEC daeString COMMON_PROFILE_PARAM_Y = "Y";
+DLLSPEC daeString COMMON_PROFILE_PARAM_Z = "Z";
+
+
+DLLSPEC daeString COLLADA_TYPE_INPUT_GLOBAL = "input_global";
+DLLSPEC daeString COLLADA_TYPE_INPUT_LOCAL = "input_local";
+DLLSPEC daeString COLLADA_TYPE_INPUT_LOCAL_OFFSET = "input_local_offset";
+DLLSPEC daeString COLLADA_TYPE_TARGETABLE_FLOAT = "targetable_float";
+DLLSPEC daeString COLLADA_TYPE_TARGETABLE_FLOAT3 = "targetable_float3";
+DLLSPEC daeString COLLADA_TYPE_TOKEN_ARRAY = "token_array";
+DLLSPEC daeString COLLADA_TYPE_IDREF_ARRAY = "idref_array";
+DLLSPEC daeString COLLADA_TYPE_NAME_ARRAY = "name_array";
+DLLSPEC daeString COLLADA_TYPE_BOOL_ARRAY = "bool_array";
+DLLSPEC daeString COLLADA_TYPE_FLOAT_ARRAY = "float_array";
+DLLSPEC daeString COLLADA_TYPE_INT_ARRAY = "int_array";
+DLLSPEC daeString COLLADA_TYPE_PARAM = "param";
+DLLSPEC daeString COLLADA_TYPE_ACCESSOR = "accessor";
+DLLSPEC daeString COLLADA_TYPE_P = "p";
+DLLSPEC daeString COLLADA_TYPE_LOOKAT = "lookat";
+DLLSPEC daeString COLLADA_TYPE_MATRIX = "matrix";
+DLLSPEC daeString COLLADA_TYPE_SCALE = "scale";
+DLLSPEC daeString COLLADA_TYPE_SKEW = "skew";
+DLLSPEC daeString COLLADA_TYPE_TRANSLATE = "translate";
+DLLSPEC daeString COLLADA_TYPE_IMAGE_SOURCE = "image_source";
+DLLSPEC daeString COLLADA_TYPE_REF = "ref";
+DLLSPEC daeString COLLADA_TYPE_HEX = "hex";
+DLLSPEC daeString COLLADA_TYPE_IMAGE_MIPS = "image_mips";
+DLLSPEC daeString COLLADA_TYPE_CHANNEL = "channel";
+DLLSPEC daeString COLLADA_TYPE_SAMPLER = "sampler";
+DLLSPEC daeString COLLADA_TYPE_TECHNIQUE = "technique";
+DLLSPEC daeString COLLADA_TYPE_EXTRA = "extra";
+DLLSPEC daeString COLLADA_TYPE_POLYLIST = "polylist";
+DLLSPEC daeString COLLADA_TYPE_VCOUNT = "vcount";
+DLLSPEC daeString COLLADA_TYPE_POLYGONS = "polygons";
+DLLSPEC daeString COLLADA_TYPE_PH = "ph";
+DLLSPEC daeString COLLADA_TYPE_H = "h";
+DLLSPEC daeString COLLADA_TYPE_LINESTRIPS = "linestrips";
+DLLSPEC daeString COLLADA_TYPE_TRISTRIPS = "tristrips";
+DLLSPEC daeString COLLADA_TYPE_LINES = "lines";
+DLLSPEC daeString COLLADA_TYPE_TRIANGLES = "triangles";
+DLLSPEC daeString COLLADA_TYPE_TRIFANS = "trifans";
+DLLSPEC daeString COLLADA_TYPE_VERTICES = "vertices";
+DLLSPEC daeString COLLADA_TYPE_ASSET = "asset";
+DLLSPEC daeString COLLADA_TYPE_CONTRIBUTOR = "contributor";
+DLLSPEC daeString COLLADA_TYPE_AUTHOR = "author";
+DLLSPEC daeString COLLADA_TYPE_AUTHOR_EMAIL = "author_email";
+DLLSPEC daeString COLLADA_TYPE_AUTHOR_WEBSITE = "author_website";
+DLLSPEC daeString COLLADA_TYPE_AUTHORING_TOOL = "authoring_tool";
+DLLSPEC daeString COLLADA_TYPE_COMMENTS = "comments";
+DLLSPEC daeString COLLADA_TYPE_COPYRIGHT = "copyright";
+DLLSPEC daeString COLLADA_TYPE_SOURCE_DATA = "source_data";
+DLLSPEC daeString COLLADA_TYPE_COVERAGE = "coverage";
+DLLSPEC daeString COLLADA_TYPE_GEOGRAPHIC_LOCATION = "geographic_location";
+DLLSPEC daeString COLLADA_TYPE_LONGITUDE = "longitude";
+DLLSPEC daeString COLLADA_TYPE_LATITUDE = "latitude";
+DLLSPEC daeString COLLADA_TYPE_ALTITUDE = "altitude";
+DLLSPEC daeString COLLADA_TYPE_CREATED = "created";
+DLLSPEC daeString COLLADA_TYPE_KEYWORDS = "keywords";
+DLLSPEC daeString COLLADA_TYPE_MODIFIED = "modified";
+DLLSPEC daeString COLLADA_TYPE_REVISION = "revision";
+DLLSPEC daeString COLLADA_TYPE_SUBJECT = "subject";
+DLLSPEC daeString COLLADA_TYPE_TITLE = "title";
+DLLSPEC daeString COLLADA_TYPE_UNIT = "unit";
+DLLSPEC daeString COLLADA_TYPE_UP_AXIS = "up_axis";
+DLLSPEC daeString COLLADA_TYPE_IMAGE = "image";
+DLLSPEC daeString COLLADA_TYPE_RENDERABLE = "renderable";
+DLLSPEC daeString COLLADA_TYPE_INIT_FROM = "init_from";
+DLLSPEC daeString COLLADA_TYPE_CREATE_2D = "create_2d";
+DLLSPEC daeString COLLADA_TYPE_SIZE_EXACT = "size_exact";
+DLLSPEC daeString COLLADA_TYPE_SIZE_RATIO = "size_ratio";
+DLLSPEC daeString COLLADA_TYPE_UNNORMALIZED = "unnormalized";
+DLLSPEC daeString COLLADA_TYPE_ARRAY = "array";
+DLLSPEC daeString COLLADA_TYPE_FORMAT = "format";
+DLLSPEC daeString COLLADA_TYPE_HINT = "hint";
+DLLSPEC daeString COLLADA_TYPE_EXACT = "exact";
+DLLSPEC daeString COLLADA_TYPE_CREATE_3D = "create_3d";
+DLLSPEC daeString COLLADA_TYPE_SIZE = "size";
+DLLSPEC daeString COLLADA_TYPE_CREATE_CUBE = "create_cube";
+DLLSPEC daeString COLLADA_TYPE_CAMERA = "camera";
+DLLSPEC daeString COLLADA_TYPE_OPTICS = "optics";
+DLLSPEC daeString COLLADA_TYPE_TECHNIQUE_COMMON = "technique_common";
+DLLSPEC daeString COLLADA_TYPE_ORTHOGRAPHIC = "orthographic";
+DLLSPEC daeString COLLADA_TYPE_PERSPECTIVE = "perspective";
+DLLSPEC daeString COLLADA_TYPE_IMAGER = "imager";
+DLLSPEC daeString COLLADA_TYPE_LIGHT = "light";
+DLLSPEC daeString COLLADA_TYPE_AMBIENT = "ambient";
+DLLSPEC daeString COLLADA_TYPE_DIRECTIONAL = "directional";
+DLLSPEC daeString COLLADA_TYPE_POINT = "point";
+DLLSPEC daeString COLLADA_TYPE_SPOT = "spot";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_WITH_EXTRA = "instance_with_extra";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_IMAGE = "instance_image";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_CAMERA = "instance_camera";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_FORCE_FIELD = "instance_force_field";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_LIGHT = "instance_light";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_MATERIAL = "instance_material";
+DLLSPEC daeString COLLADA_TYPE_BIND = "bind";
+DLLSPEC daeString COLLADA_TYPE_BIND_VERTEX_INPUT = "bind_vertex_input";
+DLLSPEC daeString COLLADA_TYPE_BIND_MATERIAL = "bind_material";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_CONTROLLER = "instance_controller";
+DLLSPEC daeString COLLADA_TYPE_SKELETON = "skeleton";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_GEOMETRY = "instance_geometry";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_NODE = "instance_node";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_PHYSICS_MATERIAL = "instance_physics_material";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_RIGID_CONSTRAINT = "instance_rigid_constraint";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_CAMERAS = "library_cameras";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_IMAGES = "library_images";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_LIGHTS = "library_lights";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_EFFECT = "instance_effect";
+DLLSPEC daeString COLLADA_TYPE_TECHNIQUE_HINT = "technique_hint";
+DLLSPEC daeString COLLADA_TYPE_SETPARAM = "setparam";
+DLLSPEC daeString COLLADA_TYPE_MATERIAL = "material";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_MATERIALS = "library_materials";
+DLLSPEC daeString COLLADA_TYPE_FX_SAMPLER = "fx_sampler";
+DLLSPEC daeString COLLADA_TYPE_FX_SAMPLER1D = "fx_sampler1D";
+DLLSPEC daeString COLLADA_TYPE_FX_SAMPLER2D = "fx_sampler2D";
+DLLSPEC daeString COLLADA_TYPE_FX_SAMPLER3D = "fx_sampler3D";
+DLLSPEC daeString COLLADA_TYPE_FX_SAMPLERCUBE = "fx_samplerCUBE";
+DLLSPEC daeString COLLADA_TYPE_FX_SAMPLERRECT = "fx_samplerRECT";
+DLLSPEC daeString COLLADA_TYPE_FX_SAMPLERDEPTH = "fx_samplerDEPTH";
+DLLSPEC daeString COLLADA_TYPE_FX_RENDERTARGET = "fx_rendertarget";
+DLLSPEC daeString COLLADA_TYPE_FX_COLORTARGET = "fx_colortarget";
+DLLSPEC daeString COLLADA_TYPE_FX_DEPTHTARGET = "fx_depthtarget";
+DLLSPEC daeString COLLADA_TYPE_FX_STENCILTARGET = "fx_stenciltarget";
+DLLSPEC daeString COLLADA_TYPE_FX_CLEARCOLOR = "fx_clearcolor";
+DLLSPEC daeString COLLADA_TYPE_FX_CLEARDEPTH = "fx_cleardepth";
+DLLSPEC daeString COLLADA_TYPE_FX_CLEARSTENCIL = "fx_clearstencil";
+DLLSPEC daeString COLLADA_TYPE_FX_ANNOTATE = "fx_annotate";
+DLLSPEC daeString COLLADA_TYPE_BOOL = "bool";
+DLLSPEC daeString COLLADA_TYPE_BOOL2 = "bool2";
+DLLSPEC daeString COLLADA_TYPE_BOOL3 = "bool3";
+DLLSPEC daeString COLLADA_TYPE_BOOL4 = "bool4";
+DLLSPEC daeString COLLADA_TYPE_INT = "int";
+DLLSPEC daeString COLLADA_TYPE_INT2 = "int2";
+DLLSPEC daeString COLLADA_TYPE_INT3 = "int3";
+DLLSPEC daeString COLLADA_TYPE_INT4 = "int4";
+DLLSPEC daeString COLLADA_TYPE_FLOAT = "float";
+DLLSPEC daeString COLLADA_TYPE_FLOAT2 = "float2";
+DLLSPEC daeString COLLADA_TYPE_FLOAT3 = "float3";
+DLLSPEC daeString COLLADA_TYPE_FLOAT4 = "float4";
+DLLSPEC daeString COLLADA_TYPE_FLOAT2X2 = "float2x2";
+DLLSPEC daeString COLLADA_TYPE_FLOAT3X3 = "float3x3";
+DLLSPEC daeString COLLADA_TYPE_FLOAT4X4 = "float4x4";
+DLLSPEC daeString COLLADA_TYPE_STRING = "string";
+DLLSPEC daeString COLLADA_TYPE_FX_NEWPARAM = "fx_newparam";
+DLLSPEC daeString COLLADA_TYPE_FLOAT2X1 = "float2x1";
+DLLSPEC daeString COLLADA_TYPE_FLOAT2X3 = "float2x3";
+DLLSPEC daeString COLLADA_TYPE_FLOAT2X4 = "float2x4";
+DLLSPEC daeString COLLADA_TYPE_FLOAT3X1 = "float3x1";
+DLLSPEC daeString COLLADA_TYPE_FLOAT3X2 = "float3x2";
+DLLSPEC daeString COLLADA_TYPE_FLOAT3X4 = "float3x4";
+DLLSPEC daeString COLLADA_TYPE_FLOAT4X1 = "float4x1";
+DLLSPEC daeString COLLADA_TYPE_FLOAT4X2 = "float4x2";
+DLLSPEC daeString COLLADA_TYPE_FLOAT4X3 = "float4x3";
+DLLSPEC daeString COLLADA_TYPE_ENUM = "enum";
+DLLSPEC daeString COLLADA_TYPE_FX_INCLUDE = "fx_include";
+DLLSPEC daeString COLLADA_TYPE_FX_CODE = "fx_code";
+DLLSPEC daeString COLLADA_TYPE_FX_SOURCES = "fx_sources";
+DLLSPEC daeString COLLADA_TYPE_INLINE = "inline";
+DLLSPEC daeString COLLADA_TYPE_IMPORT = "import";
+DLLSPEC daeString COLLADA_TYPE_FX_TARGET = "fx_target";
+DLLSPEC daeString COLLADA_TYPE_BINARY = "binary";
+DLLSPEC daeString COLLADA_TYPE_FX_COMMON_FLOAT_OR_PARAM = "fx_common_float_or_param";
+DLLSPEC daeString COLLADA_TYPE_FX_COMMON_COLOR_OR_TEXTURE = "fx_common_color_or_texture";
+DLLSPEC daeString COLLADA_TYPE_COLOR = "color";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE = "texture";
+DLLSPEC daeString COLLADA_TYPE_FX_COMMON_TRANSPARENT = "fx_common_transparent";
+DLLSPEC daeString COLLADA_TYPE_FX_COMMON_NEWPARAM = "fx_common_newparam";
+DLLSPEC daeString COLLADA_TYPE_SEMANTIC = "semantic";
+DLLSPEC daeString COLLADA_TYPE_PROFILE_COMMON = "profile_common";
+DLLSPEC daeString COLLADA_TYPE_CONSTANT = "constant";
+DLLSPEC daeString COLLADA_TYPE_LAMBERT = "lambert";
+DLLSPEC daeString COLLADA_TYPE_PHONG = "phong";
+DLLSPEC daeString COLLADA_TYPE_BLINN = "blinn";
+DLLSPEC daeString COLLADA_TYPE_PROFILE_BRIDGE = "profile_bridge";
+DLLSPEC daeString COLLADA_TYPE_GLES2_NEWPARAM = "gles2_newparam";
+DLLSPEC daeString COLLADA_TYPE_MODIFIER = "modifier";
+DLLSPEC daeString COLLADA_TYPE_GLES2_SHADER = "gles2_shader";
+DLLSPEC daeString COLLADA_TYPE_SOURCES = "sources";
+DLLSPEC daeString COLLADA_TYPE_GLES2_PROGRAM = "gles2_program";
+DLLSPEC daeString COLLADA_TYPE_BIND_ATTRIBUTE = "bind_attribute";
+DLLSPEC daeString COLLADA_TYPE_BIND_UNIFORM = "bind_uniform";
+DLLSPEC daeString COLLADA_TYPE_GLES2_PASS = "gles2_pass";
+DLLSPEC daeString COLLADA_TYPE_STATES = "states";
+DLLSPEC daeString COLLADA_TYPE_EVALUATE = "evaluate";
+DLLSPEC daeString COLLADA_TYPE_DRAW = "draw";
+DLLSPEC daeString COLLADA_TYPE_PROFILE_GLES2 = "profile_gles2";
+DLLSPEC daeString COLLADA_TYPE_NEWPARAM = "newparam";
+DLLSPEC daeString COLLADA_TYPE_GLSL_ARRAY = "glsl_array";
+DLLSPEC daeString COLLADA_TYPE_GLSL_NEWPARAM = "glsl_newparam";
+DLLSPEC daeString COLLADA_TYPE_GLSL_SHADER = "glsl_shader";
+DLLSPEC daeString COLLADA_TYPE_GLSL_PROGRAM = "glsl_program";
+DLLSPEC daeString COLLADA_TYPE_PROFILE_GLSL = "profile_glsl";
+DLLSPEC daeString COLLADA_TYPE_PASS = "pass";
+DLLSPEC daeString COLLADA_TYPE_CG_ARRAY = "cg_array";
+DLLSPEC daeString COLLADA_TYPE_CG_SETPARAM = "cg_setparam";
+DLLSPEC daeString COLLADA_TYPE_CG_USER = "cg_user";
+DLLSPEC daeString COLLADA_TYPE_CG_NEWPARAM = "cg_newparam";
+DLLSPEC daeString COLLADA_TYPE_CG_PASS = "cg_pass";
+DLLSPEC daeString COLLADA_TYPE_PROGRAM = "program";
+DLLSPEC daeString COLLADA_TYPE_SHADER = "shader";
+DLLSPEC daeString COLLADA_TYPE_PROFILE_CG = "profile_cg";
+DLLSPEC daeString COLLADA_TYPE_GLES_TEXTURE_CONSTANT = "gles_texture_constant";
+DLLSPEC daeString COLLADA_TYPE_GLES_TEXENV_COMMAND = "gles_texenv_command";
+DLLSPEC daeString COLLADA_TYPE_GLES_TEXCOMBINER_ARGUMENT_RGB = "gles_texcombiner_argument_rgb";
+DLLSPEC daeString COLLADA_TYPE_GLES_TEXCOMBINER_ARGUMENT_ALPHA = "gles_texcombiner_argument_alpha";
+DLLSPEC daeString COLLADA_TYPE_GLES_TEXCOMBINER_COMMAND_RGB = "gles_texcombiner_command_rgb";
+DLLSPEC daeString COLLADA_TYPE_GLES_TEXCOMBINER_COMMAND_ALPHA = "gles_texcombiner_command_alpha";
+DLLSPEC daeString COLLADA_TYPE_GLES_TEXCOMBINER_COMMAND = "gles_texcombiner_command";
+DLLSPEC daeString COLLADA_TYPE_GLES_TEXTURE_PIPELINE = "gles_texture_pipeline";
+DLLSPEC daeString COLLADA_TYPE_GLES_SAMPLER = "gles_sampler";
+DLLSPEC daeString COLLADA_TYPE_TEXCOORD = "texcoord";
+DLLSPEC daeString COLLADA_TYPE_GLES_NEWPARAM = "gles_newparam";
+DLLSPEC daeString COLLADA_TYPE_PROFILE_GLES = "profile_gles";
+DLLSPEC daeString COLLADA_TYPE_EFFECT = "effect";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_EFFECTS = "library_effects";
+DLLSPEC daeString COLLADA_TYPE_BOX = "box";
+DLLSPEC daeString COLLADA_TYPE_HALF_EXTENTS = "half_extents";
+DLLSPEC daeString COLLADA_TYPE_PLANE = "plane";
+DLLSPEC daeString COLLADA_TYPE_EQUATION = "equation";
+DLLSPEC daeString COLLADA_TYPE_SPHERE = "sphere";
+DLLSPEC daeString COLLADA_TYPE_RADIUS = "radius";
+DLLSPEC daeString COLLADA_TYPE_ELLIPSOID = "ellipsoid";
+DLLSPEC daeString COLLADA_TYPE_CYLINDER = "cylinder";
+DLLSPEC daeString COLLADA_TYPE_HEIGHT = "height";
+DLLSPEC daeString COLLADA_TYPE_CAPSULE = "capsule";
+DLLSPEC daeString COLLADA_TYPE_FORCE_FIELD = "force_field";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_FORCE_FIELDS = "library_force_fields";
+DLLSPEC daeString COLLADA_TYPE_PHYSICS_MATERIAL = "physics_material";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_PHYSICS_MATERIALS = "library_physics_materials";
+DLLSPEC daeString COLLADA_TYPE_EDGES = "edges";
+DLLSPEC daeString COLLADA_TYPE_WIRES = "wires";
+DLLSPEC daeString COLLADA_TYPE_FACES = "faces";
+DLLSPEC daeString COLLADA_TYPE_SHELLS = "shells";
+DLLSPEC daeString COLLADA_TYPE_SOLIDS = "solids";
+DLLSPEC daeString COLLADA_TYPE_LINE = "line";
+DLLSPEC daeString COLLADA_TYPE_ORIGIN = "origin";
+DLLSPEC daeString COLLADA_TYPE_DIRECTION = "direction";
+DLLSPEC daeString COLLADA_TYPE_CIRCLE = "circle";
+DLLSPEC daeString COLLADA_TYPE_ELLIPSE = "ellipse";
+DLLSPEC daeString COLLADA_TYPE_PARABOLA = "parabola";
+DLLSPEC daeString COLLADA_TYPE_FOCAL = "focal";
+DLLSPEC daeString COLLADA_TYPE_HYPERBOLA = "hyperbola";
+DLLSPEC daeString COLLADA_TYPE_TORUS = "torus";
+DLLSPEC daeString COLLADA_TYPE_PCURVES = "pcurves";
+DLLSPEC daeString COLLADA_TYPE_SIDREF_ARRAY = "sidref_array";
+DLLSPEC daeString COLLADA_TYPE_SOURCE = "source";
+DLLSPEC daeString COLLADA_TYPE_ANIMATION = "animation";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_ANIMATIONS = "library_animations";
+DLLSPEC daeString COLLADA_TYPE_SKIN = "skin";
+DLLSPEC daeString COLLADA_TYPE_BIND_SHAPE_MATRIX = "bind_shape_matrix";
+DLLSPEC daeString COLLADA_TYPE_JOINTS = "joints";
+DLLSPEC daeString COLLADA_TYPE_VERTEX_WEIGHTS = "vertex_weights";
+DLLSPEC daeString COLLADA_TYPE_V = "v";
+DLLSPEC daeString COLLADA_TYPE_CONVEX_MESH = "convex_mesh";
+DLLSPEC daeString COLLADA_TYPE_MESH = "mesh";
+DLLSPEC daeString COLLADA_TYPE_SPLINE = "spline";
+DLLSPEC daeString COLLADA_TYPE_CONTROL_VERTICES = "control_vertices";
+DLLSPEC daeString COLLADA_TYPE_NURBS_SURFACE = "nurbs_surface";
+DLLSPEC daeString COLLADA_TYPE_NURBS = "nurbs";
+DLLSPEC daeString COLLADA_TYPE_MORPH = "morph";
+DLLSPEC daeString COLLADA_TYPE_TARGETS = "targets";
+DLLSPEC daeString COLLADA_TYPE_CONTROLLER = "controller";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_CONTROLLERS = "library_controllers";
+DLLSPEC daeString COLLADA_TYPE_ORIENT = "orient";
+DLLSPEC daeString COLLADA_TYPE_CURVE = "curve";
+DLLSPEC daeString COLLADA_TYPE_SURFACE_CURVES = "surface_curves";
+DLLSPEC daeString COLLADA_TYPE_CURVES = "curves";
+DLLSPEC daeString COLLADA_TYPE_SWEPT_SURFACE = "swept_surface";
+DLLSPEC daeString COLLADA_TYPE_AXIS = "axis";
+DLLSPEC daeString COLLADA_TYPE_CONE = "cone";
+DLLSPEC daeString COLLADA_TYPE_ANGLE = "angle";
+DLLSPEC daeString COLLADA_TYPE_SURFACE = "surface";
+DLLSPEC daeString COLLADA_TYPE_SURFACES = "surfaces";
+DLLSPEC daeString COLLADA_TYPE_BREP = "brep";
+DLLSPEC daeString COLLADA_TYPE_GEOMETRY = "geometry";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_GEOMETRIES = "library_geometries";
+DLLSPEC daeString COLLADA_TYPE_LIMITS_SUB = "limits_sub";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_JOINT = "instance_joint";
+DLLSPEC daeString COLLADA_TYPE_TARGETABLE_FLOAT4 = "targetable_float4";
+DLLSPEC daeString COLLADA_TYPE_ROTATE = "rotate";
+DLLSPEC daeString COLLADA_TYPE_LINK = "link";
+DLLSPEC daeString COLLADA_TYPE_ATTACHMENT_FULL = "attachment_full";
+DLLSPEC daeString COLLADA_TYPE_ATTACHMENT_START = "attachment_start";
+DLLSPEC daeString COLLADA_TYPE_ATTACHMENT_END = "attachment_end";
+DLLSPEC daeString COLLADA_TYPE_RIGID_CONSTRAINT = "rigid_constraint";
+DLLSPEC daeString COLLADA_TYPE_REF_ATTACHMENT = "ref_attachment";
+DLLSPEC daeString COLLADA_TYPE_ATTACHMENT = "attachment";
+DLLSPEC daeString COLLADA_TYPE_ENABLED = "enabled";
+DLLSPEC daeString COLLADA_TYPE_INTERPENETRATE = "interpenetrate";
+DLLSPEC daeString COLLADA_TYPE_LIMITS = "limits";
+DLLSPEC daeString COLLADA_TYPE_SWING_CONE_AND_TWIST = "swing_cone_and_twist";
+DLLSPEC daeString COLLADA_TYPE_LINEAR = "linear";
+DLLSPEC daeString COLLADA_TYPE_SPRING = "spring";
+DLLSPEC daeString COLLADA_TYPE_ANGULAR = "angular";
+DLLSPEC daeString COLLADA_TYPE_NODE = "node";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_NODES = "library_nodes";
+DLLSPEC daeString COLLADA_TYPE_VISUAL_SCENE = "visual_scene";
+DLLSPEC daeString COLLADA_TYPE_EVALUATE_SCENE = "evaluate_scene";
+DLLSPEC daeString COLLADA_TYPE_RENDER = "render";
+DLLSPEC daeString COLLADA_TYPE_LAYER = "layer";
+DLLSPEC daeString COLLADA_TYPE_TECHNIQUE_OVERRIDE = "technique_override";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_VISUAL_SCENES = "library_visual_scenes";
+DLLSPEC daeString COLLADA_TYPE_RIGID_BODY = "rigid_body";
+DLLSPEC daeString COLLADA_TYPE_DYNAMIC = "dynamic";
+DLLSPEC daeString COLLADA_TYPE_MASS_FRAME = "mass_frame";
+DLLSPEC daeString COLLADA_TYPE_SHAPE = "shape";
+DLLSPEC daeString COLLADA_TYPE_HOLLOW = "hollow";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_RIGID_BODY = "instance_rigid_body";
+DLLSPEC daeString COLLADA_TYPE_ANGULAR_VELOCITY = "angular_velocity";
+DLLSPEC daeString COLLADA_TYPE_VELOCITY = "velocity";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_PHYSICS_MODEL = "instance_physics_model";
+DLLSPEC daeString COLLADA_TYPE_PHYSICS_MODEL = "physics_model";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_PHYSICS_MODELS = "library_physics_models";
+DLLSPEC daeString COLLADA_TYPE_PHYSICS_SCENE = "physics_scene";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_PHYSICS_SCENES = "library_physics_scenes";
+DLLSPEC daeString COLLADA_TYPE_KINEMATICS_NEWPARAM = "kinematics_newparam";
+DLLSPEC daeString COLLADA_TYPE_SIDREF = "SIDREF";
+DLLSPEC daeString COLLADA_TYPE_KINEMATICS_FRAME = "kinematics_frame";
+DLLSPEC daeString COLLADA_TYPE_COMMON_PARAM = "common_param";
+DLLSPEC daeString COLLADA_TYPE_COMMON_INT_OR_PARAM = "common_int_or_param";
+DLLSPEC daeString COLLADA_TYPE_COMMON_BOOL_OR_PARAM = "common_bool_or_param";
+DLLSPEC daeString COLLADA_TYPE_COMMON_FLOAT_OR_PARAM = "common_float_or_param";
+DLLSPEC daeString COLLADA_TYPE_KINEMATICS_LIMITS = "kinematics_limits";
+DLLSPEC daeString COLLADA_TYPE_COMMON_SIDREF_OR_PARAM = "common_sidref_or_param";
+DLLSPEC daeString COLLADA_TYPE_BIND_JOINT_AXIS = "bind_joint_axis";
+DLLSPEC daeString COLLADA_TYPE_BIND_KINEMATICS_MODEL = "bind_kinematics_model";
+DLLSPEC daeString COLLADA_TYPE_KINEMATICS_CONNECT_PARAM = "kinematics_connect_param";
+DLLSPEC daeString COLLADA_TYPE_KINEMATICS_SETPARAM = "kinematics_setparam";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_KINEMATICS_SCENE = "instance_kinematics_scene";
+DLLSPEC daeString COLLADA_TYPE_KINEMATICS_INDEX = "kinematics_index";
+DLLSPEC daeString COLLADA_TYPE_KINEMATICS_PARAM = "kinematics_param";
+DLLSPEC daeString COLLADA_TYPE_KINEMATICS_BIND = "kinematics_bind";
+DLLSPEC daeString COLLADA_TYPE_MOTION_AXIS_INFO = "motion_axis_info";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_KINEMATICS_MODEL = "instance_kinematics_model";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_ARTICULATED_SYSTEM = "instance_articulated_system";
+DLLSPEC daeString COLLADA_TYPE_KINEMATICS_SCENE = "kinematics_scene";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_KINEMATICS_SCENES = "library_kinematics_scenes";
+DLLSPEC daeString COLLADA_TYPE_COMMON_FLOAT2_OR_PARAM = "common_float2_or_param";
+DLLSPEC daeString COLLADA_TYPE_MOTION_EFFECTOR_INFO = "motion_effector_info";
+DLLSPEC daeString COLLADA_TYPE_MOTION_TECHNIQUE = "motion_technique";
+DLLSPEC daeString COLLADA_TYPE_MOTION = "motion";
+DLLSPEC daeString COLLADA_TYPE_MINMAX = "minmax";
+DLLSPEC daeString COLLADA_TYPE_JOINT_LIMITS = "joint_limits";
+DLLSPEC daeString COLLADA_TYPE_AXIS_CONSTRAINT = "axis_constraint";
+DLLSPEC daeString COLLADA_TYPE_JOINT = "joint";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_JOINTS = "library_joints";
+DLLSPEC daeString COLLADA_TYPE_FORMULA_TECHNIQUE = "formula_technique";
+DLLSPEC daeString COLLADA_TYPE_FORMULA_NEWPARAM = "formula_newparam";
+DLLSPEC daeString COLLADA_TYPE_FORMULA_SETPARAM = "formula_setparam";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_FORMULA = "instance_formula";
+DLLSPEC daeString COLLADA_TYPE_ANIMATION_CLIP = "animation_clip";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_ANIMATION_CLIPS = "library_animation_clips";
+DLLSPEC daeString COLLADA_TYPE_FORMULA = "formula";
+DLLSPEC daeString COLLADA_TYPE_KINEMATICS_MODEL_TECHNIQUE = "kinematics_model_technique";
+DLLSPEC daeString COLLADA_TYPE_KINEMATICS_MODEL = "kinematics_model";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_KINEMATICS_MODELS = "library_kinematics_models";
+DLLSPEC daeString COLLADA_TYPE_KINEMATICS_AXIS_INFO = "kinematics_axis_info";
+DLLSPEC daeString COLLADA_TYPE_KINEMATICS_TECHNIQUE = "kinematics_technique";
+DLLSPEC daeString COLLADA_TYPE_KINEMATICS = "kinematics";
+DLLSPEC daeString COLLADA_TYPE_ARTICULATED_SYSTEM = "articulated_system";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_ARTICULATED_SYSTEMS = "library_articulated_systems";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_FORMULAS = "library_formulas";
+DLLSPEC daeString COLLADA_TYPE_FX_SAMPLER_STATES = "fx_sampler_states";
+DLLSPEC daeString COLLADA_TYPE_WRAP_S = "wrap_s";
+DLLSPEC daeString COLLADA_TYPE_WRAP_T = "wrap_t";
+DLLSPEC daeString COLLADA_TYPE_WRAP_P = "wrap_p";
+DLLSPEC daeString COLLADA_TYPE_MINFILTER = "minfilter";
+DLLSPEC daeString COLLADA_TYPE_MAGFILTER = "magfilter";
+DLLSPEC daeString COLLADA_TYPE_MIPFILTER = "mipfilter";
+DLLSPEC daeString COLLADA_TYPE_BORDER_COLOR = "border_color";
+DLLSPEC daeString COLLADA_TYPE_MIP_MAX_LEVEL = "mip_max_level";
+DLLSPEC daeString COLLADA_TYPE_MIP_MIN_LEVEL = "mip_min_level";
+DLLSPEC daeString COLLADA_TYPE_MIP_BIAS = "mip_bias";
+DLLSPEC daeString COLLADA_TYPE_MAX_ANISOTROPY = "max_anisotropy";
+DLLSPEC daeString COLLADA_TYPE_FX_SETPARAM = "fx_setparam";
+DLLSPEC daeString COLLADA_TYPE_SAMPLER_STATES = "sampler_states";
+DLLSPEC daeString COLLADA_TYPE_GL_PIPELINE_SETTINGS = "gl_pipeline_settings";
+DLLSPEC daeString COLLADA_TYPE_ALPHA_FUNC = "alpha_func";
+DLLSPEC daeString COLLADA_TYPE_FUNC = "func";
+DLLSPEC daeString COLLADA_TYPE_VALUE = "value";
+DLLSPEC daeString COLLADA_TYPE_BLEND_FUNC = "blend_func";
+DLLSPEC daeString COLLADA_TYPE_SRC = "src";
+DLLSPEC daeString COLLADA_TYPE_DEST = "dest";
+DLLSPEC daeString COLLADA_TYPE_BLEND_FUNC_SEPARATE = "blend_func_separate";
+DLLSPEC daeString COLLADA_TYPE_SRC_RGB = "src_rgb";
+DLLSPEC daeString COLLADA_TYPE_DEST_RGB = "dest_rgb";
+DLLSPEC daeString COLLADA_TYPE_SRC_ALPHA = "src_alpha";
+DLLSPEC daeString COLLADA_TYPE_DEST_ALPHA = "dest_alpha";
+DLLSPEC daeString COLLADA_TYPE_BLEND_EQUATION = "blend_equation";
+DLLSPEC daeString COLLADA_TYPE_BLEND_EQUATION_SEPARATE = "blend_equation_separate";
+DLLSPEC daeString COLLADA_TYPE_RGB = "rgb";
+DLLSPEC daeString COLLADA_TYPE_ALPHA = "alpha";
+DLLSPEC daeString COLLADA_TYPE_COLOR_MATERIAL = "color_material";
+DLLSPEC daeString COLLADA_TYPE_FACE = "face";
+DLLSPEC daeString COLLADA_TYPE_MODE = "mode";
+DLLSPEC daeString COLLADA_TYPE_CULL_FACE = "cull_face";
+DLLSPEC daeString COLLADA_TYPE_DEPTH_FUNC = "depth_func";
+DLLSPEC daeString COLLADA_TYPE_FOG_MODE = "fog_mode";
+DLLSPEC daeString COLLADA_TYPE_FOG_COORD_SRC = "fog_coord_src";
+DLLSPEC daeString COLLADA_TYPE_FRONT_FACE = "front_face";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_MODEL_COLOR_CONTROL = "light_model_color_control";
+DLLSPEC daeString COLLADA_TYPE_LOGIC_OP = "logic_op";
+DLLSPEC daeString COLLADA_TYPE_POLYGON_MODE = "polygon_mode";
+DLLSPEC daeString COLLADA_TYPE_SHADE_MODEL = "shade_model";
+DLLSPEC daeString COLLADA_TYPE_STENCIL_FUNC = "stencil_func";
+DLLSPEC daeString COLLADA_TYPE_MASK = "mask";
+DLLSPEC daeString COLLADA_TYPE_STENCIL_OP = "stencil_op";
+DLLSPEC daeString COLLADA_TYPE_FAIL = "fail";
+DLLSPEC daeString COLLADA_TYPE_ZFAIL = "zfail";
+DLLSPEC daeString COLLADA_TYPE_ZPASS = "zpass";
+DLLSPEC daeString COLLADA_TYPE_STENCIL_FUNC_SEPARATE = "stencil_func_separate";
+DLLSPEC daeString COLLADA_TYPE_FRONT = "front";
+DLLSPEC daeString COLLADA_TYPE_BACK = "back";
+DLLSPEC daeString COLLADA_TYPE_STENCIL_OP_SEPARATE = "stencil_op_separate";
+DLLSPEC daeString COLLADA_TYPE_STENCIL_MASK_SEPARATE = "stencil_mask_separate";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_ENABLE = "light_enable";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_AMBIENT = "light_ambient";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_DIFFUSE = "light_diffuse";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_SPECULAR = "light_specular";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_POSITION = "light_position";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_CONSTANT_ATTENUATION = "light_constant_attenuation";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_LINEAR_ATTENUATION = "light_linear_attenuation";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_QUADRATIC_ATTENUATION = "light_quadratic_attenuation";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_SPOT_CUTOFF = "light_spot_cutoff";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_SPOT_DIRECTION = "light_spot_direction";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_SPOT_EXPONENT = "light_spot_exponent";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE1D = "texture1D";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE2D = "texture2D";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE3D = "texture3D";
+DLLSPEC daeString COLLADA_TYPE_TEXTURECUBE = "textureCUBE";
+DLLSPEC daeString COLLADA_TYPE_TEXTURERECT = "textureRECT";
+DLLSPEC daeString COLLADA_TYPE_TEXTUREDEPTH = "textureDEPTH";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE1D_ENABLE = "texture1D_enable";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE2D_ENABLE = "texture2D_enable";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE3D_ENABLE = "texture3D_enable";
+DLLSPEC daeString COLLADA_TYPE_TEXTURECUBE_ENABLE = "textureCUBE_enable";
+DLLSPEC daeString COLLADA_TYPE_TEXTURERECT_ENABLE = "textureRECT_enable";
+DLLSPEC daeString COLLADA_TYPE_TEXTUREDEPTH_ENABLE = "textureDEPTH_enable";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE_ENV_COLOR = "texture_env_color";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE_ENV_MODE = "texture_env_mode";
+DLLSPEC daeString COLLADA_TYPE_CLIP_PLANE = "clip_plane";
+DLLSPEC daeString COLLADA_TYPE_CLIP_PLANE_ENABLE = "clip_plane_enable";
+DLLSPEC daeString COLLADA_TYPE_BLEND_COLOR = "blend_color";
+DLLSPEC daeString COLLADA_TYPE_COLOR_MASK = "color_mask";
+DLLSPEC daeString COLLADA_TYPE_DEPTH_BOUNDS = "depth_bounds";
+DLLSPEC daeString COLLADA_TYPE_DEPTH_MASK = "depth_mask";
+DLLSPEC daeString COLLADA_TYPE_DEPTH_RANGE = "depth_range";
+DLLSPEC daeString COLLADA_TYPE_FOG_DENSITY = "fog_density";
+DLLSPEC daeString COLLADA_TYPE_FOG_START = "fog_start";
+DLLSPEC daeString COLLADA_TYPE_FOG_END = "fog_end";
+DLLSPEC daeString COLLADA_TYPE_FOG_COLOR = "fog_color";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_MODEL_AMBIENT = "light_model_ambient";
+DLLSPEC daeString COLLADA_TYPE_LIGHTING_ENABLE = "lighting_enable";
+DLLSPEC daeString COLLADA_TYPE_LINE_STIPPLE = "line_stipple";
+DLLSPEC daeString COLLADA_TYPE_LINE_WIDTH = "line_width";
+DLLSPEC daeString COLLADA_TYPE_MATERIAL_AMBIENT = "material_ambient";
+DLLSPEC daeString COLLADA_TYPE_MATERIAL_DIFFUSE = "material_diffuse";
+DLLSPEC daeString COLLADA_TYPE_MATERIAL_EMISSION = "material_emission";
+DLLSPEC daeString COLLADA_TYPE_MATERIAL_SHININESS = "material_shininess";
+DLLSPEC daeString COLLADA_TYPE_MATERIAL_SPECULAR = "material_specular";
+DLLSPEC daeString COLLADA_TYPE_MODEL_VIEW_MATRIX = "model_view_matrix";
+DLLSPEC daeString COLLADA_TYPE_POINT_DISTANCE_ATTENUATION = "point_distance_attenuation";
+DLLSPEC daeString COLLADA_TYPE_POINT_FADE_THRESHOLD_SIZE = "point_fade_threshold_size";
+DLLSPEC daeString COLLADA_TYPE_POINT_SIZE = "point_size";
+DLLSPEC daeString COLLADA_TYPE_POINT_SIZE_MIN = "point_size_min";
+DLLSPEC daeString COLLADA_TYPE_POINT_SIZE_MAX = "point_size_max";
+DLLSPEC daeString COLLADA_TYPE_POLYGON_OFFSET = "polygon_offset";
+DLLSPEC daeString COLLADA_TYPE_PROJECTION_MATRIX = "projection_matrix";
+DLLSPEC daeString COLLADA_TYPE_SCISSOR = "scissor";
+DLLSPEC daeString COLLADA_TYPE_STENCIL_MASK = "stencil_mask";
+DLLSPEC daeString COLLADA_TYPE_ALPHA_TEST_ENABLE = "alpha_test_enable";
+DLLSPEC daeString COLLADA_TYPE_BLEND_ENABLE = "blend_enable";
+DLLSPEC daeString COLLADA_TYPE_COLOR_LOGIC_OP_ENABLE = "color_logic_op_enable";
+DLLSPEC daeString COLLADA_TYPE_COLOR_MATERIAL_ENABLE = "color_material_enable";
+DLLSPEC daeString COLLADA_TYPE_CULL_FACE_ENABLE = "cull_face_enable";
+DLLSPEC daeString COLLADA_TYPE_DEPTH_BOUNDS_ENABLE = "depth_bounds_enable";
+DLLSPEC daeString COLLADA_TYPE_DEPTH_CLAMP_ENABLE = "depth_clamp_enable";
+DLLSPEC daeString COLLADA_TYPE_DEPTH_TEST_ENABLE = "depth_test_enable";
+DLLSPEC daeString COLLADA_TYPE_DITHER_ENABLE = "dither_enable";
+DLLSPEC daeString COLLADA_TYPE_FOG_ENABLE = "fog_enable";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_MODEL_LOCAL_VIEWER_ENABLE = "light_model_local_viewer_enable";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_MODEL_TWO_SIDE_ENABLE = "light_model_two_side_enable";
+DLLSPEC daeString COLLADA_TYPE_LINE_SMOOTH_ENABLE = "line_smooth_enable";
+DLLSPEC daeString COLLADA_TYPE_LINE_STIPPLE_ENABLE = "line_stipple_enable";
+DLLSPEC daeString COLLADA_TYPE_LOGIC_OP_ENABLE = "logic_op_enable";
+DLLSPEC daeString COLLADA_TYPE_MULTISAMPLE_ENABLE = "multisample_enable";
+DLLSPEC daeString COLLADA_TYPE_NORMALIZE_ENABLE = "normalize_enable";
+DLLSPEC daeString COLLADA_TYPE_POINT_SMOOTH_ENABLE = "point_smooth_enable";
+DLLSPEC daeString COLLADA_TYPE_POLYGON_OFFSET_FILL_ENABLE = "polygon_offset_fill_enable";
+DLLSPEC daeString COLLADA_TYPE_POLYGON_OFFSET_LINE_ENABLE = "polygon_offset_line_enable";
+DLLSPEC daeString COLLADA_TYPE_POLYGON_OFFSET_POINT_ENABLE = "polygon_offset_point_enable";
+DLLSPEC daeString COLLADA_TYPE_POLYGON_SMOOTH_ENABLE = "polygon_smooth_enable";
+DLLSPEC daeString COLLADA_TYPE_POLYGON_STIPPLE_ENABLE = "polygon_stipple_enable";
+DLLSPEC daeString COLLADA_TYPE_RESCALE_NORMAL_ENABLE = "rescale_normal_enable";
+DLLSPEC daeString COLLADA_TYPE_SAMPLE_ALPHA_TO_COVERAGE_ENABLE = "sample_alpha_to_coverage_enable";
+DLLSPEC daeString COLLADA_TYPE_SAMPLE_ALPHA_TO_ONE_ENABLE = "sample_alpha_to_one_enable";
+DLLSPEC daeString COLLADA_TYPE_SAMPLE_COVERAGE_ENABLE = "sample_coverage_enable";
+DLLSPEC daeString COLLADA_TYPE_SCISSOR_TEST_ENABLE = "scissor_test_enable";
+DLLSPEC daeString COLLADA_TYPE_STENCIL_TEST_ENABLE = "stencil_test_enable";
+DLLSPEC daeString COLLADA_TYPE_GLES2_PIPELINE_SETTINGS = "gles2_pipeline_settings";
+DLLSPEC daeString COLLADA_TYPE_SAMPLE_COVERAGE = "sample_coverage";
+DLLSPEC daeString COLLADA_TYPE_INVERT = "invert";
+DLLSPEC daeString COLLADA_TYPE_POINT_SIZE_ENABLE = "point_size_enable";
+DLLSPEC daeString COLLADA_TYPE_GLES2_VALUE = "gles2_value";
+DLLSPEC daeString COLLADA_TYPE_BVEC2 = "bvec2";
+DLLSPEC daeString COLLADA_TYPE_BVEC3 = "bvec3";
+DLLSPEC daeString COLLADA_TYPE_BVEC4 = "bvec4";
+DLLSPEC daeString COLLADA_TYPE_VEC2 = "vec2";
+DLLSPEC daeString COLLADA_TYPE_VEC3 = "vec3";
+DLLSPEC daeString COLLADA_TYPE_VEC4 = "vec4";
+DLLSPEC daeString COLLADA_TYPE_MAT2 = "mat2";
+DLLSPEC daeString COLLADA_TYPE_MAT3 = "mat3";
+DLLSPEC daeString COLLADA_TYPE_MAT4 = "mat4";
+DLLSPEC daeString COLLADA_TYPE_IVEC2 = "ivec2";
+DLLSPEC daeString COLLADA_TYPE_IVEC3 = "ivec3";
+DLLSPEC daeString COLLADA_TYPE_IVEC4 = "ivec4";
+DLLSPEC daeString COLLADA_TYPE_USERTYPE = "usertype";
+DLLSPEC daeString COLLADA_TYPE_GLSL_VALUE = "glsl_value";
+DLLSPEC daeString COLLADA_TYPE_CG_PARAM = "cg_param";
+DLLSPEC daeString COLLADA_TYPE_BOOL2X1 = "bool2x1";
+DLLSPEC daeString COLLADA_TYPE_BOOL2X2 = "bool2x2";
+DLLSPEC daeString COLLADA_TYPE_BOOL2X3 = "bool2x3";
+DLLSPEC daeString COLLADA_TYPE_BOOL2X4 = "bool2x4";
+DLLSPEC daeString COLLADA_TYPE_BOOL3X1 = "bool3x1";
+DLLSPEC daeString COLLADA_TYPE_BOOL3X2 = "bool3x2";
+DLLSPEC daeString COLLADA_TYPE_BOOL3X3 = "bool3x3";
+DLLSPEC daeString COLLADA_TYPE_BOOL3X4 = "bool3x4";
+DLLSPEC daeString COLLADA_TYPE_BOOL4X1 = "bool4x1";
+DLLSPEC daeString COLLADA_TYPE_BOOL4X2 = "bool4x2";
+DLLSPEC daeString COLLADA_TYPE_BOOL4X3 = "bool4x3";
+DLLSPEC daeString COLLADA_TYPE_BOOL4X4 = "bool4x4";
+DLLSPEC daeString COLLADA_TYPE_INT2X1 = "int2x1";
+DLLSPEC daeString COLLADA_TYPE_INT2X2 = "int2x2";
+DLLSPEC daeString COLLADA_TYPE_INT2X3 = "int2x3";
+DLLSPEC daeString COLLADA_TYPE_INT2X4 = "int2x4";
+DLLSPEC daeString COLLADA_TYPE_INT3X1 = "int3x1";
+DLLSPEC daeString COLLADA_TYPE_INT3X2 = "int3x2";
+DLLSPEC daeString COLLADA_TYPE_INT3X3 = "int3x3";
+DLLSPEC daeString COLLADA_TYPE_INT3X4 = "int3x4";
+DLLSPEC daeString COLLADA_TYPE_INT4X1 = "int4x1";
+DLLSPEC daeString COLLADA_TYPE_INT4X2 = "int4x2";
+DLLSPEC daeString COLLADA_TYPE_INT4X3 = "int4x3";
+DLLSPEC daeString COLLADA_TYPE_INT4X4 = "int4x4";
+DLLSPEC daeString COLLADA_TYPE_HALF = "half";
+DLLSPEC daeString COLLADA_TYPE_HALF2 = "half2";
+DLLSPEC daeString COLLADA_TYPE_HALF3 = "half3";
+DLLSPEC daeString COLLADA_TYPE_HALF4 = "half4";
+DLLSPEC daeString COLLADA_TYPE_HALF2X1 = "half2x1";
+DLLSPEC daeString COLLADA_TYPE_HALF2X2 = "half2x2";
+DLLSPEC daeString COLLADA_TYPE_HALF2X3 = "half2x3";
+DLLSPEC daeString COLLADA_TYPE_HALF2X4 = "half2x4";
+DLLSPEC daeString COLLADA_TYPE_HALF3X1 = "half3x1";
+DLLSPEC daeString COLLADA_TYPE_HALF3X2 = "half3x2";
+DLLSPEC daeString COLLADA_TYPE_HALF3X3 = "half3x3";
+DLLSPEC daeString COLLADA_TYPE_HALF3X4 = "half3x4";
+DLLSPEC daeString COLLADA_TYPE_HALF4X1 = "half4x1";
+DLLSPEC daeString COLLADA_TYPE_HALF4X2 = "half4x2";
+DLLSPEC daeString COLLADA_TYPE_HALF4X3 = "half4x3";
+DLLSPEC daeString COLLADA_TYPE_HALF4X4 = "half4x4";
+DLLSPEC daeString COLLADA_TYPE_FIXED = "fixed";
+DLLSPEC daeString COLLADA_TYPE_FIXED2 = "fixed2";
+DLLSPEC daeString COLLADA_TYPE_FIXED3 = "fixed3";
+DLLSPEC daeString COLLADA_TYPE_FIXED4 = "fixed4";
+DLLSPEC daeString COLLADA_TYPE_FIXED2X1 = "fixed2x1";
+DLLSPEC daeString COLLADA_TYPE_FIXED2X2 = "fixed2x2";
+DLLSPEC daeString COLLADA_TYPE_FIXED2X3 = "fixed2x3";
+DLLSPEC daeString COLLADA_TYPE_FIXED2X4 = "fixed2x4";
+DLLSPEC daeString COLLADA_TYPE_FIXED3X1 = "fixed3x1";
+DLLSPEC daeString COLLADA_TYPE_FIXED3X2 = "fixed3x2";
+DLLSPEC daeString COLLADA_TYPE_FIXED3X3 = "fixed3x3";
+DLLSPEC daeString COLLADA_TYPE_FIXED3X4 = "fixed3x4";
+DLLSPEC daeString COLLADA_TYPE_FIXED4X1 = "fixed4x1";
+DLLSPEC daeString COLLADA_TYPE_FIXED4X2 = "fixed4x2";
+DLLSPEC daeString COLLADA_TYPE_FIXED4X3 = "fixed4x3";
+DLLSPEC daeString COLLADA_TYPE_FIXED4X4 = "fixed4x4";
+DLLSPEC daeString COLLADA_TYPE_GLES_SAMPLER_STATES = "gles_sampler_states";
+DLLSPEC daeString COLLADA_TYPE_GLES_PIPELINE_SETTINGS = "gles_pipeline_settings";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE_PIPELINE = "texture_pipeline";
+DLLSPEC daeString COLLADA_TYPE_GLES_PARAM = "gles_param";
+DLLSPEC daeString COLLADA_TYPE_FLOAT1X1 = "float1x1";
+DLLSPEC daeString COLLADA_TYPE_FLOAT1X2 = "float1x2";
+DLLSPEC daeString COLLADA_TYPE_FLOAT1X3 = "float1x3";
+DLLSPEC daeString COLLADA_TYPE_FLOAT1X4 = "float1x4";
+DLLSPEC daeString COLLADA_TYPE_FX_PROFILE = "fx_profile";
+DLLSPEC daeString COLLADA_TYPE_COLLADA = "COLLADA";
+DLLSPEC daeString COLLADA_TYPE_SCENE = "scene";
+
+DLLSPEC daeString COLLADA_ELEMENT_COLLADA = "COLLADA";
+DLLSPEC daeString COLLADA_ELEMENT_PARAM = "param";
+DLLSPEC daeString COLLADA_ELEMENT_REF = "ref";
+DLLSPEC daeString COLLADA_ELEMENT_HEX = "hex";
+DLLSPEC daeString COLLADA_ELEMENT_INPUT = "input";
+DLLSPEC daeString COLLADA_ELEMENT_ASSET = "asset";
+DLLSPEC daeString COLLADA_ELEMENT_TECHNIQUE = "technique";
+DLLSPEC daeString COLLADA_ELEMENT_VCOUNT = "vcount";
+DLLSPEC daeString COLLADA_ELEMENT_P = "p";
+DLLSPEC daeString COLLADA_ELEMENT_EXTRA = "extra";
+DLLSPEC daeString COLLADA_ELEMENT_PH = "ph";
+DLLSPEC daeString COLLADA_ELEMENT_H = "h";
+DLLSPEC daeString COLLADA_ELEMENT_CONTRIBUTOR = "contributor";
+DLLSPEC daeString COLLADA_ELEMENT_COVERAGE = "coverage";
+DLLSPEC daeString COLLADA_ELEMENT_CREATED = "created";
+DLLSPEC daeString COLLADA_ELEMENT_KEYWORDS = "keywords";
+DLLSPEC daeString COLLADA_ELEMENT_MODIFIED = "modified";
+DLLSPEC daeString COLLADA_ELEMENT_REVISION = "revision";
+DLLSPEC daeString COLLADA_ELEMENT_SUBJECT = "subject";
+DLLSPEC daeString COLLADA_ELEMENT_TITLE = "title";
+DLLSPEC daeString COLLADA_ELEMENT_UNIT = "unit";
+DLLSPEC daeString COLLADA_ELEMENT_UP_AXIS = "up_axis";
+DLLSPEC daeString COLLADA_ELEMENT_AUTHOR = "author";
+DLLSPEC daeString COLLADA_ELEMENT_AUTHOR_EMAIL = "author_email";
+DLLSPEC daeString COLLADA_ELEMENT_AUTHOR_WEBSITE = "author_website";
+DLLSPEC daeString COLLADA_ELEMENT_AUTHORING_TOOL = "authoring_tool";
+DLLSPEC daeString COLLADA_ELEMENT_COMMENTS = "comments";
+DLLSPEC daeString COLLADA_ELEMENT_COPYRIGHT = "copyright";
+DLLSPEC daeString COLLADA_ELEMENT_SOURCE_DATA = "source_data";
+DLLSPEC daeString COLLADA_ELEMENT_GEOGRAPHIC_LOCATION = "geographic_location";
+DLLSPEC daeString COLLADA_ELEMENT_LONGITUDE = "longitude";
+DLLSPEC daeString COLLADA_ELEMENT_LATITUDE = "latitude";
+DLLSPEC daeString COLLADA_ELEMENT_ALTITUDE = "altitude";
+DLLSPEC daeString COLLADA_ELEMENT_RENDERABLE = "renderable";
+DLLSPEC daeString COLLADA_ELEMENT_INIT_FROM = "init_from";
+DLLSPEC daeString COLLADA_ELEMENT_CREATE_2D = "create_2d";
+DLLSPEC daeString COLLADA_ELEMENT_CREATE_3D = "create_3d";
+DLLSPEC daeString COLLADA_ELEMENT_CREATE_CUBE = "create_cube";
+DLLSPEC daeString COLLADA_ELEMENT_SIZE_EXACT = "size_exact";
+DLLSPEC daeString COLLADA_ELEMENT_SIZE_RATIO = "size_ratio";
+DLLSPEC daeString COLLADA_ELEMENT_MIPS = "mips";
+DLLSPEC daeString COLLADA_ELEMENT_UNNORMALIZED = "unnormalized";
+DLLSPEC daeString COLLADA_ELEMENT_ARRAY = "array";
+DLLSPEC daeString COLLADA_ELEMENT_FORMAT = "format";
+DLLSPEC daeString COLLADA_ELEMENT_HINT = "hint";
+DLLSPEC daeString COLLADA_ELEMENT_EXACT = "exact";
+DLLSPEC daeString COLLADA_ELEMENT_SIZE = "size";
+DLLSPEC daeString COLLADA_ELEMENT_OPTICS = "optics";
+DLLSPEC daeString COLLADA_ELEMENT_IMAGER = "imager";
+DLLSPEC daeString COLLADA_ELEMENT_TECHNIQUE_COMMON = "technique_common";
+DLLSPEC daeString COLLADA_ELEMENT_ORTHOGRAPHIC = "orthographic";
+DLLSPEC daeString COLLADA_ELEMENT_PERSPECTIVE = "perspective";
+DLLSPEC daeString COLLADA_ELEMENT_XMAG = "xmag";
+DLLSPEC daeString COLLADA_ELEMENT_YMAG = "ymag";
+DLLSPEC daeString COLLADA_ELEMENT_ASPECT_RATIO = "aspect_ratio";
+DLLSPEC daeString COLLADA_ELEMENT_ZNEAR = "znear";
+DLLSPEC daeString COLLADA_ELEMENT_ZFAR = "zfar";
+DLLSPEC daeString COLLADA_ELEMENT_XFOV = "xfov";
+DLLSPEC daeString COLLADA_ELEMENT_YFOV = "yfov";
+DLLSPEC daeString COLLADA_ELEMENT_AMBIENT = "ambient";
+DLLSPEC daeString COLLADA_ELEMENT_DIRECTIONAL = "directional";
+DLLSPEC daeString COLLADA_ELEMENT_POINT = "point";
+DLLSPEC daeString COLLADA_ELEMENT_SPOT = "spot";
+DLLSPEC daeString COLLADA_ELEMENT_COLOR = "color";
+DLLSPEC daeString COLLADA_ELEMENT_CONSTANT_ATTENUATION = "constant_attenuation";
+DLLSPEC daeString COLLADA_ELEMENT_LINEAR_ATTENUATION = "linear_attenuation";
+DLLSPEC daeString COLLADA_ELEMENT_QUADRATIC_ATTENUATION = "quadratic_attenuation";
+DLLSPEC daeString COLLADA_ELEMENT_FALLOFF_ANGLE = "falloff_angle";
+DLLSPEC daeString COLLADA_ELEMENT_FALLOFF_EXPONENT = "falloff_exponent";
+DLLSPEC daeString COLLADA_ELEMENT_BIND = "bind";
+DLLSPEC daeString COLLADA_ELEMENT_BIND_VERTEX_INPUT = "bind_vertex_input";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_MATERIAL = "instance_material";
+DLLSPEC daeString COLLADA_ELEMENT_SKELETON = "skeleton";
+DLLSPEC daeString COLLADA_ELEMENT_BIND_MATERIAL = "bind_material";
+DLLSPEC daeString COLLADA_ELEMENT_CAMERA = "camera";
+DLLSPEC daeString COLLADA_ELEMENT_IMAGE = "image";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT = "light";
+DLLSPEC daeString COLLADA_ELEMENT_TECHNIQUE_HINT = "technique_hint";
+DLLSPEC daeString COLLADA_ELEMENT_SETPARAM = "setparam";
+DLLSPEC daeString COLLADA_ELEMENT_FX_SETPARAM = "fx_setparam";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_EFFECT = "instance_effect";
+DLLSPEC daeString COLLADA_ELEMENT_MATERIAL = "material";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_IMAGE = "instance_image";
+DLLSPEC daeString COLLADA_ELEMENT_FX_SAMPLER_STATES = "fx_sampler_states";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL = "bool";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL2 = "bool2";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL3 = "bool3";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL4 = "bool4";
+DLLSPEC daeString COLLADA_ELEMENT_INT = "int";
+DLLSPEC daeString COLLADA_ELEMENT_INT2 = "int2";
+DLLSPEC daeString COLLADA_ELEMENT_INT3 = "int3";
+DLLSPEC daeString COLLADA_ELEMENT_INT4 = "int4";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT = "float";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT2 = "float2";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT3 = "float3";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT4 = "float4";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT2X2 = "float2x2";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT3X3 = "float3x3";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT4X4 = "float4x4";
+DLLSPEC daeString COLLADA_ELEMENT_STRING = "string";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT2X1 = "float2x1";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT2X3 = "float2x3";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT2X4 = "float2x4";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT3X1 = "float3x1";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT3X2 = "float3x2";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT3X4 = "float3x4";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT4X1 = "float4x1";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT4X2 = "float4x2";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT4X3 = "float4x3";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLER1D = "sampler1D";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLER2D = "sampler2D";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLER3D = "sampler3D";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLERCUBE = "samplerCUBE";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLERRECT = "samplerRECT";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLERDEPTH = "samplerDEPTH";
+DLLSPEC daeString COLLADA_ELEMENT_ENUM = "enum";
+DLLSPEC daeString COLLADA_ELEMENT_INLINE = "inline";
+DLLSPEC daeString COLLADA_ELEMENT_IMPORT = "import";
+DLLSPEC daeString COLLADA_ELEMENT_BINARY = "binary";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE = "texture";
+DLLSPEC daeString COLLADA_ELEMENT_SEMANTIC = "semantic";
+DLLSPEC daeString COLLADA_ELEMENT_NEWPARAM = "newparam";
+DLLSPEC daeString COLLADA_ELEMENT_CONSTANT = "constant";
+DLLSPEC daeString COLLADA_ELEMENT_LAMBERT = "lambert";
+DLLSPEC daeString COLLADA_ELEMENT_PHONG = "phong";
+DLLSPEC daeString COLLADA_ELEMENT_BLINN = "blinn";
+DLLSPEC daeString COLLADA_ELEMENT_EMISSION = "emission";
+DLLSPEC daeString COLLADA_ELEMENT_REFLECTIVE = "reflective";
+DLLSPEC daeString COLLADA_ELEMENT_REFLECTIVITY = "reflectivity";
+DLLSPEC daeString COLLADA_ELEMENT_TRANSPARENT = "transparent";
+DLLSPEC daeString COLLADA_ELEMENT_TRANSPARENCY = "transparency";
+DLLSPEC daeString COLLADA_ELEMENT_INDEX_OF_REFRACTION = "index_of_refraction";
+DLLSPEC daeString COLLADA_ELEMENT_DIFFUSE = "diffuse";
+DLLSPEC daeString COLLADA_ELEMENT_SPECULAR = "specular";
+DLLSPEC daeString COLLADA_ELEMENT_SHININESS = "shininess";
+DLLSPEC daeString COLLADA_ELEMENT_ANNOTATE = "annotate";
+DLLSPEC daeString COLLADA_ELEMENT_MODIFIER = "modifier";
+DLLSPEC daeString COLLADA_ELEMENT_GLES2_VALUE = "gles2_value";
+DLLSPEC daeString COLLADA_ELEMENT_SOURCES = "sources";
+DLLSPEC daeString COLLADA_ELEMENT_COMPILER = "compiler";
+DLLSPEC daeString COLLADA_ELEMENT_SHADER = "shader";
+DLLSPEC daeString COLLADA_ELEMENT_LINKER = "linker";
+DLLSPEC daeString COLLADA_ELEMENT_BIND_ATTRIBUTE = "bind_attribute";
+DLLSPEC daeString COLLADA_ELEMENT_BIND_UNIFORM = "bind_uniform";
+DLLSPEC daeString COLLADA_ELEMENT_STATES = "states";
+DLLSPEC daeString COLLADA_ELEMENT_PROGRAM = "program";
+DLLSPEC daeString COLLADA_ELEMENT_EVALUATE = "evaluate";
+DLLSPEC daeString COLLADA_ELEMENT_GLES2_PIPELINE_SETTINGS = "gles2_pipeline_settings";
+DLLSPEC daeString COLLADA_ELEMENT_COLOR_TARGET = "color_target";
+DLLSPEC daeString COLLADA_ELEMENT_DEPTH_TARGET = "depth_target";
+DLLSPEC daeString COLLADA_ELEMENT_STENCIL_TARGET = "stencil_target";
+DLLSPEC daeString COLLADA_ELEMENT_COLOR_CLEAR = "color_clear";
+DLLSPEC daeString COLLADA_ELEMENT_STENCIL_CLEAR = "stencil_clear";
+DLLSPEC daeString COLLADA_ELEMENT_DEPTH_CLEAR = "depth_clear";
+DLLSPEC daeString COLLADA_ELEMENT_DRAW = "draw";
+DLLSPEC daeString COLLADA_ELEMENT_INCLUDE = "include";
+DLLSPEC daeString COLLADA_ELEMENT_CODE = "code";
+DLLSPEC daeString COLLADA_ELEMENT_PASS = "pass";
+DLLSPEC daeString COLLADA_ELEMENT_GLSL_VALUE = "glsl_value";
+DLLSPEC daeString COLLADA_ELEMENT_GL_PIPELINE_SETTINGS = "gl_pipeline_settings";
+DLLSPEC daeString COLLADA_ELEMENT_CG_PARAM = "cg_param";
+DLLSPEC daeString COLLADA_ELEMENT_ARGUMENT = "argument";
+DLLSPEC daeString COLLADA_ELEMENT_RGB = "RGB";
+DLLSPEC daeString COLLADA_ELEMENT_ALPHA = "alpha";
+DLLSPEC daeString COLLADA_ELEMENT_TEXCOMBINER = "texcombiner";
+DLLSPEC daeString COLLADA_ELEMENT_TEXENV = "texenv";
+DLLSPEC daeString COLLADA_ELEMENT_TEXCOORD = "texcoord";
+DLLSPEC daeString COLLADA_ELEMENT_GLES_SAMPLER_STATES = "gles_sampler_states";
+DLLSPEC daeString COLLADA_ELEMENT_GLES_PARAM = "gles_param";
+DLLSPEC daeString COLLADA_ELEMENT_GLES_PIPELINE_SETTINGS = "gles_pipeline_settings";
+DLLSPEC daeString COLLADA_ELEMENT_FX_PROFILE = "fx_profile";
+DLLSPEC daeString COLLADA_ELEMENT_EFFECT = "effect";
+DLLSPEC daeString COLLADA_ELEMENT_HALF_EXTENTS = "half_extents";
+DLLSPEC daeString COLLADA_ELEMENT_EQUATION = "equation";
+DLLSPEC daeString COLLADA_ELEMENT_RADIUS = "radius";
+DLLSPEC daeString COLLADA_ELEMENT_HEIGHT = "height";
+DLLSPEC daeString COLLADA_ELEMENT_FORCE_FIELD = "force_field";
+DLLSPEC daeString COLLADA_ELEMENT_DYNAMIC_FRICTION = "dynamic_friction";
+DLLSPEC daeString COLLADA_ELEMENT_RESTITUTION = "restitution";
+DLLSPEC daeString COLLADA_ELEMENT_STATIC_FRICTION = "static_friction";
+DLLSPEC daeString COLLADA_ELEMENT_PHYSICS_MATERIAL = "physics_material";
+DLLSPEC daeString COLLADA_ELEMENT_ORIGIN = "origin";
+DLLSPEC daeString COLLADA_ELEMENT_DIRECTION = "direction";
+DLLSPEC daeString COLLADA_ELEMENT_FOCAL = "focal";
+DLLSPEC daeString COLLADA_ELEMENT_TOKEN_ARRAY = "token_array";
+DLLSPEC daeString COLLADA_ELEMENT_IDREF_ARRAY = "IDREF_array";
+DLLSPEC daeString COLLADA_ELEMENT_NAME_ARRAY = "Name_array";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL_ARRAY = "bool_array";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT_ARRAY = "float_array";
+DLLSPEC daeString COLLADA_ELEMENT_INT_ARRAY = "int_array";
+DLLSPEC daeString COLLADA_ELEMENT_SIDREF_ARRAY = "SIDREF_array";
+DLLSPEC daeString COLLADA_ELEMENT_ACCESSOR = "accessor";
+DLLSPEC daeString COLLADA_ELEMENT_SOURCE = "source";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLER = "sampler";
+DLLSPEC daeString COLLADA_ELEMENT_CHANNEL = "channel";
+DLLSPEC daeString COLLADA_ELEMENT_ANIMATION = "animation";
+DLLSPEC daeString COLLADA_ELEMENT_BIND_SHAPE_MATRIX = "bind_shape_matrix";
+DLLSPEC daeString COLLADA_ELEMENT_JOINTS = "joints";
+DLLSPEC daeString COLLADA_ELEMENT_VERTEX_WEIGHTS = "vertex_weights";
+DLLSPEC daeString COLLADA_ELEMENT_V = "v";
+DLLSPEC daeString COLLADA_ELEMENT_VERTICES = "vertices";
+DLLSPEC daeString COLLADA_ELEMENT_LINES = "lines";
+DLLSPEC daeString COLLADA_ELEMENT_LINESTRIPS = "linestrips";
+DLLSPEC daeString COLLADA_ELEMENT_POLYGONS = "polygons";
+DLLSPEC daeString COLLADA_ELEMENT_POLYLIST = "polylist";
+DLLSPEC daeString COLLADA_ELEMENT_TRIANGLES = "triangles";
+DLLSPEC daeString COLLADA_ELEMENT_TRIFANS = "trifans";
+DLLSPEC daeString COLLADA_ELEMENT_TRISTRIPS = "tristrips";
+DLLSPEC daeString COLLADA_ELEMENT_CONTROL_VERTICES = "control_vertices";
+DLLSPEC daeString COLLADA_ELEMENT_TARGETS = "targets";
+DLLSPEC daeString COLLADA_ELEMENT_SKIN = "skin";
+DLLSPEC daeString COLLADA_ELEMENT_MORPH = "morph";
+DLLSPEC daeString COLLADA_ELEMENT_CONTROLLER = "controller";
+DLLSPEC daeString COLLADA_ELEMENT_LINE = "line";
+DLLSPEC daeString COLLADA_ELEMENT_CIRCLE = "circle";
+DLLSPEC daeString COLLADA_ELEMENT_ELLIPSE = "ellipse";
+DLLSPEC daeString COLLADA_ELEMENT_PARABOLA = "parabola";
+DLLSPEC daeString COLLADA_ELEMENT_HYPERBOLA = "hyperbola";
+DLLSPEC daeString COLLADA_ELEMENT_NURBS = "nurbs";
+DLLSPEC daeString COLLADA_ELEMENT_ORIENT = "orient";
+DLLSPEC daeString COLLADA_ELEMENT_CURVE = "curve";
+DLLSPEC daeString COLLADA_ELEMENT_AXIS = "axis";
+DLLSPEC daeString COLLADA_ELEMENT_ANGLE = "angle";
+DLLSPEC daeString COLLADA_ELEMENT_PLANE = "plane";
+DLLSPEC daeString COLLADA_ELEMENT_SPHERE = "sphere";
+DLLSPEC daeString COLLADA_ELEMENT_TORUS = "torus";
+DLLSPEC daeString COLLADA_ELEMENT_SWEPT_SURFACE = "swept_surface";
+DLLSPEC daeString COLLADA_ELEMENT_NURBS_SURFACE = "nurbs_surface";
+DLLSPEC daeString COLLADA_ELEMENT_CONE = "cone";
+DLLSPEC daeString COLLADA_ELEMENT_CYLINDER = "cylinder";
+DLLSPEC daeString COLLADA_ELEMENT_SURFACE = "surface";
+DLLSPEC daeString COLLADA_ELEMENT_CURVES = "curves";
+DLLSPEC daeString COLLADA_ELEMENT_SURFACE_CURVES = "surface_curves";
+DLLSPEC daeString COLLADA_ELEMENT_SURFACES = "surfaces";
+DLLSPEC daeString COLLADA_ELEMENT_EDGES = "edges";
+DLLSPEC daeString COLLADA_ELEMENT_WIRES = "wires";
+DLLSPEC daeString COLLADA_ELEMENT_FACES = "faces";
+DLLSPEC daeString COLLADA_ELEMENT_PCURVES = "pcurves";
+DLLSPEC daeString COLLADA_ELEMENT_SHELLS = "shells";
+DLLSPEC daeString COLLADA_ELEMENT_SOLIDS = "solids";
+DLLSPEC daeString COLLADA_ELEMENT_CONVEX_MESH = "convex_mesh";
+DLLSPEC daeString COLLADA_ELEMENT_MESH = "mesh";
+DLLSPEC daeString COLLADA_ELEMENT_SPLINE = "spline";
+DLLSPEC daeString COLLADA_ELEMENT_BREP = "brep";
+DLLSPEC daeString COLLADA_ELEMENT_GEOMETRY = "geometry";
+DLLSPEC daeString COLLADA_ELEMENT_ROTATE = "rotate";
+DLLSPEC daeString COLLADA_ELEMENT_TRANSLATE = "translate";
+DLLSPEC daeString COLLADA_ELEMENT_ATTACHMENT_FULL = "attachment_full";
+DLLSPEC daeString COLLADA_ELEMENT_ATTACHMENT_START = "attachment_start";
+DLLSPEC daeString COLLADA_ELEMENT_ATTACHMENT_END = "attachment_end";
+DLLSPEC daeString COLLADA_ELEMENT_LINK = "link";
+DLLSPEC daeString COLLADA_ELEMENT_REF_ATTACHMENT = "ref_attachment";
+DLLSPEC daeString COLLADA_ELEMENT_ATTACHMENT = "attachment";
+DLLSPEC daeString COLLADA_ELEMENT_ENABLED = "enabled";
+DLLSPEC daeString COLLADA_ELEMENT_INTERPENETRATE = "interpenetrate";
+DLLSPEC daeString COLLADA_ELEMENT_LIMITS = "limits";
+DLLSPEC daeString COLLADA_ELEMENT_SPRING = "spring";
+DLLSPEC daeString COLLADA_ELEMENT_SWING_CONE_AND_TWIST = "swing_cone_and_twist";
+DLLSPEC daeString COLLADA_ELEMENT_LINEAR = "linear";
+DLLSPEC daeString COLLADA_ELEMENT_MIN = "min";
+DLLSPEC daeString COLLADA_ELEMENT_MAX = "max";
+DLLSPEC daeString COLLADA_ELEMENT_ANGULAR = "angular";
+DLLSPEC daeString COLLADA_ELEMENT_STIFFNESS = "stiffness";
+DLLSPEC daeString COLLADA_ELEMENT_DAMPING = "damping";
+DLLSPEC daeString COLLADA_ELEMENT_TARGET_VALUE = "target_value";
+DLLSPEC daeString COLLADA_ELEMENT_LOOKAT = "lookat";
+DLLSPEC daeString COLLADA_ELEMENT_MATRIX = "matrix";
+DLLSPEC daeString COLLADA_ELEMENT_SCALE = "scale";
+DLLSPEC daeString COLLADA_ELEMENT_SKEW = "skew";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_CAMERA = "instance_camera";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_CONTROLLER = "instance_controller";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_GEOMETRY = "instance_geometry";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_LIGHT = "instance_light";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_NODE = "instance_node";
+DLLSPEC daeString COLLADA_ELEMENT_NODE = "node";
+DLLSPEC daeString COLLADA_ELEMENT_EVALUATE_SCENE = "evaluate_scene";
+DLLSPEC daeString COLLADA_ELEMENT_RENDER = "render";
+DLLSPEC daeString COLLADA_ELEMENT_LAYER = "layer";
+DLLSPEC daeString COLLADA_ELEMENT_TECHNIQUE_OVERRIDE = "technique_override";
+DLLSPEC daeString COLLADA_ELEMENT_VISUAL_SCENE = "visual_scene";
+DLLSPEC daeString COLLADA_ELEMENT_DYNAMIC = "dynamic";
+DLLSPEC daeString COLLADA_ELEMENT_MASS = "mass";
+DLLSPEC daeString COLLADA_ELEMENT_MASS_FRAME = "mass_frame";
+DLLSPEC daeString COLLADA_ELEMENT_INERTIA = "inertia";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_PHYSICS_MATERIAL = "instance_physics_material";
+DLLSPEC daeString COLLADA_ELEMENT_SHAPE = "shape";
+DLLSPEC daeString COLLADA_ELEMENT_HOLLOW = "hollow";
+DLLSPEC daeString COLLADA_ELEMENT_DENSITY = "density";
+DLLSPEC daeString COLLADA_ELEMENT_BOX = "box";
+DLLSPEC daeString COLLADA_ELEMENT_CAPSULE = "capsule";
+DLLSPEC daeString COLLADA_ELEMENT_ANGULAR_VELOCITY = "angular_velocity";
+DLLSPEC daeString COLLADA_ELEMENT_VELOCITY = "velocity";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_FORCE_FIELD = "instance_force_field";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_RIGID_BODY = "instance_rigid_body";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_RIGID_CONSTRAINT = "instance_rigid_constraint";
+DLLSPEC daeString COLLADA_ELEMENT_RIGID_BODY = "rigid_body";
+DLLSPEC daeString COLLADA_ELEMENT_RIGID_CONSTRAINT = "rigid_constraint";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_PHYSICS_MODEL = "instance_physics_model";
+DLLSPEC daeString COLLADA_ELEMENT_PHYSICS_MODEL = "physics_model";
+DLLSPEC daeString COLLADA_ELEMENT_GRAVITY = "gravity";
+DLLSPEC daeString COLLADA_ELEMENT_TIME_STEP = "time_step";
+DLLSPEC daeString COLLADA_ELEMENT_PHYSICS_SCENE = "physics_scene";
+DLLSPEC daeString COLLADA_ELEMENT_SIDREF = "SIDREF";
+DLLSPEC daeString COLLADA_ELEMENT_VALUE = "value";
+DLLSPEC daeString COLLADA_ELEMENT_CONNECT_PARAM = "connect_param";
+DLLSPEC daeString COLLADA_ELEMENT_BIND_KINEMATICS_MODEL = "bind_kinematics_model";
+DLLSPEC daeString COLLADA_ELEMENT_BIND_JOINT_AXIS = "bind_joint_axis";
+DLLSPEC daeString COLLADA_ELEMENT_SPEED = "speed";
+DLLSPEC daeString COLLADA_ELEMENT_ACCELERATION = "acceleration";
+DLLSPEC daeString COLLADA_ELEMENT_DECELERATION = "deceleration";
+DLLSPEC daeString COLLADA_ELEMENT_JERK = "jerk";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_KINEMATICS_MODEL = "instance_kinematics_model";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_ARTICULATED_SYSTEM = "instance_articulated_system";
+DLLSPEC daeString COLLADA_ELEMENT_KINEMATICS_SCENE = "kinematics_scene";
+DLLSPEC daeString COLLADA_ELEMENT_AXIS_INFO = "axis_info";
+DLLSPEC daeString COLLADA_ELEMENT_EFFECTOR_INFO = "effector_info";
+DLLSPEC daeString COLLADA_ELEMENT_PRISMATIC = "prismatic";
+DLLSPEC daeString COLLADA_ELEMENT_REVOLUTE = "revolute";
+DLLSPEC daeString COLLADA_ELEMENT_JOINT = "joint";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_ANIMATION = "instance_animation";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_FORMULA = "instance_formula";
+DLLSPEC daeString COLLADA_ELEMENT_ANIMATION_CLIP = "animation_clip";
+DLLSPEC daeString COLLADA_ELEMENT_TARGET = "target";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_JOINT = "instance_joint";
+DLLSPEC daeString COLLADA_ELEMENT_FORMULA = "formula";
+DLLSPEC daeString COLLADA_ELEMENT_KINEMATICS_MODEL = "kinematics_model";
+DLLSPEC daeString COLLADA_ELEMENT_ACTIVE = "active";
+DLLSPEC daeString COLLADA_ELEMENT_LOCKED = "locked";
+DLLSPEC daeString COLLADA_ELEMENT_INDEX = "index";
+DLLSPEC daeString COLLADA_ELEMENT_FRAME_ORIGIN = "frame_origin";
+DLLSPEC daeString COLLADA_ELEMENT_FRAME_TIP = "frame_tip";
+DLLSPEC daeString COLLADA_ELEMENT_FRAME_TCP = "frame_tcp";
+DLLSPEC daeString COLLADA_ELEMENT_FRAME_OBJECT = "frame_object";
+DLLSPEC daeString COLLADA_ELEMENT_KINEMATICS = "kinematics";
+DLLSPEC daeString COLLADA_ELEMENT_MOTION = "motion";
+DLLSPEC daeString COLLADA_ELEMENT_ARTICULATED_SYSTEM = "articulated_system";
+DLLSPEC daeString COLLADA_ELEMENT_WRAP_S = "wrap_s";
+DLLSPEC daeString COLLADA_ELEMENT_WRAP_T = "wrap_t";
+DLLSPEC daeString COLLADA_ELEMENT_WRAP_P = "wrap_p";
+DLLSPEC daeString COLLADA_ELEMENT_MINFILTER = "minfilter";
+DLLSPEC daeString COLLADA_ELEMENT_MAGFILTER = "magfilter";
+DLLSPEC daeString COLLADA_ELEMENT_MIPFILTER = "mipfilter";
+DLLSPEC daeString COLLADA_ELEMENT_BORDER_COLOR = "border_color";
+DLLSPEC daeString COLLADA_ELEMENT_MIP_MAX_LEVEL = "mip_max_level";
+DLLSPEC daeString COLLADA_ELEMENT_MIP_MIN_LEVEL = "mip_min_level";
+DLLSPEC daeString COLLADA_ELEMENT_MIP_BIAS = "mip_bias";
+DLLSPEC daeString COLLADA_ELEMENT_MAX_ANISOTROPY = "max_anisotropy";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLER_IMAGE = "sampler_image";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLER_STATES = "sampler_states";
+DLLSPEC daeString COLLADA_ELEMENT_ALPHA_FUNC = "alpha_func";
+DLLSPEC daeString COLLADA_ELEMENT_BLEND_FUNC = "blend_func";
+DLLSPEC daeString COLLADA_ELEMENT_BLEND_FUNC_SEPARATE = "blend_func_separate";
+DLLSPEC daeString COLLADA_ELEMENT_BLEND_EQUATION = "blend_equation";
+DLLSPEC daeString COLLADA_ELEMENT_BLEND_EQUATION_SEPARATE = "blend_equation_separate";
+DLLSPEC daeString COLLADA_ELEMENT_COLOR_MATERIAL = "color_material";
+DLLSPEC daeString COLLADA_ELEMENT_CULL_FACE = "cull_face";
+DLLSPEC daeString COLLADA_ELEMENT_DEPTH_FUNC = "depth_func";
+DLLSPEC daeString COLLADA_ELEMENT_FOG_MODE = "fog_mode";
+DLLSPEC daeString COLLADA_ELEMENT_FOG_COORD_SRC = "fog_coord_src";
+DLLSPEC daeString COLLADA_ELEMENT_FRONT_FACE = "front_face";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_MODEL_COLOR_CONTROL = "light_model_color_control";
+DLLSPEC daeString COLLADA_ELEMENT_LOGIC_OP = "logic_op";
+DLLSPEC daeString COLLADA_ELEMENT_POLYGON_MODE = "polygon_mode";
+DLLSPEC daeString COLLADA_ELEMENT_SHADE_MODEL = "shade_model";
+DLLSPEC daeString COLLADA_ELEMENT_STENCIL_FUNC = "stencil_func";
+DLLSPEC daeString COLLADA_ELEMENT_STENCIL_OP = "stencil_op";
+DLLSPEC daeString COLLADA_ELEMENT_STENCIL_FUNC_SEPARATE = "stencil_func_separate";
+DLLSPEC daeString COLLADA_ELEMENT_STENCIL_OP_SEPARATE = "stencil_op_separate";
+DLLSPEC daeString COLLADA_ELEMENT_STENCIL_MASK_SEPARATE = "stencil_mask_separate";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_ENABLE = "light_enable";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_AMBIENT = "light_ambient";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_DIFFUSE = "light_diffuse";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_SPECULAR = "light_specular";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_POSITION = "light_position";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_CONSTANT_ATTENUATION = "light_constant_attenuation";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_LINEAR_ATTENUATION = "light_linear_attenuation";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_QUADRATIC_ATTENUATION = "light_quadratic_attenuation";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_SPOT_CUTOFF = "light_spot_cutoff";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_SPOT_DIRECTION = "light_spot_direction";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_SPOT_EXPONENT = "light_spot_exponent";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE1D = "texture1D";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE2D = "texture2D";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE3D = "texture3D";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURECUBE = "textureCUBE";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURERECT = "textureRECT";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTUREDEPTH = "textureDEPTH";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE1D_ENABLE = "texture1D_enable";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE2D_ENABLE = "texture2D_enable";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE3D_ENABLE = "texture3D_enable";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURECUBE_ENABLE = "textureCUBE_enable";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURERECT_ENABLE = "textureRECT_enable";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTUREDEPTH_ENABLE = "textureDEPTH_enable";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE_ENV_COLOR = "texture_env_color";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE_ENV_MODE = "texture_env_mode";
+DLLSPEC daeString COLLADA_ELEMENT_CLIP_PLANE = "clip_plane";
+DLLSPEC daeString COLLADA_ELEMENT_CLIP_PLANE_ENABLE = "clip_plane_enable";
+DLLSPEC daeString COLLADA_ELEMENT_BLEND_COLOR = "blend_color";
+DLLSPEC daeString COLLADA_ELEMENT_COLOR_MASK = "color_mask";
+DLLSPEC daeString COLLADA_ELEMENT_DEPTH_BOUNDS = "depth_bounds";
+DLLSPEC daeString COLLADA_ELEMENT_DEPTH_MASK = "depth_mask";
+DLLSPEC daeString COLLADA_ELEMENT_DEPTH_RANGE = "depth_range";
+DLLSPEC daeString COLLADA_ELEMENT_FOG_DENSITY = "fog_density";
+DLLSPEC daeString COLLADA_ELEMENT_FOG_START = "fog_start";
+DLLSPEC daeString COLLADA_ELEMENT_FOG_END = "fog_end";
+DLLSPEC daeString COLLADA_ELEMENT_FOG_COLOR = "fog_color";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_MODEL_AMBIENT = "light_model_ambient";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHTING_ENABLE = "lighting_enable";
+DLLSPEC daeString COLLADA_ELEMENT_LINE_STIPPLE = "line_stipple";
+DLLSPEC daeString COLLADA_ELEMENT_LINE_WIDTH = "line_width";
+DLLSPEC daeString COLLADA_ELEMENT_MATERIAL_AMBIENT = "material_ambient";
+DLLSPEC daeString COLLADA_ELEMENT_MATERIAL_DIFFUSE = "material_diffuse";
+DLLSPEC daeString COLLADA_ELEMENT_MATERIAL_EMISSION = "material_emission";
+DLLSPEC daeString COLLADA_ELEMENT_MATERIAL_SHININESS = "material_shininess";
+DLLSPEC daeString COLLADA_ELEMENT_MATERIAL_SPECULAR = "material_specular";
+DLLSPEC daeString COLLADA_ELEMENT_MODEL_VIEW_MATRIX = "model_view_matrix";
+DLLSPEC daeString COLLADA_ELEMENT_POINT_DISTANCE_ATTENUATION = "point_distance_attenuation";
+DLLSPEC daeString COLLADA_ELEMENT_POINT_FADE_THRESHOLD_SIZE = "point_fade_threshold_size";
+DLLSPEC daeString COLLADA_ELEMENT_POINT_SIZE = "point_size";
+DLLSPEC daeString COLLADA_ELEMENT_POINT_SIZE_MIN = "point_size_min";
+DLLSPEC daeString COLLADA_ELEMENT_POINT_SIZE_MAX = "point_size_max";
+DLLSPEC daeString COLLADA_ELEMENT_POLYGON_OFFSET = "polygon_offset";
+DLLSPEC daeString COLLADA_ELEMENT_PROJECTION_MATRIX = "projection_matrix";
+DLLSPEC daeString COLLADA_ELEMENT_SCISSOR = "scissor";
+DLLSPEC daeString COLLADA_ELEMENT_STENCIL_MASK = "stencil_mask";
+DLLSPEC daeString COLLADA_ELEMENT_ALPHA_TEST_ENABLE = "alpha_test_enable";
+DLLSPEC daeString COLLADA_ELEMENT_BLEND_ENABLE = "blend_enable";
+DLLSPEC daeString COLLADA_ELEMENT_COLOR_LOGIC_OP_ENABLE = "color_logic_op_enable";
+DLLSPEC daeString COLLADA_ELEMENT_COLOR_MATERIAL_ENABLE = "color_material_enable";
+DLLSPEC daeString COLLADA_ELEMENT_CULL_FACE_ENABLE = "cull_face_enable";
+DLLSPEC daeString COLLADA_ELEMENT_DEPTH_BOUNDS_ENABLE = "depth_bounds_enable";
+DLLSPEC daeString COLLADA_ELEMENT_DEPTH_CLAMP_ENABLE = "depth_clamp_enable";
+DLLSPEC daeString COLLADA_ELEMENT_DEPTH_TEST_ENABLE = "depth_test_enable";
+DLLSPEC daeString COLLADA_ELEMENT_DITHER_ENABLE = "dither_enable";
+DLLSPEC daeString COLLADA_ELEMENT_FOG_ENABLE = "fog_enable";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE = "light_model_local_viewer_enable";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE = "light_model_two_side_enable";
+DLLSPEC daeString COLLADA_ELEMENT_LINE_SMOOTH_ENABLE = "line_smooth_enable";
+DLLSPEC daeString COLLADA_ELEMENT_LINE_STIPPLE_ENABLE = "line_stipple_enable";
+DLLSPEC daeString COLLADA_ELEMENT_LOGIC_OP_ENABLE = "logic_op_enable";
+DLLSPEC daeString COLLADA_ELEMENT_MULTISAMPLE_ENABLE = "multisample_enable";
+DLLSPEC daeString COLLADA_ELEMENT_NORMALIZE_ENABLE = "normalize_enable";
+DLLSPEC daeString COLLADA_ELEMENT_POINT_SMOOTH_ENABLE = "point_smooth_enable";
+DLLSPEC daeString COLLADA_ELEMENT_POLYGON_OFFSET_FILL_ENABLE = "polygon_offset_fill_enable";
+DLLSPEC daeString COLLADA_ELEMENT_POLYGON_OFFSET_LINE_ENABLE = "polygon_offset_line_enable";
+DLLSPEC daeString COLLADA_ELEMENT_POLYGON_OFFSET_POINT_ENABLE = "polygon_offset_point_enable";
+DLLSPEC daeString COLLADA_ELEMENT_POLYGON_SMOOTH_ENABLE = "polygon_smooth_enable";
+DLLSPEC daeString COLLADA_ELEMENT_POLYGON_STIPPLE_ENABLE = "polygon_stipple_enable";
+DLLSPEC daeString COLLADA_ELEMENT_RESCALE_NORMAL_ENABLE = "rescale_normal_enable";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE = "sample_alpha_to_coverage_enable";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE = "sample_alpha_to_one_enable";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLE_COVERAGE_ENABLE = "sample_coverage_enable";
+DLLSPEC daeString COLLADA_ELEMENT_SCISSOR_TEST_ENABLE = "scissor_test_enable";
+DLLSPEC daeString COLLADA_ELEMENT_STENCIL_TEST_ENABLE = "stencil_test_enable";
+DLLSPEC daeString COLLADA_ELEMENT_FUNC = "func";
+DLLSPEC daeString COLLADA_ELEMENT_SRC = "src";
+DLLSPEC daeString COLLADA_ELEMENT_DEST = "dest";
+DLLSPEC daeString COLLADA_ELEMENT_SRC_RGB = "src_rgb";
+DLLSPEC daeString COLLADA_ELEMENT_DEST_RGB = "dest_rgb";
+DLLSPEC daeString COLLADA_ELEMENT_SRC_ALPHA = "src_alpha";
+DLLSPEC daeString COLLADA_ELEMENT_DEST_ALPHA = "dest_alpha";
+DLLSPEC daeString COLLADA_ELEMENT_rgb = "rgb";
+DLLSPEC daeString COLLADA_ELEMENT_FACE = "face";
+DLLSPEC daeString COLLADA_ELEMENT_MODE = "mode";
+DLLSPEC daeString COLLADA_ELEMENT_MASK = "mask";
+DLLSPEC daeString COLLADA_ELEMENT_FAIL = "fail";
+DLLSPEC daeString COLLADA_ELEMENT_ZFAIL = "zfail";
+DLLSPEC daeString COLLADA_ELEMENT_ZPASS = "zpass";
+DLLSPEC daeString COLLADA_ELEMENT_FRONT = "front";
+DLLSPEC daeString COLLADA_ELEMENT_BACK = "back";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLE_COVERAGE = "sample_coverage";
+DLLSPEC daeString COLLADA_ELEMENT_POINT_SIZE_ENABLE = "point_size_enable";
+DLLSPEC daeString COLLADA_ELEMENT_INVERT = "invert";
+DLLSPEC daeString COLLADA_ELEMENT_BVEC2 = "bvec2";
+DLLSPEC daeString COLLADA_ELEMENT_BVEC3 = "bvec3";
+DLLSPEC daeString COLLADA_ELEMENT_BVEC4 = "bvec4";
+DLLSPEC daeString COLLADA_ELEMENT_VEC2 = "vec2";
+DLLSPEC daeString COLLADA_ELEMENT_VEC3 = "vec3";
+DLLSPEC daeString COLLADA_ELEMENT_VEC4 = "vec4";
+DLLSPEC daeString COLLADA_ELEMENT_MAT2 = "mat2";
+DLLSPEC daeString COLLADA_ELEMENT_MAT3 = "mat3";
+DLLSPEC daeString COLLADA_ELEMENT_MAT4 = "mat4";
+DLLSPEC daeString COLLADA_ELEMENT_IVEC2 = "ivec2";
+DLLSPEC daeString COLLADA_ELEMENT_IVEC3 = "ivec3";
+DLLSPEC daeString COLLADA_ELEMENT_IVEC4 = "ivec4";
+DLLSPEC daeString COLLADA_ELEMENT_USERTYPE = "usertype";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL2X1 = "bool2x1";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL2X2 = "bool2x2";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL2X3 = "bool2x3";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL2X4 = "bool2x4";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL3X1 = "bool3x1";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL3X2 = "bool3x2";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL3X3 = "bool3x3";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL3X4 = "bool3x4";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL4X1 = "bool4x1";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL4X2 = "bool4x2";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL4X3 = "bool4x3";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL4X4 = "bool4x4";
+DLLSPEC daeString COLLADA_ELEMENT_INT2X1 = "int2x1";
+DLLSPEC daeString COLLADA_ELEMENT_INT2X2 = "int2x2";
+DLLSPEC daeString COLLADA_ELEMENT_INT2X3 = "int2x3";
+DLLSPEC daeString COLLADA_ELEMENT_INT2X4 = "int2x4";
+DLLSPEC daeString COLLADA_ELEMENT_INT3X1 = "int3x1";
+DLLSPEC daeString COLLADA_ELEMENT_INT3X2 = "int3x2";
+DLLSPEC daeString COLLADA_ELEMENT_INT3X3 = "int3x3";
+DLLSPEC daeString COLLADA_ELEMENT_INT3X4 = "int3x4";
+DLLSPEC daeString COLLADA_ELEMENT_INT4X1 = "int4x1";
+DLLSPEC daeString COLLADA_ELEMENT_INT4X2 = "int4x2";
+DLLSPEC daeString COLLADA_ELEMENT_INT4X3 = "int4x3";
+DLLSPEC daeString COLLADA_ELEMENT_INT4X4 = "int4x4";
+DLLSPEC daeString COLLADA_ELEMENT_HALF = "half";
+DLLSPEC daeString COLLADA_ELEMENT_HALF2 = "half2";
+DLLSPEC daeString COLLADA_ELEMENT_HALF3 = "half3";
+DLLSPEC daeString COLLADA_ELEMENT_HALF4 = "half4";
+DLLSPEC daeString COLLADA_ELEMENT_HALF2X1 = "half2x1";
+DLLSPEC daeString COLLADA_ELEMENT_HALF2X2 = "half2x2";
+DLLSPEC daeString COLLADA_ELEMENT_HALF2X3 = "half2x3";
+DLLSPEC daeString COLLADA_ELEMENT_HALF2X4 = "half2x4";
+DLLSPEC daeString COLLADA_ELEMENT_HALF3X1 = "half3x1";
+DLLSPEC daeString COLLADA_ELEMENT_HALF3X2 = "half3x2";
+DLLSPEC daeString COLLADA_ELEMENT_HALF3X3 = "half3x3";
+DLLSPEC daeString COLLADA_ELEMENT_HALF3X4 = "half3x4";
+DLLSPEC daeString COLLADA_ELEMENT_HALF4X1 = "half4x1";
+DLLSPEC daeString COLLADA_ELEMENT_HALF4X2 = "half4x2";
+DLLSPEC daeString COLLADA_ELEMENT_HALF4X3 = "half4x3";
+DLLSPEC daeString COLLADA_ELEMENT_HALF4X4 = "half4x4";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED = "fixed";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED2 = "fixed2";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED3 = "fixed3";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED4 = "fixed4";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED2X1 = "fixed2x1";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED2X2 = "fixed2x2";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED2X3 = "fixed2x3";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED2X4 = "fixed2x4";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED3X1 = "fixed3x1";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED3X2 = "fixed3x2";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED3X3 = "fixed3x3";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED3X4 = "fixed3x4";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED4X1 = "fixed4x1";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED4X2 = "fixed4x2";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED4X3 = "fixed4x3";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED4X4 = "fixed4x4";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE_PIPELINE = "texture_pipeline";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT1X1 = "float1x1";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT1X2 = "float1x2";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT1X3 = "float1x3";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT1X4 = "float1x4";
+DLLSPEC daeString COLLADA_ELEMENT_PROFILE_COMMON = "profile_COMMON";
+DLLSPEC daeString COLLADA_ELEMENT_PROFILE_BRIDGE = "profile_BRIDGE";
+DLLSPEC daeString COLLADA_ELEMENT_PROFILE_GLES2 = "profile_GLES2";
+DLLSPEC daeString COLLADA_ELEMENT_PROFILE_GLSL = "profile_GLSL";
+DLLSPEC daeString COLLADA_ELEMENT_PROFILE_CG = "profile_CG";
+DLLSPEC daeString COLLADA_ELEMENT_PROFILE_GLES = "profile_GLES";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_ANIMATIONS = "library_animations";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_ANIMATION_CLIPS = "library_animation_clips";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_CAMERAS = "library_cameras";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_CONTROLLERS = "library_controllers";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_GEOMETRIES = "library_geometries";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_EFFECTS = "library_effects";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_FORCE_FIELDS = "library_force_fields";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_IMAGES = "library_images";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_LIGHTS = "library_lights";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_MATERIALS = "library_materials";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_NODES = "library_nodes";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_PHYSICS_MATERIALS = "library_physics_materials";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_PHYSICS_MODELS = "library_physics_models";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_PHYSICS_SCENES = "library_physics_scenes";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_VISUAL_SCENES = "library_visual_scenes";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_JOINTS = "library_joints";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_KINEMATICS_MODELS = "library_kinematics_models";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_ARTICULATED_SYSTEMS = "library_articulated_systems";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_KINEMATICS_SCENES = "library_kinematics_scenes";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_FORMULAS = "library_formulas";
+DLLSPEC daeString COLLADA_ELEMENT_SCENE = "scene";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_PHYSICS_SCENE = "instance_physics_scene";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_VISUAL_SCENE = "instance_visual_scene";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_KINEMATICS_SCENE = "instance_kinematics_scene";
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domController.cpp b/1.4.0/dom/src/1.5/dom/domController.cpp
new file mode 100644
index 0000000..4e32e2f
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domController.cpp
@@ -0,0 +1,101 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domController.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domController::create(DAE& dae)
+{
+ domControllerRef ref = new domController(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domController::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "controller" );
+ meta->registerClass(domController::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domController,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "skin" );
+ mea->setOffset( daeOffsetOf(domController,elemSkin) );
+ mea->setElementType( domSkin::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "morph" );
+ mea->setOffset( daeOffsetOf(domController,elemMorph) );
+ mea->setElementType( domMorph::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domController,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domController,_contents));
+ meta->addContentsOrder(daeOffsetOf(domController,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domController,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domController , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domController , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domController));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domConvex_mesh.cpp b/1.4.0/dom/src/1.5/dom/domConvex_mesh.cpp
new file mode 100644
index 0000000..1c06f9f
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domConvex_mesh.cpp
@@ -0,0 +1,127 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domConvex_mesh.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domConvex_mesh::create(DAE& dae)
+{
+ domConvex_meshRef ref = new domConvex_mesh(dae);
+ ref->attrConvex_hull_of.setContainer( (domConvex_mesh*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domConvex_mesh::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "convex_mesh" );
+ meta->registerClass(domConvex_mesh::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 0, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemSource_array) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "vertices" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemVertices) );
+ mea->setElementType( domVertices::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 2, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "lines" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemLines_array) );
+ mea->setElementType( domLines::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "linestrips" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemLinestrips_array) );
+ mea->setElementType( domLinestrips::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygons" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemPolygons_array) );
+ mea->setElementType( domPolygons::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polylist" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemPolylist_array) );
+ mea->setElementType( domPolylist::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "triangles" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemTriangles_array) );
+ mea->setElementType( domTriangles::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "trifans" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemTrifans_array) );
+ mea->setElementType( domTrifans::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "tristrips" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemTristrips_array) );
+ mea->setElementType( domTristrips::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3003, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3003 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domConvex_mesh,_contents));
+ meta->addContentsOrder(daeOffsetOf(domConvex_mesh,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domConvex_mesh,_CMData), 1);
+ // Add attribute: convex_hull_of
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "convex_hull_of" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domConvex_mesh , attrConvex_hull_of ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domConvex_mesh));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCurve.cpp b/1.4.0/dom/src/1.5/dom/domCurve.cpp
new file mode 100644
index 0000000..71eba93
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCurve.cpp
@@ -0,0 +1,127 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCurve.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCurve::create(DAE& dae)
+{
+ domCurveRef ref = new domCurve(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCurve::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "curve" );
+ meta->registerClass(domCurve::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "line" );
+ mea->setOffset( daeOffsetOf(domCurve,elemLine) );
+ mea->setElementType( domLine::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "circle" );
+ mea->setOffset( daeOffsetOf(domCurve,elemCircle) );
+ mea->setElementType( domCircle::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ellipse" );
+ mea->setOffset( daeOffsetOf(domCurve,elemEllipse) );
+ mea->setElementType( domEllipse::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "parabola" );
+ mea->setOffset( daeOffsetOf(domCurve,elemParabola) );
+ mea->setElementType( domParabola::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "hyperbola" );
+ mea->setOffset( daeOffsetOf(domCurve,elemHyperbola) );
+ mea->setElementType( domHyperbola::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "nurbs" );
+ mea->setOffset( daeOffsetOf(domCurve,elemNurbs) );
+ mea->setElementType( domNurbs::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "orient" );
+ mea->setOffset( daeOffsetOf(domCurve,elemOrient_array) );
+ mea->setElementType( domOrient::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "origin" );
+ mea->setOffset( daeOffsetOf(domCurve,elemOrigin) );
+ mea->setElementType( domOrigin::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCurve,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCurve,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCurve,_CMData), 1);
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domCurve , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domCurve , attrName ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCurve));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCurves.cpp b/1.4.0/dom/src/1.5/dom/domCurves.cpp
new file mode 100644
index 0000000..85c21ca
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCurves.cpp
@@ -0,0 +1,57 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCurves.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCurves::create(DAE& dae)
+{
+ domCurvesRef ref = new domCurves(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCurves::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "curves" );
+ meta->registerClass(domCurves::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "curve" );
+ mea->setOffset( daeOffsetOf(domCurves,elemCurve_array) );
+ mea->setElementType( domCurve::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCurves,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCurves));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCylinder.cpp b/1.4.0/dom/src/1.5/dom/domCylinder.cpp
new file mode 100644
index 0000000..e4d279d
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCylinder.cpp
@@ -0,0 +1,135 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCylinder.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCylinder::create(DAE& dae)
+{
+ domCylinderRef ref = new domCylinder(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCylinder::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cylinder" );
+ meta->registerClass(domCylinder::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "height" );
+ mea->setOffset( daeOffsetOf(domCylinder,elemHeight) );
+ mea->setElementType( domCylinder::domHeight::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "radius" );
+ mea->setOffset( daeOffsetOf(domCylinder,elemRadius) );
+ mea->setElementType( domCylinder::domRadius::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCylinder,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCylinder));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCylinder::domHeight::create(DAE& dae)
+{
+ domCylinder::domHeightRef ref = new domCylinder::domHeight(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCylinder::domHeight::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "height" );
+ meta->registerClass(domCylinder::domHeight::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domCylinder::domHeight , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCylinder::domHeight));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCylinder::domRadius::create(DAE& dae)
+{
+ domCylinder::domRadiusRef ref = new domCylinder::domRadius(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCylinder::domRadius::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "radius" );
+ meta->registerClass(domCylinder::domRadius::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domCylinder::domRadius , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCylinder::domRadius));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domEdges.cpp b/1.4.0/dom/src/1.5/dom/domEdges.cpp
new file mode 100644
index 0000000..051187c
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domEdges.cpp
@@ -0,0 +1,98 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domEdges.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domEdges::create(DAE& dae)
+{
+ domEdgesRef ref = new domEdges(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domEdges::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "edges" );
+ meta->registerClass(domEdges::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 4, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domEdges,elemInput_array) );
+ mea->setElementType( domInput_local_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domEdges,elemP) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domEdges,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domEdges , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domEdges , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("xsInt"));
+ ma->setOffset( daeOffsetOf( domEdges , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domEdges));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domEffect.cpp b/1.4.0/dom/src/1.5/dom/domEffect.cpp
new file mode 100644
index 0000000..aac02d7
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domEffect.cpp
@@ -0,0 +1,98 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domEffect.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domEffect::create(DAE& dae)
+{
+ domEffectRef ref = new domEffect(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domEffect::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "effect" );
+ meta->registerClass(domEffect::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domEffect,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domEffect,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domEffect,elemNewparam_array) );
+ mea->setElementType( domFx_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 1, -1 );
+ mea->setName( "fx_profile" );
+ mea->setOffset( daeOffsetOf(domEffect,elemFx_profile_array) );
+ mea->setElementType( domFx_profile::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 3, 1, -1 ) );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domEffect,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domEffect , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domEffect , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domEffect));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domEllipse.cpp b/1.4.0/dom/src/1.5/dom/domEllipse.cpp
new file mode 100644
index 0000000..02d41ea
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domEllipse.cpp
@@ -0,0 +1,93 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domEllipse.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domEllipse::create(DAE& dae)
+{
+ domEllipseRef ref = new domEllipse(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domEllipse::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ellipse" );
+ meta->registerClass(domEllipse::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "radius" );
+ mea->setOffset( daeOffsetOf(domEllipse,elemRadius) );
+ mea->setElementType( domEllipse::domRadius::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domEllipse,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domEllipse));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domEllipse::domRadius::create(DAE& dae)
+{
+ domEllipse::domRadiusRef ref = new domEllipse::domRadius(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domEllipse::domRadius::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "radius" );
+ meta->registerClass(domEllipse::domRadius::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domEllipse::domRadius , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domEllipse::domRadius));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domEllipsoid.cpp b/1.4.0/dom/src/1.5/dom/domEllipsoid.cpp
new file mode 100644
index 0000000..c2fb297
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domEllipsoid.cpp
@@ -0,0 +1,87 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domEllipsoid.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domEllipsoid::create(DAE& dae)
+{
+ domEllipsoidRef ref = new domEllipsoid(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domEllipsoid::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ellipsoid" );
+ meta->registerClass(domEllipsoid::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "size" );
+ mea->setOffset( daeOffsetOf(domEllipsoid,elemSize) );
+ mea->setElementType( domEllipsoid::domSize::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domEllipsoid));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domEllipsoid::domSize::create(DAE& dae)
+{
+ domEllipsoid::domSizeRef ref = new domEllipsoid::domSize(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domEllipsoid::domSize::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "size" );
+ meta->registerClass(domEllipsoid::domSize::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domEllipsoid::domSize , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domEllipsoid::domSize));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domExtra.cpp b/1.4.0/dom/src/1.5/dom/domExtra.cpp
new file mode 100644
index 0000000..424e17a
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domExtra.cpp
@@ -0,0 +1,90 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domExtra.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domExtra::create(DAE& dae)
+{
+ domExtraRef ref = new domExtra(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domExtra::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "extra" );
+ meta->registerClass(domExtra::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domExtra,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domExtra,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domExtra , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domExtra , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: type
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "type" );
+ ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
+ ma->setOffset( daeOffsetOf( domExtra , attrType ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domExtra));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFaces.cpp b/1.4.0/dom/src/1.5/dom/domFaces.cpp
new file mode 100644
index 0000000..743d6c7
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFaces.cpp
@@ -0,0 +1,140 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFaces.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFaces::create(DAE& dae)
+{
+ domFacesRef ref = new domFaces(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFaces::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "faces" );
+ meta->registerClass(domFaces::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 3, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domFaces,elemInput_array) );
+ mea->setElementType( domInput_local_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "vcount" );
+ mea->setOffset( daeOffsetOf(domFaces,elemVcount) );
+ mea->setElementType( domFaces::domVcount::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domFaces,elemP) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domFaces,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domFaces , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domFaces , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domFaces , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFaces));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFaces::domVcount::create(DAE& dae)
+{
+ domFaces::domVcountRef ref = new domFaces::domVcount(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFaces::domVcount::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "vcount" );
+ meta->registerClass(domFaces::domVcount::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_uints"));
+ ma->setOffset( daeOffsetOf( domFaces::domVcount , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFaces::domVcount));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFloat_array.cpp b/1.4.0/dom/src/1.5/dom/domFloat_array.cpp
new file mode 100644
index 0000000..6e9fd0c
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFloat_array.cpp
@@ -0,0 +1,106 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFloat_array.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFloat_array::create(DAE& dae)
+{
+ domFloat_arrayRef ref = new domFloat_array(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFloat_array::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float_array" );
+ meta->registerClass(domFloat_array::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_floats"));
+ ma->setOffset( daeOffsetOf( domFloat_array , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domFloat_array , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domFloat_array , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domFloat_array , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: digits
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "digits" );
+ ma->setType( dae.getAtomicTypes().get("Digits"));
+ ma->setOffset( daeOffsetOf( domFloat_array , attrDigits ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "6");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: magnitude
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "magnitude" );
+ ma->setType( dae.getAtomicTypes().get("Magnitude"));
+ ma->setOffset( daeOffsetOf( domFloat_array , attrMagnitude ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "38");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFloat_array));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domForce_field.cpp b/1.4.0/dom/src/1.5/dom/domForce_field.cpp
new file mode 100644
index 0000000..4df52be
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domForce_field.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domForce_field.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domForce_field::create(DAE& dae)
+{
+ domForce_fieldRef ref = new domForce_field(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domForce_field::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "force_field" );
+ meta->registerClass(domForce_field::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domForce_field,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domForce_field,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domForce_field,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domForce_field , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domForce_field , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domForce_field));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFormula.cpp b/1.4.0/dom/src/1.5/dom/domFormula.cpp
new file mode 100644
index 0000000..e3d3d08
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFormula.cpp
@@ -0,0 +1,102 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFormula.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFormula::create(DAE& dae)
+{
+ domFormulaRef ref = new domFormula(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFormula::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "formula" );
+ meta->registerClass(domFormula::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domFormula,elemNewparam_array) );
+ mea->setElementType( domFormula_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "target" );
+ mea->setOffset( daeOffsetOf(domFormula,elemTarget) );
+ mea->setElementType( domCommon_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domFormula,elemTechnique_common) );
+ mea->setElementType( domFormula_technique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domFormula,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domFormula , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domFormula , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domFormula , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFormula));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFormula_newparam.cpp b/1.4.0/dom/src/1.5/dom/domFormula_newparam.cpp
new file mode 100644
index 0000000..6373948
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFormula_newparam.cpp
@@ -0,0 +1,228 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFormula_newparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFormula_newparam::create(DAE& dae)
+{
+ domFormula_newparamRef ref = new domFormula_newparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFormula_newparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "formula_newparam" );
+ meta->registerClass(domFormula_newparam::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domFormula_newparam,elemFloat) );
+ mea->setElementType( domFormula_newparam::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domFormula_newparam,elemInt) );
+ mea->setElementType( domFormula_newparam::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "SIDREF" );
+ mea->setOffset( daeOffsetOf(domFormula_newparam,elemSIDREF) );
+ mea->setElementType( domFormula_newparam::domSIDREF::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domFormula_newparam,elemBool) );
+ mea->setElementType( domFormula_newparam::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFormula_newparam,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFormula_newparam,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFormula_newparam,_CMData), 1);
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domFormula_newparam , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFormula_newparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFormula_newparam::domFloat::create(DAE& dae)
+{
+ domFormula_newparam::domFloatRef ref = new domFormula_newparam::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFormula_newparam::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domFormula_newparam::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domFormula_newparam::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFormula_newparam::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFormula_newparam::domInt::create(DAE& dae)
+{
+ domFormula_newparam::domIntRef ref = new domFormula_newparam::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFormula_newparam::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domFormula_newparam::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domFormula_newparam::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFormula_newparam::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFormula_newparam::domSIDREF::create(DAE& dae)
+{
+ domFormula_newparam::domSIDREFRef ref = new domFormula_newparam::domSIDREF(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFormula_newparam::domSIDREF::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "SIDREF" );
+ meta->registerClass(domFormula_newparam::domSIDREF::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Sidref"));
+ ma->setOffset( daeOffsetOf( domFormula_newparam::domSIDREF , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFormula_newparam::domSIDREF));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFormula_newparam::domBool::create(DAE& dae)
+{
+ domFormula_newparam::domBoolRef ref = new domFormula_newparam::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFormula_newparam::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domFormula_newparam::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domFormula_newparam::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFormula_newparam::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFormula_setparam.cpp b/1.4.0/dom/src/1.5/dom/domFormula_setparam.cpp
new file mode 100644
index 0000000..26e7254
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFormula_setparam.cpp
@@ -0,0 +1,235 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFormula_setparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFormula_setparam::create(DAE& dae)
+{
+ domFormula_setparamRef ref = new domFormula_setparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFormula_setparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "formula_setparam" );
+ meta->registerClass(domFormula_setparam::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domFormula_setparam,elemFloat) );
+ mea->setElementType( domFormula_setparam::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domFormula_setparam,elemInt) );
+ mea->setElementType( domFormula_setparam::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "SIDREF" );
+ mea->setOffset( daeOffsetOf(domFormula_setparam,elemSIDREF) );
+ mea->setElementType( domFormula_setparam::domSIDREF::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domFormula_setparam,elemBool) );
+ mea->setElementType( domFormula_setparam::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "connect_param" );
+ mea->setOffset( daeOffsetOf(domFormula_setparam,elemConnect_param) );
+ mea->setElementType( domKinematics_connect_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFormula_setparam,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFormula_setparam,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFormula_setparam,_CMData), 1);
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domFormula_setparam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFormula_setparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFormula_setparam::domFloat::create(DAE& dae)
+{
+ domFormula_setparam::domFloatRef ref = new domFormula_setparam::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFormula_setparam::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domFormula_setparam::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domFormula_setparam::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFormula_setparam::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFormula_setparam::domInt::create(DAE& dae)
+{
+ domFormula_setparam::domIntRef ref = new domFormula_setparam::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFormula_setparam::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domFormula_setparam::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domFormula_setparam::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFormula_setparam::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFormula_setparam::domSIDREF::create(DAE& dae)
+{
+ domFormula_setparam::domSIDREFRef ref = new domFormula_setparam::domSIDREF(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFormula_setparam::domSIDREF::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "SIDREF" );
+ meta->registerClass(domFormula_setparam::domSIDREF::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Sidref"));
+ ma->setOffset( daeOffsetOf( domFormula_setparam::domSIDREF , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFormula_setparam::domSIDREF));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFormula_setparam::domBool::create(DAE& dae)
+{
+ domFormula_setparam::domBoolRef ref = new domFormula_setparam::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFormula_setparam::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domFormula_setparam::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domFormula_setparam::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFormula_setparam::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFormula_technique.cpp b/1.4.0/dom/src/1.5/dom/domFormula_technique.cpp
new file mode 100644
index 0000000..fca8fc1
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFormula_technique.cpp
@@ -0,0 +1,55 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFormula_technique.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFormula_technique::create(DAE& dae)
+{
+ domFormula_techniqueRef ref = new domFormula_technique(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFormula_technique::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "formula_technique" );
+ meta->registerClass(domFormula_technique::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaAny( meta, cm, 0, 0, -1 );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ meta->setAllowsAny( true );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFormula_technique,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFormula_technique,_contentsOrder));
+
+
+ meta->setElementSize(sizeof(domFormula_technique));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_annotate.cpp b/1.4.0/dom/src/1.5/dom/domFx_annotate.cpp
new file mode 100644
index 0000000..f07453d
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_annotate.cpp
@@ -0,0 +1,722 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_annotate.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_annotate::create(DAE& dae)
+{
+ domFx_annotateRef ref = new domFx_annotate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_annotate" );
+ meta->registerClass(domFx_annotate::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemBool) );
+ mea->setElementType( domFx_annotate::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemBool2) );
+ mea->setElementType( domFx_annotate::domBool2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemBool3) );
+ mea->setElementType( domFx_annotate::domBool3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemBool4) );
+ mea->setElementType( domFx_annotate::domBool4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemInt) );
+ mea->setElementType( domFx_annotate::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemInt2) );
+ mea->setElementType( domFx_annotate::domInt2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemInt3) );
+ mea->setElementType( domFx_annotate::domInt3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemInt4) );
+ mea->setElementType( domFx_annotate::domInt4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemFloat) );
+ mea->setElementType( domFx_annotate::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemFloat2) );
+ mea->setElementType( domFx_annotate::domFloat2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemFloat3) );
+ mea->setElementType( domFx_annotate::domFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemFloat4) );
+ mea->setElementType( domFx_annotate::domFloat4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x2" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemFloat2x2) );
+ mea->setElementType( domFx_annotate::domFloat2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x3" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemFloat3x3) );
+ mea->setElementType( domFx_annotate::domFloat3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x4" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemFloat4x4) );
+ mea->setElementType( domFx_annotate::domFloat4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "string" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemString) );
+ mea->setElementType( domFx_annotate::domString::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_annotate,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_annotate,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_annotate,_CMData), 1);
+ meta->setElementSize(sizeof(domFx_annotate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domBool::create(DAE& dae)
+{
+ domFx_annotate::domBoolRef ref = new domFx_annotate::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domFx_annotate::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domBool2::create(DAE& dae)
+{
+ domFx_annotate::domBool2Ref ref = new domFx_annotate::domBool2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domBool2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2" );
+ meta->registerClass(domFx_annotate::domBool2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool2"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domBool2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domBool2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domBool3::create(DAE& dae)
+{
+ domFx_annotate::domBool3Ref ref = new domFx_annotate::domBool3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domBool3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3" );
+ meta->registerClass(domFx_annotate::domBool3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool3"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domBool3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domBool3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domBool4::create(DAE& dae)
+{
+ domFx_annotate::domBool4Ref ref = new domFx_annotate::domBool4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domBool4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4" );
+ meta->registerClass(domFx_annotate::domBool4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domBool4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domBool4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domInt::create(DAE& dae)
+{
+ domFx_annotate::domIntRef ref = new domFx_annotate::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domFx_annotate::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domInt2::create(DAE& dae)
+{
+ domFx_annotate::domInt2Ref ref = new domFx_annotate::domInt2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domInt2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2" );
+ meta->registerClass(domFx_annotate::domInt2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int2"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domInt2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domInt2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domInt3::create(DAE& dae)
+{
+ domFx_annotate::domInt3Ref ref = new domFx_annotate::domInt3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domInt3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3" );
+ meta->registerClass(domFx_annotate::domInt3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int3"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domInt3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domInt3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domInt4::create(DAE& dae)
+{
+ domFx_annotate::domInt4Ref ref = new domFx_annotate::domInt4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domInt4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4" );
+ meta->registerClass(domFx_annotate::domInt4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int4"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domInt4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domInt4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domFloat::create(DAE& dae)
+{
+ domFx_annotate::domFloatRef ref = new domFx_annotate::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domFx_annotate::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domFloat2::create(DAE& dae)
+{
+ domFx_annotate::domFloat2Ref ref = new domFx_annotate::domFloat2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domFloat2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2" );
+ meta->registerClass(domFx_annotate::domFloat2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domFloat2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domFloat2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domFloat3::create(DAE& dae)
+{
+ domFx_annotate::domFloat3Ref ref = new domFx_annotate::domFloat3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domFloat3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3" );
+ meta->registerClass(domFx_annotate::domFloat3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domFloat3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domFloat3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domFloat4::create(DAE& dae)
+{
+ domFx_annotate::domFloat4Ref ref = new domFx_annotate::domFloat4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domFloat4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4" );
+ meta->registerClass(domFx_annotate::domFloat4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domFloat4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domFloat4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domFloat2x2::create(DAE& dae)
+{
+ domFx_annotate::domFloat2x2Ref ref = new domFx_annotate::domFloat2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domFloat2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x2" );
+ meta->registerClass(domFx_annotate::domFloat2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x2"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domFloat2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domFloat2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domFloat3x3::create(DAE& dae)
+{
+ domFx_annotate::domFloat3x3Ref ref = new domFx_annotate::domFloat3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domFloat3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x3" );
+ meta->registerClass(domFx_annotate::domFloat3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x3"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domFloat3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domFloat3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domFloat4x4::create(DAE& dae)
+{
+ domFx_annotate::domFloat4x4Ref ref = new domFx_annotate::domFloat4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domFloat4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x4" );
+ meta->registerClass(domFx_annotate::domFloat4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domFloat4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domFloat4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domString::create(DAE& dae)
+{
+ domFx_annotate::domStringRef ref = new domFx_annotate::domString(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domString::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "string" );
+ meta->registerClass(domFx_annotate::domString::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domString , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domString));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_clearcolor.cpp b/1.4.0/dom/src/1.5/dom/domFx_clearcolor.cpp
new file mode 100644
index 0000000..28dbabf
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_clearcolor.cpp
@@ -0,0 +1,61 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_clearcolor.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_clearcolor::create(DAE& dae)
+{
+ domFx_clearcolorRef ref = new domFx_clearcolor(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_clearcolor::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_clearcolor" );
+ meta->registerClass(domFx_clearcolor::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_color"));
+ ma->setOffset( daeOffsetOf( domFx_clearcolor , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_clearcolor , attrIndex ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_clearcolor));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_cleardepth.cpp b/1.4.0/dom/src/1.5/dom/domFx_cleardepth.cpp
new file mode 100644
index 0000000..3c5f3ab
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_cleardepth.cpp
@@ -0,0 +1,61 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_cleardepth.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_cleardepth::create(DAE& dae)
+{
+ domFx_cleardepthRef ref = new domFx_cleardepth(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_cleardepth::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_cleardepth" );
+ meta->registerClass(domFx_cleardepth::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domFx_cleardepth , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_cleardepth , attrIndex ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_cleardepth));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_clearstencil.cpp b/1.4.0/dom/src/1.5/dom/domFx_clearstencil.cpp
new file mode 100644
index 0000000..9422e1d
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_clearstencil.cpp
@@ -0,0 +1,61 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_clearstencil.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_clearstencil::create(DAE& dae)
+{
+ domFx_clearstencilRef ref = new domFx_clearstencil(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_clearstencil::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_clearstencil" );
+ meta->registerClass(domFx_clearstencil::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsByte"));
+ ma->setOffset( daeOffsetOf( domFx_clearstencil , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_clearstencil , attrIndex ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_clearstencil));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_code.cpp b/1.4.0/dom/src/1.5/dom/domFx_code.cpp
new file mode 100644
index 0000000..c08a0b4
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_code.cpp
@@ -0,0 +1,60 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_code.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_code::create(DAE& dae)
+{
+ domFx_codeRef ref = new domFx_code(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_code::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_code" );
+ meta->registerClass(domFx_code::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domFx_code , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domFx_code , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_code));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_colortarget.cpp b/1.4.0/dom/src/1.5/dom/domFx_colortarget.cpp
new file mode 100644
index 0000000..b86f5c0
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_colortarget.cpp
@@ -0,0 +1,119 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_colortarget.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_colortarget::create(DAE& dae)
+{
+ domFx_colortargetRef ref = new domFx_colortarget(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_colortarget::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_colortarget" );
+ meta->registerClass(domFx_colortarget::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domFx_colortarget,elemParam) );
+ mea->setElementType( domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_image" );
+ mea->setOffset( daeOffsetOf(domFx_colortarget,elemInstance_image) );
+ mea->setElementType( domInstance_image::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_colortarget,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_colortarget,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_colortarget,_CMData), 1);
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_colortarget , attrIndex ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: mip
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "mip" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_colortarget , attrMip ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: face
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "face" );
+ ma->setType( dae.getAtomicTypes().get("Image_face"));
+ ma->setOffset( daeOffsetOf( domFx_colortarget , attrFace ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "POSITIVE_X");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: slice
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "slice" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_colortarget , attrSlice ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_colortarget));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_common_color_or_texture.cpp b/1.4.0/dom/src/1.5/dom/domFx_common_color_or_texture.cpp
new file mode 100644
index 0000000..6f2d03b
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_common_color_or_texture.cpp
@@ -0,0 +1,216 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_common_color_or_texture.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_common_color_or_texture::create(DAE& dae)
+{
+ domFx_common_color_or_textureRef ref = new domFx_common_color_or_texture(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_common_color_or_texture::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_common_color_or_texture" );
+ meta->registerClass(domFx_common_color_or_texture::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color" );
+ mea->setOffset( daeOffsetOf(domFx_common_color_or_texture,elemColor) );
+ mea->setElementType( domFx_common_color_or_texture::domColor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domFx_common_color_or_texture,elemParam) );
+ mea->setElementType( domFx_common_color_or_texture::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture" );
+ mea->setOffset( daeOffsetOf(domFx_common_color_or_texture,elemTexture) );
+ mea->setElementType( domFx_common_color_or_texture::domTexture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_common_color_or_texture,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_common_color_or_texture,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_common_color_or_texture,_CMData), 1);
+ meta->setElementSize(sizeof(domFx_common_color_or_texture));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_common_color_or_texture::domColor::create(DAE& dae)
+{
+ domFx_common_color_or_texture::domColorRef ref = new domFx_common_color_or_texture::domColor(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_common_color_or_texture::domColor::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "color" );
+ meta->registerClass(domFx_common_color_or_texture::domColor::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_color"));
+ ma->setOffset( daeOffsetOf( domFx_common_color_or_texture::domColor , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domFx_common_color_or_texture::domColor , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_common_color_or_texture::domColor));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_common_color_or_texture::domParam::create(DAE& dae)
+{
+ domFx_common_color_or_texture::domParamRef ref = new domFx_common_color_or_texture::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_common_color_or_texture::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domFx_common_color_or_texture::domParam::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domFx_common_color_or_texture::domParam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_common_color_or_texture::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_common_color_or_texture::domTexture::create(DAE& dae)
+{
+ domFx_common_color_or_texture::domTextureRef ref = new domFx_common_color_or_texture::domTexture(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_common_color_or_texture::domTexture::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture" );
+ meta->registerClass(domFx_common_color_or_texture::domTexture::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domFx_common_color_or_texture::domTexture,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: texture
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "texture" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domFx_common_color_or_texture::domTexture , attrTexture ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: texcoord
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "texcoord" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domFx_common_color_or_texture::domTexture , attrTexcoord ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_common_color_or_texture::domTexture));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_common_float_or_param.cpp b/1.4.0/dom/src/1.5/dom/domFx_common_float_or_param.cpp
new file mode 100644
index 0000000..e59d3ec
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_common_float_or_param.cpp
@@ -0,0 +1,147 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_common_float_or_param.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_common_float_or_param::create(DAE& dae)
+{
+ domFx_common_float_or_paramRef ref = new domFx_common_float_or_param(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_common_float_or_param::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_common_float_or_param" );
+ meta->registerClass(domFx_common_float_or_param::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domFx_common_float_or_param,elemFloat) );
+ mea->setElementType( domFx_common_float_or_param::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domFx_common_float_or_param,elemParam) );
+ mea->setElementType( domFx_common_float_or_param::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_common_float_or_param,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_common_float_or_param,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_common_float_or_param,_CMData), 1);
+ meta->setElementSize(sizeof(domFx_common_float_or_param));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_common_float_or_param::domFloat::create(DAE& dae)
+{
+ domFx_common_float_or_param::domFloatRef ref = new domFx_common_float_or_param::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_common_float_or_param::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domFx_common_float_or_param::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domFx_common_float_or_param::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domFx_common_float_or_param::domFloat , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_common_float_or_param::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_common_float_or_param::domParam::create(DAE& dae)
+{
+ domFx_common_float_or_param::domParamRef ref = new domFx_common_float_or_param::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_common_float_or_param::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domFx_common_float_or_param::domParam::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domFx_common_float_or_param::domParam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_common_float_or_param::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_common_newparam.cpp b/1.4.0/dom/src/1.5/dom/domFx_common_newparam.cpp
new file mode 100644
index 0000000..1295e25
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_common_newparam.cpp
@@ -0,0 +1,283 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_common_newparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_common_newparam::create(DAE& dae)
+{
+ domFx_common_newparamRef ref = new domFx_common_newparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_common_newparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_common_newparam" );
+ meta->registerClass(domFx_common_newparam::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "semantic" );
+ mea->setOffset( daeOffsetOf(domFx_common_newparam,elemSemantic) );
+ mea->setElementType( domFx_common_newparam::domSemantic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domFx_common_newparam,elemFloat) );
+ mea->setElementType( domFx_common_newparam::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2" );
+ mea->setOffset( daeOffsetOf(domFx_common_newparam,elemFloat2) );
+ mea->setElementType( domFx_common_newparam::domFloat2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3" );
+ mea->setOffset( daeOffsetOf(domFx_common_newparam,elemFloat3) );
+ mea->setElementType( domFx_common_newparam::domFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4" );
+ mea->setOffset( daeOffsetOf(domFx_common_newparam,elemFloat4) );
+ mea->setElementType( domFx_common_newparam::domFloat4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler2D" );
+ mea->setOffset( daeOffsetOf(domFx_common_newparam,elemSampler2D) );
+ mea->setElementType( domFx_sampler2D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_common_newparam,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_common_newparam,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_common_newparam,_CMData), 1);
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domFx_common_newparam , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_common_newparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_common_newparam::domSemantic::create(DAE& dae)
+{
+ domFx_common_newparam::domSemanticRef ref = new domFx_common_newparam::domSemantic(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_common_newparam::domSemantic::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "semantic" );
+ meta->registerClass(domFx_common_newparam::domSemantic::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domFx_common_newparam::domSemantic , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_common_newparam::domSemantic));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_common_newparam::domFloat::create(DAE& dae)
+{
+ domFx_common_newparam::domFloatRef ref = new domFx_common_newparam::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_common_newparam::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domFx_common_newparam::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domFx_common_newparam::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_common_newparam::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_common_newparam::domFloat2::create(DAE& dae)
+{
+ domFx_common_newparam::domFloat2Ref ref = new domFx_common_newparam::domFloat2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_common_newparam::domFloat2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2" );
+ meta->registerClass(domFx_common_newparam::domFloat2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domFx_common_newparam::domFloat2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_common_newparam::domFloat2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_common_newparam::domFloat3::create(DAE& dae)
+{
+ domFx_common_newparam::domFloat3Ref ref = new domFx_common_newparam::domFloat3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_common_newparam::domFloat3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3" );
+ meta->registerClass(domFx_common_newparam::domFloat3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domFx_common_newparam::domFloat3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_common_newparam::domFloat3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_common_newparam::domFloat4::create(DAE& dae)
+{
+ domFx_common_newparam::domFloat4Ref ref = new domFx_common_newparam::domFloat4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_common_newparam::domFloat4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4" );
+ meta->registerClass(domFx_common_newparam::domFloat4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domFx_common_newparam::domFloat4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_common_newparam::domFloat4));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_common_transparent.cpp b/1.4.0/dom/src/1.5/dom/domFx_common_transparent.cpp
new file mode 100644
index 0000000..a4a93eb
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_common_transparent.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_common_transparent.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_common_transparent::create(DAE& dae)
+{
+ domFx_common_transparentRef ref = new domFx_common_transparent(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_common_transparent::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_common_transparent" );
+ meta->registerClass(domFx_common_transparent::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color" );
+ mea->setOffset( daeOffsetOf(domFx_common_transparent,elemColor) );
+ mea->setElementType( domColor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domFx_common_transparent,elemParam) );
+ mea->setElementType( domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture" );
+ mea->setOffset( daeOffsetOf(domFx_common_transparent,elemTexture) );
+ mea->setElementType( domTexture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_common_transparent,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_common_transparent,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_common_transparent,_CMData), 1);
+ // Add attribute: opaque
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "opaque" );
+ ma->setType( dae.getAtomicTypes().get("Fx_opaque"));
+ ma->setOffset( daeOffsetOf( domFx_common_transparent , attrOpaque ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "A_ONE");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_common_transparent));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_depthtarget.cpp b/1.4.0/dom/src/1.5/dom/domFx_depthtarget.cpp
new file mode 100644
index 0000000..b791f8e
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_depthtarget.cpp
@@ -0,0 +1,119 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_depthtarget.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_depthtarget::create(DAE& dae)
+{
+ domFx_depthtargetRef ref = new domFx_depthtarget(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_depthtarget::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_depthtarget" );
+ meta->registerClass(domFx_depthtarget::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domFx_depthtarget,elemParam) );
+ mea->setElementType( domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_image" );
+ mea->setOffset( daeOffsetOf(domFx_depthtarget,elemInstance_image) );
+ mea->setElementType( domInstance_image::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_depthtarget,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_depthtarget,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_depthtarget,_CMData), 1);
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_depthtarget , attrIndex ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: mip
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "mip" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_depthtarget , attrMip ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: face
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "face" );
+ ma->setType( dae.getAtomicTypes().get("Image_face"));
+ ma->setOffset( daeOffsetOf( domFx_depthtarget , attrFace ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "POSITIVE_X");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: slice
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "slice" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_depthtarget , attrSlice ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_depthtarget));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_include.cpp b/1.4.0/dom/src/1.5/dom/domFx_include.cpp
new file mode 100644
index 0000000..a472afa
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_include.cpp
@@ -0,0 +1,64 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_include.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_include::create(DAE& dae)
+{
+ domFx_includeRef ref = new domFx_include(dae);
+ ref->attrUrl.setContainer( (domFx_include*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_include::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_include" );
+ meta->registerClass(domFx_include::create);
+
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domFx_include , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domFx_include , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_include));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_newparam.cpp b/1.4.0/dom/src/1.5/dom/domFx_newparam.cpp
new file mode 100644
index 0000000..38b545c
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_newparam.cpp
@@ -0,0 +1,1136 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_newparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_newparam::create(DAE& dae)
+{
+ domFx_newparamRef ref = new domFx_newparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_newparam" );
+ meta->registerClass(domFx_newparam::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemBool) );
+ mea->setElementType( domFx_newparam::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemBool2) );
+ mea->setElementType( domFx_newparam::domBool2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemBool3) );
+ mea->setElementType( domFx_newparam::domBool3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemBool4) );
+ mea->setElementType( domFx_newparam::domBool4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemInt) );
+ mea->setElementType( domFx_newparam::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemInt2) );
+ mea->setElementType( domFx_newparam::domInt2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemInt3) );
+ mea->setElementType( domFx_newparam::domInt3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemInt4) );
+ mea->setElementType( domFx_newparam::domInt4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat) );
+ mea->setElementType( domFx_newparam::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat2) );
+ mea->setElementType( domFx_newparam::domFloat2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat3) );
+ mea->setElementType( domFx_newparam::domFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat4) );
+ mea->setElementType( domFx_newparam::domFloat4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x1" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat2x1) );
+ mea->setElementType( domFx_newparam::domFloat2x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x2" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat2x2) );
+ mea->setElementType( domFx_newparam::domFloat2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x3" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat2x3) );
+ mea->setElementType( domFx_newparam::domFloat2x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x4" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat2x4) );
+ mea->setElementType( domFx_newparam::domFloat2x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x1" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat3x1) );
+ mea->setElementType( domFx_newparam::domFloat3x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x2" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat3x2) );
+ mea->setElementType( domFx_newparam::domFloat3x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x3" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat3x3) );
+ mea->setElementType( domFx_newparam::domFloat3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x4" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat3x4) );
+ mea->setElementType( domFx_newparam::domFloat3x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x1" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat4x1) );
+ mea->setElementType( domFx_newparam::domFloat4x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x2" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat4x2) );
+ mea->setElementType( domFx_newparam::domFloat4x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x3" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat4x3) );
+ mea->setElementType( domFx_newparam::domFloat4x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x4" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat4x4) );
+ mea->setElementType( domFx_newparam::domFloat4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler1D" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemSampler1D) );
+ mea->setElementType( domFx_sampler1D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler2D" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemSampler2D) );
+ mea->setElementType( domFx_sampler2D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler3D" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemSampler3D) );
+ mea->setElementType( domFx_sampler3D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerCUBE" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemSamplerCUBE) );
+ mea->setElementType( domFx_samplerCUBE::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerRECT" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemSamplerRECT) );
+ mea->setElementType( domFx_samplerRECT::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerDEPTH" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemSamplerDEPTH) );
+ mea->setElementType( domFx_samplerDEPTH::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "enum" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemEnum) );
+ mea->setElementType( domFx_newparam::domEnum::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_newparam,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_newparam,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_newparam,_CMData), 1);
+ meta->setElementSize(sizeof(domFx_newparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domBool::create(DAE& dae)
+{
+ domFx_newparam::domBoolRef ref = new domFx_newparam::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domFx_newparam::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domBool2::create(DAE& dae)
+{
+ domFx_newparam::domBool2Ref ref = new domFx_newparam::domBool2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domBool2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2" );
+ meta->registerClass(domFx_newparam::domBool2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool2"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domBool2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domBool2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domBool3::create(DAE& dae)
+{
+ domFx_newparam::domBool3Ref ref = new domFx_newparam::domBool3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domBool3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3" );
+ meta->registerClass(domFx_newparam::domBool3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool3"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domBool3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domBool3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domBool4::create(DAE& dae)
+{
+ domFx_newparam::domBool4Ref ref = new domFx_newparam::domBool4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domBool4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4" );
+ meta->registerClass(domFx_newparam::domBool4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domBool4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domBool4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domInt::create(DAE& dae)
+{
+ domFx_newparam::domIntRef ref = new domFx_newparam::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domFx_newparam::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domInt2::create(DAE& dae)
+{
+ domFx_newparam::domInt2Ref ref = new domFx_newparam::domInt2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domInt2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2" );
+ meta->registerClass(domFx_newparam::domInt2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int2"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domInt2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domInt2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domInt3::create(DAE& dae)
+{
+ domFx_newparam::domInt3Ref ref = new domFx_newparam::domInt3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domInt3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3" );
+ meta->registerClass(domFx_newparam::domInt3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int3"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domInt3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domInt3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domInt4::create(DAE& dae)
+{
+ domFx_newparam::domInt4Ref ref = new domFx_newparam::domInt4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domInt4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4" );
+ meta->registerClass(domFx_newparam::domInt4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int4"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domInt4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domInt4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat::create(DAE& dae)
+{
+ domFx_newparam::domFloatRef ref = new domFx_newparam::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domFx_newparam::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat2::create(DAE& dae)
+{
+ domFx_newparam::domFloat2Ref ref = new domFx_newparam::domFloat2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2" );
+ meta->registerClass(domFx_newparam::domFloat2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat3::create(DAE& dae)
+{
+ domFx_newparam::domFloat3Ref ref = new domFx_newparam::domFloat3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3" );
+ meta->registerClass(domFx_newparam::domFloat3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat4::create(DAE& dae)
+{
+ domFx_newparam::domFloat4Ref ref = new domFx_newparam::domFloat4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4" );
+ meta->registerClass(domFx_newparam::domFloat4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat2x1::create(DAE& dae)
+{
+ domFx_newparam::domFloat2x1Ref ref = new domFx_newparam::domFloat2x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat2x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x1" );
+ meta->registerClass(domFx_newparam::domFloat2x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat2x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat2x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat2x2::create(DAE& dae)
+{
+ domFx_newparam::domFloat2x2Ref ref = new domFx_newparam::domFloat2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x2" );
+ meta->registerClass(domFx_newparam::domFloat2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x2"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat2x3::create(DAE& dae)
+{
+ domFx_newparam::domFloat2x3Ref ref = new domFx_newparam::domFloat2x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat2x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x3" );
+ meta->registerClass(domFx_newparam::domFloat2x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x3"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat2x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat2x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat2x4::create(DAE& dae)
+{
+ domFx_newparam::domFloat2x4Ref ref = new domFx_newparam::domFloat2x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat2x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x4" );
+ meta->registerClass(domFx_newparam::domFloat2x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x4"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat2x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat2x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat3x1::create(DAE& dae)
+{
+ domFx_newparam::domFloat3x1Ref ref = new domFx_newparam::domFloat3x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat3x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x1" );
+ meta->registerClass(domFx_newparam::domFloat3x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat3x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat3x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat3x2::create(DAE& dae)
+{
+ domFx_newparam::domFloat3x2Ref ref = new domFx_newparam::domFloat3x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat3x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x2" );
+ meta->registerClass(domFx_newparam::domFloat3x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x2"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat3x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat3x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat3x3::create(DAE& dae)
+{
+ domFx_newparam::domFloat3x3Ref ref = new domFx_newparam::domFloat3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x3" );
+ meta->registerClass(domFx_newparam::domFloat3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x3"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat3x4::create(DAE& dae)
+{
+ domFx_newparam::domFloat3x4Ref ref = new domFx_newparam::domFloat3x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat3x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x4" );
+ meta->registerClass(domFx_newparam::domFloat3x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x4"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat3x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat3x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat4x1::create(DAE& dae)
+{
+ domFx_newparam::domFloat4x1Ref ref = new domFx_newparam::domFloat4x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat4x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x1" );
+ meta->registerClass(domFx_newparam::domFloat4x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat4x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat4x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat4x2::create(DAE& dae)
+{
+ domFx_newparam::domFloat4x2Ref ref = new domFx_newparam::domFloat4x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat4x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x2" );
+ meta->registerClass(domFx_newparam::domFloat4x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x2"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat4x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat4x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat4x3::create(DAE& dae)
+{
+ domFx_newparam::domFloat4x3Ref ref = new domFx_newparam::domFloat4x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat4x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x3" );
+ meta->registerClass(domFx_newparam::domFloat4x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x3"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat4x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat4x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat4x4::create(DAE& dae)
+{
+ domFx_newparam::domFloat4x4Ref ref = new domFx_newparam::domFloat4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x4" );
+ meta->registerClass(domFx_newparam::domFloat4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domEnum::create(DAE& dae)
+{
+ domFx_newparam::domEnumRef ref = new domFx_newparam::domEnum(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domEnum::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "enum" );
+ meta->registerClass(domFx_newparam::domEnum::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domEnum , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domEnum));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_profile.cpp b/1.4.0/dom/src/1.5/dom/domFx_profile.cpp
new file mode 100644
index 0000000..32e3870
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_profile.cpp
@@ -0,0 +1,86 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_profile.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_profile::create(DAE& dae)
+{
+ domFx_profileRef ref = new domFx_profile(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_profile::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_profile" );
+ meta->registerClass(domFx_profile::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "profile_COMMON" );
+ mea->setOffset( daeOffsetOf(domFx_profile,elemProfile_COMMON) );
+ mea->setElementType( domProfile_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "profile_BRIDGE" );
+ mea->setOffset( daeOffsetOf(domFx_profile,elemProfile_BRIDGE) );
+ mea->setElementType( domProfile_bridge::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "profile_GLES2" );
+ mea->setOffset( daeOffsetOf(domFx_profile,elemProfile_GLES2) );
+ mea->setElementType( domProfile_gles2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "profile_GLSL" );
+ mea->setOffset( daeOffsetOf(domFx_profile,elemProfile_GLSL) );
+ mea->setElementType( domProfile_glsl::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "profile_CG" );
+ mea->setOffset( daeOffsetOf(domFx_profile,elemProfile_CG) );
+ mea->setElementType( domProfile_cg::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "profile_GLES" );
+ mea->setOffset( daeOffsetOf(domFx_profile,elemProfile_GLES) );
+ mea->setElementType( domProfile_gles::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_profile,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_profile,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_profile,_CMData), 1);
+ meta->setElementSize(sizeof(domFx_profile));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_rendertarget.cpp b/1.4.0/dom/src/1.5/dom/domFx_rendertarget.cpp
new file mode 100644
index 0000000..a9fcaaa
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_rendertarget.cpp
@@ -0,0 +1,152 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_rendertarget.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_rendertarget::create(DAE& dae)
+{
+ domFx_rendertargetRef ref = new domFx_rendertarget(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_rendertarget::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_rendertarget" );
+ meta->registerClass(domFx_rendertarget::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domFx_rendertarget,elemParam) );
+ mea->setElementType( domFx_rendertarget::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_image" );
+ mea->setOffset( daeOffsetOf(domFx_rendertarget,elemInstance_image) );
+ mea->setElementType( domInstance_image::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_rendertarget,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_rendertarget,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_rendertarget,_CMData), 1);
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_rendertarget , attrIndex ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: mip
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "mip" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_rendertarget , attrMip ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: face
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "face" );
+ ma->setType( dae.getAtomicTypes().get("Image_face"));
+ ma->setOffset( daeOffsetOf( domFx_rendertarget , attrFace ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "POSITIVE_X");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: slice
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "slice" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_rendertarget , attrSlice ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_rendertarget));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_rendertarget::domParam::create(DAE& dae)
+{
+ domFx_rendertarget::domParamRef ref = new domFx_rendertarget::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_rendertarget::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domFx_rendertarget::domParam::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domFx_rendertarget::domParam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_rendertarget::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_sampler.cpp b/1.4.0/dom/src/1.5/dom/domFx_sampler.cpp
new file mode 100644
index 0000000..dd6b773
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_sampler.cpp
@@ -0,0 +1,57 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_sampler.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_sampler::create(DAE& dae)
+{
+ domFx_samplerRef ref = new domFx_sampler(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_sampler" );
+ meta->registerClass(domFx_sampler::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "instance_image" );
+ mea->setOffset( daeOffsetOf(domFx_sampler,elemInstance_image) );
+ mea->setElementType( domInstance_image::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "fx_sampler_states" );
+ mea->setOffset( daeOffsetOf(domFx_sampler,elemFx_sampler_states) );
+ mea->setElementType( domFx_sampler_states::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 1, 1, 1 ) );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domFx_sampler));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_sampler1D.cpp b/1.4.0/dom/src/1.5/dom/domFx_sampler1D.cpp
new file mode 100644
index 0000000..e0d462a
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_sampler1D.cpp
@@ -0,0 +1,63 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_sampler1D.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_sampler1D::create(DAE& dae)
+{
+ domFx_sampler1DRef ref = new domFx_sampler1D(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler1D::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_sampler1D" );
+ meta->registerClass(domFx_sampler1D::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "instance_image" );
+ mea->setOffset( daeOffsetOf(domFx_sampler1D,elemInstance_image) );
+ mea->setElementType( domInstance_image::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "fx_sampler_states" );
+ mea->setOffset( daeOffsetOf(domFx_sampler1D,elemFx_sampler_states) );
+ mea->setElementType( domFx_sampler_states::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 1, 1, 1 ) );
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domFx_sampler1D));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_sampler2D.cpp b/1.4.0/dom/src/1.5/dom/domFx_sampler2D.cpp
new file mode 100644
index 0000000..99b882d
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_sampler2D.cpp
@@ -0,0 +1,63 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_sampler2D.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_sampler2D::create(DAE& dae)
+{
+ domFx_sampler2DRef ref = new domFx_sampler2D(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler2D::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_sampler2D" );
+ meta->registerClass(domFx_sampler2D::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "instance_image" );
+ mea->setOffset( daeOffsetOf(domFx_sampler2D,elemInstance_image) );
+ mea->setElementType( domInstance_image::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "fx_sampler_states" );
+ mea->setOffset( daeOffsetOf(domFx_sampler2D,elemFx_sampler_states) );
+ mea->setElementType( domFx_sampler_states::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 1, 1, 1 ) );
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domFx_sampler2D));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_sampler3D.cpp b/1.4.0/dom/src/1.5/dom/domFx_sampler3D.cpp
new file mode 100644
index 0000000..a6a9a1c
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_sampler3D.cpp
@@ -0,0 +1,63 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_sampler3D.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_sampler3D::create(DAE& dae)
+{
+ domFx_sampler3DRef ref = new domFx_sampler3D(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler3D::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_sampler3D" );
+ meta->registerClass(domFx_sampler3D::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "instance_image" );
+ mea->setOffset( daeOffsetOf(domFx_sampler3D,elemInstance_image) );
+ mea->setElementType( domInstance_image::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "fx_sampler_states" );
+ mea->setOffset( daeOffsetOf(domFx_sampler3D,elemFx_sampler_states) );
+ mea->setElementType( domFx_sampler_states::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 1, 1, 1 ) );
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domFx_sampler3D));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_samplerCUBE.cpp b/1.4.0/dom/src/1.5/dom/domFx_samplerCUBE.cpp
new file mode 100644
index 0000000..215834d
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_samplerCUBE.cpp
@@ -0,0 +1,63 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_samplerCUBE.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_samplerCUBE::create(DAE& dae)
+{
+ domFx_samplerCUBERef ref = new domFx_samplerCUBE(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerCUBE::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_samplerCUBE" );
+ meta->registerClass(domFx_samplerCUBE::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "instance_image" );
+ mea->setOffset( daeOffsetOf(domFx_samplerCUBE,elemInstance_image) );
+ mea->setElementType( domInstance_image::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "fx_sampler_states" );
+ mea->setOffset( daeOffsetOf(domFx_samplerCUBE,elemFx_sampler_states) );
+ mea->setElementType( domFx_sampler_states::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 1, 1, 1 ) );
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domFx_samplerCUBE));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_samplerDEPTH.cpp b/1.4.0/dom/src/1.5/dom/domFx_samplerDEPTH.cpp
new file mode 100644
index 0000000..0ed0e65
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_samplerDEPTH.cpp
@@ -0,0 +1,63 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_samplerDEPTH.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_samplerDEPTH::create(DAE& dae)
+{
+ domFx_samplerDEPTHRef ref = new domFx_samplerDEPTH(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerDEPTH::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_samplerDEPTH" );
+ meta->registerClass(domFx_samplerDEPTH::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "instance_image" );
+ mea->setOffset( daeOffsetOf(domFx_samplerDEPTH,elemInstance_image) );
+ mea->setElementType( domInstance_image::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "fx_sampler_states" );
+ mea->setOffset( daeOffsetOf(domFx_samplerDEPTH,elemFx_sampler_states) );
+ mea->setElementType( domFx_sampler_states::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 1, 1, 1 ) );
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domFx_samplerDEPTH));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_samplerRECT.cpp b/1.4.0/dom/src/1.5/dom/domFx_samplerRECT.cpp
new file mode 100644
index 0000000..f704e7a
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_samplerRECT.cpp
@@ -0,0 +1,63 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_samplerRECT.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_samplerRECT::create(DAE& dae)
+{
+ domFx_samplerRECTRef ref = new domFx_samplerRECT(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerRECT::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_samplerRECT" );
+ meta->registerClass(domFx_samplerRECT::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "instance_image" );
+ mea->setOffset( daeOffsetOf(domFx_samplerRECT,elemInstance_image) );
+ mea->setElementType( domInstance_image::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "fx_sampler_states" );
+ mea->setOffset( daeOffsetOf(domFx_samplerRECT,elemFx_sampler_states) );
+ mea->setElementType( domFx_sampler_states::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 1, 1, 1 ) );
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domFx_samplerRECT));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_sampler_states.cpp b/1.4.0/dom/src/1.5/dom/domFx_sampler_states.cpp
new file mode 100644
index 0000000..f5abfd7
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_sampler_states.cpp
@@ -0,0 +1,514 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_sampler_states.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_sampler_states::create(DAE& dae)
+{
+ domFx_sampler_statesRef ref = new domFx_sampler_states(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler_states::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_sampler_states" );
+ meta->registerClass(domFx_sampler_states::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "wrap_s" );
+ mea->setOffset( daeOffsetOf(domFx_sampler_states,elemWrap_s) );
+ mea->setElementType( domFx_sampler_states::domWrap_s::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "wrap_t" );
+ mea->setOffset( daeOffsetOf(domFx_sampler_states,elemWrap_t) );
+ mea->setElementType( domFx_sampler_states::domWrap_t::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "wrap_p" );
+ mea->setOffset( daeOffsetOf(domFx_sampler_states,elemWrap_p) );
+ mea->setElementType( domFx_sampler_states::domWrap_p::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "minfilter" );
+ mea->setOffset( daeOffsetOf(domFx_sampler_states,elemMinfilter) );
+ mea->setElementType( domFx_sampler_states::domMinfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "magfilter" );
+ mea->setOffset( daeOffsetOf(domFx_sampler_states,elemMagfilter) );
+ mea->setElementType( domFx_sampler_states::domMagfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "mipfilter" );
+ mea->setOffset( daeOffsetOf(domFx_sampler_states,elemMipfilter) );
+ mea->setElementType( domFx_sampler_states::domMipfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "border_color" );
+ mea->setOffset( daeOffsetOf(domFx_sampler_states,elemBorder_color) );
+ mea->setElementType( domFx_sampler_states::domBorder_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "mip_max_level" );
+ mea->setOffset( daeOffsetOf(domFx_sampler_states,elemMip_max_level) );
+ mea->setElementType( domFx_sampler_states::domMip_max_level::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 8, 0, 1 );
+ mea->setName( "mip_min_level" );
+ mea->setOffset( daeOffsetOf(domFx_sampler_states,elemMip_min_level) );
+ mea->setElementType( domFx_sampler_states::domMip_min_level::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 9, 0, 1 );
+ mea->setName( "mip_bias" );
+ mea->setOffset( daeOffsetOf(domFx_sampler_states,elemMip_bias) );
+ mea->setElementType( domFx_sampler_states::domMip_bias::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 10, 0, 1 );
+ mea->setName( "max_anisotropy" );
+ mea->setOffset( daeOffsetOf(domFx_sampler_states,elemMax_anisotropy) );
+ mea->setElementType( domFx_sampler_states::domMax_anisotropy::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 11, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domFx_sampler_states,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 11 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domFx_sampler_states));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler_states::domWrap_s::create(DAE& dae)
+{
+ domFx_sampler_states::domWrap_sRef ref = new domFx_sampler_states::domWrap_s(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler_states::domWrap_s::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "wrap_s" );
+ meta->registerClass(domFx_sampler_states::domWrap_s::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_wrap"));
+ ma->setOffset( daeOffsetOf( domFx_sampler_states::domWrap_s , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler_states::domWrap_s));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler_states::domWrap_t::create(DAE& dae)
+{
+ domFx_sampler_states::domWrap_tRef ref = new domFx_sampler_states::domWrap_t(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler_states::domWrap_t::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "wrap_t" );
+ meta->registerClass(domFx_sampler_states::domWrap_t::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_wrap"));
+ ma->setOffset( daeOffsetOf( domFx_sampler_states::domWrap_t , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler_states::domWrap_t));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler_states::domWrap_p::create(DAE& dae)
+{
+ domFx_sampler_states::domWrap_pRef ref = new domFx_sampler_states::domWrap_p(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler_states::domWrap_p::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "wrap_p" );
+ meta->registerClass(domFx_sampler_states::domWrap_p::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_wrap"));
+ ma->setOffset( daeOffsetOf( domFx_sampler_states::domWrap_p , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler_states::domWrap_p));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler_states::domMinfilter::create(DAE& dae)
+{
+ domFx_sampler_states::domMinfilterRef ref = new domFx_sampler_states::domMinfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler_states::domMinfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "minfilter" );
+ meta->registerClass(domFx_sampler_states::domMinfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_min_filter"));
+ ma->setOffset( daeOffsetOf( domFx_sampler_states::domMinfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler_states::domMinfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler_states::domMagfilter::create(DAE& dae)
+{
+ domFx_sampler_states::domMagfilterRef ref = new domFx_sampler_states::domMagfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler_states::domMagfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "magfilter" );
+ meta->registerClass(domFx_sampler_states::domMagfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_mag_filter"));
+ ma->setOffset( daeOffsetOf( domFx_sampler_states::domMagfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler_states::domMagfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler_states::domMipfilter::create(DAE& dae)
+{
+ domFx_sampler_states::domMipfilterRef ref = new domFx_sampler_states::domMipfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler_states::domMipfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mipfilter" );
+ meta->registerClass(domFx_sampler_states::domMipfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_mip_filter"));
+ ma->setOffset( daeOffsetOf( domFx_sampler_states::domMipfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler_states::domMipfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler_states::domBorder_color::create(DAE& dae)
+{
+ domFx_sampler_states::domBorder_colorRef ref = new domFx_sampler_states::domBorder_color(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler_states::domBorder_color::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "border_color" );
+ meta->registerClass(domFx_sampler_states::domBorder_color::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_color"));
+ ma->setOffset( daeOffsetOf( domFx_sampler_states::domBorder_color , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler_states::domBorder_color));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler_states::domMip_max_level::create(DAE& dae)
+{
+ domFx_sampler_states::domMip_max_levelRef ref = new domFx_sampler_states::domMip_max_level(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler_states::domMip_max_level::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mip_max_level" );
+ meta->registerClass(domFx_sampler_states::domMip_max_level::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domFx_sampler_states::domMip_max_level , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler_states::domMip_max_level));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler_states::domMip_min_level::create(DAE& dae)
+{
+ domFx_sampler_states::domMip_min_levelRef ref = new domFx_sampler_states::domMip_min_level(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler_states::domMip_min_level::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mip_min_level" );
+ meta->registerClass(domFx_sampler_states::domMip_min_level::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domFx_sampler_states::domMip_min_level , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler_states::domMip_min_level));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler_states::domMip_bias::create(DAE& dae)
+{
+ domFx_sampler_states::domMip_biasRef ref = new domFx_sampler_states::domMip_bias(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler_states::domMip_bias::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mip_bias" );
+ meta->registerClass(domFx_sampler_states::domMip_bias::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domFx_sampler_states::domMip_bias , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler_states::domMip_bias));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler_states::domMax_anisotropy::create(DAE& dae)
+{
+ domFx_sampler_states::domMax_anisotropyRef ref = new domFx_sampler_states::domMax_anisotropy(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler_states::domMax_anisotropy::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "max_anisotropy" );
+ meta->registerClass(domFx_sampler_states::domMax_anisotropy::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domFx_sampler_states::domMax_anisotropy , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler_states::domMax_anisotropy));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_setparam.cpp b/1.4.0/dom/src/1.5/dom/domFx_setparam.cpp
new file mode 100644
index 0000000..a277e31
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_setparam.cpp
@@ -0,0 +1,1151 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_setparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_setparam::create(DAE& dae)
+{
+ domFx_setparamRef ref = new domFx_setparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_setparam" );
+ meta->registerClass(domFx_setparam::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemBool) );
+ mea->setElementType( domFx_setparam::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemBool2) );
+ mea->setElementType( domFx_setparam::domBool2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemBool3) );
+ mea->setElementType( domFx_setparam::domBool3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemBool4) );
+ mea->setElementType( domFx_setparam::domBool4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemInt) );
+ mea->setElementType( domFx_setparam::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemInt2) );
+ mea->setElementType( domFx_setparam::domInt2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemInt3) );
+ mea->setElementType( domFx_setparam::domInt3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemInt4) );
+ mea->setElementType( domFx_setparam::domInt4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat) );
+ mea->setElementType( domFx_setparam::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat2) );
+ mea->setElementType( domFx_setparam::domFloat2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat3) );
+ mea->setElementType( domFx_setparam::domFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat4) );
+ mea->setElementType( domFx_setparam::domFloat4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x1" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat2x1) );
+ mea->setElementType( domFx_setparam::domFloat2x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x2" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat2x2) );
+ mea->setElementType( domFx_setparam::domFloat2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x3" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat2x3) );
+ mea->setElementType( domFx_setparam::domFloat2x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x4" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat2x4) );
+ mea->setElementType( domFx_setparam::domFloat2x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x1" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat3x1) );
+ mea->setElementType( domFx_setparam::domFloat3x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x2" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat3x2) );
+ mea->setElementType( domFx_setparam::domFloat3x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x3" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat3x3) );
+ mea->setElementType( domFx_setparam::domFloat3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x4" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat3x4) );
+ mea->setElementType( domFx_setparam::domFloat3x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x1" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat4x1) );
+ mea->setElementType( domFx_setparam::domFloat4x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x2" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat4x2) );
+ mea->setElementType( domFx_setparam::domFloat4x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x3" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat4x3) );
+ mea->setElementType( domFx_setparam::domFloat4x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x4" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat4x4) );
+ mea->setElementType( domFx_setparam::domFloat4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "enum" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemEnum) );
+ mea->setElementType( domFx_setparam::domEnum::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler_image" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemSampler_image) );
+ mea->setElementType( domInstance_image::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler_states" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemSampler_states) );
+ mea->setElementType( domFx_setparam::domSampler_states::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_setparam,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_setparam,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_setparam,_CMData), 1);
+ meta->setElementSize(sizeof(domFx_setparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domBool::create(DAE& dae)
+{
+ domFx_setparam::domBoolRef ref = new domFx_setparam::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domFx_setparam::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domBool2::create(DAE& dae)
+{
+ domFx_setparam::domBool2Ref ref = new domFx_setparam::domBool2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domBool2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2" );
+ meta->registerClass(domFx_setparam::domBool2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool2"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domBool2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domBool2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domBool3::create(DAE& dae)
+{
+ domFx_setparam::domBool3Ref ref = new domFx_setparam::domBool3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domBool3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3" );
+ meta->registerClass(domFx_setparam::domBool3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool3"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domBool3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domBool3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domBool4::create(DAE& dae)
+{
+ domFx_setparam::domBool4Ref ref = new domFx_setparam::domBool4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domBool4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4" );
+ meta->registerClass(domFx_setparam::domBool4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domBool4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domBool4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domInt::create(DAE& dae)
+{
+ domFx_setparam::domIntRef ref = new domFx_setparam::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domFx_setparam::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domInt2::create(DAE& dae)
+{
+ domFx_setparam::domInt2Ref ref = new domFx_setparam::domInt2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domInt2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2" );
+ meta->registerClass(domFx_setparam::domInt2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int2"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domInt2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domInt2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domInt3::create(DAE& dae)
+{
+ domFx_setparam::domInt3Ref ref = new domFx_setparam::domInt3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domInt3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3" );
+ meta->registerClass(domFx_setparam::domInt3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int3"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domInt3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domInt3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domInt4::create(DAE& dae)
+{
+ domFx_setparam::domInt4Ref ref = new domFx_setparam::domInt4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domInt4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4" );
+ meta->registerClass(domFx_setparam::domInt4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int4"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domInt4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domInt4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat::create(DAE& dae)
+{
+ domFx_setparam::domFloatRef ref = new domFx_setparam::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domFx_setparam::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat2::create(DAE& dae)
+{
+ domFx_setparam::domFloat2Ref ref = new domFx_setparam::domFloat2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2" );
+ meta->registerClass(domFx_setparam::domFloat2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat3::create(DAE& dae)
+{
+ domFx_setparam::domFloat3Ref ref = new domFx_setparam::domFloat3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3" );
+ meta->registerClass(domFx_setparam::domFloat3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat4::create(DAE& dae)
+{
+ domFx_setparam::domFloat4Ref ref = new domFx_setparam::domFloat4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4" );
+ meta->registerClass(domFx_setparam::domFloat4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat2x1::create(DAE& dae)
+{
+ domFx_setparam::domFloat2x1Ref ref = new domFx_setparam::domFloat2x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat2x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x1" );
+ meta->registerClass(domFx_setparam::domFloat2x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat2x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat2x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat2x2::create(DAE& dae)
+{
+ domFx_setparam::domFloat2x2Ref ref = new domFx_setparam::domFloat2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x2" );
+ meta->registerClass(domFx_setparam::domFloat2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x2"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat2x3::create(DAE& dae)
+{
+ domFx_setparam::domFloat2x3Ref ref = new domFx_setparam::domFloat2x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat2x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x3" );
+ meta->registerClass(domFx_setparam::domFloat2x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x3"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat2x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat2x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat2x4::create(DAE& dae)
+{
+ domFx_setparam::domFloat2x4Ref ref = new domFx_setparam::domFloat2x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat2x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x4" );
+ meta->registerClass(domFx_setparam::domFloat2x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x4"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat2x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat2x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat3x1::create(DAE& dae)
+{
+ domFx_setparam::domFloat3x1Ref ref = new domFx_setparam::domFloat3x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat3x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x1" );
+ meta->registerClass(domFx_setparam::domFloat3x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat3x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat3x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat3x2::create(DAE& dae)
+{
+ domFx_setparam::domFloat3x2Ref ref = new domFx_setparam::domFloat3x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat3x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x2" );
+ meta->registerClass(domFx_setparam::domFloat3x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x2"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat3x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat3x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat3x3::create(DAE& dae)
+{
+ domFx_setparam::domFloat3x3Ref ref = new domFx_setparam::domFloat3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x3" );
+ meta->registerClass(domFx_setparam::domFloat3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x3"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat3x4::create(DAE& dae)
+{
+ domFx_setparam::domFloat3x4Ref ref = new domFx_setparam::domFloat3x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat3x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x4" );
+ meta->registerClass(domFx_setparam::domFloat3x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x4"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat3x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat3x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat4x1::create(DAE& dae)
+{
+ domFx_setparam::domFloat4x1Ref ref = new domFx_setparam::domFloat4x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat4x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x1" );
+ meta->registerClass(domFx_setparam::domFloat4x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat4x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat4x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat4x2::create(DAE& dae)
+{
+ domFx_setparam::domFloat4x2Ref ref = new domFx_setparam::domFloat4x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat4x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x2" );
+ meta->registerClass(domFx_setparam::domFloat4x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x2"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat4x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat4x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat4x3::create(DAE& dae)
+{
+ domFx_setparam::domFloat4x3Ref ref = new domFx_setparam::domFloat4x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat4x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x3" );
+ meta->registerClass(domFx_setparam::domFloat4x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x3"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat4x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat4x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat4x4::create(DAE& dae)
+{
+ domFx_setparam::domFloat4x4Ref ref = new domFx_setparam::domFloat4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x4" );
+ meta->registerClass(domFx_setparam::domFloat4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domEnum::create(DAE& dae)
+{
+ domFx_setparam::domEnumRef ref = new domFx_setparam::domEnum(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domEnum::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "enum" );
+ meta->registerClass(domFx_setparam::domEnum::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domEnum , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domEnum));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domSampler_states::create(DAE& dae)
+{
+ domFx_setparam::domSampler_statesRef ref = new domFx_setparam::domSampler_states(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domSampler_states::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sampler_states" );
+ meta->registerClass(domFx_setparam::domSampler_states::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fx_sampler_states" );
+ mea->setOffset( daeOffsetOf(domFx_setparam::domSampler_states,elemFx_sampler_states) );
+ mea->setElementType( domFx_sampler_states::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domFx_setparam::domSampler_states));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_sources.cpp b/1.4.0/dom/src/1.5/dom/domFx_sources.cpp
new file mode 100644
index 0000000..27be0aa
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_sources.cpp
@@ -0,0 +1,142 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_sources.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_sources::create(DAE& dae)
+{
+ domFx_sourcesRef ref = new domFx_sources(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sources::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_sources" );
+ meta->registerClass(domFx_sources::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "inline" );
+ mea->setOffset( daeOffsetOf(domFx_sources,elemInline_array) );
+ mea->setElementType( domFx_sources::domInline::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "import" );
+ mea->setOffset( daeOffsetOf(domFx_sources,elemImport_array) );
+ mea->setElementType( domFx_sources::domImport::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 3000 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_sources,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_sources,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_sources,_CMData), 1);
+ meta->setElementSize(sizeof(domFx_sources));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sources::domInline::create(DAE& dae)
+{
+ domFx_sources::domInlineRef ref = new domFx_sources::domInline(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sources::domInline::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "inline" );
+ meta->registerClass(domFx_sources::domInline::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domFx_sources::domInline , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sources::domInline));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sources::domImport::create(DAE& dae)
+{
+ domFx_sources::domImportRef ref = new domFx_sources::domImport(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sources::domImport::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "import" );
+ meta->registerClass(domFx_sources::domImport::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domFx_sources::domImport , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sources::domImport));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_stenciltarget.cpp b/1.4.0/dom/src/1.5/dom/domFx_stenciltarget.cpp
new file mode 100644
index 0000000..0760a2f
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_stenciltarget.cpp
@@ -0,0 +1,119 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_stenciltarget.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_stenciltarget::create(DAE& dae)
+{
+ domFx_stenciltargetRef ref = new domFx_stenciltarget(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_stenciltarget::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_stenciltarget" );
+ meta->registerClass(domFx_stenciltarget::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domFx_stenciltarget,elemParam) );
+ mea->setElementType( domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_image" );
+ mea->setOffset( daeOffsetOf(domFx_stenciltarget,elemInstance_image) );
+ mea->setElementType( domInstance_image::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_stenciltarget,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_stenciltarget,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_stenciltarget,_CMData), 1);
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_stenciltarget , attrIndex ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: mip
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "mip" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_stenciltarget , attrMip ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: face
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "face" );
+ ma->setType( dae.getAtomicTypes().get("Image_face"));
+ ma->setOffset( daeOffsetOf( domFx_stenciltarget , attrFace ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "POSITIVE_X");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: slice
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "slice" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_stenciltarget , attrSlice ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_stenciltarget));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_target.cpp b/1.4.0/dom/src/1.5/dom/domFx_target.cpp
new file mode 100644
index 0000000..68ce10f
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_target.cpp
@@ -0,0 +1,220 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_target.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_target::create(DAE& dae)
+{
+ domFx_targetRef ref = new domFx_target(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_target::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_target" );
+ meta->registerClass(domFx_target::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "binary" );
+ mea->setOffset( daeOffsetOf(domFx_target,elemBinary) );
+ mea->setElementType( domFx_target::domBinary::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: platform
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "platform" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domFx_target , attrPlatform ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: target
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "target" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domFx_target , attrTarget ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: options
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "options" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domFx_target , attrOptions ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_target));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_target::domBinary::create(DAE& dae)
+{
+ domFx_target::domBinaryRef ref = new domFx_target::domBinary(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_target::domBinary::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "binary" );
+ meta->registerClass(domFx_target::domBinary::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ref" );
+ mea->setOffset( daeOffsetOf(domFx_target::domBinary,elemRef) );
+ mea->setElementType( domFx_target::domBinary::domRef::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "hex" );
+ mea->setOffset( daeOffsetOf(domFx_target::domBinary,elemHex) );
+ mea->setElementType( domFx_target::domBinary::domHex::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_target::domBinary,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_target::domBinary,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_target::domBinary,_CMData), 1);
+ meta->setElementSize(sizeof(domFx_target::domBinary));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_target::domBinary::domRef::create(DAE& dae)
+{
+ domFx_target::domBinary::domRefRef ref = new domFx_target::domBinary::domRef(dae);
+ ref->_value.setContainer( (domFx_target::domBinary::domRef*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_target::domBinary::domRef::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ref" );
+ meta->registerClass(domFx_target::domBinary::domRef::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domFx_target::domBinary::domRef , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_target::domBinary::domRef));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_target::domBinary::domHex::create(DAE& dae)
+{
+ domFx_target::domBinary::domHexRef ref = new domFx_target::domBinary::domHex(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_target::domBinary::domHex::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "hex" );
+ meta->registerClass(domFx_target::domBinary::domHex::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_hex_binary"));
+ ma->setOffset( daeOffsetOf( domFx_target::domBinary::domHex , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: format
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "format" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domFx_target::domBinary::domHex , attrFormat ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_target::domBinary::domHex));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGeometry.cpp b/1.4.0/dom/src/1.5/dom/domGeometry.cpp
new file mode 100644
index 0000000..a16d3d3
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGeometry.cpp
@@ -0,0 +1,113 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGeometry.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGeometry::create(DAE& dae)
+{
+ domGeometryRef ref = new domGeometry(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGeometry::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "geometry" );
+ meta->registerClass(domGeometry::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domGeometry,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "convex_mesh" );
+ mea->setOffset( daeOffsetOf(domGeometry,elemConvex_mesh) );
+ mea->setElementType( domConvex_mesh::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "mesh" );
+ mea->setOffset( daeOffsetOf(domGeometry,elemMesh) );
+ mea->setElementType( domMesh::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "spline" );
+ mea->setOffset( daeOffsetOf(domGeometry,elemSpline) );
+ mea->setElementType( domSpline::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "brep" );
+ mea->setOffset( daeOffsetOf(domGeometry,elemBrep) );
+ mea->setElementType( domBrep::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domGeometry,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGeometry,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGeometry,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGeometry,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domGeometry , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGeometry , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGeometry));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGl_pipeline_settings.cpp b/1.4.0/dom/src/1.5/dom/domGl_pipeline_settings.cpp
new file mode 100644
index 0000000..1e27e03
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGl_pipeline_settings.cpp
@@ -0,0 +1,8121 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGl_pipeline_settings.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGl_pipeline_settings::create(DAE& dae)
+{
+ domGl_pipeline_settingsRef ref = new domGl_pipeline_settings(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gl_pipeline_settings" );
+ meta->registerClass(domGl_pipeline_settings::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "alpha_func" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemAlpha_func) );
+ mea->setElementType( domGl_pipeline_settings::domAlpha_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_func" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemBlend_func) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_func_separate" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemBlend_func_separate) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_func_separate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_equation" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemBlend_equation) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_equation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_equation_separate" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemBlend_equation_separate) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_equation_separate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color_material" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemColor_material) );
+ mea->setElementType( domGl_pipeline_settings::domColor_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cull_face" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemCull_face) );
+ mea->setElementType( domGl_pipeline_settings::domCull_face::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_func" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDepth_func) );
+ mea->setElementType( domGl_pipeline_settings::domDepth_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_mode" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFog_mode) );
+ mea->setElementType( domGl_pipeline_settings::domFog_mode::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_coord_src" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFog_coord_src) );
+ mea->setElementType( domGl_pipeline_settings::domFog_coord_src::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "front_face" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFront_face) );
+ mea->setElementType( domGl_pipeline_settings::domFront_face::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_model_color_control" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_model_color_control) );
+ mea->setElementType( domGl_pipeline_settings::domLight_model_color_control::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "logic_op" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLogic_op) );
+ mea->setElementType( domGl_pipeline_settings::domLogic_op::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_mode" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPolygon_mode) );
+ mea->setElementType( domGl_pipeline_settings::domPolygon_mode::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "shade_model" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemShade_model) );
+ mea->setElementType( domGl_pipeline_settings::domShade_model::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_func" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemStencil_func) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_op" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemStencil_op) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_op::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_func_separate" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemStencil_func_separate) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_func_separate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_op_separate" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemStencil_op_separate) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_op_separate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_mask_separate" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemStencil_mask_separate) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_mask_separate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_enable) );
+ mea->setElementType( domGl_pipeline_settings::domLight_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_ambient" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_ambient) );
+ mea->setElementType( domGl_pipeline_settings::domLight_ambient::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_diffuse" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_diffuse) );
+ mea->setElementType( domGl_pipeline_settings::domLight_diffuse::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_specular" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_specular) );
+ mea->setElementType( domGl_pipeline_settings::domLight_specular::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_position" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_position) );
+ mea->setElementType( domGl_pipeline_settings::domLight_position::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_constant_attenuation" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_constant_attenuation) );
+ mea->setElementType( domGl_pipeline_settings::domLight_constant_attenuation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_linear_attenuation" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_linear_attenuation) );
+ mea->setElementType( domGl_pipeline_settings::domLight_linear_attenuation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_quadratic_attenuation" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_quadratic_attenuation) );
+ mea->setElementType( domGl_pipeline_settings::domLight_quadratic_attenuation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_spot_cutoff" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_spot_cutoff) );
+ mea->setElementType( domGl_pipeline_settings::domLight_spot_cutoff::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_spot_direction" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_spot_direction) );
+ mea->setElementType( domGl_pipeline_settings::domLight_spot_direction::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_spot_exponent" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_spot_exponent) );
+ mea->setElementType( domGl_pipeline_settings::domLight_spot_exponent::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture1D" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture1D) );
+ mea->setElementType( domGl_pipeline_settings::domTexture1D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture2D" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture2D) );
+ mea->setElementType( domGl_pipeline_settings::domTexture2D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture3D" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture3D) );
+ mea->setElementType( domGl_pipeline_settings::domTexture3D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "textureCUBE" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTextureCUBE) );
+ mea->setElementType( domGl_pipeline_settings::domTextureCUBE::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "textureRECT" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTextureRECT) );
+ mea->setElementType( domGl_pipeline_settings::domTextureRECT::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "textureDEPTH" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTextureDEPTH) );
+ mea->setElementType( domGl_pipeline_settings::domTextureDEPTH::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture1D_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture1D_enable) );
+ mea->setElementType( domGl_pipeline_settings::domTexture1D_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture2D_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture2D_enable) );
+ mea->setElementType( domGl_pipeline_settings::domTexture2D_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture3D_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture3D_enable) );
+ mea->setElementType( domGl_pipeline_settings::domTexture3D_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "textureCUBE_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTextureCUBE_enable) );
+ mea->setElementType( domGl_pipeline_settings::domTextureCUBE_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "textureRECT_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTextureRECT_enable) );
+ mea->setElementType( domGl_pipeline_settings::domTextureRECT_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "textureDEPTH_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTextureDEPTH_enable) );
+ mea->setElementType( domGl_pipeline_settings::domTextureDEPTH_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture_env_color" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture_env_color) );
+ mea->setElementType( domGl_pipeline_settings::domTexture_env_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture_env_mode" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture_env_mode) );
+ mea->setElementType( domGl_pipeline_settings::domTexture_env_mode::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "clip_plane" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemClip_plane) );
+ mea->setElementType( domGl_pipeline_settings::domClip_plane::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "clip_plane_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemClip_plane_enable) );
+ mea->setElementType( domGl_pipeline_settings::domClip_plane_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_color" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemBlend_color) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color_mask" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemColor_mask) );
+ mea->setElementType( domGl_pipeline_settings::domColor_mask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_bounds" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDepth_bounds) );
+ mea->setElementType( domGl_pipeline_settings::domDepth_bounds::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_mask" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDepth_mask) );
+ mea->setElementType( domGl_pipeline_settings::domDepth_mask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_range" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDepth_range) );
+ mea->setElementType( domGl_pipeline_settings::domDepth_range::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_density" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFog_density) );
+ mea->setElementType( domGl_pipeline_settings::domFog_density::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_start" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFog_start) );
+ mea->setElementType( domGl_pipeline_settings::domFog_start::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_end" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFog_end) );
+ mea->setElementType( domGl_pipeline_settings::domFog_end::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_color" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFog_color) );
+ mea->setElementType( domGl_pipeline_settings::domFog_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_model_ambient" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_model_ambient) );
+ mea->setElementType( domGl_pipeline_settings::domLight_model_ambient::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "lighting_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLighting_enable) );
+ mea->setElementType( domGl_pipeline_settings::domLighting_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "line_stipple" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLine_stipple) );
+ mea->setElementType( domGl_pipeline_settings::domLine_stipple::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "line_width" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLine_width) );
+ mea->setElementType( domGl_pipeline_settings::domLine_width::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_ambient" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemMaterial_ambient) );
+ mea->setElementType( domGl_pipeline_settings::domMaterial_ambient::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_diffuse" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemMaterial_diffuse) );
+ mea->setElementType( domGl_pipeline_settings::domMaterial_diffuse::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_emission" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemMaterial_emission) );
+ mea->setElementType( domGl_pipeline_settings::domMaterial_emission::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_shininess" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemMaterial_shininess) );
+ mea->setElementType( domGl_pipeline_settings::domMaterial_shininess::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_specular" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemMaterial_specular) );
+ mea->setElementType( domGl_pipeline_settings::domMaterial_specular::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "model_view_matrix" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemModel_view_matrix) );
+ mea->setElementType( domGl_pipeline_settings::domModel_view_matrix::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_distance_attenuation" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPoint_distance_attenuation) );
+ mea->setElementType( domGl_pipeline_settings::domPoint_distance_attenuation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_fade_threshold_size" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPoint_fade_threshold_size) );
+ mea->setElementType( domGl_pipeline_settings::domPoint_fade_threshold_size::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_size" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPoint_size) );
+ mea->setElementType( domGl_pipeline_settings::domPoint_size::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_size_min" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPoint_size_min) );
+ mea->setElementType( domGl_pipeline_settings::domPoint_size_min::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_size_max" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPoint_size_max) );
+ mea->setElementType( domGl_pipeline_settings::domPoint_size_max::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_offset" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPolygon_offset) );
+ mea->setElementType( domGl_pipeline_settings::domPolygon_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "projection_matrix" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemProjection_matrix) );
+ mea->setElementType( domGl_pipeline_settings::domProjection_matrix::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "scissor" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemScissor) );
+ mea->setElementType( domGl_pipeline_settings::domScissor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_mask" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemStencil_mask) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_mask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "alpha_test_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemAlpha_test_enable) );
+ mea->setElementType( domGl_pipeline_settings::domAlpha_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemBlend_enable) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color_logic_op_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemColor_logic_op_enable) );
+ mea->setElementType( domGl_pipeline_settings::domColor_logic_op_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color_material_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemColor_material_enable) );
+ mea->setElementType( domGl_pipeline_settings::domColor_material_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cull_face_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemCull_face_enable) );
+ mea->setElementType( domGl_pipeline_settings::domCull_face_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_bounds_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDepth_bounds_enable) );
+ mea->setElementType( domGl_pipeline_settings::domDepth_bounds_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_clamp_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDepth_clamp_enable) );
+ mea->setElementType( domGl_pipeline_settings::domDepth_clamp_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_test_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDepth_test_enable) );
+ mea->setElementType( domGl_pipeline_settings::domDepth_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "dither_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDither_enable) );
+ mea->setElementType( domGl_pipeline_settings::domDither_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFog_enable) );
+ mea->setElementType( domGl_pipeline_settings::domFog_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_model_local_viewer_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_model_local_viewer_enable) );
+ mea->setElementType( domGl_pipeline_settings::domLight_model_local_viewer_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_model_two_side_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_model_two_side_enable) );
+ mea->setElementType( domGl_pipeline_settings::domLight_model_two_side_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "line_smooth_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLine_smooth_enable) );
+ mea->setElementType( domGl_pipeline_settings::domLine_smooth_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "line_stipple_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLine_stipple_enable) );
+ mea->setElementType( domGl_pipeline_settings::domLine_stipple_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "logic_op_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLogic_op_enable) );
+ mea->setElementType( domGl_pipeline_settings::domLogic_op_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "multisample_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemMultisample_enable) );
+ mea->setElementType( domGl_pipeline_settings::domMultisample_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "normalize_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemNormalize_enable) );
+ mea->setElementType( domGl_pipeline_settings::domNormalize_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_smooth_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPoint_smooth_enable) );
+ mea->setElementType( domGl_pipeline_settings::domPoint_smooth_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_offset_fill_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPolygon_offset_fill_enable) );
+ mea->setElementType( domGl_pipeline_settings::domPolygon_offset_fill_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_offset_line_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPolygon_offset_line_enable) );
+ mea->setElementType( domGl_pipeline_settings::domPolygon_offset_line_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_offset_point_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPolygon_offset_point_enable) );
+ mea->setElementType( domGl_pipeline_settings::domPolygon_offset_point_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_smooth_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPolygon_smooth_enable) );
+ mea->setElementType( domGl_pipeline_settings::domPolygon_smooth_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_stipple_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPolygon_stipple_enable) );
+ mea->setElementType( domGl_pipeline_settings::domPolygon_stipple_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rescale_normal_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemRescale_normal_enable) );
+ mea->setElementType( domGl_pipeline_settings::domRescale_normal_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sample_alpha_to_coverage_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemSample_alpha_to_coverage_enable) );
+ mea->setElementType( domGl_pipeline_settings::domSample_alpha_to_coverage_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sample_alpha_to_one_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemSample_alpha_to_one_enable) );
+ mea->setElementType( domGl_pipeline_settings::domSample_alpha_to_one_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sample_coverage_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemSample_coverage_enable) );
+ mea->setElementType( domGl_pipeline_settings::domSample_coverage_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "scissor_test_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemScissor_test_enable) );
+ mea->setElementType( domGl_pipeline_settings::domScissor_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_test_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemStencil_test_enable) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGl_pipeline_settings,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGl_pipeline_settings,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGl_pipeline_settings,_CMData), 1);
+ meta->setElementSize(sizeof(domGl_pipeline_settings));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domAlpha_func::create(DAE& dae)
+{
+ domGl_pipeline_settings::domAlpha_funcRef ref = new domGl_pipeline_settings::domAlpha_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domAlpha_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "alpha_func" );
+ meta->registerClass(domGl_pipeline_settings::domAlpha_func::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "func" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domAlpha_func,elemFunc) );
+ mea->setElementType( domGl_pipeline_settings::domAlpha_func::domFunc::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domAlpha_func,elemValue) );
+ mea->setElementType( domGl_pipeline_settings::domAlpha_func::domValue::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domAlpha_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domAlpha_func::domFunc::create(DAE& dae)
+{
+ domGl_pipeline_settings::domAlpha_func::domFuncRef ref = new domGl_pipeline_settings::domAlpha_func::domFunc(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domAlpha_func::domFunc::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "func" );
+ meta->registerClass(domGl_pipeline_settings::domAlpha_func::domFunc::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domAlpha_func::domFunc , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domAlpha_func::domFunc , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domAlpha_func::domFunc));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domAlpha_func::domValue::create(DAE& dae)
+{
+ domGl_pipeline_settings::domAlpha_func::domValueRef ref = new domGl_pipeline_settings::domAlpha_func::domValue(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domAlpha_func::domValue::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "value" );
+ meta->registerClass(domGl_pipeline_settings::domAlpha_func::domValue::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_alpha_value"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domAlpha_func::domValue , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0.0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domAlpha_func::domValue , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domAlpha_func::domValue));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_func::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_funcRef ref = new domGl_pipeline_settings::domBlend_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_func" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_func::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "src" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_func,elemSrc) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_func::domSrc::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "dest" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_func,elemDest) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_func::domDest::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_func::domSrc::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_func::domSrcRef ref = new domGl_pipeline_settings::domBlend_func::domSrc(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_func::domSrc::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "src" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_func::domSrc::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func::domSrc , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ONE");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func::domSrc , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_func::domSrc));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_func::domDest::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_func::domDestRef ref = new domGl_pipeline_settings::domBlend_func::domDest(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_func::domDest::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dest" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_func::domDest::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func::domDest , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ZERO");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func::domDest , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_func::domDest));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_func_separate::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_func_separateRef ref = new domGl_pipeline_settings::domBlend_func_separate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_func_separate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_func_separate" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_func_separate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "src_rgb" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_func_separate,elemSrc_rgb) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "dest_rgb" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_func_separate,elemDest_rgb) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_func_separate::domDest_rgb::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "src_alpha" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_func_separate,elemSrc_alpha) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "dest_alpha" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_func_separate,elemDest_alpha) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_func_separate::domDest_alpha::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_func_separate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_func_separate::domSrc_rgbRef ref = new domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "src_rgb" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ONE");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_func_separate::domDest_rgb::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_func_separate::domDest_rgbRef ref = new domGl_pipeline_settings::domBlend_func_separate::domDest_rgb(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_func_separate::domDest_rgb::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dest_rgb" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_func_separate::domDest_rgb::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func_separate::domDest_rgb , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ZERO");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func_separate::domDest_rgb , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_func_separate::domDest_rgb));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_func_separate::domSrc_alphaRef ref = new domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "src_alpha" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ONE");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_func_separate::domDest_alpha::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_func_separate::domDest_alphaRef ref = new domGl_pipeline_settings::domBlend_func_separate::domDest_alpha(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_func_separate::domDest_alpha::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dest_alpha" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_func_separate::domDest_alpha::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func_separate::domDest_alpha , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ZERO");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func_separate::domDest_alpha , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_func_separate::domDest_alpha));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_equation::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_equationRef ref = new domGl_pipeline_settings::domBlend_equation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_equation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_equation" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_equation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend_equation"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_equation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FUNC_ADD");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_equation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_equation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_equation_separate::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_equation_separateRef ref = new domGl_pipeline_settings::domBlend_equation_separate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_equation_separate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_equation_separate" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_equation_separate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rgb" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_equation_separate,elemRgb) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_equation_separate::domRgb::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "alpha" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_equation_separate,elemAlpha) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_equation_separate::domAlpha::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_equation_separate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_equation_separate::domRgb::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_equation_separate::domRgbRef ref = new domGl_pipeline_settings::domBlend_equation_separate::domRgb(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_equation_separate::domRgb::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "rgb" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_equation_separate::domRgb::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend_equation"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_equation_separate::domRgb , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FUNC_ADD");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_equation_separate::domRgb , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_equation_separate::domRgb));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_equation_separate::domAlpha::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_equation_separate::domAlphaRef ref = new domGl_pipeline_settings::domBlend_equation_separate::domAlpha(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_equation_separate::domAlpha::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "alpha" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_equation_separate::domAlpha::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend_equation"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_equation_separate::domAlpha , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FUNC_ADD");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_equation_separate::domAlpha , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_equation_separate::domAlpha));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domColor_material::create(DAE& dae)
+{
+ domGl_pipeline_settings::domColor_materialRef ref = new domGl_pipeline_settings::domColor_material(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domColor_material::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "color_material" );
+ meta->registerClass(domGl_pipeline_settings::domColor_material::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "face" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domColor_material,elemFace) );
+ mea->setElementType( domGl_pipeline_settings::domColor_material::domFace::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "mode" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domColor_material,elemMode) );
+ mea->setElementType( domGl_pipeline_settings::domColor_material::domMode::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domColor_material));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domColor_material::domFace::create(DAE& dae)
+{
+ domGl_pipeline_settings::domColor_material::domFaceRef ref = new domGl_pipeline_settings::domColor_material::domFace(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domColor_material::domFace::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "face" );
+ meta->registerClass(domGl_pipeline_settings::domColor_material::domFace::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_face"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_material::domFace , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FRONT_AND_BACK");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_material::domFace , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domColor_material::domFace));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domColor_material::domMode::create(DAE& dae)
+{
+ domGl_pipeline_settings::domColor_material::domModeRef ref = new domGl_pipeline_settings::domColor_material::domMode(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domColor_material::domMode::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mode" );
+ meta->registerClass(domGl_pipeline_settings::domColor_material::domMode::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_material"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_material::domMode , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "AMBIENT_AND_DIFFUSE");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_material::domMode , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domColor_material::domMode));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domCull_face::create(DAE& dae)
+{
+ domGl_pipeline_settings::domCull_faceRef ref = new domGl_pipeline_settings::domCull_face(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domCull_face::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cull_face" );
+ meta->registerClass(domGl_pipeline_settings::domCull_face::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_face"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domCull_face , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "BACK");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domCull_face , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domCull_face));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domDepth_func::create(DAE& dae)
+{
+ domGl_pipeline_settings::domDepth_funcRef ref = new domGl_pipeline_settings::domDepth_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domDepth_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_func" );
+ meta->registerClass(domGl_pipeline_settings::domDepth_func::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_func , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_func , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domDepth_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domFog_mode::create(DAE& dae)
+{
+ domGl_pipeline_settings::domFog_modeRef ref = new domGl_pipeline_settings::domFog_mode(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domFog_mode::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_mode" );
+ meta->registerClass(domGl_pipeline_settings::domFog_mode::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_fog"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_mode , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "EXP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_mode , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domFog_mode));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domFog_coord_src::create(DAE& dae)
+{
+ domGl_pipeline_settings::domFog_coord_srcRef ref = new domGl_pipeline_settings::domFog_coord_src(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domFog_coord_src::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_coord_src" );
+ meta->registerClass(domGl_pipeline_settings::domFog_coord_src::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_fog_coord_src"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_coord_src , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FOG_COORDINATE");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_coord_src , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domFog_coord_src));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domFront_face::create(DAE& dae)
+{
+ domGl_pipeline_settings::domFront_faceRef ref = new domGl_pipeline_settings::domFront_face(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domFront_face::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "front_face" );
+ meta->registerClass(domGl_pipeline_settings::domFront_face::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_front_face"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFront_face , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "CCW");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFront_face , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domFront_face));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_model_color_control::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_model_color_controlRef ref = new domGl_pipeline_settings::domLight_model_color_control(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_model_color_control::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_model_color_control" );
+ meta->registerClass(domGl_pipeline_settings::domLight_model_color_control::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_light_model_color_control"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_model_color_control , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "SINGLE_COLOR");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_model_color_control , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_model_color_control));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLogic_op::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLogic_opRef ref = new domGl_pipeline_settings::domLogic_op(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLogic_op::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "logic_op" );
+ meta->registerClass(domGl_pipeline_settings::domLogic_op::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_logic_op"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLogic_op , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "COPY");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLogic_op , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLogic_op));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPolygon_mode::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPolygon_modeRef ref = new domGl_pipeline_settings::domPolygon_mode(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPolygon_mode::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_mode" );
+ meta->registerClass(domGl_pipeline_settings::domPolygon_mode::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "face" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domPolygon_mode,elemFace) );
+ mea->setElementType( domGl_pipeline_settings::domPolygon_mode::domFace::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "mode" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domPolygon_mode,elemMode) );
+ mea->setElementType( domGl_pipeline_settings::domPolygon_mode::domMode::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPolygon_mode));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPolygon_mode::domFace::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPolygon_mode::domFaceRef ref = new domGl_pipeline_settings::domPolygon_mode::domFace(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPolygon_mode::domFace::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "face" );
+ meta->registerClass(domGl_pipeline_settings::domPolygon_mode::domFace::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_face"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_mode::domFace , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FRONT_AND_BACK");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_mode::domFace , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPolygon_mode::domFace));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPolygon_mode::domMode::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPolygon_mode::domModeRef ref = new domGl_pipeline_settings::domPolygon_mode::domMode(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPolygon_mode::domMode::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mode" );
+ meta->registerClass(domGl_pipeline_settings::domPolygon_mode::domMode::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_polygon_mode"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_mode::domMode , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FILL");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_mode::domMode , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPolygon_mode::domMode));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domShade_model::create(DAE& dae)
+{
+ domGl_pipeline_settings::domShade_modelRef ref = new domGl_pipeline_settings::domShade_model(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domShade_model::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "shade_model" );
+ meta->registerClass(domGl_pipeline_settings::domShade_model::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_shade_model"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domShade_model , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "SMOOTH");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domShade_model , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domShade_model));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_func::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_funcRef ref = new domGl_pipeline_settings::domStencil_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_func" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_func::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "func" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_func,elemFunc) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_func::domFunc::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "ref" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_func,elemRef) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_func::domRef::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "mask" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_func,elemMask) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_func::domMask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_func::domFunc::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_func::domFuncRef ref = new domGl_pipeline_settings::domStencil_func::domFunc(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_func::domFunc::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "func" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_func::domFunc::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func::domFunc , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func::domFunc , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func::domFunc));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_func::domRef::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_func::domRefRef ref = new domGl_pipeline_settings::domStencil_func::domRef(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_func::domRef::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ref" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_func::domRef::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func::domRef , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func::domRef , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func::domRef));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_func::domMask::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_func::domMaskRef ref = new domGl_pipeline_settings::domStencil_func::domMask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_func::domMask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mask" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_func::domMask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func::domMask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "255");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func::domMask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func::domMask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_op::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_opRef ref = new domGl_pipeline_settings::domStencil_op(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_op::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_op" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_op::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fail" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_op,elemFail) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_op::domFail::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "zfail" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_op,elemZfail) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_op::domZfail::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "zpass" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_op,elemZpass) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_op::domZpass::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_op::domFail::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_op::domFailRef ref = new domGl_pipeline_settings::domStencil_op::domFail(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_op::domFail::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fail" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_op::domFail::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op::domFail , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op::domFail , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op::domFail));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_op::domZfail::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_op::domZfailRef ref = new domGl_pipeline_settings::domStencil_op::domZfail(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_op::domZfail::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "zfail" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_op::domZfail::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op::domZfail , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op::domZfail , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op::domZfail));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_op::domZpass::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_op::domZpassRef ref = new domGl_pipeline_settings::domStencil_op::domZpass(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_op::domZpass::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "zpass" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_op::domZpass::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op::domZpass , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op::domZpass , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op::domZpass));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_func_separate::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_func_separateRef ref = new domGl_pipeline_settings::domStencil_func_separate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_func_separate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_func_separate" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_func_separate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "front" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_func_separate,elemFront) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_func_separate::domFront::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "back" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_func_separate,elemBack) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_func_separate::domBack::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "ref" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_func_separate,elemRef) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_func_separate::domRef::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "mask" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_func_separate,elemMask) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_func_separate::domMask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func_separate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_func_separate::domFront::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_func_separate::domFrontRef ref = new domGl_pipeline_settings::domStencil_func_separate::domFront(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_func_separate::domFront::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "front" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_func_separate::domFront::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func_separate::domFront , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func_separate::domFront , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func_separate::domFront));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_func_separate::domBack::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_func_separate::domBackRef ref = new domGl_pipeline_settings::domStencil_func_separate::domBack(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_func_separate::domBack::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "back" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_func_separate::domBack::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func_separate::domBack , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func_separate::domBack , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func_separate::domBack));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_func_separate::domRef::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_func_separate::domRefRef ref = new domGl_pipeline_settings::domStencil_func_separate::domRef(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_func_separate::domRef::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ref" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_func_separate::domRef::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func_separate::domRef , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func_separate::domRef , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func_separate::domRef));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_func_separate::domMask::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_func_separate::domMaskRef ref = new domGl_pipeline_settings::domStencil_func_separate::domMask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_func_separate::domMask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mask" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_func_separate::domMask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func_separate::domMask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "255");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func_separate::domMask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func_separate::domMask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_op_separate::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_op_separateRef ref = new domGl_pipeline_settings::domStencil_op_separate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_op_separate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_op_separate" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_op_separate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "face" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_op_separate,elemFace) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_op_separate::domFace::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "fail" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_op_separate,elemFail) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_op_separate::domFail::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "zfail" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_op_separate,elemZfail) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_op_separate::domZfail::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "zpass" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_op_separate,elemZpass) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_op_separate::domZpass::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op_separate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_op_separate::domFace::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_op_separate::domFaceRef ref = new domGl_pipeline_settings::domStencil_op_separate::domFace(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_op_separate::domFace::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "face" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_op_separate::domFace::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_face"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op_separate::domFace , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FRONT_AND_BACK");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op_separate::domFace , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op_separate::domFace));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_op_separate::domFail::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_op_separate::domFailRef ref = new domGl_pipeline_settings::domStencil_op_separate::domFail(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_op_separate::domFail::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fail" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_op_separate::domFail::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op_separate::domFail , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op_separate::domFail , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op_separate::domFail));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_op_separate::domZfail::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_op_separate::domZfailRef ref = new domGl_pipeline_settings::domStencil_op_separate::domZfail(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_op_separate::domZfail::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "zfail" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_op_separate::domZfail::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op_separate::domZfail , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op_separate::domZfail , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op_separate::domZfail));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_op_separate::domZpass::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_op_separate::domZpassRef ref = new domGl_pipeline_settings::domStencil_op_separate::domZpass(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_op_separate::domZpass::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "zpass" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_op_separate::domZpass::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op_separate::domZpass , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op_separate::domZpass , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op_separate::domZpass));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_mask_separate::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_mask_separateRef ref = new domGl_pipeline_settings::domStencil_mask_separate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_mask_separate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_mask_separate" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_mask_separate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "face" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_mask_separate,elemFace) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_mask_separate::domFace::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "mask" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_mask_separate,elemMask) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_mask_separate::domMask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_mask_separate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_mask_separate::domFace::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_mask_separate::domFaceRef ref = new domGl_pipeline_settings::domStencil_mask_separate::domFace(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_mask_separate::domFace::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "face" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_mask_separate::domFace::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_face"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_mask_separate::domFace , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FRONT_AND_BACK");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_mask_separate::domFace , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_mask_separate::domFace));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_mask_separate::domMask::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_mask_separate::domMaskRef ref = new domGl_pipeline_settings::domStencil_mask_separate::domMask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_mask_separate::domMask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mask" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_mask_separate::domMask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_mask_separate::domMask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "255");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_mask_separate::domMask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_mask_separate::domMask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_enableRef ref = new domGl_pipeline_settings::domLight_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_enable" );
+ meta->registerClass(domGl_pipeline_settings::domLight_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_enable , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_ambient::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_ambientRef ref = new domGl_pipeline_settings::domLight_ambient(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_ambient::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_ambient" );
+ meta->registerClass(domGl_pipeline_settings::domLight_ambient::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_ambient , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_ambient , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_ambient , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_ambient));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_diffuse::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_diffuseRef ref = new domGl_pipeline_settings::domLight_diffuse(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_diffuse::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_diffuse" );
+ meta->registerClass(domGl_pipeline_settings::domLight_diffuse::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_diffuse , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_diffuse , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_diffuse , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_diffuse));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_specular::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_specularRef ref = new domGl_pipeline_settings::domLight_specular(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_specular::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_specular" );
+ meta->registerClass(domGl_pipeline_settings::domLight_specular::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_specular , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_specular , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_specular , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_specular));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_position::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_positionRef ref = new domGl_pipeline_settings::domLight_position(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_position::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_position" );
+ meta->registerClass(domGl_pipeline_settings::domLight_position::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_position , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 1 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_position , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_position , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_position));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_constant_attenuation::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_constant_attenuationRef ref = new domGl_pipeline_settings::domLight_constant_attenuation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_constant_attenuation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_constant_attenuation" );
+ meta->registerClass(domGl_pipeline_settings::domLight_constant_attenuation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_constant_attenuation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_constant_attenuation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_constant_attenuation , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_constant_attenuation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_linear_attenuation::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_linear_attenuationRef ref = new domGl_pipeline_settings::domLight_linear_attenuation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_linear_attenuation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_linear_attenuation" );
+ meta->registerClass(domGl_pipeline_settings::domLight_linear_attenuation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_linear_attenuation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_linear_attenuation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_linear_attenuation , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_linear_attenuation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_quadratic_attenuation::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_quadratic_attenuationRef ref = new domGl_pipeline_settings::domLight_quadratic_attenuation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_quadratic_attenuation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_quadratic_attenuation" );
+ meta->registerClass(domGl_pipeline_settings::domLight_quadratic_attenuation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_quadratic_attenuation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_quadratic_attenuation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_quadratic_attenuation , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_quadratic_attenuation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_spot_cutoff::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_spot_cutoffRef ref = new domGl_pipeline_settings::domLight_spot_cutoff(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_spot_cutoff::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_spot_cutoff" );
+ meta->registerClass(domGl_pipeline_settings::domLight_spot_cutoff::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_spot_cutoff , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "180");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_spot_cutoff , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_spot_cutoff , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_spot_cutoff));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_spot_direction::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_spot_directionRef ref = new domGl_pipeline_settings::domLight_spot_direction(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_spot_direction::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_spot_direction" );
+ meta->registerClass(domGl_pipeline_settings::domLight_spot_direction::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_spot_direction , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 -1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_spot_direction , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_spot_direction , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_spot_direction));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_spot_exponent::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_spot_exponentRef ref = new domGl_pipeline_settings::domLight_spot_exponent(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_spot_exponent::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_spot_exponent" );
+ meta->registerClass(domGl_pipeline_settings::domLight_spot_exponent::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_spot_exponent , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_spot_exponent , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_spot_exponent , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_spot_exponent));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture1D::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture1DRef ref = new domGl_pipeline_settings::domTexture1D(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture1D::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture1D" );
+ meta->registerClass(domGl_pipeline_settings::domTexture1D::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTexture1D,elemValue) );
+ mea->setElementType( domFx_sampler1D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTexture1D,elemParam) );
+ mea->setElementType( domGl_pipeline_settings::domTexture1D::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGl_pipeline_settings::domTexture1D,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGl_pipeline_settings::domTexture1D,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGl_pipeline_settings::domTexture1D,_CMData), 1);
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_texture_image_units_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture1D , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture1D));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture1D::domParam::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture1D::domParamRef ref = new domGl_pipeline_settings::domTexture1D::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture1D::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domGl_pipeline_settings::domTexture1D::domParam::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture1D::domParam , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture1D::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture2D::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture2DRef ref = new domGl_pipeline_settings::domTexture2D(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture2D::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture2D" );
+ meta->registerClass(domGl_pipeline_settings::domTexture2D::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTexture2D,elemValue) );
+ mea->setElementType( domFx_sampler2D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTexture2D,elemParam) );
+ mea->setElementType( domGl_pipeline_settings::domTexture2D::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGl_pipeline_settings::domTexture2D,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGl_pipeline_settings::domTexture2D,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGl_pipeline_settings::domTexture2D,_CMData), 1);
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_texture_image_units_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture2D , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture2D));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture2D::domParam::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture2D::domParamRef ref = new domGl_pipeline_settings::domTexture2D::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture2D::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domGl_pipeline_settings::domTexture2D::domParam::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture2D::domParam , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture2D::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture3D::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture3DRef ref = new domGl_pipeline_settings::domTexture3D(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture3D::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture3D" );
+ meta->registerClass(domGl_pipeline_settings::domTexture3D::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTexture3D,elemValue) );
+ mea->setElementType( domFx_sampler3D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTexture3D,elemParam) );
+ mea->setElementType( domGl_pipeline_settings::domTexture3D::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGl_pipeline_settings::domTexture3D,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGl_pipeline_settings::domTexture3D,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGl_pipeline_settings::domTexture3D,_CMData), 1);
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_texture_image_units_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture3D , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture3D));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture3D::domParam::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture3D::domParamRef ref = new domGl_pipeline_settings::domTexture3D::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture3D::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domGl_pipeline_settings::domTexture3D::domParam::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture3D::domParam , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture3D::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTextureCUBE::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTextureCUBERef ref = new domGl_pipeline_settings::domTextureCUBE(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTextureCUBE::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "textureCUBE" );
+ meta->registerClass(domGl_pipeline_settings::domTextureCUBE::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTextureCUBE,elemValue) );
+ mea->setElementType( domFx_samplerCUBE::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTextureCUBE,elemParam) );
+ mea->setElementType( domGl_pipeline_settings::domTextureCUBE::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGl_pipeline_settings::domTextureCUBE,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGl_pipeline_settings::domTextureCUBE,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGl_pipeline_settings::domTextureCUBE,_CMData), 1);
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_texture_image_units_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureCUBE , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTextureCUBE));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTextureCUBE::domParam::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTextureCUBE::domParamRef ref = new domGl_pipeline_settings::domTextureCUBE::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTextureCUBE::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domGl_pipeline_settings::domTextureCUBE::domParam::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureCUBE::domParam , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTextureCUBE::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTextureRECT::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTextureRECTRef ref = new domGl_pipeline_settings::domTextureRECT(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTextureRECT::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "textureRECT" );
+ meta->registerClass(domGl_pipeline_settings::domTextureRECT::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTextureRECT,elemValue) );
+ mea->setElementType( domFx_samplerRECT::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTextureRECT,elemParam) );
+ mea->setElementType( domGl_pipeline_settings::domTextureRECT::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGl_pipeline_settings::domTextureRECT,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGl_pipeline_settings::domTextureRECT,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGl_pipeline_settings::domTextureRECT,_CMData), 1);
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_texture_image_units_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureRECT , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTextureRECT));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTextureRECT::domParam::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTextureRECT::domParamRef ref = new domGl_pipeline_settings::domTextureRECT::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTextureRECT::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domGl_pipeline_settings::domTextureRECT::domParam::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureRECT::domParam , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTextureRECT::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTextureDEPTH::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTextureDEPTHRef ref = new domGl_pipeline_settings::domTextureDEPTH(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTextureDEPTH::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "textureDEPTH" );
+ meta->registerClass(domGl_pipeline_settings::domTextureDEPTH::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTextureDEPTH,elemValue) );
+ mea->setElementType( domFx_samplerDEPTH::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTextureDEPTH,elemParam) );
+ mea->setElementType( domGl_pipeline_settings::domTextureDEPTH::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGl_pipeline_settings::domTextureDEPTH,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGl_pipeline_settings::domTextureDEPTH,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGl_pipeline_settings::domTextureDEPTH,_CMData), 1);
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_texture_image_units_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureDEPTH , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTextureDEPTH));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTextureDEPTH::domParam::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTextureDEPTH::domParamRef ref = new domGl_pipeline_settings::domTextureDEPTH::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTextureDEPTH::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domGl_pipeline_settings::domTextureDEPTH::domParam::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureDEPTH::domParam , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTextureDEPTH::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture1D_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture1D_enableRef ref = new domGl_pipeline_settings::domTexture1D_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture1D_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture1D_enable" );
+ meta->registerClass(domGl_pipeline_settings::domTexture1D_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture1D_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture1D_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_texture_image_units_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture1D_enable , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture1D_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture2D_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture2D_enableRef ref = new domGl_pipeline_settings::domTexture2D_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture2D_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture2D_enable" );
+ meta->registerClass(domGl_pipeline_settings::domTexture2D_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture2D_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture2D_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_texture_image_units_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture2D_enable , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture2D_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture3D_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture3D_enableRef ref = new domGl_pipeline_settings::domTexture3D_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture3D_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture3D_enable" );
+ meta->registerClass(domGl_pipeline_settings::domTexture3D_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture3D_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture3D_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_texture_image_units_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture3D_enable , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture3D_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTextureCUBE_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTextureCUBE_enableRef ref = new domGl_pipeline_settings::domTextureCUBE_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTextureCUBE_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "textureCUBE_enable" );
+ meta->registerClass(domGl_pipeline_settings::domTextureCUBE_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureCUBE_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureCUBE_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_texture_image_units_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureCUBE_enable , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTextureCUBE_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTextureRECT_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTextureRECT_enableRef ref = new domGl_pipeline_settings::domTextureRECT_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTextureRECT_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "textureRECT_enable" );
+ meta->registerClass(domGl_pipeline_settings::domTextureRECT_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureRECT_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureRECT_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_texture_image_units_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureRECT_enable , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTextureRECT_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTextureDEPTH_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTextureDEPTH_enableRef ref = new domGl_pipeline_settings::domTextureDEPTH_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTextureDEPTH_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "textureDEPTH_enable" );
+ meta->registerClass(domGl_pipeline_settings::domTextureDEPTH_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureDEPTH_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureDEPTH_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_texture_image_units_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureDEPTH_enable , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTextureDEPTH_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture_env_color::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture_env_colorRef ref = new domGl_pipeline_settings::domTexture_env_color(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture_env_color::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture_env_color" );
+ meta->registerClass(domGl_pipeline_settings::domTexture_env_color::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture_env_color , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture_env_color , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_texture_image_units_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture_env_color , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture_env_color));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture_env_mode::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture_env_modeRef ref = new domGl_pipeline_settings::domTexture_env_mode(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture_env_mode::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture_env_mode" );
+ meta->registerClass(domGl_pipeline_settings::domTexture_env_mode::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture_env_mode , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture_env_mode , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_texture_image_units_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture_env_mode , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture_env_mode));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domClip_plane::create(DAE& dae)
+{
+ domGl_pipeline_settings::domClip_planeRef ref = new domGl_pipeline_settings::domClip_plane(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domClip_plane::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "clip_plane" );
+ meta->registerClass(domGl_pipeline_settings::domClip_plane::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domClip_plane , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domClip_plane , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_clip_planes_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domClip_plane , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domClip_plane));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domClip_plane_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domClip_plane_enableRef ref = new domGl_pipeline_settings::domClip_plane_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domClip_plane_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "clip_plane_enable" );
+ meta->registerClass(domGl_pipeline_settings::domClip_plane_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domClip_plane_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domClip_plane_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_clip_planes_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domClip_plane_enable , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domClip_plane_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_color::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_colorRef ref = new domGl_pipeline_settings::domBlend_color(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_color::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_color" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_color::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_color , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_color , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_color));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domColor_mask::create(DAE& dae)
+{
+ domGl_pipeline_settings::domColor_maskRef ref = new domGl_pipeline_settings::domColor_mask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domColor_mask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "color_mask" );
+ meta->registerClass(domGl_pipeline_settings::domColor_mask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_mask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "true true true true");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_mask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domColor_mask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domDepth_bounds::create(DAE& dae)
+{
+ domGl_pipeline_settings::domDepth_boundsRef ref = new domGl_pipeline_settings::domDepth_bounds(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domDepth_bounds::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_bounds" );
+ meta->registerClass(domGl_pipeline_settings::domDepth_bounds::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_bounds , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_bounds , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domDepth_bounds));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domDepth_mask::create(DAE& dae)
+{
+ domGl_pipeline_settings::domDepth_maskRef ref = new domGl_pipeline_settings::domDepth_mask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domDepth_mask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_mask" );
+ meta->registerClass(domGl_pipeline_settings::domDepth_mask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_mask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "true");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_mask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domDepth_mask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domDepth_range::create(DAE& dae)
+{
+ domGl_pipeline_settings::domDepth_rangeRef ref = new domGl_pipeline_settings::domDepth_range(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domDepth_range::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_range" );
+ meta->registerClass(domGl_pipeline_settings::domDepth_range::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_range , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_range , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domDepth_range));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domFog_density::create(DAE& dae)
+{
+ domGl_pipeline_settings::domFog_densityRef ref = new domGl_pipeline_settings::domFog_density(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domFog_density::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_density" );
+ meta->registerClass(domGl_pipeline_settings::domFog_density::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_density , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_density , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domFog_density));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domFog_start::create(DAE& dae)
+{
+ domGl_pipeline_settings::domFog_startRef ref = new domGl_pipeline_settings::domFog_start(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domFog_start::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_start" );
+ meta->registerClass(domGl_pipeline_settings::domFog_start::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_start , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_start , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domFog_start));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domFog_end::create(DAE& dae)
+{
+ domGl_pipeline_settings::domFog_endRef ref = new domGl_pipeline_settings::domFog_end(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domFog_end::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_end" );
+ meta->registerClass(domGl_pipeline_settings::domFog_end::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_end , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_end , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domFog_end));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domFog_color::create(DAE& dae)
+{
+ domGl_pipeline_settings::domFog_colorRef ref = new domGl_pipeline_settings::domFog_color(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domFog_color::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_color" );
+ meta->registerClass(domGl_pipeline_settings::domFog_color::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_color , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_color , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domFog_color));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_model_ambient::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_model_ambientRef ref = new domGl_pipeline_settings::domLight_model_ambient(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_model_ambient::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_model_ambient" );
+ meta->registerClass(domGl_pipeline_settings::domLight_model_ambient::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_model_ambient , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0.2 0.2 0.2 1.0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_model_ambient , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_model_ambient));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLighting_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLighting_enableRef ref = new domGl_pipeline_settings::domLighting_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLighting_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "lighting_enable" );
+ meta->registerClass(domGl_pipeline_settings::domLighting_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLighting_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLighting_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLighting_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLine_stipple::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLine_stippleRef ref = new domGl_pipeline_settings::domLine_stipple(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLine_stipple::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "line_stipple" );
+ meta->registerClass(domGl_pipeline_settings::domLine_stipple::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Int2"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLine_stipple , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1 65536");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLine_stipple , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLine_stipple));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLine_width::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLine_widthRef ref = new domGl_pipeline_settings::domLine_width(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLine_width::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "line_width" );
+ meta->registerClass(domGl_pipeline_settings::domLine_width::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLine_width , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLine_width , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLine_width));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domMaterial_ambient::create(DAE& dae)
+{
+ domGl_pipeline_settings::domMaterial_ambientRef ref = new domGl_pipeline_settings::domMaterial_ambient(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domMaterial_ambient::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_ambient" );
+ meta->registerClass(domGl_pipeline_settings::domMaterial_ambient::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_ambient , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0.2 0.2 0.2 1.0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_ambient , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domMaterial_ambient));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domMaterial_diffuse::create(DAE& dae)
+{
+ domGl_pipeline_settings::domMaterial_diffuseRef ref = new domGl_pipeline_settings::domMaterial_diffuse(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domMaterial_diffuse::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_diffuse" );
+ meta->registerClass(domGl_pipeline_settings::domMaterial_diffuse::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_diffuse , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0.8 0.8 0.8 1.0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_diffuse , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domMaterial_diffuse));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domMaterial_emission::create(DAE& dae)
+{
+ domGl_pipeline_settings::domMaterial_emissionRef ref = new domGl_pipeline_settings::domMaterial_emission(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domMaterial_emission::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_emission" );
+ meta->registerClass(domGl_pipeline_settings::domMaterial_emission::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_emission , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_emission , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domMaterial_emission));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domMaterial_shininess::create(DAE& dae)
+{
+ domGl_pipeline_settings::domMaterial_shininessRef ref = new domGl_pipeline_settings::domMaterial_shininess(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domMaterial_shininess::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_shininess" );
+ meta->registerClass(domGl_pipeline_settings::domMaterial_shininess::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_shininess , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_shininess , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domMaterial_shininess));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domMaterial_specular::create(DAE& dae)
+{
+ domGl_pipeline_settings::domMaterial_specularRef ref = new domGl_pipeline_settings::domMaterial_specular(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domMaterial_specular::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_specular" );
+ meta->registerClass(domGl_pipeline_settings::domMaterial_specular::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_specular , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_specular , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domMaterial_specular));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domModel_view_matrix::create(DAE& dae)
+{
+ domGl_pipeline_settings::domModel_view_matrixRef ref = new domGl_pipeline_settings::domModel_view_matrix(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domModel_view_matrix::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "model_view_matrix" );
+ meta->registerClass(domGl_pipeline_settings::domModel_view_matrix::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domModel_view_matrix , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domModel_view_matrix , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domModel_view_matrix));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPoint_distance_attenuation::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPoint_distance_attenuationRef ref = new domGl_pipeline_settings::domPoint_distance_attenuation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPoint_distance_attenuation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_distance_attenuation" );
+ meta->registerClass(domGl_pipeline_settings::domPoint_distance_attenuation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_distance_attenuation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_distance_attenuation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPoint_distance_attenuation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPoint_fade_threshold_size::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPoint_fade_threshold_sizeRef ref = new domGl_pipeline_settings::domPoint_fade_threshold_size(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPoint_fade_threshold_size::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_fade_threshold_size" );
+ meta->registerClass(domGl_pipeline_settings::domPoint_fade_threshold_size::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_fade_threshold_size , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_fade_threshold_size , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPoint_fade_threshold_size));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPoint_size::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPoint_sizeRef ref = new domGl_pipeline_settings::domPoint_size(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPoint_size::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_size" );
+ meta->registerClass(domGl_pipeline_settings::domPoint_size::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_size , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_size , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPoint_size));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPoint_size_min::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPoint_size_minRef ref = new domGl_pipeline_settings::domPoint_size_min(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPoint_size_min::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_size_min" );
+ meta->registerClass(domGl_pipeline_settings::domPoint_size_min::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_size_min , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_size_min , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPoint_size_min));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPoint_size_max::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPoint_size_maxRef ref = new domGl_pipeline_settings::domPoint_size_max(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPoint_size_max::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_size_max" );
+ meta->registerClass(domGl_pipeline_settings::domPoint_size_max::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_size_max , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_size_max , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPoint_size_max));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPolygon_offset::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPolygon_offsetRef ref = new domGl_pipeline_settings::domPolygon_offset(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPolygon_offset::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_offset" );
+ meta->registerClass(domGl_pipeline_settings::domPolygon_offset::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_offset , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_offset , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPolygon_offset));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domProjection_matrix::create(DAE& dae)
+{
+ domGl_pipeline_settings::domProjection_matrixRef ref = new domGl_pipeline_settings::domProjection_matrix(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domProjection_matrix::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "projection_matrix" );
+ meta->registerClass(domGl_pipeline_settings::domProjection_matrix::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domProjection_matrix , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domProjection_matrix , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domProjection_matrix));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domScissor::create(DAE& dae)
+{
+ domGl_pipeline_settings::domScissorRef ref = new domGl_pipeline_settings::domScissor(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domScissor::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "scissor" );
+ meta->registerClass(domGl_pipeline_settings::domScissor::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Int4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domScissor , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domScissor , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domScissor));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_mask::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_maskRef ref = new domGl_pipeline_settings::domStencil_mask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_mask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_mask" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_mask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_mask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "4294967295");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_mask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_mask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domAlpha_test_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domAlpha_test_enableRef ref = new domGl_pipeline_settings::domAlpha_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domAlpha_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "alpha_test_enable" );
+ meta->registerClass(domGl_pipeline_settings::domAlpha_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domAlpha_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domAlpha_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domAlpha_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_enableRef ref = new domGl_pipeline_settings::domBlend_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_enable" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domColor_logic_op_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domColor_logic_op_enableRef ref = new domGl_pipeline_settings::domColor_logic_op_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domColor_logic_op_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "color_logic_op_enable" );
+ meta->registerClass(domGl_pipeline_settings::domColor_logic_op_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_logic_op_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_logic_op_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domColor_logic_op_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domColor_material_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domColor_material_enableRef ref = new domGl_pipeline_settings::domColor_material_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domColor_material_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "color_material_enable" );
+ meta->registerClass(domGl_pipeline_settings::domColor_material_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_material_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "true");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_material_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domColor_material_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domCull_face_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domCull_face_enableRef ref = new domGl_pipeline_settings::domCull_face_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domCull_face_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cull_face_enable" );
+ meta->registerClass(domGl_pipeline_settings::domCull_face_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domCull_face_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domCull_face_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domCull_face_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domDepth_bounds_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domDepth_bounds_enableRef ref = new domGl_pipeline_settings::domDepth_bounds_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domDepth_bounds_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_bounds_enable" );
+ meta->registerClass(domGl_pipeline_settings::domDepth_bounds_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_bounds_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_bounds_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domDepth_bounds_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domDepth_clamp_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domDepth_clamp_enableRef ref = new domGl_pipeline_settings::domDepth_clamp_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domDepth_clamp_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_clamp_enable" );
+ meta->registerClass(domGl_pipeline_settings::domDepth_clamp_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_clamp_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_clamp_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domDepth_clamp_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domDepth_test_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domDepth_test_enableRef ref = new domGl_pipeline_settings::domDepth_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domDepth_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_test_enable" );
+ meta->registerClass(domGl_pipeline_settings::domDepth_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domDepth_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domDither_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domDither_enableRef ref = new domGl_pipeline_settings::domDither_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domDither_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dither_enable" );
+ meta->registerClass(domGl_pipeline_settings::domDither_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDither_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "true");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDither_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domDither_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domFog_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domFog_enableRef ref = new domGl_pipeline_settings::domFog_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domFog_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_enable" );
+ meta->registerClass(domGl_pipeline_settings::domFog_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domFog_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_model_local_viewer_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_model_local_viewer_enableRef ref = new domGl_pipeline_settings::domLight_model_local_viewer_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_model_local_viewer_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_model_local_viewer_enable" );
+ meta->registerClass(domGl_pipeline_settings::domLight_model_local_viewer_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_model_local_viewer_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_model_local_viewer_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_model_local_viewer_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_model_two_side_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_model_two_side_enableRef ref = new domGl_pipeline_settings::domLight_model_two_side_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_model_two_side_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_model_two_side_enable" );
+ meta->registerClass(domGl_pipeline_settings::domLight_model_two_side_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_model_two_side_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_model_two_side_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_model_two_side_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLine_smooth_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLine_smooth_enableRef ref = new domGl_pipeline_settings::domLine_smooth_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLine_smooth_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "line_smooth_enable" );
+ meta->registerClass(domGl_pipeline_settings::domLine_smooth_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLine_smooth_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLine_smooth_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLine_smooth_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLine_stipple_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLine_stipple_enableRef ref = new domGl_pipeline_settings::domLine_stipple_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLine_stipple_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "line_stipple_enable" );
+ meta->registerClass(domGl_pipeline_settings::domLine_stipple_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLine_stipple_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLine_stipple_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLine_stipple_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLogic_op_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLogic_op_enableRef ref = new domGl_pipeline_settings::domLogic_op_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLogic_op_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "logic_op_enable" );
+ meta->registerClass(domGl_pipeline_settings::domLogic_op_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLogic_op_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLogic_op_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLogic_op_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domMultisample_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domMultisample_enableRef ref = new domGl_pipeline_settings::domMultisample_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domMultisample_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "multisample_enable" );
+ meta->registerClass(domGl_pipeline_settings::domMultisample_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMultisample_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMultisample_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domMultisample_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domNormalize_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domNormalize_enableRef ref = new domGl_pipeline_settings::domNormalize_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domNormalize_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "normalize_enable" );
+ meta->registerClass(domGl_pipeline_settings::domNormalize_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domNormalize_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domNormalize_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domNormalize_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPoint_smooth_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPoint_smooth_enableRef ref = new domGl_pipeline_settings::domPoint_smooth_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPoint_smooth_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_smooth_enable" );
+ meta->registerClass(domGl_pipeline_settings::domPoint_smooth_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_smooth_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_smooth_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPoint_smooth_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPolygon_offset_fill_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPolygon_offset_fill_enableRef ref = new domGl_pipeline_settings::domPolygon_offset_fill_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPolygon_offset_fill_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_offset_fill_enable" );
+ meta->registerClass(domGl_pipeline_settings::domPolygon_offset_fill_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_offset_fill_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_offset_fill_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPolygon_offset_fill_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPolygon_offset_line_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPolygon_offset_line_enableRef ref = new domGl_pipeline_settings::domPolygon_offset_line_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPolygon_offset_line_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_offset_line_enable" );
+ meta->registerClass(domGl_pipeline_settings::domPolygon_offset_line_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_offset_line_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_offset_line_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPolygon_offset_line_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPolygon_offset_point_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPolygon_offset_point_enableRef ref = new domGl_pipeline_settings::domPolygon_offset_point_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPolygon_offset_point_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_offset_point_enable" );
+ meta->registerClass(domGl_pipeline_settings::domPolygon_offset_point_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_offset_point_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_offset_point_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPolygon_offset_point_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPolygon_smooth_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPolygon_smooth_enableRef ref = new domGl_pipeline_settings::domPolygon_smooth_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPolygon_smooth_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_smooth_enable" );
+ meta->registerClass(domGl_pipeline_settings::domPolygon_smooth_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_smooth_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_smooth_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPolygon_smooth_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPolygon_stipple_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPolygon_stipple_enableRef ref = new domGl_pipeline_settings::domPolygon_stipple_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPolygon_stipple_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_stipple_enable" );
+ meta->registerClass(domGl_pipeline_settings::domPolygon_stipple_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_stipple_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_stipple_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPolygon_stipple_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domRescale_normal_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domRescale_normal_enableRef ref = new domGl_pipeline_settings::domRescale_normal_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domRescale_normal_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "rescale_normal_enable" );
+ meta->registerClass(domGl_pipeline_settings::domRescale_normal_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domRescale_normal_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domRescale_normal_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domRescale_normal_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domSample_alpha_to_coverage_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domSample_alpha_to_coverage_enableRef ref = new domGl_pipeline_settings::domSample_alpha_to_coverage_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domSample_alpha_to_coverage_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sample_alpha_to_coverage_enable" );
+ meta->registerClass(domGl_pipeline_settings::domSample_alpha_to_coverage_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domSample_alpha_to_coverage_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domSample_alpha_to_coverage_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domSample_alpha_to_coverage_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domSample_alpha_to_one_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domSample_alpha_to_one_enableRef ref = new domGl_pipeline_settings::domSample_alpha_to_one_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domSample_alpha_to_one_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sample_alpha_to_one_enable" );
+ meta->registerClass(domGl_pipeline_settings::domSample_alpha_to_one_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domSample_alpha_to_one_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domSample_alpha_to_one_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domSample_alpha_to_one_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domSample_coverage_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domSample_coverage_enableRef ref = new domGl_pipeline_settings::domSample_coverage_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domSample_coverage_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sample_coverage_enable" );
+ meta->registerClass(domGl_pipeline_settings::domSample_coverage_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domSample_coverage_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domSample_coverage_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domSample_coverage_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domScissor_test_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domScissor_test_enableRef ref = new domGl_pipeline_settings::domScissor_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domScissor_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "scissor_test_enable" );
+ meta->registerClass(domGl_pipeline_settings::domScissor_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domScissor_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domScissor_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domScissor_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_test_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_test_enableRef ref = new domGl_pipeline_settings::domStencil_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_test_enable" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles2_newparam.cpp b/1.4.0/dom/src/1.5/dom/domGles2_newparam.cpp
new file mode 100644
index 0000000..01c437b
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles2_newparam.cpp
@@ -0,0 +1,153 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles2_newparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles2_newparam::create(DAE& dae)
+{
+ domGles2_newparamRef ref = new domGles2_newparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_newparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles2_newparam" );
+ meta->registerClass(domGles2_newparam::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domGles2_newparam,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "semantic" );
+ mea->setOffset( daeOffsetOf(domGles2_newparam,elemSemantic) );
+ mea->setElementType( domGles2_newparam::domSemantic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "modifier" );
+ mea->setOffset( daeOffsetOf(domGles2_newparam,elemModifier) );
+ mea->setElementType( domGles2_newparam::domModifier::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "gles2_value" );
+ mea->setOffset( daeOffsetOf(domGles2_newparam,elemGles2_value) );
+ mea->setElementType( domGles2_value::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 3, 1, 1 ) );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domGles2_newparam , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_newparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_newparam::domSemantic::create(DAE& dae)
+{
+ domGles2_newparam::domSemanticRef ref = new domGles2_newparam::domSemantic(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_newparam::domSemantic::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "semantic" );
+ meta->registerClass(domGles2_newparam::domSemantic::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles2_newparam::domSemantic , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_newparam::domSemantic));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_newparam::domModifier::create(DAE& dae)
+{
+ domGles2_newparam::domModifierRef ref = new domGles2_newparam::domModifier(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_newparam::domModifier::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "modifier" );
+ meta->registerClass(domGles2_newparam::domModifier::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_modifier"));
+ ma->setOffset( daeOffsetOf( domGles2_newparam::domModifier , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_newparam::domModifier));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles2_pass.cpp b/1.4.0/dom/src/1.5/dom/domGles2_pass.cpp
new file mode 100644
index 0000000..63b6f4b
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles2_pass.cpp
@@ -0,0 +1,237 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles2_pass.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles2_pass::create(DAE& dae)
+{
+ domGles2_passRef ref = new domGles2_pass(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pass::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles2_pass" );
+ meta->registerClass(domGles2_pass::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domGles2_pass,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "states" );
+ mea->setOffset( daeOffsetOf(domGles2_pass,elemStates) );
+ mea->setElementType( domGles2_pass::domStates::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "program" );
+ mea->setOffset( daeOffsetOf(domGles2_pass,elemProgram) );
+ mea->setElementType( domGles2_program::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "evaluate" );
+ mea->setOffset( daeOffsetOf(domGles2_pass,elemEvaluate) );
+ mea->setElementType( domGles2_pass::domEvaluate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domGles2_pass,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domGles2_pass , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pass));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pass::domStates::create(DAE& dae)
+{
+ domGles2_pass::domStatesRef ref = new domGles2_pass::domStates(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pass::domStates::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "states" );
+ meta->registerClass(domGles2_pass::domStates::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "gles2_pipeline_settings" );
+ mea->setOffset( daeOffsetOf(domGles2_pass::domStates,elemGles2_pipeline_settings_array) );
+ mea->setElementType( domGles2_pipeline_settings::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) );
+
+ cm->setMaxOrdinal( 2999 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles2_pass::domStates));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pass::domEvaluate::create(DAE& dae)
+{
+ domGles2_pass::domEvaluateRef ref = new domGles2_pass::domEvaluate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pass::domEvaluate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "evaluate" );
+ meta->registerClass(domGles2_pass::domEvaluate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "color_target" );
+ mea->setOffset( daeOffsetOf(domGles2_pass::domEvaluate,elemColor_target_array) );
+ mea->setElementType( domFx_colortarget::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "depth_target" );
+ mea->setOffset( daeOffsetOf(domGles2_pass::domEvaluate,elemDepth_target_array) );
+ mea->setElementType( domFx_depthtarget::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "stencil_target" );
+ mea->setOffset( daeOffsetOf(domGles2_pass::domEvaluate,elemStencil_target_array) );
+ mea->setElementType( domFx_stenciltarget::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "color_clear" );
+ mea->setOffset( daeOffsetOf(domGles2_pass::domEvaluate,elemColor_clear_array) );
+ mea->setElementType( domFx_clearcolor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "stencil_clear" );
+ mea->setOffset( daeOffsetOf(domGles2_pass::domEvaluate,elemStencil_clear_array) );
+ mea->setElementType( domFx_clearstencil::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 5, 0, -1 );
+ mea->setName( "depth_clear" );
+ mea->setOffset( daeOffsetOf(domGles2_pass::domEvaluate,elemDepth_clear_array) );
+ mea->setElementType( domFx_cleardepth::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "draw" );
+ mea->setOffset( daeOffsetOf(domGles2_pass::domEvaluate,elemDraw) );
+ mea->setElementType( domGles2_pass::domEvaluate::domDraw::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 6 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles2_pass::domEvaluate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pass::domEvaluate::domDraw::create(DAE& dae)
+{
+ domGles2_pass::domEvaluate::domDrawRef ref = new domGles2_pass::domEvaluate::domDraw(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pass::domEvaluate::domDraw::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "draw" );
+ meta->registerClass(domGles2_pass::domEvaluate::domDraw::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_draw"));
+ ma->setOffset( daeOffsetOf( domGles2_pass::domEvaluate::domDraw , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pass::domEvaluate::domDraw));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles2_pipeline_settings.cpp b/1.4.0/dom/src/1.5/dom/domGles2_pipeline_settings.cpp
new file mode 100644
index 0000000..9ada749
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles2_pipeline_settings.cpp
@@ -0,0 +1,3240 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles2_pipeline_settings.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles2_pipeline_settings::create(DAE& dae)
+{
+ domGles2_pipeline_settingsRef ref = new domGles2_pipeline_settings(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles2_pipeline_settings" );
+ meta->registerClass(domGles2_pipeline_settings::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_color" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemBlend_color) );
+ mea->setElementType( domGles2_pipeline_settings::domBlend_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_equation" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemBlend_equation) );
+ mea->setElementType( domGles2_pipeline_settings::domBlend_equation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_equation_separate" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemBlend_equation_separate) );
+ mea->setElementType( domGles2_pipeline_settings::domBlend_equation_separate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_func" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemBlend_func) );
+ mea->setElementType( domGles2_pipeline_settings::domBlend_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_func_separate" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemBlend_func_separate) );
+ mea->setElementType( domGles2_pipeline_settings::domBlend_func_separate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color_mask" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemColor_mask) );
+ mea->setElementType( domGles2_pipeline_settings::domColor_mask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cull_face" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemCull_face) );
+ mea->setElementType( domGles2_pipeline_settings::domCull_face::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_func" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemDepth_func) );
+ mea->setElementType( domGles2_pipeline_settings::domDepth_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_mask" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemDepth_mask) );
+ mea->setElementType( domGles2_pipeline_settings::domDepth_mask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_range" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemDepth_range) );
+ mea->setElementType( domGles2_pipeline_settings::domDepth_range::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "front_face" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemFront_face) );
+ mea->setElementType( domGles2_pipeline_settings::domFront_face::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "line_width" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemLine_width) );
+ mea->setElementType( domGles2_pipeline_settings::domLine_width::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_offset" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemPolygon_offset) );
+ mea->setElementType( domGles2_pipeline_settings::domPolygon_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_size" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemPoint_size) );
+ mea->setElementType( domGles2_pipeline_settings::domPoint_size::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sample_coverage" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemSample_coverage) );
+ mea->setElementType( domGles2_pipeline_settings::domSample_coverage::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "scissor" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemScissor) );
+ mea->setElementType( domGles2_pipeline_settings::domScissor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_func" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemStencil_func) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_func_separate" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemStencil_func_separate) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_func_separate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_mask" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemStencil_mask) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_mask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_mask_separate" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemStencil_mask_separate) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_mask_separate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_op" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemStencil_op) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_op::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_op_separate" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemStencil_op_separate) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_op_separate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_enable" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemBlend_enable) );
+ mea->setElementType( domGles2_pipeline_settings::domBlend_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cull_face_enable" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemCull_face_enable) );
+ mea->setElementType( domGles2_pipeline_settings::domCull_face_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_test_enable" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemDepth_test_enable) );
+ mea->setElementType( domGles2_pipeline_settings::domDepth_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "dither_enable" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemDither_enable) );
+ mea->setElementType( domGles2_pipeline_settings::domDither_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_offset_fill_enable" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemPolygon_offset_fill_enable) );
+ mea->setElementType( domGles2_pipeline_settings::domPolygon_offset_fill_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_size_enable" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemPoint_size_enable) );
+ mea->setElementType( domGles2_pipeline_settings::domPoint_size_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sample_alpha_to_coverage_enable" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemSample_alpha_to_coverage_enable) );
+ mea->setElementType( domGles2_pipeline_settings::domSample_alpha_to_coverage_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sample_coverage_enable" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemSample_coverage_enable) );
+ mea->setElementType( domGles2_pipeline_settings::domSample_coverage_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "scissor_test_enable" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemScissor_test_enable) );
+ mea->setElementType( domGles2_pipeline_settings::domScissor_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_test_enable" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemStencil_test_enable) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGles2_pipeline_settings,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGles2_pipeline_settings,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGles2_pipeline_settings,_CMData), 1);
+ meta->setElementSize(sizeof(domGles2_pipeline_settings));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domBlend_color::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domBlend_colorRef ref = new domGles2_pipeline_settings::domBlend_color(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domBlend_color::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_color" );
+ meta->registerClass(domGles2_pipeline_settings::domBlend_color::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_color , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_color , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domBlend_color));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domBlend_equation::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domBlend_equationRef ref = new domGles2_pipeline_settings::domBlend_equation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domBlend_equation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_equation" );
+ meta->registerClass(domGles2_pipeline_settings::domBlend_equation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend_equation"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_equation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FUNC_ADD");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_equation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domBlend_equation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domBlend_equation_separate::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domBlend_equation_separateRef ref = new domGles2_pipeline_settings::domBlend_equation_separate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domBlend_equation_separate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_equation_separate" );
+ meta->registerClass(domGles2_pipeline_settings::domBlend_equation_separate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rgb" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domBlend_equation_separate,elemRgb) );
+ mea->setElementType( domGles2_pipeline_settings::domBlend_equation_separate::domRgb::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "alpha" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domBlend_equation_separate,elemAlpha) );
+ mea->setElementType( domGles2_pipeline_settings::domBlend_equation_separate::domAlpha::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domBlend_equation_separate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domBlend_equation_separate::domRgb::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domBlend_equation_separate::domRgbRef ref = new domGles2_pipeline_settings::domBlend_equation_separate::domRgb(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domBlend_equation_separate::domRgb::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "rgb" );
+ meta->registerClass(domGles2_pipeline_settings::domBlend_equation_separate::domRgb::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend_equation"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_equation_separate::domRgb , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FUNC_ADD");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_equation_separate::domRgb , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domBlend_equation_separate::domRgb));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domBlend_equation_separate::domAlpha::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domBlend_equation_separate::domAlphaRef ref = new domGles2_pipeline_settings::domBlend_equation_separate::domAlpha(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domBlend_equation_separate::domAlpha::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "alpha" );
+ meta->registerClass(domGles2_pipeline_settings::domBlend_equation_separate::domAlpha::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend_equation"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_equation_separate::domAlpha , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FUNC_ADD");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_equation_separate::domAlpha , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domBlend_equation_separate::domAlpha));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domBlend_func::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domBlend_funcRef ref = new domGles2_pipeline_settings::domBlend_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domBlend_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_func" );
+ meta->registerClass(domGles2_pipeline_settings::domBlend_func::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "src" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domBlend_func,elemSrc) );
+ mea->setElementType( domGles2_pipeline_settings::domBlend_func::domSrc::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "dest" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domBlend_func,elemDest) );
+ mea->setElementType( domGles2_pipeline_settings::domBlend_func::domDest::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domBlend_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domBlend_func::domSrc::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domBlend_func::domSrcRef ref = new domGles2_pipeline_settings::domBlend_func::domSrc(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domBlend_func::domSrc::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "src" );
+ meta->registerClass(domGles2_pipeline_settings::domBlend_func::domSrc::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_func::domSrc , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ONE");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_func::domSrc , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domBlend_func::domSrc));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domBlend_func::domDest::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domBlend_func::domDestRef ref = new domGles2_pipeline_settings::domBlend_func::domDest(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domBlend_func::domDest::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dest" );
+ meta->registerClass(domGles2_pipeline_settings::domBlend_func::domDest::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_func::domDest , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ZERO");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_func::domDest , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domBlend_func::domDest));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domBlend_func_separate::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domBlend_func_separateRef ref = new domGles2_pipeline_settings::domBlend_func_separate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domBlend_func_separate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_func_separate" );
+ meta->registerClass(domGles2_pipeline_settings::domBlend_func_separate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "src_rgb" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domBlend_func_separate,elemSrc_rgb) );
+ mea->setElementType( domGles2_pipeline_settings::domBlend_func_separate::domSrc_rgb::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "dest_rgb" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domBlend_func_separate,elemDest_rgb) );
+ mea->setElementType( domGles2_pipeline_settings::domBlend_func_separate::domDest_rgb::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "src_alpha" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domBlend_func_separate,elemSrc_alpha) );
+ mea->setElementType( domGles2_pipeline_settings::domBlend_func_separate::domSrc_alpha::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "dest_alpha" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domBlend_func_separate,elemDest_alpha) );
+ mea->setElementType( domGles2_pipeline_settings::domBlend_func_separate::domDest_alpha::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domBlend_func_separate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domBlend_func_separate::domSrc_rgb::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domBlend_func_separate::domSrc_rgbRef ref = new domGles2_pipeline_settings::domBlend_func_separate::domSrc_rgb(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domBlend_func_separate::domSrc_rgb::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "src_rgb" );
+ meta->registerClass(domGles2_pipeline_settings::domBlend_func_separate::domSrc_rgb::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_func_separate::domSrc_rgb , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ONE");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_func_separate::domSrc_rgb , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domBlend_func_separate::domSrc_rgb));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domBlend_func_separate::domDest_rgb::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domBlend_func_separate::domDest_rgbRef ref = new domGles2_pipeline_settings::domBlend_func_separate::domDest_rgb(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domBlend_func_separate::domDest_rgb::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dest_rgb" );
+ meta->registerClass(domGles2_pipeline_settings::domBlend_func_separate::domDest_rgb::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_func_separate::domDest_rgb , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ZERO");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_func_separate::domDest_rgb , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domBlend_func_separate::domDest_rgb));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domBlend_func_separate::domSrc_alpha::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domBlend_func_separate::domSrc_alphaRef ref = new domGles2_pipeline_settings::domBlend_func_separate::domSrc_alpha(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domBlend_func_separate::domSrc_alpha::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "src_alpha" );
+ meta->registerClass(domGles2_pipeline_settings::domBlend_func_separate::domSrc_alpha::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_func_separate::domSrc_alpha , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ONE");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_func_separate::domSrc_alpha , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domBlend_func_separate::domSrc_alpha));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domBlend_func_separate::domDest_alpha::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domBlend_func_separate::domDest_alphaRef ref = new domGles2_pipeline_settings::domBlend_func_separate::domDest_alpha(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domBlend_func_separate::domDest_alpha::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dest_alpha" );
+ meta->registerClass(domGles2_pipeline_settings::domBlend_func_separate::domDest_alpha::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_func_separate::domDest_alpha , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ZERO");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_func_separate::domDest_alpha , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domBlend_func_separate::domDest_alpha));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domColor_mask::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domColor_maskRef ref = new domGles2_pipeline_settings::domColor_mask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domColor_mask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "color_mask" );
+ meta->registerClass(domGles2_pipeline_settings::domColor_mask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domColor_mask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "true true true true");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domColor_mask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domColor_mask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domCull_face::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domCull_faceRef ref = new domGles2_pipeline_settings::domCull_face(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domCull_face::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cull_face" );
+ meta->registerClass(domGles2_pipeline_settings::domCull_face::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_face"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domCull_face , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "BACK");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domCull_face , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domCull_face));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domDepth_func::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domDepth_funcRef ref = new domGles2_pipeline_settings::domDepth_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domDepth_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_func" );
+ meta->registerClass(domGles2_pipeline_settings::domDepth_func::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domDepth_func , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domDepth_func , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domDepth_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domDepth_mask::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domDepth_maskRef ref = new domGles2_pipeline_settings::domDepth_mask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domDepth_mask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_mask" );
+ meta->registerClass(domGles2_pipeline_settings::domDepth_mask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domDepth_mask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "true");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domDepth_mask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domDepth_mask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domDepth_range::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domDepth_rangeRef ref = new domGles2_pipeline_settings::domDepth_range(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domDepth_range::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_range" );
+ meta->registerClass(domGles2_pipeline_settings::domDepth_range::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domDepth_range , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domDepth_range , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domDepth_range));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domFront_face::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domFront_faceRef ref = new domGles2_pipeline_settings::domFront_face(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domFront_face::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "front_face" );
+ meta->registerClass(domGles2_pipeline_settings::domFront_face::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_front_face"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domFront_face , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "CCW");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domFront_face , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domFront_face));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domLine_width::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domLine_widthRef ref = new domGles2_pipeline_settings::domLine_width(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domLine_width::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "line_width" );
+ meta->registerClass(domGles2_pipeline_settings::domLine_width::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domLine_width , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domLine_width , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domLine_width));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domPolygon_offset::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domPolygon_offsetRef ref = new domGles2_pipeline_settings::domPolygon_offset(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domPolygon_offset::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_offset" );
+ meta->registerClass(domGles2_pipeline_settings::domPolygon_offset::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domPolygon_offset , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domPolygon_offset , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domPolygon_offset));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domPoint_size::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domPoint_sizeRef ref = new domGles2_pipeline_settings::domPoint_size(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domPoint_size::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_size" );
+ meta->registerClass(domGles2_pipeline_settings::domPoint_size::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domPoint_size , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domPoint_size , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domPoint_size));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domSample_coverage::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domSample_coverageRef ref = new domGles2_pipeline_settings::domSample_coverage(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domSample_coverage::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sample_coverage" );
+ meta->registerClass(domGles2_pipeline_settings::domSample_coverage::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domSample_coverage,elemValue) );
+ mea->setElementType( domGles2_pipeline_settings::domSample_coverage::domValue::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "invert" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domSample_coverage,elemInvert) );
+ mea->setElementType( domGles2_pipeline_settings::domSample_coverage::domInvert::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domSample_coverage));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domSample_coverage::domValue::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domSample_coverage::domValueRef ref = new domGles2_pipeline_settings::domSample_coverage::domValue(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domSample_coverage::domValue::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "value" );
+ meta->registerClass(domGles2_pipeline_settings::domSample_coverage::domValue::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domSample_coverage::domValue , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domSample_coverage::domValue , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domSample_coverage::domValue));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domSample_coverage::domInvert::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domSample_coverage::domInvertRef ref = new domGles2_pipeline_settings::domSample_coverage::domInvert(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domSample_coverage::domInvert::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "invert" );
+ meta->registerClass(domGles2_pipeline_settings::domSample_coverage::domInvert::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domSample_coverage::domInvert , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domSample_coverage::domInvert , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domSample_coverage::domInvert));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domScissor::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domScissorRef ref = new domGles2_pipeline_settings::domScissor(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domScissor::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "scissor" );
+ meta->registerClass(domGles2_pipeline_settings::domScissor::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Int4"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domScissor , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domScissor , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domScissor));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_func::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_funcRef ref = new domGles2_pipeline_settings::domStencil_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_func" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_func::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "func" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_func,elemFunc) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_func::domFunc::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "ref" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_func,elemRef) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_func::domRef::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "mask" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_func,elemMask) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_func::domMask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_func::domFunc::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_func::domFuncRef ref = new domGles2_pipeline_settings::domStencil_func::domFunc(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_func::domFunc::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "func" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_func::domFunc::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_func::domFunc , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_func::domFunc , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_func::domFunc));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_func::domRef::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_func::domRefRef ref = new domGles2_pipeline_settings::domStencil_func::domRef(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_func::domRef::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ref" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_func::domRef::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_func::domRef , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_func::domRef , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_func::domRef));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_func::domMask::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_func::domMaskRef ref = new domGles2_pipeline_settings::domStencil_func::domMask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_func::domMask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mask" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_func::domMask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_func::domMask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "255");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_func::domMask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_func::domMask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_func_separate::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_func_separateRef ref = new domGles2_pipeline_settings::domStencil_func_separate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_func_separate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_func_separate" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_func_separate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "front" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_func_separate,elemFront) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_func_separate::domFront::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "back" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_func_separate,elemBack) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_func_separate::domBack::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "ref" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_func_separate,elemRef) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_func_separate::domRef::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "mask" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_func_separate,elemMask) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_func_separate::domMask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_func_separate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_func_separate::domFront::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_func_separate::domFrontRef ref = new domGles2_pipeline_settings::domStencil_func_separate::domFront(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_func_separate::domFront::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "front" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_func_separate::domFront::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_func_separate::domFront , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_func_separate::domFront , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_func_separate::domFront));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_func_separate::domBack::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_func_separate::domBackRef ref = new domGles2_pipeline_settings::domStencil_func_separate::domBack(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_func_separate::domBack::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "back" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_func_separate::domBack::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_func_separate::domBack , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_func_separate::domBack , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_func_separate::domBack));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_func_separate::domRef::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_func_separate::domRefRef ref = new domGles2_pipeline_settings::domStencil_func_separate::domRef(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_func_separate::domRef::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ref" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_func_separate::domRef::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_func_separate::domRef , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_func_separate::domRef , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_func_separate::domRef));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_func_separate::domMask::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_func_separate::domMaskRef ref = new domGles2_pipeline_settings::domStencil_func_separate::domMask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_func_separate::domMask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mask" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_func_separate::domMask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_func_separate::domMask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "255");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_func_separate::domMask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_func_separate::domMask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_mask::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_maskRef ref = new domGles2_pipeline_settings::domStencil_mask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_mask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_mask" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_mask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_mask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "4294967295");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_mask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_mask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_mask_separate::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_mask_separateRef ref = new domGles2_pipeline_settings::domStencil_mask_separate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_mask_separate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_mask_separate" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_mask_separate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "face" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_mask_separate,elemFace) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_mask_separate::domFace::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "mask" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_mask_separate,elemMask) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_mask_separate::domMask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_mask_separate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_mask_separate::domFace::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_mask_separate::domFaceRef ref = new domGles2_pipeline_settings::domStencil_mask_separate::domFace(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_mask_separate::domFace::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "face" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_mask_separate::domFace::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_face"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_mask_separate::domFace , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FRONT_AND_BACK");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_mask_separate::domFace , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_mask_separate::domFace));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_mask_separate::domMask::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_mask_separate::domMaskRef ref = new domGles2_pipeline_settings::domStencil_mask_separate::domMask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_mask_separate::domMask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mask" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_mask_separate::domMask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_mask_separate::domMask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "255");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_mask_separate::domMask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_mask_separate::domMask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_op::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_opRef ref = new domGles2_pipeline_settings::domStencil_op(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_op::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_op" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_op::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fail" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_op,elemFail) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_op::domFail::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "zfail" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_op,elemZfail) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_op::domZfail::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "zpass" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_op,elemZpass) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_op::domZpass::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_op));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_op::domFail::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_op::domFailRef ref = new domGles2_pipeline_settings::domStencil_op::domFail(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_op::domFail::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fail" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_op::domFail::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_op::domFail , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_op::domFail , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_op::domFail));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_op::domZfail::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_op::domZfailRef ref = new domGles2_pipeline_settings::domStencil_op::domZfail(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_op::domZfail::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "zfail" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_op::domZfail::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_op::domZfail , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_op::domZfail , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_op::domZfail));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_op::domZpass::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_op::domZpassRef ref = new domGles2_pipeline_settings::domStencil_op::domZpass(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_op::domZpass::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "zpass" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_op::domZpass::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_op::domZpass , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_op::domZpass , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_op::domZpass));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_op_separate::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_op_separateRef ref = new domGles2_pipeline_settings::domStencil_op_separate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_op_separate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_op_separate" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_op_separate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "face" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_op_separate,elemFace) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_op_separate::domFace::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "fail" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_op_separate,elemFail) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_op_separate::domFail::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "zfail" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_op_separate,elemZfail) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_op_separate::domZfail::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "zpass" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_op_separate,elemZpass) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_op_separate::domZpass::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_op_separate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_op_separate::domFace::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_op_separate::domFaceRef ref = new domGles2_pipeline_settings::domStencil_op_separate::domFace(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_op_separate::domFace::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "face" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_op_separate::domFace::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_face"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_op_separate::domFace , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FRONT_AND_BACK");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_op_separate::domFace , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_op_separate::domFace));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_op_separate::domFail::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_op_separate::domFailRef ref = new domGles2_pipeline_settings::domStencil_op_separate::domFail(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_op_separate::domFail::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fail" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_op_separate::domFail::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_op_separate::domFail , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_op_separate::domFail , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_op_separate::domFail));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_op_separate::domZfail::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_op_separate::domZfailRef ref = new domGles2_pipeline_settings::domStencil_op_separate::domZfail(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_op_separate::domZfail::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "zfail" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_op_separate::domZfail::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_op_separate::domZfail , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_op_separate::domZfail , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_op_separate::domZfail));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_op_separate::domZpass::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_op_separate::domZpassRef ref = new domGles2_pipeline_settings::domStencil_op_separate::domZpass(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_op_separate::domZpass::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "zpass" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_op_separate::domZpass::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_op_separate::domZpass , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_op_separate::domZpass , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_op_separate::domZpass));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domBlend_enable::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domBlend_enableRef ref = new domGles2_pipeline_settings::domBlend_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domBlend_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_enable" );
+ meta->registerClass(domGles2_pipeline_settings::domBlend_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domBlend_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domCull_face_enable::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domCull_face_enableRef ref = new domGles2_pipeline_settings::domCull_face_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domCull_face_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cull_face_enable" );
+ meta->registerClass(domGles2_pipeline_settings::domCull_face_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domCull_face_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domCull_face_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domCull_face_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domDepth_test_enable::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domDepth_test_enableRef ref = new domGles2_pipeline_settings::domDepth_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domDepth_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_test_enable" );
+ meta->registerClass(domGles2_pipeline_settings::domDepth_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domDepth_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domDepth_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domDepth_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domDither_enable::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domDither_enableRef ref = new domGles2_pipeline_settings::domDither_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domDither_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dither_enable" );
+ meta->registerClass(domGles2_pipeline_settings::domDither_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domDither_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "true");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domDither_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domDither_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domPolygon_offset_fill_enable::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domPolygon_offset_fill_enableRef ref = new domGles2_pipeline_settings::domPolygon_offset_fill_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domPolygon_offset_fill_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_offset_fill_enable" );
+ meta->registerClass(domGles2_pipeline_settings::domPolygon_offset_fill_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domPolygon_offset_fill_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domPolygon_offset_fill_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domPolygon_offset_fill_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domPoint_size_enable::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domPoint_size_enableRef ref = new domGles2_pipeline_settings::domPoint_size_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domPoint_size_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_size_enable" );
+ meta->registerClass(domGles2_pipeline_settings::domPoint_size_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domPoint_size_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domPoint_size_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domPoint_size_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domSample_alpha_to_coverage_enable::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domSample_alpha_to_coverage_enableRef ref = new domGles2_pipeline_settings::domSample_alpha_to_coverage_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domSample_alpha_to_coverage_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sample_alpha_to_coverage_enable" );
+ meta->registerClass(domGles2_pipeline_settings::domSample_alpha_to_coverage_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domSample_alpha_to_coverage_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domSample_alpha_to_coverage_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domSample_alpha_to_coverage_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domSample_coverage_enable::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domSample_coverage_enableRef ref = new domGles2_pipeline_settings::domSample_coverage_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domSample_coverage_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sample_coverage_enable" );
+ meta->registerClass(domGles2_pipeline_settings::domSample_coverage_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domSample_coverage_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domSample_coverage_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domSample_coverage_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domScissor_test_enable::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domScissor_test_enableRef ref = new domGles2_pipeline_settings::domScissor_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domScissor_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "scissor_test_enable" );
+ meta->registerClass(domGles2_pipeline_settings::domScissor_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domScissor_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domScissor_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domScissor_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_test_enable::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_test_enableRef ref = new domGles2_pipeline_settings::domStencil_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_test_enable" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles2_program.cpp b/1.4.0/dom/src/1.5/dom/domGles2_program.cpp
new file mode 100644
index 0000000..d769eab
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles2_program.cpp
@@ -0,0 +1,260 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles2_program.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles2_program::create(DAE& dae)
+{
+ domGles2_programRef ref = new domGles2_program(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_program::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles2_program" );
+ meta->registerClass(domGles2_program::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "shader" );
+ mea->setOffset( daeOffsetOf(domGles2_program,elemShader_array) );
+ mea->setElementType( domGles2_shader::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "linker" );
+ mea->setOffset( daeOffsetOf(domGles2_program,elemLinker_array) );
+ mea->setElementType( domFx_target::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "bind_attribute" );
+ mea->setOffset( daeOffsetOf(domGles2_program,elemBind_attribute_array) );
+ mea->setElementType( domGles2_program::domBind_attribute::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "bind_uniform" );
+ mea->setOffset( daeOffsetOf(domGles2_program,elemBind_uniform_array) );
+ mea->setElementType( domGles2_program::domBind_uniform::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles2_program));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_program::domBind_attribute::create(DAE& dae)
+{
+ domGles2_program::domBind_attributeRef ref = new domGles2_program::domBind_attribute(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_program::domBind_attribute::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind_attribute" );
+ meta->registerClass(domGles2_program::domBind_attribute::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "semantic" );
+ mea->setOffset( daeOffsetOf(domGles2_program::domBind_attribute,elemSemantic) );
+ mea->setElementType( domGles2_program::domBind_attribute::domSemantic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGles2_program::domBind_attribute,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGles2_program::domBind_attribute,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGles2_program::domBind_attribute,_CMData), 1);
+ // Add attribute: symbol
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "symbol" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_program::domBind_attribute , attrSymbol ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_program::domBind_attribute));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_program::domBind_attribute::domSemantic::create(DAE& dae)
+{
+ domGles2_program::domBind_attribute::domSemanticRef ref = new domGles2_program::domBind_attribute::domSemantic(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_program::domBind_attribute::domSemantic::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "semantic" );
+ meta->registerClass(domGles2_program::domBind_attribute::domSemantic::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_program::domBind_attribute::domSemantic , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_program::domBind_attribute::domSemantic));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_program::domBind_uniform::create(DAE& dae)
+{
+ domGles2_program::domBind_uniformRef ref = new domGles2_program::domBind_uniform(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_program::domBind_uniform::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind_uniform" );
+ meta->registerClass(domGles2_program::domBind_uniform::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domGles2_program::domBind_uniform,elemParam) );
+ mea->setElementType( domGles2_program::domBind_uniform::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "gles2_value" );
+ mea->setOffset( daeOffsetOf(domGles2_program::domBind_uniform,elemGles2_value) );
+ mea->setElementType( domGles2_value::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGles2_program::domBind_uniform,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGles2_program::domBind_uniform,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGles2_program::domBind_uniform,_CMData), 1);
+ // Add attribute: symbol
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "symbol" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_program::domBind_uniform , attrSymbol ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_program::domBind_uniform));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_program::domBind_uniform::domParam::create(DAE& dae)
+{
+ domGles2_program::domBind_uniform::domParamRef ref = new domGles2_program::domBind_uniform::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_program::domBind_uniform::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domGles2_program::domBind_uniform::domParam::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles2_program::domBind_uniform::domParam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_program::domBind_uniform::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles2_shader.cpp b/1.4.0/dom/src/1.5/dom/domGles2_shader.cpp
new file mode 100644
index 0000000..9280b18
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles2_shader.cpp
@@ -0,0 +1,148 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles2_shader.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles2_shader::create(DAE& dae)
+{
+ domGles2_shaderRef ref = new domGles2_shader(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_shader::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles2_shader" );
+ meta->registerClass(domGles2_shader::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sources" );
+ mea->setOffset( daeOffsetOf(domGles2_shader,elemSources) );
+ mea->setElementType( domGles2_shader::domSources::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "compiler" );
+ mea->setOffset( daeOffsetOf(domGles2_shader,elemCompiler_array) );
+ mea->setElementType( domFx_target::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domGles2_shader,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: stage
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "stage" );
+ ma->setType( dae.getAtomicTypes().get("Fx_pipeline_stage"));
+ ma->setOffset( daeOffsetOf( domGles2_shader , attrStage ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_shader));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_shader::domSources::create(DAE& dae)
+{
+ domGles2_shader::domSourcesRef ref = new domGles2_shader::domSources(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_shader::domSources::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sources" );
+ meta->registerClass(domGles2_shader::domSources::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "inline" );
+ mea->setOffset( daeOffsetOf(domGles2_shader::domSources,elemInline_array) );
+ mea->setElementType( domInline::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "import" );
+ mea->setOffset( daeOffsetOf(domGles2_shader::domSources,elemImport_array) );
+ mea->setElementType( domImport::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 3000 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 3000 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGles2_shader::domSources,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGles2_shader::domSources,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGles2_shader::domSources,_CMData), 1);
+ // Add attribute: entry
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "entry" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_shader::domSources , attrEntry ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "main");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_shader::domSources));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles2_value.cpp b/1.4.0/dom/src/1.5/dom/domGles2_value.cpp
new file mode 100644
index 0000000..99f1be4
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles2_value.cpp
@@ -0,0 +1,911 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles2_value.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles2_value::create(DAE& dae)
+{
+ domGles2_valueRef ref = new domGles2_value(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles2_value" );
+ meta->registerClass(domGles2_value::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemBool) );
+ mea->setElementType( domGles2_value::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bvec2" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemBvec2) );
+ mea->setElementType( domGles2_value::domBvec2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bvec3" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemBvec3) );
+ mea->setElementType( domGles2_value::domBvec3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bvec4" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemBvec4) );
+ mea->setElementType( domGles2_value::domBvec4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemFloat) );
+ mea->setElementType( domGles2_value::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "vec2" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemVec2) );
+ mea->setElementType( domGles2_value::domVec2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "vec3" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemVec3) );
+ mea->setElementType( domGles2_value::domVec3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "vec4" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemVec4) );
+ mea->setElementType( domGles2_value::domVec4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "mat2" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemMat2) );
+ mea->setElementType( domGles2_value::domMat2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "mat3" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemMat3) );
+ mea->setElementType( domGles2_value::domMat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "mat4" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemMat4) );
+ mea->setElementType( domGles2_value::domMat4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemInt) );
+ mea->setElementType( domGles2_value::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ivec2" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemIvec2) );
+ mea->setElementType( domGles2_value::domIvec2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ivec3" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemIvec3) );
+ mea->setElementType( domGles2_value::domIvec3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ivec4" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemIvec4) );
+ mea->setElementType( domGles2_value::domIvec4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "enum" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemEnum) );
+ mea->setElementType( domGles2_value::domEnum::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler2D" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemSampler2D) );
+ mea->setElementType( domFx_sampler2D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler3D" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemSampler3D) );
+ mea->setElementType( domFx_sampler3D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerCUBE" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemSamplerCUBE) );
+ mea->setElementType( domFx_samplerCUBE::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerDEPTH" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemSamplerDEPTH) );
+ mea->setElementType( domFx_samplerDEPTH::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "usertype" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemUsertype) );
+ mea->setElementType( domGles2_value::domUsertype::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "array" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemArray) );
+ mea->setElementType( domGles2_value::domArray::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGles2_value,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGles2_value,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGles2_value,_CMData), 1);
+ meta->setElementSize(sizeof(domGles2_value));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domBool::create(DAE& dae)
+{
+ domGles2_value::domBoolRef ref = new domGles2_value::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domGles2_value::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domBvec2::create(DAE& dae)
+{
+ domGles2_value::domBvec2Ref ref = new domGles2_value::domBvec2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domBvec2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bvec2" );
+ meta->registerClass(domGles2_value::domBvec2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool2"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domBvec2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domBvec2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domBvec3::create(DAE& dae)
+{
+ domGles2_value::domBvec3Ref ref = new domGles2_value::domBvec3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domBvec3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bvec3" );
+ meta->registerClass(domGles2_value::domBvec3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool3"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domBvec3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domBvec3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domBvec4::create(DAE& dae)
+{
+ domGles2_value::domBvec4Ref ref = new domGles2_value::domBvec4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domBvec4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bvec4" );
+ meta->registerClass(domGles2_value::domBvec4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domBvec4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domBvec4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domFloat::create(DAE& dae)
+{
+ domGles2_value::domFloatRef ref = new domGles2_value::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domGles2_value::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domVec2::create(DAE& dae)
+{
+ domGles2_value::domVec2Ref ref = new domGles2_value::domVec2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domVec2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "vec2" );
+ meta->registerClass(domGles2_value::domVec2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domVec2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domVec2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domVec3::create(DAE& dae)
+{
+ domGles2_value::domVec3Ref ref = new domGles2_value::domVec3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domVec3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "vec3" );
+ meta->registerClass(domGles2_value::domVec3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domVec3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domVec3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domVec4::create(DAE& dae)
+{
+ domGles2_value::domVec4Ref ref = new domGles2_value::domVec4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domVec4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "vec4" );
+ meta->registerClass(domGles2_value::domVec4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domVec4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domVec4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domMat2::create(DAE& dae)
+{
+ domGles2_value::domMat2Ref ref = new domGles2_value::domMat2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domMat2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mat2" );
+ meta->registerClass(domGles2_value::domMat2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x2"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domMat2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domMat2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domMat3::create(DAE& dae)
+{
+ domGles2_value::domMat3Ref ref = new domGles2_value::domMat3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domMat3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mat3" );
+ meta->registerClass(domGles2_value::domMat3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x3"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domMat3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domMat3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domMat4::create(DAE& dae)
+{
+ domGles2_value::domMat4Ref ref = new domGles2_value::domMat4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domMat4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mat4" );
+ meta->registerClass(domGles2_value::domMat4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domMat4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domMat4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domInt::create(DAE& dae)
+{
+ domGles2_value::domIntRef ref = new domGles2_value::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domGles2_value::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domIvec2::create(DAE& dae)
+{
+ domGles2_value::domIvec2Ref ref = new domGles2_value::domIvec2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domIvec2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ivec2" );
+ meta->registerClass(domGles2_value::domIvec2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int2"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domIvec2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domIvec2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domIvec3::create(DAE& dae)
+{
+ domGles2_value::domIvec3Ref ref = new domGles2_value::domIvec3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domIvec3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ivec3" );
+ meta->registerClass(domGles2_value::domIvec3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int3"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domIvec3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domIvec3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domIvec4::create(DAE& dae)
+{
+ domGles2_value::domIvec4Ref ref = new domGles2_value::domIvec4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domIvec4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ivec4" );
+ meta->registerClass(domGles2_value::domIvec4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int4"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domIvec4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domIvec4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domEnum::create(DAE& dae)
+{
+ domGles2_value::domEnumRef ref = new domGles2_value::domEnum(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domEnum::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "enum" );
+ meta->registerClass(domGles2_value::domEnum::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_enumeration"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domEnum , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domEnum));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domUsertype::create(DAE& dae)
+{
+ domGles2_value::domUsertypeRef ref = new domGles2_value::domUsertype(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domUsertype::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "usertype" );
+ meta->registerClass(domGles2_value::domUsertype::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "setparam" );
+ mea->setOffset( daeOffsetOf(domGles2_value::domUsertype,elemSetparam_array) );
+ mea->setElementType( domGles2_value::domUsertype::domSetparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: typename
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "typename" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domUsertype , attrTypename ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domUsertype));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domUsertype::domSetparam::create(DAE& dae)
+{
+ domGles2_value::domUsertype::domSetparamRef ref = new domGles2_value::domUsertype::domSetparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domUsertype::domSetparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "setparam" );
+ meta->registerClass(domGles2_value::domUsertype::domSetparam::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "gles2_value" );
+ mea->setOffset( daeOffsetOf(domGles2_value::domUsertype::domSetparam,elemGles2_value_array) );
+ mea->setElementType( domGles2_value::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 0, -1 ) );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domUsertype::domSetparam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domUsertype::domSetparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domArray::create(DAE& dae)
+{
+ domGles2_value::domArrayRef ref = new domGles2_value::domArray(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domArray::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "array" );
+ meta->registerClass(domGles2_value::domArray::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "gles2_value" );
+ mea->setOffset( daeOffsetOf(domGles2_value::domArray,elemGles2_value_array) );
+ mea->setElementType( domGles2_value::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, -1 ) );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: length
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "length" );
+ ma->setType( dae.getAtomicTypes().get("xsPositiveInteger"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domArray , attrLength ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domArray));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles_newparam.cpp b/1.4.0/dom/src/1.5/dom/domGles_newparam.cpp
new file mode 100644
index 0000000..0f758b6
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles_newparam.cpp
@@ -0,0 +1,153 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles_newparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles_newparam::create(DAE& dae)
+{
+ domGles_newparamRef ref = new domGles_newparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_newparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_newparam" );
+ meta->registerClass(domGles_newparam::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domGles_newparam,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "semantic" );
+ mea->setOffset( daeOffsetOf(domGles_newparam,elemSemantic) );
+ mea->setElementType( domGles_newparam::domSemantic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "modifier" );
+ mea->setOffset( daeOffsetOf(domGles_newparam,elemModifier) );
+ mea->setElementType( domGles_newparam::domModifier::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "gles_param" );
+ mea->setOffset( daeOffsetOf(domGles_newparam,elemGles_param) );
+ mea->setElementType( domGles_param::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 3, 1, 1 ) );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domGles_newparam , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_newparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_newparam::domSemantic::create(DAE& dae)
+{
+ domGles_newparam::domSemanticRef ref = new domGles_newparam::domSemantic(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_newparam::domSemantic::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "semantic" );
+ meta->registerClass(domGles_newparam::domSemantic::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_newparam::domSemantic , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_newparam::domSemantic));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_newparam::domModifier::create(DAE& dae)
+{
+ domGles_newparam::domModifierRef ref = new domGles_newparam::domModifier(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_newparam::domModifier::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "modifier" );
+ meta->registerClass(domGles_newparam::domModifier::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_modifier"));
+ ma->setOffset( daeOffsetOf( domGles_newparam::domModifier , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_newparam::domModifier));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles_param.cpp b/1.4.0/dom/src/1.5/dom/domGles_param.cpp
new file mode 100644
index 0000000..51c1687
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles_param.cpp
@@ -0,0 +1,1274 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles_param.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles_param::create(DAE& dae)
+{
+ domGles_paramRef ref = new domGles_param(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_param" );
+ meta->registerClass(domGles_param::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemBool) );
+ mea->setElementType( domGles_param::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemBool2) );
+ mea->setElementType( domGles_param::domBool2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemBool3) );
+ mea->setElementType( domGles_param::domBool3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemBool4) );
+ mea->setElementType( domGles_param::domBool4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemInt) );
+ mea->setElementType( domGles_param::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemInt2) );
+ mea->setElementType( domGles_param::domInt2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemInt3) );
+ mea->setElementType( domGles_param::domInt3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemInt4) );
+ mea->setElementType( domGles_param::domInt4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat) );
+ mea->setElementType( domGles_param::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat2) );
+ mea->setElementType( domGles_param::domFloat2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat3) );
+ mea->setElementType( domGles_param::domFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat4) );
+ mea->setElementType( domGles_param::domFloat4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float1x1" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat1x1) );
+ mea->setElementType( domGles_param::domFloat1x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float1x2" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat1x2) );
+ mea->setElementType( domGles_param::domFloat1x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float1x3" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat1x3) );
+ mea->setElementType( domGles_param::domFloat1x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float1x4" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat1x4) );
+ mea->setElementType( domGles_param::domFloat1x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x1" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat2x1) );
+ mea->setElementType( domGles_param::domFloat2x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x2" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat2x2) );
+ mea->setElementType( domGles_param::domFloat2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x3" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat2x3) );
+ mea->setElementType( domGles_param::domFloat2x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x4" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat2x4) );
+ mea->setElementType( domGles_param::domFloat2x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x1" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat3x1) );
+ mea->setElementType( domGles_param::domFloat3x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x2" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat3x2) );
+ mea->setElementType( domGles_param::domFloat3x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x3" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat3x3) );
+ mea->setElementType( domGles_param::domFloat3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x4" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat3x4) );
+ mea->setElementType( domGles_param::domFloat3x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x1" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat4x1) );
+ mea->setElementType( domGles_param::domFloat4x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x2" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat4x2) );
+ mea->setElementType( domGles_param::domFloat4x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x3" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat4x3) );
+ mea->setElementType( domGles_param::domFloat4x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x4" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat4x4) );
+ mea->setElementType( domGles_param::domFloat4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler2D" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemSampler2D) );
+ mea->setElementType( domGles_sampler::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "enum" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemEnum) );
+ mea->setElementType( domGles_param::domEnum::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGles_param,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGles_param,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGles_param,_CMData), 1);
+ meta->setElementSize(sizeof(domGles_param));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domBool::create(DAE& dae)
+{
+ domGles_param::domBoolRef ref = new domGles_param::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domGles_param::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_param::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domBool2::create(DAE& dae)
+{
+ domGles_param::domBool2Ref ref = new domGles_param::domBool2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domBool2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2" );
+ meta->registerClass(domGles_param::domBool2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool2"));
+ ma->setOffset( daeOffsetOf( domGles_param::domBool2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domBool2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domBool3::create(DAE& dae)
+{
+ domGles_param::domBool3Ref ref = new domGles_param::domBool3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domBool3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3" );
+ meta->registerClass(domGles_param::domBool3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool3"));
+ ma->setOffset( daeOffsetOf( domGles_param::domBool3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domBool3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domBool4::create(DAE& dae)
+{
+ domGles_param::domBool4Ref ref = new domGles_param::domBool4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domBool4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4" );
+ meta->registerClass(domGles_param::domBool4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domGles_param::domBool4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domBool4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domInt::create(DAE& dae)
+{
+ domGles_param::domIntRef ref = new domGles_param::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domGles_param::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domGles_param::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domInt2::create(DAE& dae)
+{
+ domGles_param::domInt2Ref ref = new domGles_param::domInt2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domInt2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2" );
+ meta->registerClass(domGles_param::domInt2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int2"));
+ ma->setOffset( daeOffsetOf( domGles_param::domInt2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domInt2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domInt3::create(DAE& dae)
+{
+ domGles_param::domInt3Ref ref = new domGles_param::domInt3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domInt3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3" );
+ meta->registerClass(domGles_param::domInt3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int3"));
+ ma->setOffset( daeOffsetOf( domGles_param::domInt3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domInt3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domInt4::create(DAE& dae)
+{
+ domGles_param::domInt4Ref ref = new domGles_param::domInt4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domInt4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4" );
+ meta->registerClass(domGles_param::domInt4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int4"));
+ ma->setOffset( daeOffsetOf( domGles_param::domInt4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domInt4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat::create(DAE& dae)
+{
+ domGles_param::domFloatRef ref = new domGles_param::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domGles_param::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat2::create(DAE& dae)
+{
+ domGles_param::domFloat2Ref ref = new domGles_param::domFloat2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2" );
+ meta->registerClass(domGles_param::domFloat2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat3::create(DAE& dae)
+{
+ domGles_param::domFloat3Ref ref = new domGles_param::domFloat3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3" );
+ meta->registerClass(domGles_param::domFloat3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat4::create(DAE& dae)
+{
+ domGles_param::domFloat4Ref ref = new domGles_param::domFloat4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4" );
+ meta->registerClass(domGles_param::domFloat4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat1x1::create(DAE& dae)
+{
+ domGles_param::domFloat1x1Ref ref = new domGles_param::domFloat1x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat1x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float1x1" );
+ meta->registerClass(domGles_param::domFloat1x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat1x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat1x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat1x2::create(DAE& dae)
+{
+ domGles_param::domFloat1x2Ref ref = new domGles_param::domFloat1x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat1x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float1x2" );
+ meta->registerClass(domGles_param::domFloat1x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat1x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat1x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat1x3::create(DAE& dae)
+{
+ domGles_param::domFloat1x3Ref ref = new domGles_param::domFloat1x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat1x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float1x3" );
+ meta->registerClass(domGles_param::domFloat1x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat1x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat1x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat1x4::create(DAE& dae)
+{
+ domGles_param::domFloat1x4Ref ref = new domGles_param::domFloat1x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat1x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float1x4" );
+ meta->registerClass(domGles_param::domFloat1x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat1x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat1x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat2x1::create(DAE& dae)
+{
+ domGles_param::domFloat2x1Ref ref = new domGles_param::domFloat2x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat2x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x1" );
+ meta->registerClass(domGles_param::domFloat2x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat2x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat2x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat2x2::create(DAE& dae)
+{
+ domGles_param::domFloat2x2Ref ref = new domGles_param::domFloat2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x2" );
+ meta->registerClass(domGles_param::domFloat2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x2"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat2x3::create(DAE& dae)
+{
+ domGles_param::domFloat2x3Ref ref = new domGles_param::domFloat2x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat2x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x3" );
+ meta->registerClass(domGles_param::domFloat2x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x3"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat2x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat2x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat2x4::create(DAE& dae)
+{
+ domGles_param::domFloat2x4Ref ref = new domGles_param::domFloat2x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat2x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x4" );
+ meta->registerClass(domGles_param::domFloat2x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x4"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat2x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat2x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat3x1::create(DAE& dae)
+{
+ domGles_param::domFloat3x1Ref ref = new domGles_param::domFloat3x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat3x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x1" );
+ meta->registerClass(domGles_param::domFloat3x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat3x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat3x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat3x2::create(DAE& dae)
+{
+ domGles_param::domFloat3x2Ref ref = new domGles_param::domFloat3x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat3x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x2" );
+ meta->registerClass(domGles_param::domFloat3x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x2"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat3x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat3x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat3x3::create(DAE& dae)
+{
+ domGles_param::domFloat3x3Ref ref = new domGles_param::domFloat3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x3" );
+ meta->registerClass(domGles_param::domFloat3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x3"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat3x4::create(DAE& dae)
+{
+ domGles_param::domFloat3x4Ref ref = new domGles_param::domFloat3x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat3x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x4" );
+ meta->registerClass(domGles_param::domFloat3x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x4"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat3x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat3x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat4x1::create(DAE& dae)
+{
+ domGles_param::domFloat4x1Ref ref = new domGles_param::domFloat4x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat4x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x1" );
+ meta->registerClass(domGles_param::domFloat4x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat4x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat4x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat4x2::create(DAE& dae)
+{
+ domGles_param::domFloat4x2Ref ref = new domGles_param::domFloat4x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat4x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x2" );
+ meta->registerClass(domGles_param::domFloat4x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x2"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat4x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat4x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat4x3::create(DAE& dae)
+{
+ domGles_param::domFloat4x3Ref ref = new domGles_param::domFloat4x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat4x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x3" );
+ meta->registerClass(domGles_param::domFloat4x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x3"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat4x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat4x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat4x4::create(DAE& dae)
+{
+ domGles_param::domFloat4x4Ref ref = new domGles_param::domFloat4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x4" );
+ meta->registerClass(domGles_param::domFloat4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domEnum::create(DAE& dae)
+{
+ domGles_param::domEnumRef ref = new domGles_param::domEnum(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domEnum::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "enum" );
+ meta->registerClass(domGles_param::domEnum::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Gles_enumeration"));
+ ma->setOffset( daeOffsetOf( domGles_param::domEnum , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domEnum));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles_pipeline_settings.cpp b/1.4.0/dom/src/1.5/dom/domGles_pipeline_settings.cpp
new file mode 100644
index 0000000..379728c
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles_pipeline_settings.cpp
@@ -0,0 +1,4695 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles_pipeline_settings.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles_pipeline_settings::create(DAE& dae)
+{
+ domGles_pipeline_settingsRef ref = new domGles_pipeline_settings(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_pipeline_settings" );
+ meta->registerClass(domGles_pipeline_settings::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "alpha_func" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemAlpha_func) );
+ mea->setElementType( domGles_pipeline_settings::domAlpha_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_func" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemBlend_func) );
+ mea->setElementType( domGles_pipeline_settings::domBlend_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "clip_plane" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemClip_plane) );
+ mea->setElementType( domGles_pipeline_settings::domClip_plane::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color_mask" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemColor_mask) );
+ mea->setElementType( domGles_pipeline_settings::domColor_mask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cull_face" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemCull_face) );
+ mea->setElementType( domGles_pipeline_settings::domCull_face::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_func" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemDepth_func) );
+ mea->setElementType( domGles_pipeline_settings::domDepth_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_mask" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemDepth_mask) );
+ mea->setElementType( domGles_pipeline_settings::domDepth_mask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_range" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemDepth_range) );
+ mea->setElementType( domGles_pipeline_settings::domDepth_range::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_color" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemFog_color) );
+ mea->setElementType( domGles_pipeline_settings::domFog_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_density" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemFog_density) );
+ mea->setElementType( domGles_pipeline_settings::domFog_density::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_mode" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemFog_mode) );
+ mea->setElementType( domGles_pipeline_settings::domFog_mode::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_start" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemFog_start) );
+ mea->setElementType( domGles_pipeline_settings::domFog_start::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_end" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemFog_end) );
+ mea->setElementType( domGles_pipeline_settings::domFog_end::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "front_face" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemFront_face) );
+ mea->setElementType( domGles_pipeline_settings::domFront_face::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "logic_op" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLogic_op) );
+ mea->setElementType( domGles_pipeline_settings::domLogic_op::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_ambient" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_ambient) );
+ mea->setElementType( domGles_pipeline_settings::domLight_ambient::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_diffuse" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_diffuse) );
+ mea->setElementType( domGles_pipeline_settings::domLight_diffuse::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_specular" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_specular) );
+ mea->setElementType( domGles_pipeline_settings::domLight_specular::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_position" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_position) );
+ mea->setElementType( domGles_pipeline_settings::domLight_position::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_constant_attenuation" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_constant_attenuation) );
+ mea->setElementType( domGles_pipeline_settings::domLight_constant_attenuation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_linear_attenuation" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_linear_attenuation) );
+ mea->setElementType( domGles_pipeline_settings::domLight_linear_attenuation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_quadratic_attenuation" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_quadratic_attenuation) );
+ mea->setElementType( domGles_pipeline_settings::domLight_quadratic_attenuation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_spot_cutoff" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_spot_cutoff) );
+ mea->setElementType( domGles_pipeline_settings::domLight_spot_cutoff::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_spot_direction" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_spot_direction) );
+ mea->setElementType( domGles_pipeline_settings::domLight_spot_direction::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_spot_exponent" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_spot_exponent) );
+ mea->setElementType( domGles_pipeline_settings::domLight_spot_exponent::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_model_ambient" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_model_ambient) );
+ mea->setElementType( domGles_pipeline_settings::domLight_model_ambient::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "line_width" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLine_width) );
+ mea->setElementType( domGles_pipeline_settings::domLine_width::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_ambient" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemMaterial_ambient) );
+ mea->setElementType( domGles_pipeline_settings::domMaterial_ambient::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_diffuse" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemMaterial_diffuse) );
+ mea->setElementType( domGles_pipeline_settings::domMaterial_diffuse::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_emission" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemMaterial_emission) );
+ mea->setElementType( domGles_pipeline_settings::domMaterial_emission::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_shininess" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemMaterial_shininess) );
+ mea->setElementType( domGles_pipeline_settings::domMaterial_shininess::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_specular" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemMaterial_specular) );
+ mea->setElementType( domGles_pipeline_settings::domMaterial_specular::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "model_view_matrix" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemModel_view_matrix) );
+ mea->setElementType( domGles_pipeline_settings::domModel_view_matrix::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_distance_attenuation" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPoint_distance_attenuation) );
+ mea->setElementType( domGles_pipeline_settings::domPoint_distance_attenuation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_fade_threshold_size" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPoint_fade_threshold_size) );
+ mea->setElementType( domGles_pipeline_settings::domPoint_fade_threshold_size::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_size" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPoint_size) );
+ mea->setElementType( domGles_pipeline_settings::domPoint_size::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_size_min" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPoint_size_min) );
+ mea->setElementType( domGles_pipeline_settings::domPoint_size_min::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_size_max" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPoint_size_max) );
+ mea->setElementType( domGles_pipeline_settings::domPoint_size_max::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_offset" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPolygon_offset) );
+ mea->setElementType( domGles_pipeline_settings::domPolygon_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "projection_matrix" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemProjection_matrix) );
+ mea->setElementType( domGles_pipeline_settings::domProjection_matrix::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "scissor" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemScissor) );
+ mea->setElementType( domGles_pipeline_settings::domScissor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "shade_model" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemShade_model) );
+ mea->setElementType( domGles_pipeline_settings::domShade_model::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_func" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemStencil_func) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_mask" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemStencil_mask) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_mask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_op" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemStencil_op) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_op::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture_pipeline" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemTexture_pipeline) );
+ mea->setElementType( domGles_pipeline_settings::domTexture_pipeline::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "alpha_test_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemAlpha_test_enable) );
+ mea->setElementType( domGles_pipeline_settings::domAlpha_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemBlend_enable) );
+ mea->setElementType( domGles_pipeline_settings::domBlend_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "clip_plane_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemClip_plane_enable) );
+ mea->setElementType( domGles_pipeline_settings::domClip_plane_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color_logic_op_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemColor_logic_op_enable) );
+ mea->setElementType( domGles_pipeline_settings::domColor_logic_op_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color_material_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemColor_material_enable) );
+ mea->setElementType( domGles_pipeline_settings::domColor_material_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cull_face_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemCull_face_enable) );
+ mea->setElementType( domGles_pipeline_settings::domCull_face_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_test_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemDepth_test_enable) );
+ mea->setElementType( domGles_pipeline_settings::domDepth_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "dither_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemDither_enable) );
+ mea->setElementType( domGles_pipeline_settings::domDither_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemFog_enable) );
+ mea->setElementType( domGles_pipeline_settings::domFog_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_enable) );
+ mea->setElementType( domGles_pipeline_settings::domLight_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "lighting_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLighting_enable) );
+ mea->setElementType( domGles_pipeline_settings::domLighting_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_model_two_side_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_model_two_side_enable) );
+ mea->setElementType( domGles_pipeline_settings::domLight_model_two_side_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "line_smooth_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLine_smooth_enable) );
+ mea->setElementType( domGles_pipeline_settings::domLine_smooth_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "multisample_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemMultisample_enable) );
+ mea->setElementType( domGles_pipeline_settings::domMultisample_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "normalize_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemNormalize_enable) );
+ mea->setElementType( domGles_pipeline_settings::domNormalize_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_smooth_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPoint_smooth_enable) );
+ mea->setElementType( domGles_pipeline_settings::domPoint_smooth_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_offset_fill_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPolygon_offset_fill_enable) );
+ mea->setElementType( domGles_pipeline_settings::domPolygon_offset_fill_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rescale_normal_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemRescale_normal_enable) );
+ mea->setElementType( domGles_pipeline_settings::domRescale_normal_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sample_alpha_to_coverage_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemSample_alpha_to_coverage_enable) );
+ mea->setElementType( domGles_pipeline_settings::domSample_alpha_to_coverage_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sample_alpha_to_one_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemSample_alpha_to_one_enable) );
+ mea->setElementType( domGles_pipeline_settings::domSample_alpha_to_one_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sample_coverage_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemSample_coverage_enable) );
+ mea->setElementType( domGles_pipeline_settings::domSample_coverage_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "scissor_test_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemScissor_test_enable) );
+ mea->setElementType( domGles_pipeline_settings::domScissor_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_test_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemStencil_test_enable) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGles_pipeline_settings,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGles_pipeline_settings,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGles_pipeline_settings,_CMData), 1);
+ meta->setElementSize(sizeof(domGles_pipeline_settings));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domAlpha_func::create(DAE& dae)
+{
+ domGles_pipeline_settings::domAlpha_funcRef ref = new domGles_pipeline_settings::domAlpha_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domAlpha_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "alpha_func" );
+ meta->registerClass(domGles_pipeline_settings::domAlpha_func::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "func" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domAlpha_func,elemFunc) );
+ mea->setElementType( domGles_pipeline_settings::domAlpha_func::domFunc::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domAlpha_func,elemValue) );
+ mea->setElementType( domGles_pipeline_settings::domAlpha_func::domValue::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domAlpha_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domAlpha_func::domFunc::create(DAE& dae)
+{
+ domGles_pipeline_settings::domAlpha_func::domFuncRef ref = new domGles_pipeline_settings::domAlpha_func::domFunc(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domAlpha_func::domFunc::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "func" );
+ meta->registerClass(domGles_pipeline_settings::domAlpha_func::domFunc::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domAlpha_func::domFunc , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domAlpha_func::domFunc , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domAlpha_func::domFunc));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domAlpha_func::domValue::create(DAE& dae)
+{
+ domGles_pipeline_settings::domAlpha_func::domValueRef ref = new domGles_pipeline_settings::domAlpha_func::domValue(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domAlpha_func::domValue::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "value" );
+ meta->registerClass(domGles_pipeline_settings::domAlpha_func::domValue::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_alpha_value"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domAlpha_func::domValue , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0.0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domAlpha_func::domValue , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domAlpha_func::domValue));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domBlend_func::create(DAE& dae)
+{
+ domGles_pipeline_settings::domBlend_funcRef ref = new domGles_pipeline_settings::domBlend_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domBlend_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_func" );
+ meta->registerClass(domGles_pipeline_settings::domBlend_func::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "src" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domBlend_func,elemSrc) );
+ mea->setElementType( domGles_pipeline_settings::domBlend_func::domSrc::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "dest" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domBlend_func,elemDest) );
+ mea->setElementType( domGles_pipeline_settings::domBlend_func::domDest::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domBlend_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domBlend_func::domSrc::create(DAE& dae)
+{
+ domGles_pipeline_settings::domBlend_func::domSrcRef ref = new domGles_pipeline_settings::domBlend_func::domSrc(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domBlend_func::domSrc::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "src" );
+ meta->registerClass(domGles_pipeline_settings::domBlend_func::domSrc::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domBlend_func::domSrc , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ONE");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domBlend_func::domSrc , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domBlend_func::domSrc));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domBlend_func::domDest::create(DAE& dae)
+{
+ domGles_pipeline_settings::domBlend_func::domDestRef ref = new domGles_pipeline_settings::domBlend_func::domDest(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domBlend_func::domDest::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dest" );
+ meta->registerClass(domGles_pipeline_settings::domBlend_func::domDest::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domBlend_func::domDest , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ZERO");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domBlend_func::domDest , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domBlend_func::domDest));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domClip_plane::create(DAE& dae)
+{
+ domGles_pipeline_settings::domClip_planeRef ref = new domGles_pipeline_settings::domClip_plane(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domClip_plane::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "clip_plane" );
+ meta->registerClass(domGles_pipeline_settings::domClip_plane::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domClip_plane , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domClip_plane , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gles_max_clip_planes_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domClip_plane , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domClip_plane));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domColor_mask::create(DAE& dae)
+{
+ domGles_pipeline_settings::domColor_maskRef ref = new domGles_pipeline_settings::domColor_mask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domColor_mask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "color_mask" );
+ meta->registerClass(domGles_pipeline_settings::domColor_mask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domColor_mask , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domColor_mask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domColor_mask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domCull_face::create(DAE& dae)
+{
+ domGles_pipeline_settings::domCull_faceRef ref = new domGles_pipeline_settings::domCull_face(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domCull_face::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cull_face" );
+ meta->registerClass(domGles_pipeline_settings::domCull_face::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_face"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domCull_face , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "BACK");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domCull_face , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domCull_face));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domDepth_func::create(DAE& dae)
+{
+ domGles_pipeline_settings::domDepth_funcRef ref = new domGles_pipeline_settings::domDepth_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domDepth_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_func" );
+ meta->registerClass(domGles_pipeline_settings::domDepth_func::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDepth_func , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDepth_func , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domDepth_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domDepth_mask::create(DAE& dae)
+{
+ domGles_pipeline_settings::domDepth_maskRef ref = new domGles_pipeline_settings::domDepth_mask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domDepth_mask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_mask" );
+ meta->registerClass(domGles_pipeline_settings::domDepth_mask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDepth_mask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDepth_mask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domDepth_mask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domDepth_range::create(DAE& dae)
+{
+ domGles_pipeline_settings::domDepth_rangeRef ref = new domGles_pipeline_settings::domDepth_range(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domDepth_range::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_range" );
+ meta->registerClass(domGles_pipeline_settings::domDepth_range::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDepth_range , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDepth_range , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domDepth_range));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domFog_color::create(DAE& dae)
+{
+ domGles_pipeline_settings::domFog_colorRef ref = new domGles_pipeline_settings::domFog_color(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domFog_color::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_color" );
+ meta->registerClass(domGles_pipeline_settings::domFog_color::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_color , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_color , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domFog_color));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domFog_density::create(DAE& dae)
+{
+ domGles_pipeline_settings::domFog_densityRef ref = new domGles_pipeline_settings::domFog_density(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domFog_density::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_density" );
+ meta->registerClass(domGles_pipeline_settings::domFog_density::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_density , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_density , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domFog_density));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domFog_mode::create(DAE& dae)
+{
+ domGles_pipeline_settings::domFog_modeRef ref = new domGles_pipeline_settings::domFog_mode(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domFog_mode::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_mode" );
+ meta->registerClass(domGles_pipeline_settings::domFog_mode::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_fog"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_mode , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "EXP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_mode , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domFog_mode));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domFog_start::create(DAE& dae)
+{
+ domGles_pipeline_settings::domFog_startRef ref = new domGles_pipeline_settings::domFog_start(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domFog_start::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_start" );
+ meta->registerClass(domGles_pipeline_settings::domFog_start::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_start , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_start , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domFog_start));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domFog_end::create(DAE& dae)
+{
+ domGles_pipeline_settings::domFog_endRef ref = new domGles_pipeline_settings::domFog_end(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domFog_end::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_end" );
+ meta->registerClass(domGles_pipeline_settings::domFog_end::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_end , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_end , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domFog_end));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domFront_face::create(DAE& dae)
+{
+ domGles_pipeline_settings::domFront_faceRef ref = new domGles_pipeline_settings::domFront_face(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domFront_face::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "front_face" );
+ meta->registerClass(domGles_pipeline_settings::domFront_face::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_front_face"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFront_face , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "CCW");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFront_face , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domFront_face));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLogic_op::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLogic_opRef ref = new domGles_pipeline_settings::domLogic_op(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLogic_op::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "logic_op" );
+ meta->registerClass(domGles_pipeline_settings::domLogic_op::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_logic_op"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLogic_op , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "COPY");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLogic_op , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLogic_op));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_ambient::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_ambientRef ref = new domGles_pipeline_settings::domLight_ambient(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_ambient::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_ambient" );
+ meta->registerClass(domGles_pipeline_settings::domLight_ambient::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_ambient , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_ambient , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gles_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_ambient , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_ambient));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_diffuse::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_diffuseRef ref = new domGles_pipeline_settings::domLight_diffuse(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_diffuse::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_diffuse" );
+ meta->registerClass(domGles_pipeline_settings::domLight_diffuse::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_diffuse , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_diffuse , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gles_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_diffuse , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_diffuse));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_specular::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_specularRef ref = new domGles_pipeline_settings::domLight_specular(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_specular::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_specular" );
+ meta->registerClass(domGles_pipeline_settings::domLight_specular::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_specular , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_specular , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gles_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_specular , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_specular));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_position::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_positionRef ref = new domGles_pipeline_settings::domLight_position(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_position::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_position" );
+ meta->registerClass(domGles_pipeline_settings::domLight_position::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_position , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 1 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_position , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gles_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_position , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_position));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_constant_attenuation::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_constant_attenuationRef ref = new domGles_pipeline_settings::domLight_constant_attenuation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_constant_attenuation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_constant_attenuation" );
+ meta->registerClass(domGles_pipeline_settings::domLight_constant_attenuation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_constant_attenuation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_constant_attenuation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gles_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_constant_attenuation , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_constant_attenuation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_linear_attenuation::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_linear_attenuationRef ref = new domGles_pipeline_settings::domLight_linear_attenuation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_linear_attenuation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_linear_attenuation" );
+ meta->registerClass(domGles_pipeline_settings::domLight_linear_attenuation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_linear_attenuation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_linear_attenuation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gles_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_linear_attenuation , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_linear_attenuation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_quadratic_attenuation::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_quadratic_attenuationRef ref = new domGles_pipeline_settings::domLight_quadratic_attenuation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_quadratic_attenuation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_quadratic_attenuation" );
+ meta->registerClass(domGles_pipeline_settings::domLight_quadratic_attenuation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_quadratic_attenuation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_quadratic_attenuation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gles_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_quadratic_attenuation , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_quadratic_attenuation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_spot_cutoff::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_spot_cutoffRef ref = new domGles_pipeline_settings::domLight_spot_cutoff(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_spot_cutoff::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_spot_cutoff" );
+ meta->registerClass(domGles_pipeline_settings::domLight_spot_cutoff::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_spot_cutoff , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "180");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_spot_cutoff , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gles_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_spot_cutoff , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_spot_cutoff));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_spot_direction::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_spot_directionRef ref = new domGles_pipeline_settings::domLight_spot_direction(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_spot_direction::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_spot_direction" );
+ meta->registerClass(domGles_pipeline_settings::domLight_spot_direction::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_spot_direction , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 -1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_spot_direction , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gles_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_spot_direction , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_spot_direction));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_spot_exponent::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_spot_exponentRef ref = new domGles_pipeline_settings::domLight_spot_exponent(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_spot_exponent::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_spot_exponent" );
+ meta->registerClass(domGles_pipeline_settings::domLight_spot_exponent::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_spot_exponent , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_spot_exponent , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gles_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_spot_exponent , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_spot_exponent));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_model_ambient::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_model_ambientRef ref = new domGles_pipeline_settings::domLight_model_ambient(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_model_ambient::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_model_ambient" );
+ meta->registerClass(domGles_pipeline_settings::domLight_model_ambient::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_model_ambient , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0.2 0.2 0.2 1.0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_model_ambient , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_model_ambient));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLine_width::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLine_widthRef ref = new domGles_pipeline_settings::domLine_width(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLine_width::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "line_width" );
+ meta->registerClass(domGles_pipeline_settings::domLine_width::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLine_width , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLine_width , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLine_width));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domMaterial_ambient::create(DAE& dae)
+{
+ domGles_pipeline_settings::domMaterial_ambientRef ref = new domGles_pipeline_settings::domMaterial_ambient(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domMaterial_ambient::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_ambient" );
+ meta->registerClass(domGles_pipeline_settings::domMaterial_ambient::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_ambient , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0.2 0.2 0.2 1.0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_ambient , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domMaterial_ambient));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domMaterial_diffuse::create(DAE& dae)
+{
+ domGles_pipeline_settings::domMaterial_diffuseRef ref = new domGles_pipeline_settings::domMaterial_diffuse(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domMaterial_diffuse::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_diffuse" );
+ meta->registerClass(domGles_pipeline_settings::domMaterial_diffuse::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_diffuse , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0.8 0.8 0.8 1.0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_diffuse , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domMaterial_diffuse));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domMaterial_emission::create(DAE& dae)
+{
+ domGles_pipeline_settings::domMaterial_emissionRef ref = new domGles_pipeline_settings::domMaterial_emission(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domMaterial_emission::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_emission" );
+ meta->registerClass(domGles_pipeline_settings::domMaterial_emission::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_emission , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_emission , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domMaterial_emission));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domMaterial_shininess::create(DAE& dae)
+{
+ domGles_pipeline_settings::domMaterial_shininessRef ref = new domGles_pipeline_settings::domMaterial_shininess(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domMaterial_shininess::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_shininess" );
+ meta->registerClass(domGles_pipeline_settings::domMaterial_shininess::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_shininess , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_shininess , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domMaterial_shininess));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domMaterial_specular::create(DAE& dae)
+{
+ domGles_pipeline_settings::domMaterial_specularRef ref = new domGles_pipeline_settings::domMaterial_specular(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domMaterial_specular::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_specular" );
+ meta->registerClass(domGles_pipeline_settings::domMaterial_specular::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_specular , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_specular , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domMaterial_specular));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domModel_view_matrix::create(DAE& dae)
+{
+ domGles_pipeline_settings::domModel_view_matrixRef ref = new domGles_pipeline_settings::domModel_view_matrix(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domModel_view_matrix::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "model_view_matrix" );
+ meta->registerClass(domGles_pipeline_settings::domModel_view_matrix::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domModel_view_matrix , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domModel_view_matrix , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domModel_view_matrix));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domPoint_distance_attenuation::create(DAE& dae)
+{
+ domGles_pipeline_settings::domPoint_distance_attenuationRef ref = new domGles_pipeline_settings::domPoint_distance_attenuation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domPoint_distance_attenuation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_distance_attenuation" );
+ meta->registerClass(domGles_pipeline_settings::domPoint_distance_attenuation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_distance_attenuation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_distance_attenuation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domPoint_distance_attenuation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domPoint_fade_threshold_size::create(DAE& dae)
+{
+ domGles_pipeline_settings::domPoint_fade_threshold_sizeRef ref = new domGles_pipeline_settings::domPoint_fade_threshold_size(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domPoint_fade_threshold_size::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_fade_threshold_size" );
+ meta->registerClass(domGles_pipeline_settings::domPoint_fade_threshold_size::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_fade_threshold_size , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_fade_threshold_size , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domPoint_fade_threshold_size));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domPoint_size::create(DAE& dae)
+{
+ domGles_pipeline_settings::domPoint_sizeRef ref = new domGles_pipeline_settings::domPoint_size(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domPoint_size::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_size" );
+ meta->registerClass(domGles_pipeline_settings::domPoint_size::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_size , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_size , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domPoint_size));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domPoint_size_min::create(DAE& dae)
+{
+ domGles_pipeline_settings::domPoint_size_minRef ref = new domGles_pipeline_settings::domPoint_size_min(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domPoint_size_min::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_size_min" );
+ meta->registerClass(domGles_pipeline_settings::domPoint_size_min::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_size_min , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_size_min , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domPoint_size_min));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domPoint_size_max::create(DAE& dae)
+{
+ domGles_pipeline_settings::domPoint_size_maxRef ref = new domGles_pipeline_settings::domPoint_size_max(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domPoint_size_max::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_size_max" );
+ meta->registerClass(domGles_pipeline_settings::domPoint_size_max::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_size_max , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_size_max , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domPoint_size_max));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domPolygon_offset::create(DAE& dae)
+{
+ domGles_pipeline_settings::domPolygon_offsetRef ref = new domGles_pipeline_settings::domPolygon_offset(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domPolygon_offset::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_offset" );
+ meta->registerClass(domGles_pipeline_settings::domPolygon_offset::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPolygon_offset , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPolygon_offset , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domPolygon_offset));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domProjection_matrix::create(DAE& dae)
+{
+ domGles_pipeline_settings::domProjection_matrixRef ref = new domGles_pipeline_settings::domProjection_matrix(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domProjection_matrix::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "projection_matrix" );
+ meta->registerClass(domGles_pipeline_settings::domProjection_matrix::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domProjection_matrix , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domProjection_matrix , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domProjection_matrix));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domScissor::create(DAE& dae)
+{
+ domGles_pipeline_settings::domScissorRef ref = new domGles_pipeline_settings::domScissor(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domScissor::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "scissor" );
+ meta->registerClass(domGles_pipeline_settings::domScissor::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Int4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domScissor , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domScissor , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domScissor));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domShade_model::create(DAE& dae)
+{
+ domGles_pipeline_settings::domShade_modelRef ref = new domGles_pipeline_settings::domShade_model(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domShade_model::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "shade_model" );
+ meta->registerClass(domGles_pipeline_settings::domShade_model::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_shade_model"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domShade_model , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "SMOOTH");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domShade_model , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domShade_model));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_func::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_funcRef ref = new domGles_pipeline_settings::domStencil_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_func" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_func::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "func" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domStencil_func,elemFunc) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_func::domFunc::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "ref" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domStencil_func,elemRef) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_func::domRef::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "mask" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domStencil_func,elemMask) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_func::domMask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_func::domFunc::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_func::domFuncRef ref = new domGles_pipeline_settings::domStencil_func::domFunc(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_func::domFunc::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "func" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_func::domFunc::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_func::domFunc , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_func::domFunc , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_func::domFunc));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_func::domRef::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_func::domRefRef ref = new domGles_pipeline_settings::domStencil_func::domRef(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_func::domRef::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ref" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_func::domRef::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_func::domRef , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_func::domRef , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_func::domRef));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_func::domMask::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_func::domMaskRef ref = new domGles_pipeline_settings::domStencil_func::domMask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_func::domMask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mask" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_func::domMask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_func::domMask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "255");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_func::domMask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_func::domMask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_mask::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_maskRef ref = new domGles_pipeline_settings::domStencil_mask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_mask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_mask" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_mask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_mask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "4294967295");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_mask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_mask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_op::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_opRef ref = new domGles_pipeline_settings::domStencil_op(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_op::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_op" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_op::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fail" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domStencil_op,elemFail) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_op::domFail::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "zfail" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domStencil_op,elemZfail) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_op::domZfail::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "zpass" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domStencil_op,elemZpass) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_op::domZpass::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_op));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_op::domFail::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_op::domFailRef ref = new domGles_pipeline_settings::domStencil_op::domFail(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_op::domFail::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fail" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_op::domFail::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gles_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_op::domFail , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_op::domFail , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_op::domFail));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_op::domZfail::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_op::domZfailRef ref = new domGles_pipeline_settings::domStencil_op::domZfail(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_op::domZfail::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "zfail" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_op::domZfail::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gles_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_op::domZfail , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_op::domZfail , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_op::domZfail));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_op::domZpass::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_op::domZpassRef ref = new domGles_pipeline_settings::domStencil_op::domZpass(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_op::domZpass::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "zpass" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_op::domZpass::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gles_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_op::domZpass , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_op::domZpass , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_op::domZpass));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domTexture_pipeline::create(DAE& dae)
+{
+ domGles_pipeline_settings::domTexture_pipelineRef ref = new domGles_pipeline_settings::domTexture_pipeline(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domTexture_pipeline::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture_pipeline" );
+ meta->registerClass(domGles_pipeline_settings::domTexture_pipeline::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domTexture_pipeline,elemValue) );
+ mea->setElementType( domGles_texture_pipeline::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domTexture_pipeline));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domAlpha_test_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domAlpha_test_enableRef ref = new domGles_pipeline_settings::domAlpha_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domAlpha_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "alpha_test_enable" );
+ meta->registerClass(domGles_pipeline_settings::domAlpha_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domAlpha_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domAlpha_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domAlpha_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domBlend_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domBlend_enableRef ref = new domGles_pipeline_settings::domBlend_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domBlend_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_enable" );
+ meta->registerClass(domGles_pipeline_settings::domBlend_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domBlend_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domBlend_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domBlend_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domClip_plane_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domClip_plane_enableRef ref = new domGles_pipeline_settings::domClip_plane_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domClip_plane_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "clip_plane_enable" );
+ meta->registerClass(domGles_pipeline_settings::domClip_plane_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domClip_plane_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domClip_plane_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gles_max_clip_planes_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domClip_plane_enable , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domClip_plane_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domColor_logic_op_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domColor_logic_op_enableRef ref = new domGles_pipeline_settings::domColor_logic_op_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domColor_logic_op_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "color_logic_op_enable" );
+ meta->registerClass(domGles_pipeline_settings::domColor_logic_op_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domColor_logic_op_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domColor_logic_op_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domColor_logic_op_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domColor_material_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domColor_material_enableRef ref = new domGles_pipeline_settings::domColor_material_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domColor_material_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "color_material_enable" );
+ meta->registerClass(domGles_pipeline_settings::domColor_material_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domColor_material_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "true");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domColor_material_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domColor_material_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domCull_face_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domCull_face_enableRef ref = new domGles_pipeline_settings::domCull_face_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domCull_face_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cull_face_enable" );
+ meta->registerClass(domGles_pipeline_settings::domCull_face_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domCull_face_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domCull_face_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domCull_face_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domDepth_test_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domDepth_test_enableRef ref = new domGles_pipeline_settings::domDepth_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domDepth_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_test_enable" );
+ meta->registerClass(domGles_pipeline_settings::domDepth_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDepth_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDepth_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domDepth_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domDither_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domDither_enableRef ref = new domGles_pipeline_settings::domDither_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domDither_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dither_enable" );
+ meta->registerClass(domGles_pipeline_settings::domDither_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDither_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDither_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domDither_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domFog_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domFog_enableRef ref = new domGles_pipeline_settings::domFog_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domFog_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_enable" );
+ meta->registerClass(domGles_pipeline_settings::domFog_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domFog_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_enableRef ref = new domGles_pipeline_settings::domLight_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_enable" );
+ meta->registerClass(domGles_pipeline_settings::domLight_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gles_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_enable , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLighting_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLighting_enableRef ref = new domGles_pipeline_settings::domLighting_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLighting_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "lighting_enable" );
+ meta->registerClass(domGles_pipeline_settings::domLighting_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLighting_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLighting_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLighting_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_model_two_side_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_model_two_side_enableRef ref = new domGles_pipeline_settings::domLight_model_two_side_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_model_two_side_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_model_two_side_enable" );
+ meta->registerClass(domGles_pipeline_settings::domLight_model_two_side_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_model_two_side_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_model_two_side_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_model_two_side_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLine_smooth_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLine_smooth_enableRef ref = new domGles_pipeline_settings::domLine_smooth_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLine_smooth_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "line_smooth_enable" );
+ meta->registerClass(domGles_pipeline_settings::domLine_smooth_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLine_smooth_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLine_smooth_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLine_smooth_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domMultisample_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domMultisample_enableRef ref = new domGles_pipeline_settings::domMultisample_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domMultisample_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "multisample_enable" );
+ meta->registerClass(domGles_pipeline_settings::domMultisample_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMultisample_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMultisample_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domMultisample_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domNormalize_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domNormalize_enableRef ref = new domGles_pipeline_settings::domNormalize_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domNormalize_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "normalize_enable" );
+ meta->registerClass(domGles_pipeline_settings::domNormalize_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domNormalize_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domNormalize_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domNormalize_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domPoint_smooth_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domPoint_smooth_enableRef ref = new domGles_pipeline_settings::domPoint_smooth_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domPoint_smooth_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_smooth_enable" );
+ meta->registerClass(domGles_pipeline_settings::domPoint_smooth_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_smooth_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_smooth_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domPoint_smooth_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domPolygon_offset_fill_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domPolygon_offset_fill_enableRef ref = new domGles_pipeline_settings::domPolygon_offset_fill_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domPolygon_offset_fill_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_offset_fill_enable" );
+ meta->registerClass(domGles_pipeline_settings::domPolygon_offset_fill_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPolygon_offset_fill_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPolygon_offset_fill_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domPolygon_offset_fill_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domRescale_normal_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domRescale_normal_enableRef ref = new domGles_pipeline_settings::domRescale_normal_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domRescale_normal_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "rescale_normal_enable" );
+ meta->registerClass(domGles_pipeline_settings::domRescale_normal_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domRescale_normal_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domRescale_normal_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domRescale_normal_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domSample_alpha_to_coverage_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domSample_alpha_to_coverage_enableRef ref = new domGles_pipeline_settings::domSample_alpha_to_coverage_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domSample_alpha_to_coverage_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sample_alpha_to_coverage_enable" );
+ meta->registerClass(domGles_pipeline_settings::domSample_alpha_to_coverage_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domSample_alpha_to_coverage_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domSample_alpha_to_coverage_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domSample_alpha_to_coverage_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domSample_alpha_to_one_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domSample_alpha_to_one_enableRef ref = new domGles_pipeline_settings::domSample_alpha_to_one_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domSample_alpha_to_one_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sample_alpha_to_one_enable" );
+ meta->registerClass(domGles_pipeline_settings::domSample_alpha_to_one_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domSample_alpha_to_one_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domSample_alpha_to_one_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domSample_alpha_to_one_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domSample_coverage_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domSample_coverage_enableRef ref = new domGles_pipeline_settings::domSample_coverage_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domSample_coverage_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sample_coverage_enable" );
+ meta->registerClass(domGles_pipeline_settings::domSample_coverage_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domSample_coverage_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domSample_coverage_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domSample_coverage_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domScissor_test_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domScissor_test_enableRef ref = new domGles_pipeline_settings::domScissor_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domScissor_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "scissor_test_enable" );
+ meta->registerClass(domGles_pipeline_settings::domScissor_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domScissor_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domScissor_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domScissor_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_test_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_test_enableRef ref = new domGles_pipeline_settings::domStencil_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_test_enable" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles_sampler.cpp b/1.4.0/dom/src/1.5/dom/domGles_sampler.cpp
new file mode 100644
index 0000000..5373b11
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles_sampler.cpp
@@ -0,0 +1,101 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles_sampler.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles_sampler::create(DAE& dae)
+{
+ domGles_samplerRef ref = new domGles_sampler(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_sampler::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_sampler" );
+ meta->registerClass(domGles_sampler::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "instance_image" );
+ mea->setOffset( daeOffsetOf(domGles_sampler,elemInstance_image) );
+ mea->setElementType( domInstance_image::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "texcoord" );
+ mea->setOffset( daeOffsetOf(domGles_sampler,elemTexcoord) );
+ mea->setElementType( domGles_sampler::domTexcoord::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "gles_sampler_states" );
+ mea->setOffset( daeOffsetOf(domGles_sampler,elemGles_sampler_states) );
+ mea->setElementType( domGles_sampler_states::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 2, 1, 1 ) );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles_sampler));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_sampler::domTexcoord::create(DAE& dae)
+{
+ domGles_sampler::domTexcoordRef ref = new domGles_sampler::domTexcoord(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_sampler::domTexcoord::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texcoord" );
+ meta->registerClass(domGles_sampler::domTexcoord::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: semantic
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "semantic" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_sampler::domTexcoord , attrSemantic ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_sampler::domTexcoord));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles_sampler_states.cpp b/1.4.0/dom/src/1.5/dom/domGles_sampler_states.cpp
new file mode 100644
index 0000000..f028be6
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles_sampler_states.cpp
@@ -0,0 +1,346 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles_sampler_states.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles_sampler_states::create(DAE& dae)
+{
+ domGles_sampler_statesRef ref = new domGles_sampler_states(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_sampler_states::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_sampler_states" );
+ meta->registerClass(domGles_sampler_states::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "wrap_s" );
+ mea->setOffset( daeOffsetOf(domGles_sampler_states,elemWrap_s) );
+ mea->setElementType( domGles_sampler_states::domWrap_s::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "wrap_t" );
+ mea->setOffset( daeOffsetOf(domGles_sampler_states,elemWrap_t) );
+ mea->setElementType( domGles_sampler_states::domWrap_t::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "minfilter" );
+ mea->setOffset( daeOffsetOf(domGles_sampler_states,elemMinfilter) );
+ mea->setElementType( domGles_sampler_states::domMinfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "magfilter" );
+ mea->setOffset( daeOffsetOf(domGles_sampler_states,elemMagfilter) );
+ mea->setElementType( domGles_sampler_states::domMagfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "mipfilter" );
+ mea->setOffset( daeOffsetOf(domGles_sampler_states,elemMipfilter) );
+ mea->setElementType( domGles_sampler_states::domMipfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "mip_max_level" );
+ mea->setOffset( daeOffsetOf(domGles_sampler_states,elemMip_max_level) );
+ mea->setElementType( domGles_sampler_states::domMip_max_level::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "mip_bias" );
+ mea->setOffset( daeOffsetOf(domGles_sampler_states,elemMip_bias) );
+ mea->setElementType( domGles_sampler_states::domMip_bias::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 7, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domGles_sampler_states,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 7 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles_sampler_states));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_sampler_states::domWrap_s::create(DAE& dae)
+{
+ domGles_sampler_states::domWrap_sRef ref = new domGles_sampler_states::domWrap_s(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_sampler_states::domWrap_s::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "wrap_s" );
+ meta->registerClass(domGles_sampler_states::domWrap_s::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Gles_sampler_wrap"));
+ ma->setOffset( daeOffsetOf( domGles_sampler_states::domWrap_s , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_sampler_states::domWrap_s));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_sampler_states::domWrap_t::create(DAE& dae)
+{
+ domGles_sampler_states::domWrap_tRef ref = new domGles_sampler_states::domWrap_t(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_sampler_states::domWrap_t::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "wrap_t" );
+ meta->registerClass(domGles_sampler_states::domWrap_t::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Gles_sampler_wrap"));
+ ma->setOffset( daeOffsetOf( domGles_sampler_states::domWrap_t , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_sampler_states::domWrap_t));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_sampler_states::domMinfilter::create(DAE& dae)
+{
+ domGles_sampler_states::domMinfilterRef ref = new domGles_sampler_states::domMinfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_sampler_states::domMinfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "minfilter" );
+ meta->registerClass(domGles_sampler_states::domMinfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_min_filter"));
+ ma->setOffset( daeOffsetOf( domGles_sampler_states::domMinfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_sampler_states::domMinfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_sampler_states::domMagfilter::create(DAE& dae)
+{
+ domGles_sampler_states::domMagfilterRef ref = new domGles_sampler_states::domMagfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_sampler_states::domMagfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "magfilter" );
+ meta->registerClass(domGles_sampler_states::domMagfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_mag_filter"));
+ ma->setOffset( daeOffsetOf( domGles_sampler_states::domMagfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_sampler_states::domMagfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_sampler_states::domMipfilter::create(DAE& dae)
+{
+ domGles_sampler_states::domMipfilterRef ref = new domGles_sampler_states::domMipfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_sampler_states::domMipfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mipfilter" );
+ meta->registerClass(domGles_sampler_states::domMipfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_mip_filter"));
+ ma->setOffset( daeOffsetOf( domGles_sampler_states::domMipfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_sampler_states::domMipfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_sampler_states::domMip_max_level::create(DAE& dae)
+{
+ domGles_sampler_states::domMip_max_levelRef ref = new domGles_sampler_states::domMip_max_level(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_sampler_states::domMip_max_level::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mip_max_level" );
+ meta->registerClass(domGles_sampler_states::domMip_max_level::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGles_sampler_states::domMip_max_level , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_sampler_states::domMip_max_level));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_sampler_states::domMip_bias::create(DAE& dae)
+{
+ domGles_sampler_states::domMip_biasRef ref = new domGles_sampler_states::domMip_bias(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_sampler_states::domMip_bias::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mip_bias" );
+ meta->registerClass(domGles_sampler_states::domMip_bias::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domGles_sampler_states::domMip_bias , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_sampler_states::domMip_bias));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles_texcombiner_argument_alpha.cpp b/1.4.0/dom/src/1.5/dom/domGles_texcombiner_argument_alpha.cpp
new file mode 100644
index 0000000..b7e8bb9
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles_texcombiner_argument_alpha.cpp
@@ -0,0 +1,74 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles_texcombiner_argument_alpha.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles_texcombiner_argument_alpha::create(DAE& dae)
+{
+ domGles_texcombiner_argument_alphaRef ref = new domGles_texcombiner_argument_alpha(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_texcombiner_argument_alpha::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_texcombiner_argument_alpha" );
+ meta->registerClass(domGles_texcombiner_argument_alpha::create);
+
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("Gles_texcombiner_source"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_argument_alpha , attrSource ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: operand
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "operand" );
+ ma->setType( dae.getAtomicTypes().get("Gles_texcombiner_operand_alpha"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_argument_alpha , attrOperand ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "SRC_ALPHA");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sampler
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sampler" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_argument_alpha , attrSampler ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_texcombiner_argument_alpha));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles_texcombiner_argument_rgb.cpp b/1.4.0/dom/src/1.5/dom/domGles_texcombiner_argument_rgb.cpp
new file mode 100644
index 0000000..ea031b5
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles_texcombiner_argument_rgb.cpp
@@ -0,0 +1,74 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles_texcombiner_argument_rgb.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles_texcombiner_argument_rgb::create(DAE& dae)
+{
+ domGles_texcombiner_argument_rgbRef ref = new domGles_texcombiner_argument_rgb(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_texcombiner_argument_rgb::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_texcombiner_argument_rgb" );
+ meta->registerClass(domGles_texcombiner_argument_rgb::create);
+
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("Gles_texcombiner_source"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_argument_rgb , attrSource ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: operand
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "operand" );
+ ma->setType( dae.getAtomicTypes().get("Gles_texcombiner_operand_rgb"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_argument_rgb , attrOperand ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "SRC_COLOR");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sampler
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sampler" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_argument_rgb , attrSampler ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_texcombiner_argument_rgb));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles_texcombiner_command.cpp b/1.4.0/dom/src/1.5/dom/domGles_texcombiner_command.cpp
new file mode 100644
index 0000000..f233771
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles_texcombiner_command.cpp
@@ -0,0 +1,63 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles_texcombiner_command.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles_texcombiner_command::create(DAE& dae)
+{
+ domGles_texcombiner_commandRef ref = new domGles_texcombiner_command(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_texcombiner_command::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_texcombiner_command" );
+ meta->registerClass(domGles_texcombiner_command::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "constant" );
+ mea->setOffset( daeOffsetOf(domGles_texcombiner_command,elemConstant) );
+ mea->setElementType( domGles_texture_constant::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "RGB" );
+ mea->setOffset( daeOffsetOf(domGles_texcombiner_command,elemRGB) );
+ mea->setElementType( domGles_texcombiner_command_rgb::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "alpha" );
+ mea->setOffset( daeOffsetOf(domGles_texcombiner_command,elemAlpha) );
+ mea->setElementType( domGles_texcombiner_command_alpha::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles_texcombiner_command));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles_texcombiner_command_alpha.cpp b/1.4.0/dom/src/1.5/dom/domGles_texcombiner_command_alpha.cpp
new file mode 100644
index 0000000..5206c77
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles_texcombiner_command_alpha.cpp
@@ -0,0 +1,74 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles_texcombiner_command_alpha.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles_texcombiner_command_alpha::create(DAE& dae)
+{
+ domGles_texcombiner_command_alphaRef ref = new domGles_texcombiner_command_alpha(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_texcombiner_command_alpha::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_texcombiner_command_alpha" );
+ meta->registerClass(domGles_texcombiner_command_alpha::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 3 );
+ mea->setName( "argument" );
+ mea->setOffset( daeOffsetOf(domGles_texcombiner_command_alpha,elemArgument_array) );
+ mea->setElementType( domGles_texcombiner_argument_alpha::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: operator
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "operator" );
+ ma->setType( dae.getAtomicTypes().get("Gles_texcombiner_operator_alpha"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_command_alpha , attrOperator ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: scale
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "scale" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_command_alpha , attrScale ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_texcombiner_command_alpha));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles_texcombiner_command_rgb.cpp b/1.4.0/dom/src/1.5/dom/domGles_texcombiner_command_rgb.cpp
new file mode 100644
index 0000000..9ab86de
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles_texcombiner_command_rgb.cpp
@@ -0,0 +1,74 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles_texcombiner_command_rgb.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles_texcombiner_command_rgb::create(DAE& dae)
+{
+ domGles_texcombiner_command_rgbRef ref = new domGles_texcombiner_command_rgb(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_texcombiner_command_rgb::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_texcombiner_command_rgb" );
+ meta->registerClass(domGles_texcombiner_command_rgb::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 3 );
+ mea->setName( "argument" );
+ mea->setOffset( daeOffsetOf(domGles_texcombiner_command_rgb,elemArgument_array) );
+ mea->setElementType( domGles_texcombiner_argument_rgb::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: operator
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "operator" );
+ ma->setType( dae.getAtomicTypes().get("Gles_texcombiner_operator_rgb"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_command_rgb , attrOperator ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: scale
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "scale" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_command_rgb , attrScale ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_texcombiner_command_rgb));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles_texenv_command.cpp b/1.4.0/dom/src/1.5/dom/domGles_texenv_command.cpp
new file mode 100644
index 0000000..02d57ef
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles_texenv_command.cpp
@@ -0,0 +1,73 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles_texenv_command.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles_texenv_command::create(DAE& dae)
+{
+ domGles_texenv_commandRef ref = new domGles_texenv_command(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_texenv_command::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_texenv_command" );
+ meta->registerClass(domGles_texenv_command::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "constant" );
+ mea->setOffset( daeOffsetOf(domGles_texenv_command,elemConstant) );
+ mea->setElementType( domGles_texture_constant::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: operator
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "operator" );
+ ma->setType( dae.getAtomicTypes().get("Gles_texenv_mode"));
+ ma->setOffset( daeOffsetOf( domGles_texenv_command , attrOperator ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sampler
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sampler" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_texenv_command , attrSampler ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_texenv_command));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles_texture_constant.cpp b/1.4.0/dom/src/1.5/dom/domGles_texture_constant.cpp
new file mode 100644
index 0000000..b1a38c9
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles_texture_constant.cpp
@@ -0,0 +1,63 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles_texture_constant.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles_texture_constant::create(DAE& dae)
+{
+ domGles_texture_constantRef ref = new domGles_texture_constant(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_texture_constant::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_texture_constant" );
+ meta->registerClass(domGles_texture_constant::create);
+
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_texture_constant , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_texture_constant , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_texture_constant));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles_texture_pipeline.cpp b/1.4.0/dom/src/1.5/dom/domGles_texture_pipeline.cpp
new file mode 100644
index 0000000..641d6a1
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles_texture_pipeline.cpp
@@ -0,0 +1,78 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles_texture_pipeline.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles_texture_pipeline::create(DAE& dae)
+{
+ domGles_texture_pipelineRef ref = new domGles_texture_pipeline(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_texture_pipeline::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_texture_pipeline" );
+ meta->registerClass(domGles_texture_pipeline::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texcombiner" );
+ mea->setOffset( daeOffsetOf(domGles_texture_pipeline,elemTexcombiner_array) );
+ mea->setElementType( domGles_texcombiner_command::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texenv" );
+ mea->setOffset( daeOffsetOf(domGles_texture_pipeline,elemTexenv_array) );
+ mea->setElementType( domGles_texenv_command::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domGles_texture_pipeline,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3000 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGles_texture_pipeline,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGles_texture_pipeline,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGles_texture_pipeline,_CMData), 1);
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domGles_texture_pipeline , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_texture_pipeline));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGlsl_array.cpp b/1.4.0/dom/src/1.5/dom/domGlsl_array.cpp
new file mode 100644
index 0000000..f77b7c0
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGlsl_array.cpp
@@ -0,0 +1,63 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGlsl_array.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGlsl_array::create(DAE& dae)
+{
+ domGlsl_arrayRef ref = new domGlsl_array(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_array::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "glsl_array" );
+ meta->registerClass(domGlsl_array::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "glsl_value" );
+ mea->setOffset( daeOffsetOf(domGlsl_array,elemGlsl_value_array) );
+ mea->setElementType( domGlsl_value::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, -1 ) );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: length
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "length" );
+ ma->setType( dae.getAtomicTypes().get("xsPositiveInteger"));
+ ma->setOffset( daeOffsetOf( domGlsl_array , attrLength ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_array));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGlsl_newparam.cpp b/1.4.0/dom/src/1.5/dom/domGlsl_newparam.cpp
new file mode 100644
index 0000000..88b3d8d
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGlsl_newparam.cpp
@@ -0,0 +1,153 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGlsl_newparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGlsl_newparam::create(DAE& dae)
+{
+ domGlsl_newparamRef ref = new domGlsl_newparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_newparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "glsl_newparam" );
+ meta->registerClass(domGlsl_newparam::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domGlsl_newparam,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "semantic" );
+ mea->setOffset( daeOffsetOf(domGlsl_newparam,elemSemantic) );
+ mea->setElementType( domGlsl_newparam::domSemantic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "modifier" );
+ mea->setOffset( daeOffsetOf(domGlsl_newparam,elemModifier) );
+ mea->setElementType( domGlsl_newparam::domModifier::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "glsl_value" );
+ mea->setOffset( daeOffsetOf(domGlsl_newparam,elemGlsl_value) );
+ mea->setElementType( domGlsl_value::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 3, 1, 1 ) );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domGlsl_newparam , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_newparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_newparam::domSemantic::create(DAE& dae)
+{
+ domGlsl_newparam::domSemanticRef ref = new domGlsl_newparam::domSemantic(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_newparam::domSemantic::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "semantic" );
+ meta->registerClass(domGlsl_newparam::domSemantic::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGlsl_newparam::domSemantic , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_newparam::domSemantic));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_newparam::domModifier::create(DAE& dae)
+{
+ domGlsl_newparam::domModifierRef ref = new domGlsl_newparam::domModifier(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_newparam::domModifier::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "modifier" );
+ meta->registerClass(domGlsl_newparam::domModifier::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_modifier"));
+ ma->setOffset( daeOffsetOf( domGlsl_newparam::domModifier , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_newparam::domModifier));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGlsl_program.cpp b/1.4.0/dom/src/1.5/dom/domGlsl_program.cpp
new file mode 100644
index 0000000..04c4a28
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGlsl_program.cpp
@@ -0,0 +1,254 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGlsl_program.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGlsl_program::create(DAE& dae)
+{
+ domGlsl_programRef ref = new domGlsl_program(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_program::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "glsl_program" );
+ meta->registerClass(domGlsl_program::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "shader" );
+ mea->setOffset( daeOffsetOf(domGlsl_program,elemShader_array) );
+ mea->setElementType( domGlsl_shader::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "bind_attribute" );
+ mea->setOffset( daeOffsetOf(domGlsl_program,elemBind_attribute_array) );
+ mea->setElementType( domGlsl_program::domBind_attribute::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "bind_uniform" );
+ mea->setOffset( daeOffsetOf(domGlsl_program,elemBind_uniform_array) );
+ mea->setElementType( domGlsl_program::domBind_uniform::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGlsl_program));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_program::domBind_attribute::create(DAE& dae)
+{
+ domGlsl_program::domBind_attributeRef ref = new domGlsl_program::domBind_attribute(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_program::domBind_attribute::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind_attribute" );
+ meta->registerClass(domGlsl_program::domBind_attribute::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "semantic" );
+ mea->setOffset( daeOffsetOf(domGlsl_program::domBind_attribute,elemSemantic) );
+ mea->setElementType( domGlsl_program::domBind_attribute::domSemantic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGlsl_program::domBind_attribute,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGlsl_program::domBind_attribute,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGlsl_program::domBind_attribute,_CMData), 1);
+ // Add attribute: symbol
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "symbol" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGlsl_program::domBind_attribute , attrSymbol ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_program::domBind_attribute));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_program::domBind_attribute::domSemantic::create(DAE& dae)
+{
+ domGlsl_program::domBind_attribute::domSemanticRef ref = new domGlsl_program::domBind_attribute::domSemantic(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_program::domBind_attribute::domSemantic::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "semantic" );
+ meta->registerClass(domGlsl_program::domBind_attribute::domSemantic::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGlsl_program::domBind_attribute::domSemantic , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_program::domBind_attribute::domSemantic));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_program::domBind_uniform::create(DAE& dae)
+{
+ domGlsl_program::domBind_uniformRef ref = new domGlsl_program::domBind_uniform(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_program::domBind_uniform::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind_uniform" );
+ meta->registerClass(domGlsl_program::domBind_uniform::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domGlsl_program::domBind_uniform,elemParam) );
+ mea->setElementType( domGlsl_program::domBind_uniform::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "glsl_value" );
+ mea->setOffset( daeOffsetOf(domGlsl_program::domBind_uniform,elemGlsl_value) );
+ mea->setElementType( domGlsl_value::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGlsl_program::domBind_uniform,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGlsl_program::domBind_uniform,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGlsl_program::domBind_uniform,_CMData), 1);
+ // Add attribute: symbol
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "symbol" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGlsl_program::domBind_uniform , attrSymbol ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_program::domBind_uniform));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_program::domBind_uniform::domParam::create(DAE& dae)
+{
+ domGlsl_program::domBind_uniform::domParamRef ref = new domGlsl_program::domBind_uniform::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_program::domBind_uniform::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domGlsl_program::domBind_uniform::domParam::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGlsl_program::domBind_uniform::domParam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_program::domBind_uniform::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGlsl_shader.cpp b/1.4.0/dom/src/1.5/dom/domGlsl_shader.cpp
new file mode 100644
index 0000000..2f22b4b
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGlsl_shader.cpp
@@ -0,0 +1,69 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGlsl_shader.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGlsl_shader::create(DAE& dae)
+{
+ domGlsl_shaderRef ref = new domGlsl_shader(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_shader::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "glsl_shader" );
+ meta->registerClass(domGlsl_shader::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sources" );
+ mea->setOffset( daeOffsetOf(domGlsl_shader,elemSources) );
+ mea->setElementType( domFx_sources::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domGlsl_shader,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: stage
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "stage" );
+ ma->setType( dae.getAtomicTypes().get("Fx_pipeline_stage"));
+ ma->setOffset( daeOffsetOf( domGlsl_shader , attrStage ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_shader));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGlsl_value.cpp b/1.4.0/dom/src/1.5/dom/domGlsl_value.cpp
new file mode 100644
index 0000000..89d8698
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGlsl_value.cpp
@@ -0,0 +1,764 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGlsl_value.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGlsl_value::create(DAE& dae)
+{
+ domGlsl_valueRef ref = new domGlsl_value(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "glsl_value" );
+ meta->registerClass(domGlsl_value::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemBool) );
+ mea->setElementType( domGlsl_value::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemBool2) );
+ mea->setElementType( domGlsl_value::domBool2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemBool3) );
+ mea->setElementType( domGlsl_value::domBool3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemBool4) );
+ mea->setElementType( domGlsl_value::domBool4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemFloat) );
+ mea->setElementType( domGlsl_value::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemFloat2) );
+ mea->setElementType( domGlsl_value::domFloat2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemFloat3) );
+ mea->setElementType( domGlsl_value::domFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemFloat4) );
+ mea->setElementType( domGlsl_value::domFloat4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x2" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemFloat2x2) );
+ mea->setElementType( domGlsl_value::domFloat2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x3" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemFloat3x3) );
+ mea->setElementType( domGlsl_value::domFloat3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x4" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemFloat4x4) );
+ mea->setElementType( domGlsl_value::domFloat4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemInt) );
+ mea->setElementType( domGlsl_value::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemInt2) );
+ mea->setElementType( domGlsl_value::domInt2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemInt3) );
+ mea->setElementType( domGlsl_value::domInt3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemInt4) );
+ mea->setElementType( domGlsl_value::domInt4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler1D" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemSampler1D) );
+ mea->setElementType( domFx_sampler1D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler2D" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemSampler2D) );
+ mea->setElementType( domFx_sampler2D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler3D" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemSampler3D) );
+ mea->setElementType( domFx_sampler3D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerCUBE" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemSamplerCUBE) );
+ mea->setElementType( domFx_samplerCUBE::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerRECT" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemSamplerRECT) );
+ mea->setElementType( domFx_samplerRECT::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerDEPTH" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemSamplerDEPTH) );
+ mea->setElementType( domFx_samplerDEPTH::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "enum" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemEnum) );
+ mea->setElementType( domGlsl_value::domEnum::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "array" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemArray) );
+ mea->setElementType( domGlsl_array::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGlsl_value,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGlsl_value,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGlsl_value,_CMData), 1);
+ meta->setElementSize(sizeof(domGlsl_value));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domBool::create(DAE& dae)
+{
+ domGlsl_value::domBoolRef ref = new domGlsl_value::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domGlsl_value::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domBool2::create(DAE& dae)
+{
+ domGlsl_value::domBool2Ref ref = new domGlsl_value::domBool2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domBool2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2" );
+ meta->registerClass(domGlsl_value::domBool2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool2"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domBool2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domBool2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domBool3::create(DAE& dae)
+{
+ domGlsl_value::domBool3Ref ref = new domGlsl_value::domBool3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domBool3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3" );
+ meta->registerClass(domGlsl_value::domBool3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool3"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domBool3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domBool3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domBool4::create(DAE& dae)
+{
+ domGlsl_value::domBool4Ref ref = new domGlsl_value::domBool4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domBool4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4" );
+ meta->registerClass(domGlsl_value::domBool4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domBool4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domBool4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domFloat::create(DAE& dae)
+{
+ domGlsl_value::domFloatRef ref = new domGlsl_value::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domGlsl_value::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domFloat2::create(DAE& dae)
+{
+ domGlsl_value::domFloat2Ref ref = new domGlsl_value::domFloat2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domFloat2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2" );
+ meta->registerClass(domGlsl_value::domFloat2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domFloat2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domFloat2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domFloat3::create(DAE& dae)
+{
+ domGlsl_value::domFloat3Ref ref = new domGlsl_value::domFloat3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domFloat3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3" );
+ meta->registerClass(domGlsl_value::domFloat3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domFloat3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domFloat3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domFloat4::create(DAE& dae)
+{
+ domGlsl_value::domFloat4Ref ref = new domGlsl_value::domFloat4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domFloat4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4" );
+ meta->registerClass(domGlsl_value::domFloat4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domFloat4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domFloat4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domFloat2x2::create(DAE& dae)
+{
+ domGlsl_value::domFloat2x2Ref ref = new domGlsl_value::domFloat2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domFloat2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x2" );
+ meta->registerClass(domGlsl_value::domFloat2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x2"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domFloat2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domFloat2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domFloat3x3::create(DAE& dae)
+{
+ domGlsl_value::domFloat3x3Ref ref = new domGlsl_value::domFloat3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domFloat3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x3" );
+ meta->registerClass(domGlsl_value::domFloat3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x3"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domFloat3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domFloat3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domFloat4x4::create(DAE& dae)
+{
+ domGlsl_value::domFloat4x4Ref ref = new domGlsl_value::domFloat4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domFloat4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x4" );
+ meta->registerClass(domGlsl_value::domFloat4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domFloat4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domFloat4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domInt::create(DAE& dae)
+{
+ domGlsl_value::domIntRef ref = new domGlsl_value::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domGlsl_value::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domInt2::create(DAE& dae)
+{
+ domGlsl_value::domInt2Ref ref = new domGlsl_value::domInt2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domInt2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2" );
+ meta->registerClass(domGlsl_value::domInt2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int2"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domInt2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domInt2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domInt3::create(DAE& dae)
+{
+ domGlsl_value::domInt3Ref ref = new domGlsl_value::domInt3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domInt3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3" );
+ meta->registerClass(domGlsl_value::domInt3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int3"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domInt3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domInt3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domInt4::create(DAE& dae)
+{
+ domGlsl_value::domInt4Ref ref = new domGlsl_value::domInt4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domInt4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4" );
+ meta->registerClass(domGlsl_value::domInt4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int4"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domInt4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domInt4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domEnum::create(DAE& dae)
+{
+ domGlsl_value::domEnumRef ref = new domGlsl_value::domEnum(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domEnum::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "enum" );
+ meta->registerClass(domGlsl_value::domEnum::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_enumeration"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domEnum , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domEnum));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domHyperbola.cpp b/1.4.0/dom/src/1.5/dom/domHyperbola.cpp
new file mode 100644
index 0000000..b915a9f
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domHyperbola.cpp
@@ -0,0 +1,93 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domHyperbola.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domHyperbola::create(DAE& dae)
+{
+ domHyperbolaRef ref = new domHyperbola(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domHyperbola::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "hyperbola" );
+ meta->registerClass(domHyperbola::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "radius" );
+ mea->setOffset( daeOffsetOf(domHyperbola,elemRadius) );
+ mea->setElementType( domHyperbola::domRadius::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domHyperbola,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domHyperbola));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domHyperbola::domRadius::create(DAE& dae)
+{
+ domHyperbola::domRadiusRef ref = new domHyperbola::domRadius(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domHyperbola::domRadius::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "radius" );
+ meta->registerClass(domHyperbola::domRadius::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domHyperbola::domRadius , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domHyperbola::domRadius));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domIdref_array.cpp b/1.4.0/dom/src/1.5/dom/domIdref_array.cpp
new file mode 100644
index 0000000..efb9562
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domIdref_array.cpp
@@ -0,0 +1,82 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domIdref_array.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domIdref_array::create(DAE& dae)
+{
+ domIdref_arrayRef ref = new domIdref_array(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domIdref_array::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "idref_array" );
+ meta->registerClass(domIdref_array::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsIDREFS"));
+ ma->setOffset( daeOffsetOf( domIdref_array , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domIdref_array , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domIdref_array , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domIdref_array , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domIdref_array));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domImage.cpp b/1.4.0/dom/src/1.5/dom/domImage.cpp
new file mode 100644
index 0000000..9e9d4bc
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domImage.cpp
@@ -0,0 +1,1531 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domImage.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domImage::create(DAE& dae)
+{
+ domImageRef ref = new domImage(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "image" );
+ meta->registerClass(domImage::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domImage,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "renderable" );
+ mea->setOffset( daeOffsetOf(domImage,elemRenderable) );
+ mea->setElementType( domImage::domRenderable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 2, 0, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "init_from" );
+ mea->setOffset( daeOffsetOf(domImage,elemInit_from) );
+ mea->setElementType( domImage::domInit_from::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "create_2d" );
+ mea->setOffset( daeOffsetOf(domImage,elemCreate_2d) );
+ mea->setElementType( domImage::domCreate_2d::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "create_3d" );
+ mea->setOffset( daeOffsetOf(domImage,elemCreate_3d) );
+ mea->setElementType( domImage::domCreate_3d::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "create_cube" );
+ mea->setOffset( daeOffsetOf(domImage,elemCreate_cube) );
+ mea->setElementType( domImage::domCreate_cube::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domImage,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domImage,_contents));
+ meta->addContentsOrder(daeOffsetOf(domImage,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domImage,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domImage , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domImage , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domImage , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domRenderable::create(DAE& dae)
+{
+ domImage::domRenderableRef ref = new domImage::domRenderable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domRenderable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "renderable" );
+ meta->registerClass(domImage::domRenderable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: share
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "share" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domImage::domRenderable , attrShare ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domRenderable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domInit_from::create(DAE& dae)
+{
+ domImage::domInit_fromRef ref = new domImage::domInit_from(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domInit_from::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "init_from" );
+ meta->registerClass(domImage::domInit_from::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ref" );
+ mea->setOffset( daeOffsetOf(domImage::domInit_from,elemRef) );
+ mea->setElementType( domRef::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "hex" );
+ mea->setOffset( daeOffsetOf(domImage::domInit_from,elemHex) );
+ mea->setElementType( domHex::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domImage::domInit_from,_contents));
+ meta->addContentsOrder(daeOffsetOf(domImage::domInit_from,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domImage::domInit_from,_CMData), 1);
+ // Add attribute: mips_generate
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "mips_generate" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domImage::domInit_from , attrMips_generate ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "true");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domInit_from));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_2d::create(DAE& dae)
+{
+ domImage::domCreate_2dRef ref = new domImage::domCreate_2d(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_2d::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "create_2d" );
+ meta->registerClass(domImage::domCreate_2d::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "size_exact" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_2d,elemSize_exact) );
+ mea->setElementType( domImage::domCreate_2d::domSize_exact::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "size_ratio" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_2d,elemSize_ratio) );
+ mea->setElementType( domImage::domCreate_2d::domSize_ratio::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaChoice( meta, cm, 1, 1, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "mips" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_2d,elemMips) );
+ mea->setElementType( domImage_mips::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "unnormalized" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_2d,elemUnnormalized) );
+ mea->setElementType( domImage::domCreate_2d::domUnnormalized::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "array" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_2d,elemArray) );
+ mea->setElementType( domImage::domCreate_2d::domArray::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "format" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_2d,elemFormat) );
+ mea->setElementType( domImage::domCreate_2d::domFormat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "init_from" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_2d,elemInit_from_array) );
+ mea->setElementType( domImage::domCreate_2d::domInit_from::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domImage::domCreate_2d,_contents));
+ meta->addContentsOrder(daeOffsetOf(domImage::domCreate_2d,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domImage::domCreate_2d,_CMData), 2);
+ meta->setElementSize(sizeof(domImage::domCreate_2d));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_2d::domSize_exact::create(DAE& dae)
+{
+ domImage::domCreate_2d::domSize_exactRef ref = new domImage::domCreate_2d::domSize_exact(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_2d::domSize_exact::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "size_exact" );
+ meta->registerClass(domImage::domCreate_2d::domSize_exact::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: width
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "width" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_2d::domSize_exact , attrWidth ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: height
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "height" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_2d::domSize_exact , attrHeight ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_2d::domSize_exact));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_2d::domSize_ratio::create(DAE& dae)
+{
+ domImage::domCreate_2d::domSize_ratioRef ref = new domImage::domCreate_2d::domSize_ratio(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_2d::domSize_ratio::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "size_ratio" );
+ meta->registerClass(domImage::domCreate_2d::domSize_ratio::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: width
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "width" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_2d::domSize_ratio , attrWidth ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: height
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "height" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_2d::domSize_ratio , attrHeight ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_2d::domSize_ratio));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_2d::domUnnormalized::create(DAE& dae)
+{
+ domImage::domCreate_2d::domUnnormalizedRef ref = new domImage::domCreate_2d::domUnnormalized(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_2d::domUnnormalized::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "unnormalized" );
+ meta->registerClass(domImage::domCreate_2d::domUnnormalized::create);
+
+ meta->setIsInnerClass( true );
+
+ meta->setElementSize(sizeof(domImage::domCreate_2d::domUnnormalized));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_2d::domArray::create(DAE& dae)
+{
+ domImage::domCreate_2d::domArrayRef ref = new domImage::domCreate_2d::domArray(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_2d::domArray::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "array" );
+ meta->registerClass(domImage::domCreate_2d::domArray::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: length
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "length" );
+ ma->setType( dae.getAtomicTypes().get("xsPositiveInteger"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_2d::domArray , attrLength ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_2d::domArray));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_2d::domFormat::create(DAE& dae)
+{
+ domImage::domCreate_2d::domFormatRef ref = new domImage::domCreate_2d::domFormat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_2d::domFormat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "format" );
+ meta->registerClass(domImage::domCreate_2d::domFormat::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "hint" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_2d::domFormat,elemHint) );
+ mea->setElementType( domImage::domCreate_2d::domFormat::domHint::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "exact" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_2d::domFormat,elemExact) );
+ mea->setElementType( domImage::domCreate_2d::domFormat::domExact::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domImage::domCreate_2d::domFormat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_2d::domFormat::domHint::create(DAE& dae)
+{
+ domImage::domCreate_2d::domFormat::domHintRef ref = new domImage::domCreate_2d::domFormat::domHint(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_2d::domFormat::domHint::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "hint" );
+ meta->registerClass(domImage::domCreate_2d::domFormat::domHint::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: channels
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "channels" );
+ ma->setType( dae.getAtomicTypes().get("Image_format_hint_channels"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_2d::domFormat::domHint , attrChannels ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: range
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "range" );
+ ma->setType( dae.getAtomicTypes().get("Image_format_hint_range"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_2d::domFormat::domHint , attrRange ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: precision
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "precision" );
+ ma->setType( dae.getAtomicTypes().get("Image_format_hint_precision"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_2d::domFormat::domHint , attrPrecision ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "DEFAULT");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: space
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "space" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_2d::domFormat::domHint , attrSpace ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_2d::domFormat::domHint));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_2d::domFormat::domExact::create(DAE& dae)
+{
+ domImage::domCreate_2d::domFormat::domExactRef ref = new domImage::domCreate_2d::domFormat::domExact(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_2d::domFormat::domExact::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "exact" );
+ meta->registerClass(domImage::domCreate_2d::domFormat::domExact::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_2d::domFormat::domExact , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_2d::domFormat::domExact));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_2d::domInit_from::create(DAE& dae)
+{
+ domImage::domCreate_2d::domInit_fromRef ref = new domImage::domCreate_2d::domInit_from(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_2d::domInit_from::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "init_from" );
+ meta->registerClass(domImage::domCreate_2d::domInit_from::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ref" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_2d::domInit_from,elemRef) );
+ mea->setElementType( domRef::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "hex" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_2d::domInit_from,elemHex) );
+ mea->setElementType( domHex::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domImage::domCreate_2d::domInit_from,_contents));
+ meta->addContentsOrder(daeOffsetOf(domImage::domCreate_2d::domInit_from,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domImage::domCreate_2d::domInit_from,_CMData), 1);
+ // Add attribute: mip_index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "mip_index" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_2d::domInit_from , attrMip_index ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: array_index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "array_index" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_2d::domInit_from , attrArray_index ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_2d::domInit_from));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_3d::create(DAE& dae)
+{
+ domImage::domCreate_3dRef ref = new domImage::domCreate_3d(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_3d::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "create_3d" );
+ meta->registerClass(domImage::domCreate_3d::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "size" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_3d,elemSize) );
+ mea->setElementType( domImage::domCreate_3d::domSize::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "mips" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_3d,elemMips) );
+ mea->setElementType( domImage_mips::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "array" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_3d,elemArray) );
+ mea->setElementType( domImage::domCreate_3d::domArray::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "format" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_3d,elemFormat) );
+ mea->setElementType( domImage::domCreate_3d::domFormat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "init_from" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_3d,elemInit_from_array) );
+ mea->setElementType( domImage::domCreate_3d::domInit_from::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domImage::domCreate_3d));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_3d::domSize::create(DAE& dae)
+{
+ domImage::domCreate_3d::domSizeRef ref = new domImage::domCreate_3d::domSize(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_3d::domSize::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "size" );
+ meta->registerClass(domImage::domCreate_3d::domSize::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: width
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "width" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_3d::domSize , attrWidth ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: height
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "height" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_3d::domSize , attrHeight ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: depth
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "depth" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_3d::domSize , attrDepth ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_3d::domSize));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_3d::domArray::create(DAE& dae)
+{
+ domImage::domCreate_3d::domArrayRef ref = new domImage::domCreate_3d::domArray(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_3d::domArray::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "array" );
+ meta->registerClass(domImage::domCreate_3d::domArray::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: length
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "length" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_3d::domArray , attrLength ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_3d::domArray));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_3d::domFormat::create(DAE& dae)
+{
+ domImage::domCreate_3d::domFormatRef ref = new domImage::domCreate_3d::domFormat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_3d::domFormat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "format" );
+ meta->registerClass(domImage::domCreate_3d::domFormat::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "hint" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_3d::domFormat,elemHint) );
+ mea->setElementType( domImage::domCreate_3d::domFormat::domHint::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "exact" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_3d::domFormat,elemExact) );
+ mea->setElementType( domImage::domCreate_3d::domFormat::domExact::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domImage::domCreate_3d::domFormat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_3d::domFormat::domHint::create(DAE& dae)
+{
+ domImage::domCreate_3d::domFormat::domHintRef ref = new domImage::domCreate_3d::domFormat::domHint(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_3d::domFormat::domHint::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "hint" );
+ meta->registerClass(domImage::domCreate_3d::domFormat::domHint::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: channels
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "channels" );
+ ma->setType( dae.getAtomicTypes().get("Image_format_hint_channels"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_3d::domFormat::domHint , attrChannels ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: range
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "range" );
+ ma->setType( dae.getAtomicTypes().get("Image_format_hint_range"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_3d::domFormat::domHint , attrRange ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: precision
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "precision" );
+ ma->setType( dae.getAtomicTypes().get("Image_format_hint_precision"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_3d::domFormat::domHint , attrPrecision ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "DEFAULT");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: space
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "space" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_3d::domFormat::domHint , attrSpace ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_3d::domFormat::domHint));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_3d::domFormat::domExact::create(DAE& dae)
+{
+ domImage::domCreate_3d::domFormat::domExactRef ref = new domImage::domCreate_3d::domFormat::domExact(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_3d::domFormat::domExact::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "exact" );
+ meta->registerClass(domImage::domCreate_3d::domFormat::domExact::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_3d::domFormat::domExact , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_3d::domFormat::domExact));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_3d::domInit_from::create(DAE& dae)
+{
+ domImage::domCreate_3d::domInit_fromRef ref = new domImage::domCreate_3d::domInit_from(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_3d::domInit_from::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "init_from" );
+ meta->registerClass(domImage::domCreate_3d::domInit_from::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ref" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_3d::domInit_from,elemRef) );
+ mea->setElementType( domRef::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "hex" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_3d::domInit_from,elemHex) );
+ mea->setElementType( domHex::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domImage::domCreate_3d::domInit_from,_contents));
+ meta->addContentsOrder(daeOffsetOf(domImage::domCreate_3d::domInit_from,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domImage::domCreate_3d::domInit_from,_CMData), 1);
+ // Add attribute: depth
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "depth" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_3d::domInit_from , attrDepth ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: mip_index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "mip_index" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_3d::domInit_from , attrMip_index ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: array_index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "array_index" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_3d::domInit_from , attrArray_index ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_3d::domInit_from));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_cube::create(DAE& dae)
+{
+ domImage::domCreate_cubeRef ref = new domImage::domCreate_cube(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_cube::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "create_cube" );
+ meta->registerClass(domImage::domCreate_cube::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "size" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_cube,elemSize) );
+ mea->setElementType( domImage::domCreate_cube::domSize::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "mips" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_cube,elemMips) );
+ mea->setElementType( domImage_mips::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "array" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_cube,elemArray) );
+ mea->setElementType( domImage::domCreate_cube::domArray::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "format" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_cube,elemFormat) );
+ mea->setElementType( domImage::domCreate_cube::domFormat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "init_from" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_cube,elemInit_from_array) );
+ mea->setElementType( domImage::domCreate_cube::domInit_from::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domImage::domCreate_cube));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_cube::domSize::create(DAE& dae)
+{
+ domImage::domCreate_cube::domSizeRef ref = new domImage::domCreate_cube::domSize(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_cube::domSize::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "size" );
+ meta->registerClass(domImage::domCreate_cube::domSize::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: width
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "width" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_cube::domSize , attrWidth ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_cube::domSize));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_cube::domArray::create(DAE& dae)
+{
+ domImage::domCreate_cube::domArrayRef ref = new domImage::domCreate_cube::domArray(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_cube::domArray::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "array" );
+ meta->registerClass(domImage::domCreate_cube::domArray::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: length
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "length" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_cube::domArray , attrLength ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_cube::domArray));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_cube::domFormat::create(DAE& dae)
+{
+ domImage::domCreate_cube::domFormatRef ref = new domImage::domCreate_cube::domFormat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_cube::domFormat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "format" );
+ meta->registerClass(domImage::domCreate_cube::domFormat::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "hint" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_cube::domFormat,elemHint) );
+ mea->setElementType( domImage::domCreate_cube::domFormat::domHint::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "exact" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_cube::domFormat,elemExact) );
+ mea->setElementType( domImage::domCreate_cube::domFormat::domExact::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domImage::domCreate_cube::domFormat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_cube::domFormat::domHint::create(DAE& dae)
+{
+ domImage::domCreate_cube::domFormat::domHintRef ref = new domImage::domCreate_cube::domFormat::domHint(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_cube::domFormat::domHint::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "hint" );
+ meta->registerClass(domImage::domCreate_cube::domFormat::domHint::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: channels
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "channels" );
+ ma->setType( dae.getAtomicTypes().get("Image_format_hint_channels"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_cube::domFormat::domHint , attrChannels ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: range
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "range" );
+ ma->setType( dae.getAtomicTypes().get("Image_format_hint_range"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_cube::domFormat::domHint , attrRange ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: precision
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "precision" );
+ ma->setType( dae.getAtomicTypes().get("Image_format_hint_precision"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_cube::domFormat::domHint , attrPrecision ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "DEFAULT");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: space
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "space" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_cube::domFormat::domHint , attrSpace ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_cube::domFormat::domHint));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_cube::domFormat::domExact::create(DAE& dae)
+{
+ domImage::domCreate_cube::domFormat::domExactRef ref = new domImage::domCreate_cube::domFormat::domExact(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_cube::domFormat::domExact::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "exact" );
+ meta->registerClass(domImage::domCreate_cube::domFormat::domExact::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_cube::domFormat::domExact , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_cube::domFormat::domExact));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_cube::domInit_from::create(DAE& dae)
+{
+ domImage::domCreate_cube::domInit_fromRef ref = new domImage::domCreate_cube::domInit_from(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_cube::domInit_from::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "init_from" );
+ meta->registerClass(domImage::domCreate_cube::domInit_from::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ref" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_cube::domInit_from,elemRef) );
+ mea->setElementType( domRef::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "hex" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_cube::domInit_from,elemHex) );
+ mea->setElementType( domHex::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domImage::domCreate_cube::domInit_from,_contents));
+ meta->addContentsOrder(daeOffsetOf(domImage::domCreate_cube::domInit_from,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domImage::domCreate_cube::domInit_from,_CMData), 1);
+ // Add attribute: face
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "face" );
+ ma->setType( dae.getAtomicTypes().get("Image_face"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_cube::domInit_from , attrFace ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: mip_index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "mip_index" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_cube::domInit_from , attrMip_index ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: array_index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "array_index" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_cube::domInit_from , attrArray_index ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_cube::domInit_from));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domImage_mips.cpp b/1.4.0/dom/src/1.5/dom/domImage_mips.cpp
new file mode 100644
index 0000000..dce452e
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domImage_mips.cpp
@@ -0,0 +1,63 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domImage_mips.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domImage_mips::create(DAE& dae)
+{
+ domImage_mipsRef ref = new domImage_mips(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage_mips::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "image_mips" );
+ meta->registerClass(domImage_mips::create);
+
+
+ // Add attribute: levels
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "levels" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage_mips , attrLevels ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: auto_generate
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "auto_generate" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domImage_mips , attrAuto_generate ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage_mips));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domImage_source.cpp b/1.4.0/dom/src/1.5/dom/domImage_source.cpp
new file mode 100644
index 0000000..cdd5159
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domImage_source.cpp
@@ -0,0 +1,146 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domImage_source.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domImage_source::create(DAE& dae)
+{
+ domImage_sourceRef ref = new domImage_source(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage_source::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "image_source" );
+ meta->registerClass(domImage_source::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ref" );
+ mea->setOffset( daeOffsetOf(domImage_source,elemRef) );
+ mea->setElementType( domImage_source::domRef::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "hex" );
+ mea->setOffset( daeOffsetOf(domImage_source,elemHex) );
+ mea->setElementType( domImage_source::domHex::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domImage_source,_contents));
+ meta->addContentsOrder(daeOffsetOf(domImage_source,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domImage_source,_CMData), 1);
+ meta->setElementSize(sizeof(domImage_source));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage_source::domRef::create(DAE& dae)
+{
+ domImage_source::domRefRef ref = new domImage_source::domRef(dae);
+ ref->_value.setContainer( (domImage_source::domRef*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domImage_source::domRef::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ref" );
+ meta->registerClass(domImage_source::domRef::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domImage_source::domRef , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage_source::domRef));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage_source::domHex::create(DAE& dae)
+{
+ domImage_source::domHexRef ref = new domImage_source::domHex(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage_source::domHex::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "hex" );
+ meta->registerClass(domImage_source::domHex::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_hex_binary"));
+ ma->setOffset( daeOffsetOf( domImage_source::domHex , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: format
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "format" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domImage_source::domHex , attrFormat ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage_source::domHex));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInput_global.cpp b/1.4.0/dom/src/1.5/dom/domInput_global.cpp
new file mode 100644
index 0000000..2c9e862
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInput_global.cpp
@@ -0,0 +1,64 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInput_global.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInput_global::create(DAE& dae)
+{
+ domInput_globalRef ref = new domInput_global(dae);
+ ref->attrSource.setContainer( (domInput_global*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInput_global::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "input_global" );
+ meta->registerClass(domInput_global::create);
+
+
+ // Add attribute: semantic
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "semantic" );
+ ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
+ ma->setOffset( daeOffsetOf( domInput_global , attrSemantic ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInput_global , attrSource ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInput_global));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInput_local.cpp b/1.4.0/dom/src/1.5/dom/domInput_local.cpp
new file mode 100644
index 0000000..85ba6d1
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInput_local.cpp
@@ -0,0 +1,64 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInput_local.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInput_local::create(DAE& dae)
+{
+ domInput_localRef ref = new domInput_local(dae);
+ ref->attrSource.setContainer( (domInput_local*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInput_local::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "input_local" );
+ meta->registerClass(domInput_local::create);
+
+
+ // Add attribute: semantic
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "semantic" );
+ ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
+ ma->setOffset( daeOffsetOf( domInput_local , attrSemantic ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("Urifragment"));
+ ma->setOffset( daeOffsetOf( domInput_local , attrSource ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInput_local));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInput_local_offset.cpp b/1.4.0/dom/src/1.5/dom/domInput_local_offset.cpp
new file mode 100644
index 0000000..8bf56cf
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInput_local_offset.cpp
@@ -0,0 +1,87 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInput_local_offset.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInput_local_offset::create(DAE& dae)
+{
+ domInput_local_offsetRef ref = new domInput_local_offset(dae);
+ ref->attrSource.setContainer( (domInput_local_offset*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInput_local_offset::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "input_local_offset" );
+ meta->registerClass(domInput_local_offset::create);
+
+
+ // Add attribute: offset
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "offset" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domInput_local_offset , attrOffset ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: semantic
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "semantic" );
+ ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
+ ma->setOffset( daeOffsetOf( domInput_local_offset , attrSemantic ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("Urifragment"));
+ ma->setOffset( daeOffsetOf( domInput_local_offset , attrSource ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: set
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "set" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domInput_local_offset , attrSet ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInput_local_offset));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_articulated_system.cpp b/1.4.0/dom/src/1.5/dom/domInstance_articulated_system.cpp
new file mode 100644
index 0000000..cf020df
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_articulated_system.cpp
@@ -0,0 +1,104 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_articulated_system.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_articulated_system::create(DAE& dae)
+{
+ domInstance_articulated_systemRef ref = new domInstance_articulated_system(dae);
+ ref->attrUrl.setContainer( (domInstance_articulated_system*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_articulated_system::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_articulated_system" );
+ meta->registerClass(domInstance_articulated_system::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "bind" );
+ mea->setOffset( daeOffsetOf(domInstance_articulated_system,elemBind_array) );
+ mea->setElementType( domKinematics_bind::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "setparam" );
+ mea->setOffset( daeOffsetOf(domInstance_articulated_system,elemSetparam_array) );
+ mea->setElementType( domKinematics_setparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domInstance_articulated_system,elemNewparam_array) );
+ mea->setElementType( domKinematics_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_articulated_system,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_articulated_system , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_articulated_system , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_articulated_system , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_articulated_system));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_camera.cpp b/1.4.0/dom/src/1.5/dom/domInstance_camera.cpp
new file mode 100644
index 0000000..5ef2e4b
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_camera.cpp
@@ -0,0 +1,91 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_camera.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_camera::create(DAE& dae)
+{
+ domInstance_cameraRef ref = new domInstance_camera(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_camera::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_camera" );
+ meta->registerClass(domInstance_camera::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_camera,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_camera , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_camera , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_camera , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_camera));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_controller.cpp b/1.4.0/dom/src/1.5/dom/domInstance_controller.cpp
new file mode 100644
index 0000000..375e807
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_controller.cpp
@@ -0,0 +1,135 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_controller.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_controller::create(DAE& dae)
+{
+ domInstance_controllerRef ref = new domInstance_controller(dae);
+ ref->attrUrl.setContainer( (domInstance_controller*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_controller::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_controller" );
+ meta->registerClass(domInstance_controller::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "skeleton" );
+ mea->setOffset( daeOffsetOf(domInstance_controller,elemSkeleton_array) );
+ mea->setElementType( domInstance_controller::domSkeleton::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "bind_material" );
+ mea->setOffset( daeOffsetOf(domInstance_controller,elemBind_material) );
+ mea->setElementType( domBind_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_controller,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_controller , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_controller , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_controller , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_controller));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_controller::domSkeleton::create(DAE& dae)
+{
+ domInstance_controller::domSkeletonRef ref = new domInstance_controller::domSkeleton(dae);
+ ref->_value.setContainer( (domInstance_controller::domSkeleton*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_controller::domSkeleton::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "skeleton" );
+ meta->registerClass(domInstance_controller::domSkeleton::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_controller::domSkeleton , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_controller::domSkeleton));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_effect.cpp b/1.4.0/dom/src/1.5/dom/domInstance_effect.cpp
new file mode 100644
index 0000000..a889502
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_effect.cpp
@@ -0,0 +1,212 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_effect.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_effect::create(DAE& dae)
+{
+ domInstance_effectRef ref = new domInstance_effect(dae);
+ ref->attrUrl.setContainer( (domInstance_effect*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_effect::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_effect" );
+ meta->registerClass(domInstance_effect::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "technique_hint" );
+ mea->setOffset( daeOffsetOf(domInstance_effect,elemTechnique_hint_array) );
+ mea->setElementType( domInstance_effect::domTechnique_hint::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "setparam" );
+ mea->setOffset( daeOffsetOf(domInstance_effect,elemSetparam_array) );
+ mea->setElementType( domInstance_effect::domSetparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_effect,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_effect , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_effect , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_effect , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_effect));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_effect::domTechnique_hint::create(DAE& dae)
+{
+ domInstance_effect::domTechnique_hintRef ref = new domInstance_effect::domTechnique_hint(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_effect::domTechnique_hint::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_hint" );
+ meta->registerClass(domInstance_effect::domTechnique_hint::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: platform
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "platform" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_effect::domTechnique_hint , attrPlatform ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: profile
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "profile" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_effect::domTechnique_hint , attrProfile ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_effect::domTechnique_hint , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_effect::domTechnique_hint));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_effect::domSetparam::create(DAE& dae)
+{
+ domInstance_effect::domSetparamRef ref = new domInstance_effect::domSetparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_effect::domSetparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "setparam" );
+ meta->registerClass(domInstance_effect::domSetparam::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fx_setparam" );
+ mea->setOffset( daeOffsetOf(domInstance_effect::domSetparam,elemFx_setparam) );
+ mea->setElementType( domFx_setparam::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_effect::domSetparam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_effect::domSetparam));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_force_field.cpp b/1.4.0/dom/src/1.5/dom/domInstance_force_field.cpp
new file mode 100644
index 0000000..50d4f43
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_force_field.cpp
@@ -0,0 +1,91 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_force_field.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_force_field::create(DAE& dae)
+{
+ domInstance_force_fieldRef ref = new domInstance_force_field(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_force_field::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_force_field" );
+ meta->registerClass(domInstance_force_field::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_force_field,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_force_field , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_force_field , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_force_field , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_force_field));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_formula.cpp b/1.4.0/dom/src/1.5/dom/domInstance_formula.cpp
new file mode 100644
index 0000000..669c830
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_formula.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_formula.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_formula::create(DAE& dae)
+{
+ domInstance_formulaRef ref = new domInstance_formula(dae);
+ ref->attrUrl.setContainer( (domInstance_formula*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_formula::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_formula" );
+ meta->registerClass(domInstance_formula::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "setparam" );
+ mea->setOffset( daeOffsetOf(domInstance_formula,elemSetparam_array) );
+ mea->setElementType( domFormula_setparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_formula , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_formula , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_formula , attrUrl ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_formula));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_geometry.cpp b/1.4.0/dom/src/1.5/dom/domInstance_geometry.cpp
new file mode 100644
index 0000000..bd4dcd9
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_geometry.cpp
@@ -0,0 +1,92 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_geometry.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_geometry::create(DAE& dae)
+{
+ domInstance_geometryRef ref = new domInstance_geometry(dae);
+ ref->attrUrl.setContainer( (domInstance_geometry*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_geometry::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_geometry" );
+ meta->registerClass(domInstance_geometry::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "bind_material" );
+ mea->setOffset( daeOffsetOf(domInstance_geometry,elemBind_material) );
+ mea->setElementType( domBind_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_geometry,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_geometry , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_geometry , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_geometry , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_geometry));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_image.cpp b/1.4.0/dom/src/1.5/dom/domInstance_image.cpp
new file mode 100644
index 0000000..1eff6fc
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_image.cpp
@@ -0,0 +1,91 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_image.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_image::create(DAE& dae)
+{
+ domInstance_imageRef ref = new domInstance_image(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_image::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_image" );
+ meta->registerClass(domInstance_image::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_image,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_image , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_image , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_image , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_image));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_joint.cpp b/1.4.0/dom/src/1.5/dom/domInstance_joint.cpp
new file mode 100644
index 0000000..2648b54
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_joint.cpp
@@ -0,0 +1,91 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_joint.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_joint::create(DAE& dae)
+{
+ domInstance_jointRef ref = new domInstance_joint(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_joint::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_joint" );
+ meta->registerClass(domInstance_joint::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_joint,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_joint , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_joint , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_joint , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_joint));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_kinematics_model.cpp b/1.4.0/dom/src/1.5/dom/domInstance_kinematics_model.cpp
new file mode 100644
index 0000000..8c7bcde
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_kinematics_model.cpp
@@ -0,0 +1,104 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_kinematics_model.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_kinematics_model::create(DAE& dae)
+{
+ domInstance_kinematics_modelRef ref = new domInstance_kinematics_model(dae);
+ ref->attrUrl.setContainer( (domInstance_kinematics_model*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_kinematics_model::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_kinematics_model" );
+ meta->registerClass(domInstance_kinematics_model::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "bind" );
+ mea->setOffset( daeOffsetOf(domInstance_kinematics_model,elemBind_array) );
+ mea->setElementType( domKinematics_bind::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domInstance_kinematics_model,elemNewparam_array) );
+ mea->setElementType( domKinematics_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "setparam" );
+ mea->setOffset( daeOffsetOf(domInstance_kinematics_model,elemSetparam_array) );
+ mea->setElementType( domKinematics_setparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_kinematics_model,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_kinematics_model , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_kinematics_model , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_kinematics_model , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_kinematics_model));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_kinematics_scene.cpp b/1.4.0/dom/src/1.5/dom/domInstance_kinematics_scene.cpp
new file mode 100644
index 0000000..1184a74
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_kinematics_scene.cpp
@@ -0,0 +1,116 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_kinematics_scene.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_kinematics_scene::create(DAE& dae)
+{
+ domInstance_kinematics_sceneRef ref = new domInstance_kinematics_scene(dae);
+ ref->attrUrl.setContainer( (domInstance_kinematics_scene*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_kinematics_scene::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_kinematics_scene" );
+ meta->registerClass(domInstance_kinematics_scene::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domInstance_kinematics_scene,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domInstance_kinematics_scene,elemNewparam_array) );
+ mea->setElementType( domKinematics_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "setparam" );
+ mea->setOffset( daeOffsetOf(domInstance_kinematics_scene,elemSetparam_array) );
+ mea->setElementType( domKinematics_setparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "bind_kinematics_model" );
+ mea->setOffset( daeOffsetOf(domInstance_kinematics_scene,elemBind_kinematics_model_array) );
+ mea->setElementType( domBind_kinematics_model::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "bind_joint_axis" );
+ mea->setOffset( daeOffsetOf(domInstance_kinematics_scene,elemBind_joint_axis_array) );
+ mea->setElementType( domBind_joint_axis::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 5, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_kinematics_scene,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 5 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_kinematics_scene , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_kinematics_scene , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_kinematics_scene , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_kinematics_scene));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_light.cpp b/1.4.0/dom/src/1.5/dom/domInstance_light.cpp
new file mode 100644
index 0000000..edd4245
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_light.cpp
@@ -0,0 +1,91 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_light.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_light::create(DAE& dae)
+{
+ domInstance_lightRef ref = new domInstance_light(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_light::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_light" );
+ meta->registerClass(domInstance_light::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_light,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_light , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_light , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_light , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_light));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_material.cpp b/1.4.0/dom/src/1.5/dom/domInstance_material.cpp
new file mode 100644
index 0000000..f125b92
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_material.cpp
@@ -0,0 +1,223 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_material.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_material::create(DAE& dae)
+{
+ domInstance_materialRef ref = new domInstance_material(dae);
+ ref->attrTarget.setContainer( (domInstance_material*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_material::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_material" );
+ meta->registerClass(domInstance_material::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "bind" );
+ mea->setOffset( daeOffsetOf(domInstance_material,elemBind_array) );
+ mea->setElementType( domInstance_material::domBind::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "bind_vertex_input" );
+ mea->setOffset( daeOffsetOf(domInstance_material,elemBind_vertex_input_array) );
+ mea->setElementType( domInstance_material::domBind_vertex_input::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_material,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: symbol
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "symbol" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_material , attrSymbol ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: target
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "target" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_material , attrTarget ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_material , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_material , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_material));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_material::domBind::create(DAE& dae)
+{
+ domInstance_material::domBindRef ref = new domInstance_material::domBind(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_material::domBind::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind" );
+ meta->registerClass(domInstance_material::domBind::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: semantic
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "semantic" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_material::domBind , attrSemantic ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: target
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "target" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_material::domBind , attrTarget ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_material::domBind));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_material::domBind_vertex_input::create(DAE& dae)
+{
+ domInstance_material::domBind_vertex_inputRef ref = new domInstance_material::domBind_vertex_input(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_material::domBind_vertex_input::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind_vertex_input" );
+ meta->registerClass(domInstance_material::domBind_vertex_input::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: semantic
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "semantic" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_material::domBind_vertex_input , attrSemantic ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: input_semantic
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "input_semantic" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_material::domBind_vertex_input , attrInput_semantic ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: input_set
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "input_set" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domInstance_material::domBind_vertex_input , attrInput_set ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_material::domBind_vertex_input));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_node.cpp b/1.4.0/dom/src/1.5/dom/domInstance_node.cpp
new file mode 100644
index 0000000..f8c63c0
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_node.cpp
@@ -0,0 +1,103 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_node.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_node::create(DAE& dae)
+{
+ domInstance_nodeRef ref = new domInstance_node(dae);
+ ref->attrProxy.setContainer( (domInstance_node*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_node::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_node" );
+ meta->registerClass(domInstance_node::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_node,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_node , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_node , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_node , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: proxy
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "proxy" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_node , attrProxy ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_node));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_physics_material.cpp b/1.4.0/dom/src/1.5/dom/domInstance_physics_material.cpp
new file mode 100644
index 0000000..62c8d6e
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_physics_material.cpp
@@ -0,0 +1,91 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_physics_material.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_physics_material::create(DAE& dae)
+{
+ domInstance_physics_materialRef ref = new domInstance_physics_material(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_physics_material::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_physics_material" );
+ meta->registerClass(domInstance_physics_material::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_physics_material,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_physics_material , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_physics_material , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_physics_material , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_physics_material));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_physics_model.cpp b/1.4.0/dom/src/1.5/dom/domInstance_physics_model.cpp
new file mode 100644
index 0000000..c5d2414
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_physics_model.cpp
@@ -0,0 +1,116 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_physics_model.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_physics_model::create(DAE& dae)
+{
+ domInstance_physics_modelRef ref = new domInstance_physics_model(dae);
+ ref->attrUrl.setContainer( (domInstance_physics_model*)ref );
+ ref->attrParent.setContainer( (domInstance_physics_model*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_physics_model::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_physics_model" );
+ meta->registerClass(domInstance_physics_model::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "instance_force_field" );
+ mea->setOffset( daeOffsetOf(domInstance_physics_model,elemInstance_force_field_array) );
+ mea->setElementType( domInstance_force_field::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "instance_rigid_body" );
+ mea->setOffset( daeOffsetOf(domInstance_physics_model,elemInstance_rigid_body_array) );
+ mea->setElementType( domInstance_rigid_body::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "instance_rigid_constraint" );
+ mea->setOffset( daeOffsetOf(domInstance_physics_model,elemInstance_rigid_constraint_array) );
+ mea->setElementType( domInstance_rigid_constraint::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_physics_model,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_physics_model , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_physics_model , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_physics_model , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: parent
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "parent" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_physics_model , attrParent ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_physics_model));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_rigid_body.cpp b/1.4.0/dom/src/1.5/dom/domInstance_rigid_body.cpp
new file mode 100644
index 0000000..39c9a28
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_rigid_body.cpp
@@ -0,0 +1,561 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_rigid_body.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_rigid_body::create(DAE& dae)
+{
+ domInstance_rigid_bodyRef ref = new domInstance_rigid_body(dae);
+ ref->attrTarget.setContainer( (domInstance_rigid_body*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_rigid_body::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_rigid_body" );
+ meta->registerClass(domInstance_rigid_body::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body,elemTechnique_common) );
+ mea->setElementType( domInstance_rigid_body::domTechnique_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: body
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "body" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body , attrBody ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: target
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "target" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body , attrTarget ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_rigid_body));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_rigid_body::domTechnique_common::create(DAE& dae)
+{
+ domInstance_rigid_body::domTechnique_commonRef ref = new domInstance_rigid_body::domTechnique_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_rigid_body::domTechnique_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_common" );
+ meta->registerClass(domInstance_rigid_body::domTechnique_common::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "angular_velocity" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemAngular_velocity) );
+ mea->setElementType( domInstance_rigid_body::domTechnique_common::domAngular_velocity::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "velocity" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemVelocity) );
+ mea->setElementType( domInstance_rigid_body::domTechnique_common::domVelocity::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "dynamic" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemDynamic) );
+ mea->setElementType( domInstance_rigid_body::domTechnique_common::domDynamic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "mass" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemMass) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "mass_frame" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemMass_frame) );
+ mea->setElementType( domInstance_rigid_body::domTechnique_common::domMass_frame::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "inertia" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemInertia) );
+ mea->setElementType( domTargetable_float3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 6, 0, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_physics_material" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemInstance_physics_material) );
+ mea->setElementType( domInstance_physics_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "physics_material" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemPhysics_material) );
+ mea->setElementType( domPhysics_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 7, 0, -1 );
+ mea->setName( "shape" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemShape_array) );
+ mea->setElementType( domInstance_rigid_body::domTechnique_common::domShape::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 7 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domInstance_rigid_body::domTechnique_common,_contents));
+ meta->addContentsOrder(daeOffsetOf(domInstance_rigid_body::domTechnique_common,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domInstance_rigid_body::domTechnique_common,_CMData), 1);
+ meta->setElementSize(sizeof(domInstance_rigid_body::domTechnique_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_rigid_body::domTechnique_common::domAngular_velocity::create(DAE& dae)
+{
+ domInstance_rigid_body::domTechnique_common::domAngular_velocityRef ref = new domInstance_rigid_body::domTechnique_common::domAngular_velocity(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_rigid_body::domTechnique_common::domAngular_velocity::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "angular_velocity" );
+ meta->registerClass(domInstance_rigid_body::domTechnique_common::domAngular_velocity::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body::domTechnique_common::domAngular_velocity , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_rigid_body::domTechnique_common::domAngular_velocity));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_rigid_body::domTechnique_common::domVelocity::create(DAE& dae)
+{
+ domInstance_rigid_body::domTechnique_common::domVelocityRef ref = new domInstance_rigid_body::domTechnique_common::domVelocity(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_rigid_body::domTechnique_common::domVelocity::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "velocity" );
+ meta->registerClass(domInstance_rigid_body::domTechnique_common::domVelocity::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body::domTechnique_common::domVelocity , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_rigid_body::domTechnique_common::domVelocity));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_rigid_body::domTechnique_common::domDynamic::create(DAE& dae)
+{
+ domInstance_rigid_body::domTechnique_common::domDynamicRef ref = new domInstance_rigid_body::domTechnique_common::domDynamic(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_rigid_body::domTechnique_common::domDynamic::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dynamic" );
+ meta->registerClass(domInstance_rigid_body::domTechnique_common::domDynamic::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body::domTechnique_common::domDynamic , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body::domTechnique_common::domDynamic , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_rigid_body::domTechnique_common::domDynamic));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_rigid_body::domTechnique_common::domMass_frame::create(DAE& dae)
+{
+ domInstance_rigid_body::domTechnique_common::domMass_frameRef ref = new domInstance_rigid_body::domTechnique_common::domMass_frame(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_rigid_body::domTechnique_common::domMass_frame::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mass_frame" );
+ meta->registerClass(domInstance_rigid_body::domTechnique_common::domMass_frame::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domMass_frame,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domMass_frame,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3000 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domInstance_rigid_body::domTechnique_common::domMass_frame,_contents));
+ meta->addContentsOrder(daeOffsetOf(domInstance_rigid_body::domTechnique_common::domMass_frame,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domInstance_rigid_body::domTechnique_common::domMass_frame,_CMData), 1);
+ meta->setElementSize(sizeof(domInstance_rigid_body::domTechnique_common::domMass_frame));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_rigid_body::domTechnique_common::domShape::create(DAE& dae)
+{
+ domInstance_rigid_body::domTechnique_common::domShapeRef ref = new domInstance_rigid_body::domTechnique_common::domShape(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_rigid_body::domTechnique_common::domShape::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "shape" );
+ meta->registerClass(domInstance_rigid_body::domTechnique_common::domShape::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "hollow" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemHollow) );
+ mea->setElementType( domInstance_rigid_body::domTechnique_common::domShape::domHollow::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "mass" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemMass) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "density" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemDensity) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 3, 0, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_physics_material" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemInstance_physics_material) );
+ mea->setElementType( domInstance_physics_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "physics_material" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemPhysics_material) );
+ mea->setElementType( domPhysics_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaChoice( meta, cm, 1, 4, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_geometry" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemInstance_geometry) );
+ mea->setElementType( domInstance_geometry::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "plane" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemPlane) );
+ mea->setElementType( domPlane::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "box" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemBox) );
+ mea->setElementType( domBox::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sphere" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemSphere) );
+ mea->setElementType( domSphere::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cylinder" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemCylinder) );
+ mea->setElementType( domCylinder::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "capsule" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemCapsule) );
+ mea->setElementType( domCapsule::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaChoice( meta, cm, 2, 5, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3006, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3006 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,_contents));
+ meta->addContentsOrder(daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,_CMData), 3);
+ meta->setElementSize(sizeof(domInstance_rigid_body::domTechnique_common::domShape));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_rigid_body::domTechnique_common::domShape::domHollow::create(DAE& dae)
+{
+ domInstance_rigid_body::domTechnique_common::domShape::domHollowRef ref = new domInstance_rigid_body::domTechnique_common::domShape::domHollow(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_rigid_body::domTechnique_common::domShape::domHollow::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "hollow" );
+ meta->registerClass(domInstance_rigid_body::domTechnique_common::domShape::domHollow::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body::domTechnique_common::domShape::domHollow , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body::domTechnique_common::domShape::domHollow , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_rigid_body::domTechnique_common::domShape::domHollow));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_rigid_constraint.cpp b/1.4.0/dom/src/1.5/dom/domInstance_rigid_constraint.cpp
new file mode 100644
index 0000000..e6534d2
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_rigid_constraint.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_rigid_constraint.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_rigid_constraint::create(DAE& dae)
+{
+ domInstance_rigid_constraintRef ref = new domInstance_rigid_constraint(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_rigid_constraint::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_rigid_constraint" );
+ meta->registerClass(domInstance_rigid_constraint::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_constraint,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: constraint
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "constraint" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_constraint , attrConstraint ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_constraint , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_constraint , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_rigid_constraint));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_with_extra.cpp b/1.4.0/dom/src/1.5/dom/domInstance_with_extra.cpp
new file mode 100644
index 0000000..e6cd162
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_with_extra.cpp
@@ -0,0 +1,86 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_with_extra.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_with_extra::create(DAE& dae)
+{
+ domInstance_with_extraRef ref = new domInstance_with_extra(dae);
+ ref->attrUrl.setContainer( (domInstance_with_extra*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_with_extra::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_with_extra" );
+ meta->registerClass(domInstance_with_extra::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_with_extra,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_with_extra , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_with_extra , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_with_extra , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_with_extra));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInt_array.cpp b/1.4.0/dom/src/1.5/dom/domInt_array.cpp
new file mode 100644
index 0000000..b979d42
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInt_array.cpp
@@ -0,0 +1,106 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInt_array.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInt_array::create(DAE& dae)
+{
+ domInt_arrayRef ref = new domInt_array(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInt_array::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int_array" );
+ meta->registerClass(domInt_array::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_ints"));
+ ma->setOffset( daeOffsetOf( domInt_array , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domInt_array , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInt_array , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domInt_array , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: minInclusive
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "minInclusive" );
+ ma->setType( dae.getAtomicTypes().get("xsInteger"));
+ ma->setOffset( daeOffsetOf( domInt_array , attrMinInclusive ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "-2147483648");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: maxInclusive
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "maxInclusive" );
+ ma->setType( dae.getAtomicTypes().get("xsInteger"));
+ ma->setOffset( daeOffsetOf( domInt_array , attrMaxInclusive ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "2147483647");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInt_array));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domJoint.cpp b/1.4.0/dom/src/1.5/dom/domJoint.cpp
new file mode 100644
index 0000000..8793380
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domJoint.cpp
@@ -0,0 +1,106 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domJoint.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domJoint::create(DAE& dae)
+{
+ domJointRef ref = new domJoint(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domJoint::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "joint" );
+ meta->registerClass(domJoint::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "prismatic" );
+ mea->setOffset( daeOffsetOf(domJoint,elemPrismatic_array) );
+ mea->setElementType( domAxis_constraint::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "revolute" );
+ mea->setOffset( daeOffsetOf(domJoint,elemRevolute_array) );
+ mea->setElementType( domAxis_constraint::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3001, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domJoint,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3001 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domJoint,_contents));
+ meta->addContentsOrder(daeOffsetOf(domJoint,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domJoint,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domJoint , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domJoint , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domJoint , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domJoint));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domJoint_limits.cpp b/1.4.0/dom/src/1.5/dom/domJoint_limits.cpp
new file mode 100644
index 0000000..f70167e
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domJoint_limits.cpp
@@ -0,0 +1,57 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domJoint_limits.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domJoint_limits::create(DAE& dae)
+{
+ domJoint_limitsRef ref = new domJoint_limits(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domJoint_limits::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "joint_limits" );
+ meta->registerClass(domJoint_limits::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "min" );
+ mea->setOffset( daeOffsetOf(domJoint_limits,elemMin) );
+ mea->setElementType( domMinmax::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "max" );
+ mea->setOffset( daeOffsetOf(domJoint_limits,elemMax) );
+ mea->setElementType( domMinmax::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domJoint_limits));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domKinematics.cpp b/1.4.0/dom/src/1.5/dom/domKinematics.cpp
new file mode 100644
index 0000000..acde3b9
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domKinematics.cpp
@@ -0,0 +1,69 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domKinematics.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domKinematics::create(DAE& dae)
+{
+ domKinematicsRef ref = new domKinematics(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "kinematics" );
+ meta->registerClass(domKinematics::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "instance_kinematics_model" );
+ mea->setOffset( daeOffsetOf(domKinematics,elemInstance_kinematics_model_array) );
+ mea->setElementType( domInstance_kinematics_model::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domKinematics,elemTechnique_common) );
+ mea->setElementType( domKinematics_technique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domKinematics,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domKinematics,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domKinematics));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domKinematics_axis_info.cpp b/1.4.0/dom/src/1.5/dom/domKinematics_axis_info.cpp
new file mode 100644
index 0000000..3ab5a70
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domKinematics_axis_info.cpp
@@ -0,0 +1,131 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domKinematics_axis_info.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domKinematics_axis_info::create(DAE& dae)
+{
+ domKinematics_axis_infoRef ref = new domKinematics_axis_info(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_axis_info::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "kinematics_axis_info" );
+ meta->registerClass(domKinematics_axis_info::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domKinematics_axis_info,elemNewparam_array) );
+ mea->setElementType( domKinematics_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "active" );
+ mea->setOffset( daeOffsetOf(domKinematics_axis_info,elemActive) );
+ mea->setElementType( domCommon_bool_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "locked" );
+ mea->setOffset( daeOffsetOf(domKinematics_axis_info,elemLocked) );
+ mea->setElementType( domCommon_bool_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "index" );
+ mea->setOffset( daeOffsetOf(domKinematics_axis_info,elemIndex_array) );
+ mea->setElementType( domKinematics_index::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "limits" );
+ mea->setOffset( daeOffsetOf(domKinematics_axis_info,elemLimits) );
+ mea->setElementType( domKinematics_limits::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 5, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "formula" );
+ mea->setOffset( daeOffsetOf(domKinematics_axis_info,elemFormula_array) );
+ mea->setElementType( domFormula::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_formula" );
+ mea->setOffset( daeOffsetOf(domKinematics_axis_info,elemInstance_formula_array) );
+ mea->setElementType( domInstance_formula::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 3005 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domKinematics_axis_info,_contents));
+ meta->addContentsOrder(daeOffsetOf(domKinematics_axis_info,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domKinematics_axis_info,_CMData), 1);
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domKinematics_axis_info , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domKinematics_axis_info , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: axis
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "axis" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domKinematics_axis_info , attrAxis ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_axis_info));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domKinematics_bind.cpp b/1.4.0/dom/src/1.5/dom/domKinematics_bind.cpp
new file mode 100644
index 0000000..d3dd977
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domKinematics_bind.cpp
@@ -0,0 +1,235 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domKinematics_bind.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domKinematics_bind::create(DAE& dae)
+{
+ domKinematics_bindRef ref = new domKinematics_bind(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_bind::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "kinematics_bind" );
+ meta->registerClass(domKinematics_bind::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domKinematics_bind,elemParam) );
+ mea->setElementType( domKinematics_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domKinematics_bind,elemBool) );
+ mea->setElementType( domKinematics_bind::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domKinematics_bind,elemFloat) );
+ mea->setElementType( domKinematics_bind::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domKinematics_bind,elemInt) );
+ mea->setElementType( domKinematics_bind::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "SIDREF" );
+ mea->setOffset( daeOffsetOf(domKinematics_bind,elemSIDREF) );
+ mea->setElementType( domKinematics_bind::domSIDREF::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domKinematics_bind,_contents));
+ meta->addContentsOrder(daeOffsetOf(domKinematics_bind,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domKinematics_bind,_CMData), 1);
+ // Add attribute: symbol
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "symbol" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domKinematics_bind , attrSymbol ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_bind));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domKinematics_bind::domBool::create(DAE& dae)
+{
+ domKinematics_bind::domBoolRef ref = new domKinematics_bind::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_bind::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domKinematics_bind::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domKinematics_bind::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_bind::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domKinematics_bind::domFloat::create(DAE& dae)
+{
+ domKinematics_bind::domFloatRef ref = new domKinematics_bind::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_bind::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domKinematics_bind::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domKinematics_bind::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_bind::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domKinematics_bind::domInt::create(DAE& dae)
+{
+ domKinematics_bind::domIntRef ref = new domKinematics_bind::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_bind::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domKinematics_bind::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domKinematics_bind::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_bind::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domKinematics_bind::domSIDREF::create(DAE& dae)
+{
+ domKinematics_bind::domSIDREFRef ref = new domKinematics_bind::domSIDREF(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_bind::domSIDREF::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "SIDREF" );
+ meta->registerClass(domKinematics_bind::domSIDREF::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Sidref"));
+ ma->setOffset( daeOffsetOf( domKinematics_bind::domSIDREF , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_bind::domSIDREF));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domKinematics_connect_param.cpp b/1.4.0/dom/src/1.5/dom/domKinematics_connect_param.cpp
new file mode 100644
index 0000000..cec58e7
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domKinematics_connect_param.cpp
@@ -0,0 +1,51 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domKinematics_connect_param.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domKinematics_connect_param::create(DAE& dae)
+{
+ domKinematics_connect_paramRef ref = new domKinematics_connect_param(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_connect_param::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "kinematics_connect_param" );
+ meta->registerClass(domKinematics_connect_param::create);
+
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domKinematics_connect_param , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_connect_param));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domKinematics_frame.cpp b/1.4.0/dom/src/1.5/dom/domKinematics_frame.cpp
new file mode 100644
index 0000000..8913250
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domKinematics_frame.cpp
@@ -0,0 +1,72 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domKinematics_frame.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domKinematics_frame::create(DAE& dae)
+{
+ domKinematics_frameRef ref = new domKinematics_frame(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_frame::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "kinematics_frame" );
+ meta->registerClass(domKinematics_frame::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domKinematics_frame,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domKinematics_frame,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3000 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domKinematics_frame,_contents));
+ meta->addContentsOrder(daeOffsetOf(domKinematics_frame,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domKinematics_frame,_CMData), 1);
+ // Add attribute: link
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "link" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domKinematics_frame , attrLink ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_frame));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domKinematics_index.cpp b/1.4.0/dom/src/1.5/dom/domKinematics_index.cpp
new file mode 100644
index 0000000..e434c6f
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domKinematics_index.cpp
@@ -0,0 +1,78 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domKinematics_index.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domKinematics_index::create(DAE& dae)
+{
+ domKinematics_indexRef ref = new domKinematics_index(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_index::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "kinematics_index" );
+ meta->registerClass(domKinematics_index::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domKinematics_index,elemInt) );
+ mea->setElementType( domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domKinematics_index,elemParam) );
+ mea->setElementType( domCommon_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domKinematics_index,_contents));
+ meta->addContentsOrder(daeOffsetOf(domKinematics_index,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domKinematics_index,_CMData), 1);
+ // Add attribute: semantic
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "semantic" );
+ ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
+ ma->setOffset( daeOffsetOf( domKinematics_index , attrSemantic ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_index));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domKinematics_limits.cpp b/1.4.0/dom/src/1.5/dom/domKinematics_limits.cpp
new file mode 100644
index 0000000..fd2e517
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domKinematics_limits.cpp
@@ -0,0 +1,57 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domKinematics_limits.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domKinematics_limits::create(DAE& dae)
+{
+ domKinematics_limitsRef ref = new domKinematics_limits(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_limits::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "kinematics_limits" );
+ meta->registerClass(domKinematics_limits::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "min" );
+ mea->setOffset( daeOffsetOf(domKinematics_limits,elemMin) );
+ mea->setElementType( domCommon_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "max" );
+ mea->setOffset( daeOffsetOf(domKinematics_limits,elemMax) );
+ mea->setElementType( domCommon_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domKinematics_limits));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domKinematics_model.cpp b/1.4.0/dom/src/1.5/dom/domKinematics_model.cpp
new file mode 100644
index 0000000..287bc49
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domKinematics_model.cpp
@@ -0,0 +1,91 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domKinematics_model.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domKinematics_model::create(DAE& dae)
+{
+ domKinematics_modelRef ref = new domKinematics_model(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_model::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "kinematics_model" );
+ meta->registerClass(domKinematics_model::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domKinematics_model,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domKinematics_model,elemTechnique_common) );
+ mea->setElementType( domKinematics_model_technique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domKinematics_model,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domKinematics_model,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domKinematics_model , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domKinematics_model , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_model));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domKinematics_model_technique.cpp b/1.4.0/dom/src/1.5/dom/domKinematics_model_technique.cpp
new file mode 100644
index 0000000..3c719c5
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domKinematics_model_technique.cpp
@@ -0,0 +1,97 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domKinematics_model_technique.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domKinematics_model_technique::create(DAE& dae)
+{
+ domKinematics_model_techniqueRef ref = new domKinematics_model_technique(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_model_technique::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "kinematics_model_technique" );
+ meta->registerClass(domKinematics_model_technique::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domKinematics_model_technique,elemNewparam_array) );
+ mea->setElementType( domKinematics_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_joint" );
+ mea->setOffset( daeOffsetOf(domKinematics_model_technique,elemInstance_joint_array) );
+ mea->setElementType( domInstance_joint::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "joint" );
+ mea->setOffset( daeOffsetOf(domKinematics_model_technique,elemJoint_array) );
+ mea->setElementType( domJoint::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3002, 1, -1 );
+ mea->setName( "link" );
+ mea->setOffset( daeOffsetOf(domKinematics_model_technique,elemLink_array) );
+ mea->setElementType( domLink::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 1, 3003, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "formula" );
+ mea->setOffset( daeOffsetOf(domKinematics_model_technique,elemFormula_array) );
+ mea->setElementType( domFormula::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_formula" );
+ mea->setOffset( daeOffsetOf(domKinematics_model_technique,elemInstance_formula_array) );
+ mea->setElementType( domInstance_formula::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 6003 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domKinematics_model_technique,_contents));
+ meta->addContentsOrder(daeOffsetOf(domKinematics_model_technique,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domKinematics_model_technique,_CMData), 2);
+ meta->setElementSize(sizeof(domKinematics_model_technique));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domKinematics_newparam.cpp b/1.4.0/dom/src/1.5/dom/domKinematics_newparam.cpp
new file mode 100644
index 0000000..ca68935
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domKinematics_newparam.cpp
@@ -0,0 +1,228 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domKinematics_newparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domKinematics_newparam::create(DAE& dae)
+{
+ domKinematics_newparamRef ref = new domKinematics_newparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_newparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "kinematics_newparam" );
+ meta->registerClass(domKinematics_newparam::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domKinematics_newparam,elemFloat) );
+ mea->setElementType( domKinematics_newparam::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domKinematics_newparam,elemInt) );
+ mea->setElementType( domKinematics_newparam::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "SIDREF" );
+ mea->setOffset( daeOffsetOf(domKinematics_newparam,elemSIDREF) );
+ mea->setElementType( domKinematics_newparam::domSIDREF::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domKinematics_newparam,elemBool) );
+ mea->setElementType( domKinematics_newparam::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domKinematics_newparam,_contents));
+ meta->addContentsOrder(daeOffsetOf(domKinematics_newparam,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domKinematics_newparam,_CMData), 1);
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domKinematics_newparam , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_newparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domKinematics_newparam::domFloat::create(DAE& dae)
+{
+ domKinematics_newparam::domFloatRef ref = new domKinematics_newparam::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_newparam::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domKinematics_newparam::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domKinematics_newparam::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_newparam::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domKinematics_newparam::domInt::create(DAE& dae)
+{
+ domKinematics_newparam::domIntRef ref = new domKinematics_newparam::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_newparam::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domKinematics_newparam::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domKinematics_newparam::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_newparam::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domKinematics_newparam::domSIDREF::create(DAE& dae)
+{
+ domKinematics_newparam::domSIDREFRef ref = new domKinematics_newparam::domSIDREF(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_newparam::domSIDREF::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "SIDREF" );
+ meta->registerClass(domKinematics_newparam::domSIDREF::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Sidref"));
+ ma->setOffset( daeOffsetOf( domKinematics_newparam::domSIDREF , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_newparam::domSIDREF));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domKinematics_newparam::domBool::create(DAE& dae)
+{
+ domKinematics_newparam::domBoolRef ref = new domKinematics_newparam::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_newparam::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domKinematics_newparam::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domKinematics_newparam::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_newparam::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domKinematics_param.cpp b/1.4.0/dom/src/1.5/dom/domKinematics_param.cpp
new file mode 100644
index 0000000..6d313a4
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domKinematics_param.cpp
@@ -0,0 +1,51 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domKinematics_param.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domKinematics_param::create(DAE& dae)
+{
+ domKinematics_paramRef ref = new domKinematics_param(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_param::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "kinematics_param" );
+ meta->registerClass(domKinematics_param::create);
+
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domKinematics_param , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_param));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domKinematics_scene.cpp b/1.4.0/dom/src/1.5/dom/domKinematics_scene.cpp
new file mode 100644
index 0000000..5a8e0cd
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domKinematics_scene.cpp
@@ -0,0 +1,91 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domKinematics_scene.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domKinematics_scene::create(DAE& dae)
+{
+ domKinematics_sceneRef ref = new domKinematics_scene(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_scene::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "kinematics_scene" );
+ meta->registerClass(domKinematics_scene::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domKinematics_scene,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "instance_kinematics_model" );
+ mea->setOffset( daeOffsetOf(domKinematics_scene,elemInstance_kinematics_model_array) );
+ mea->setElementType( domInstance_kinematics_model::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "instance_articulated_system" );
+ mea->setOffset( daeOffsetOf(domKinematics_scene,elemInstance_articulated_system_array) );
+ mea->setElementType( domInstance_articulated_system::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domKinematics_scene,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domKinematics_scene , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domKinematics_scene , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_scene));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domKinematics_setparam.cpp b/1.4.0/dom/src/1.5/dom/domKinematics_setparam.cpp
new file mode 100644
index 0000000..8bdd1fd
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domKinematics_setparam.cpp
@@ -0,0 +1,235 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domKinematics_setparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domKinematics_setparam::create(DAE& dae)
+{
+ domKinematics_setparamRef ref = new domKinematics_setparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_setparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "kinematics_setparam" );
+ meta->registerClass(domKinematics_setparam::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domKinematics_setparam,elemFloat) );
+ mea->setElementType( domKinematics_setparam::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domKinematics_setparam,elemInt) );
+ mea->setElementType( domKinematics_setparam::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "SIDREF" );
+ mea->setOffset( daeOffsetOf(domKinematics_setparam,elemSIDREF) );
+ mea->setElementType( domKinematics_setparam::domSIDREF::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domKinematics_setparam,elemBool) );
+ mea->setElementType( domKinematics_setparam::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "connect_param" );
+ mea->setOffset( daeOffsetOf(domKinematics_setparam,elemConnect_param) );
+ mea->setElementType( domKinematics_connect_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domKinematics_setparam,_contents));
+ meta->addContentsOrder(daeOffsetOf(domKinematics_setparam,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domKinematics_setparam,_CMData), 1);
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domKinematics_setparam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_setparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domKinematics_setparam::domFloat::create(DAE& dae)
+{
+ domKinematics_setparam::domFloatRef ref = new domKinematics_setparam::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_setparam::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domKinematics_setparam::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domKinematics_setparam::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_setparam::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domKinematics_setparam::domInt::create(DAE& dae)
+{
+ domKinematics_setparam::domIntRef ref = new domKinematics_setparam::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_setparam::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domKinematics_setparam::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domKinematics_setparam::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_setparam::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domKinematics_setparam::domSIDREF::create(DAE& dae)
+{
+ domKinematics_setparam::domSIDREFRef ref = new domKinematics_setparam::domSIDREF(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_setparam::domSIDREF::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "SIDREF" );
+ meta->registerClass(domKinematics_setparam::domSIDREF::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Sidref"));
+ ma->setOffset( daeOffsetOf( domKinematics_setparam::domSIDREF , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_setparam::domSIDREF));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domKinematics_setparam::domBool::create(DAE& dae)
+{
+ domKinematics_setparam::domBoolRef ref = new domKinematics_setparam::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_setparam::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domKinematics_setparam::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domKinematics_setparam::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_setparam::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domKinematics_technique.cpp b/1.4.0/dom/src/1.5/dom/domKinematics_technique.cpp
new file mode 100644
index 0000000..126dc3e
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domKinematics_technique.cpp
@@ -0,0 +1,75 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domKinematics_technique.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domKinematics_technique::create(DAE& dae)
+{
+ domKinematics_techniqueRef ref = new domKinematics_technique(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_technique::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "kinematics_technique" );
+ meta->registerClass(domKinematics_technique::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "axis_info" );
+ mea->setOffset( daeOffsetOf(domKinematics_technique,elemAxis_info_array) );
+ mea->setElementType( domKinematics_axis_info::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "frame_origin" );
+ mea->setOffset( daeOffsetOf(domKinematics_technique,elemFrame_origin) );
+ mea->setElementType( domKinematics_frame::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "frame_tip" );
+ mea->setOffset( daeOffsetOf(domKinematics_technique,elemFrame_tip) );
+ mea->setElementType( domKinematics_frame::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "frame_tcp" );
+ mea->setOffset( daeOffsetOf(domKinematics_technique,elemFrame_tcp) );
+ mea->setElementType( domKinematics_frame::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "frame_object" );
+ mea->setOffset( daeOffsetOf(domKinematics_technique,elemFrame_object) );
+ mea->setElementType( domKinematics_frame::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domKinematics_technique));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_animation_clips.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_animation_clips.cpp
new file mode 100644
index 0000000..1e43d5a
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_animation_clips.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_animation_clips.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_animation_clips::create(DAE& dae)
+{
+ domLibrary_animation_clipsRef ref = new domLibrary_animation_clips(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_animation_clips::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_animation_clips" );
+ meta->registerClass(domLibrary_animation_clips::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_animation_clips,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "animation_clip" );
+ mea->setOffset( daeOffsetOf(domLibrary_animation_clips,elemAnimation_clip_array) );
+ mea->setElementType( domAnimation_clip::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_animation_clips,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_animation_clips , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_animation_clips , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_animation_clips));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_animations.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_animations.cpp
new file mode 100644
index 0000000..64ce331
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_animations.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_animations.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_animations::create(DAE& dae)
+{
+ domLibrary_animationsRef ref = new domLibrary_animations(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_animations::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_animations" );
+ meta->registerClass(domLibrary_animations::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_animations,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "animation" );
+ mea->setOffset( daeOffsetOf(domLibrary_animations,elemAnimation_array) );
+ mea->setElementType( domAnimation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_animations,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_animations , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_animations , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_animations));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_articulated_systems.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_articulated_systems.cpp
new file mode 100644
index 0000000..c7104ce
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_articulated_systems.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_articulated_systems.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_articulated_systems::create(DAE& dae)
+{
+ domLibrary_articulated_systemsRef ref = new domLibrary_articulated_systems(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_articulated_systems::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_articulated_systems" );
+ meta->registerClass(domLibrary_articulated_systems::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_articulated_systems,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "articulated_system" );
+ mea->setOffset( daeOffsetOf(domLibrary_articulated_systems,elemArticulated_system_array) );
+ mea->setElementType( domArticulated_system::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_articulated_systems,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_articulated_systems , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_articulated_systems , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_articulated_systems));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_cameras.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_cameras.cpp
new file mode 100644
index 0000000..bec0b86
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_cameras.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_cameras.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_cameras::create(DAE& dae)
+{
+ domLibrary_camerasRef ref = new domLibrary_cameras(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_cameras::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_cameras" );
+ meta->registerClass(domLibrary_cameras::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_cameras,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "camera" );
+ mea->setOffset( daeOffsetOf(domLibrary_cameras,elemCamera_array) );
+ mea->setElementType( domCamera::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_cameras,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_cameras , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_cameras , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_cameras));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_controllers.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_controllers.cpp
new file mode 100644
index 0000000..487ecd0
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_controllers.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_controllers.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_controllers::create(DAE& dae)
+{
+ domLibrary_controllersRef ref = new domLibrary_controllers(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_controllers::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_controllers" );
+ meta->registerClass(domLibrary_controllers::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_controllers,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "controller" );
+ mea->setOffset( daeOffsetOf(domLibrary_controllers,elemController_array) );
+ mea->setElementType( domController::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_controllers,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_controllers , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_controllers , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_controllers));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_effects.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_effects.cpp
new file mode 100644
index 0000000..b660b3f
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_effects.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_effects.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_effects::create(DAE& dae)
+{
+ domLibrary_effectsRef ref = new domLibrary_effects(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_effects::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_effects" );
+ meta->registerClass(domLibrary_effects::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_effects,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "effect" );
+ mea->setOffset( daeOffsetOf(domLibrary_effects,elemEffect_array) );
+ mea->setElementType( domEffect::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_effects,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_effects , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_effects , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_effects));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_force_fields.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_force_fields.cpp
new file mode 100644
index 0000000..4ac63ea
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_force_fields.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_force_fields.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_force_fields::create(DAE& dae)
+{
+ domLibrary_force_fieldsRef ref = new domLibrary_force_fields(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_force_fields::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_force_fields" );
+ meta->registerClass(domLibrary_force_fields::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_force_fields,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "force_field" );
+ mea->setOffset( daeOffsetOf(domLibrary_force_fields,elemForce_field_array) );
+ mea->setElementType( domForce_field::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_force_fields,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_force_fields , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_force_fields , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_force_fields));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_formulas.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_formulas.cpp
new file mode 100644
index 0000000..4d05c47
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_formulas.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_formulas.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_formulas::create(DAE& dae)
+{
+ domLibrary_formulasRef ref = new domLibrary_formulas(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_formulas::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_formulas" );
+ meta->registerClass(domLibrary_formulas::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_formulas,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "formula" );
+ mea->setOffset( daeOffsetOf(domLibrary_formulas,elemFormula_array) );
+ mea->setElementType( domFormula::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_formulas,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_formulas , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_formulas , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_formulas));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_geometries.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_geometries.cpp
new file mode 100644
index 0000000..a32b0b2
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_geometries.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_geometries.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_geometries::create(DAE& dae)
+{
+ domLibrary_geometriesRef ref = new domLibrary_geometries(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_geometries::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_geometries" );
+ meta->registerClass(domLibrary_geometries::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_geometries,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "geometry" );
+ mea->setOffset( daeOffsetOf(domLibrary_geometries,elemGeometry_array) );
+ mea->setElementType( domGeometry::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_geometries,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_geometries , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_geometries , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_geometries));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_images.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_images.cpp
new file mode 100644
index 0000000..cc3aa00
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_images.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_images.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_images::create(DAE& dae)
+{
+ domLibrary_imagesRef ref = new domLibrary_images(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_images::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_images" );
+ meta->registerClass(domLibrary_images::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_images,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "image" );
+ mea->setOffset( daeOffsetOf(domLibrary_images,elemImage_array) );
+ mea->setElementType( domImage::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_images,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_images , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_images , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_images));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_joints.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_joints.cpp
new file mode 100644
index 0000000..918fb1b
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_joints.cpp
@@ -0,0 +1,87 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_joints.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_joints::create(DAE& dae)
+{
+ domLibrary_jointsRef ref = new domLibrary_joints(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_joints::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_joints" );
+ meta->registerClass(domLibrary_joints::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_joints,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "joint" );
+ mea->setOffset( daeOffsetOf(domLibrary_joints,elemJoint_array) );
+ mea->setElementType( domJoint::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_joints,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_joints , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_joints , attrName ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_joints));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_kinematics_models.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_kinematics_models.cpp
new file mode 100644
index 0000000..a28fdb3
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_kinematics_models.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_kinematics_models.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_kinematics_models::create(DAE& dae)
+{
+ domLibrary_kinematics_modelsRef ref = new domLibrary_kinematics_models(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_kinematics_models::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_kinematics_models" );
+ meta->registerClass(domLibrary_kinematics_models::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_kinematics_models,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "kinematics_model" );
+ mea->setOffset( daeOffsetOf(domLibrary_kinematics_models,elemKinematics_model_array) );
+ mea->setElementType( domKinematics_model::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_kinematics_models,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_kinematics_models , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_kinematics_models , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_kinematics_models));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_kinematics_scenes.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_kinematics_scenes.cpp
new file mode 100644
index 0000000..443bc30
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_kinematics_scenes.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_kinematics_scenes.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_kinematics_scenes::create(DAE& dae)
+{
+ domLibrary_kinematics_scenesRef ref = new domLibrary_kinematics_scenes(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_kinematics_scenes::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_kinematics_scenes" );
+ meta->registerClass(domLibrary_kinematics_scenes::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_kinematics_scenes,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "kinematics_scene" );
+ mea->setOffset( daeOffsetOf(domLibrary_kinematics_scenes,elemKinematics_scene_array) );
+ mea->setElementType( domKinematics_scene::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_kinematics_scenes,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_kinematics_scenes , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_kinematics_scenes , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_kinematics_scenes));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_lights.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_lights.cpp
new file mode 100644
index 0000000..bf130a1
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_lights.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_lights.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_lights::create(DAE& dae)
+{
+ domLibrary_lightsRef ref = new domLibrary_lights(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_lights::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_lights" );
+ meta->registerClass(domLibrary_lights::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_lights,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "light" );
+ mea->setOffset( daeOffsetOf(domLibrary_lights,elemLight_array) );
+ mea->setElementType( domLight::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_lights,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_lights , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_lights , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_lights));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_materials.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_materials.cpp
new file mode 100644
index 0000000..6c627e5
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_materials.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_materials.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_materials::create(DAE& dae)
+{
+ domLibrary_materialsRef ref = new domLibrary_materials(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_materials::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_materials" );
+ meta->registerClass(domLibrary_materials::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_materials,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "material" );
+ mea->setOffset( daeOffsetOf(domLibrary_materials,elemMaterial_array) );
+ mea->setElementType( domMaterial::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_materials,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_materials , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_materials , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_materials));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_nodes.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_nodes.cpp
new file mode 100644
index 0000000..6b9cc31
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_nodes.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_nodes.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_nodes::create(DAE& dae)
+{
+ domLibrary_nodesRef ref = new domLibrary_nodes(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_nodes::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_nodes" );
+ meta->registerClass(domLibrary_nodes::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_nodes,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "node" );
+ mea->setOffset( daeOffsetOf(domLibrary_nodes,elemNode_array) );
+ mea->setElementType( domNode::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_nodes,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_nodes , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_nodes , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_nodes));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_physics_materials.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_physics_materials.cpp
new file mode 100644
index 0000000..8e2f76f
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_physics_materials.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_physics_materials.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_physics_materials::create(DAE& dae)
+{
+ domLibrary_physics_materialsRef ref = new domLibrary_physics_materials(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_physics_materials::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_physics_materials" );
+ meta->registerClass(domLibrary_physics_materials::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_physics_materials,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "physics_material" );
+ mea->setOffset( daeOffsetOf(domLibrary_physics_materials,elemPhysics_material_array) );
+ mea->setElementType( domPhysics_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_physics_materials,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_physics_materials , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_physics_materials , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_physics_materials));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_physics_models.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_physics_models.cpp
new file mode 100644
index 0000000..681225b
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_physics_models.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_physics_models.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_physics_models::create(DAE& dae)
+{
+ domLibrary_physics_modelsRef ref = new domLibrary_physics_models(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_physics_models::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_physics_models" );
+ meta->registerClass(domLibrary_physics_models::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_physics_models,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "physics_model" );
+ mea->setOffset( daeOffsetOf(domLibrary_physics_models,elemPhysics_model_array) );
+ mea->setElementType( domPhysics_model::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_physics_models,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_physics_models , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_physics_models , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_physics_models));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_physics_scenes.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_physics_scenes.cpp
new file mode 100644
index 0000000..bfddc9a
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_physics_scenes.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_physics_scenes.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_physics_scenes::create(DAE& dae)
+{
+ domLibrary_physics_scenesRef ref = new domLibrary_physics_scenes(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_physics_scenes::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_physics_scenes" );
+ meta->registerClass(domLibrary_physics_scenes::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_physics_scenes,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "physics_scene" );
+ mea->setOffset( daeOffsetOf(domLibrary_physics_scenes,elemPhysics_scene_array) );
+ mea->setElementType( domPhysics_scene::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_physics_scenes,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_physics_scenes , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_physics_scenes , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_physics_scenes));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_visual_scenes.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_visual_scenes.cpp
new file mode 100644
index 0000000..cf97777
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_visual_scenes.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_visual_scenes.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_visual_scenes::create(DAE& dae)
+{
+ domLibrary_visual_scenesRef ref = new domLibrary_visual_scenes(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_visual_scenes::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_visual_scenes" );
+ meta->registerClass(domLibrary_visual_scenes::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_visual_scenes,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "visual_scene" );
+ mea->setOffset( daeOffsetOf(domLibrary_visual_scenes,elemVisual_scene_array) );
+ mea->setElementType( domVisual_scene::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_visual_scenes,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_visual_scenes , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_visual_scenes , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_visual_scenes));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLight.cpp b/1.4.0/dom/src/1.5/dom/domLight.cpp
new file mode 100644
index 0000000..f1b2fad
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLight.cpp
@@ -0,0 +1,356 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLight.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLight::create(DAE& dae)
+{
+ domLightRef ref = new domLight(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLight::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light" );
+ meta->registerClass(domLight::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLight,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domLight,elemTechnique_common) );
+ mea->setElementType( domLight::domTechnique_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domLight,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLight,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLight , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLight , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLight));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domLight::domTechnique_common::create(DAE& dae)
+{
+ domLight::domTechnique_commonRef ref = new domLight::domTechnique_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLight::domTechnique_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_common" );
+ meta->registerClass(domLight::domTechnique_common::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ambient" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common,elemAmbient) );
+ mea->setElementType( domLight::domTechnique_common::domAmbient::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "directional" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common,elemDirectional) );
+ mea->setElementType( domLight::domTechnique_common::domDirectional::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common,elemPoint) );
+ mea->setElementType( domLight::domTechnique_common::domPoint::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "spot" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common,elemSpot) );
+ mea->setElementType( domLight::domTechnique_common::domSpot::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domLight::domTechnique_common,_contents));
+ meta->addContentsOrder(daeOffsetOf(domLight::domTechnique_common,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domLight::domTechnique_common,_CMData), 1);
+ meta->setElementSize(sizeof(domLight::domTechnique_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domLight::domTechnique_common::domAmbient::create(DAE& dae)
+{
+ domLight::domTechnique_common::domAmbientRef ref = new domLight::domTechnique_common::domAmbient(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLight::domTechnique_common::domAmbient::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ambient" );
+ meta->registerClass(domLight::domTechnique_common::domAmbient::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domAmbient,elemColor) );
+ mea->setElementType( domTargetable_float3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domLight::domTechnique_common::domAmbient));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domLight::domTechnique_common::domDirectional::create(DAE& dae)
+{
+ domLight::domTechnique_common::domDirectionalRef ref = new domLight::domTechnique_common::domDirectional(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLight::domTechnique_common::domDirectional::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "directional" );
+ meta->registerClass(domLight::domTechnique_common::domDirectional::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domDirectional,elemColor) );
+ mea->setElementType( domTargetable_float3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domLight::domTechnique_common::domDirectional));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domLight::domTechnique_common::domPoint::create(DAE& dae)
+{
+ domLight::domTechnique_common::domPointRef ref = new domLight::domTechnique_common::domPoint(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLight::domTechnique_common::domPoint::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point" );
+ meta->registerClass(domLight::domTechnique_common::domPoint::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domPoint,elemColor) );
+ mea->setElementType( domTargetable_float3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "constant_attenuation" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domPoint,elemConstant_attenuation) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "linear_attenuation" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domPoint,elemLinear_attenuation) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "quadratic_attenuation" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domPoint,elemQuadratic_attenuation) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domLight::domTechnique_common::domPoint));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domLight::domTechnique_common::domSpot::create(DAE& dae)
+{
+ domLight::domTechnique_common::domSpotRef ref = new domLight::domTechnique_common::domSpot(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLight::domTechnique_common::domSpot::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "spot" );
+ meta->registerClass(domLight::domTechnique_common::domSpot::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domSpot,elemColor) );
+ mea->setElementType( domTargetable_float3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "constant_attenuation" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domSpot,elemConstant_attenuation) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "linear_attenuation" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domSpot,elemLinear_attenuation) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "quadratic_attenuation" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domSpot,elemQuadratic_attenuation) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "falloff_angle" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domSpot,elemFalloff_angle) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "falloff_exponent" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domSpot,elemFalloff_exponent) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 5 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domLight::domTechnique_common::domSpot));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLimits_sub.cpp b/1.4.0/dom/src/1.5/dom/domLimits_sub.cpp
new file mode 100644
index 0000000..ce647ca
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLimits_sub.cpp
@@ -0,0 +1,59 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLimits_sub.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLimits_sub::create(DAE& dae)
+{
+ domLimits_subRef ref = new domLimits_sub(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLimits_sub::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "limits_sub" );
+ meta->registerClass(domLimits_sub::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domLimits_sub , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domLimits_sub , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLimits_sub));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLine.cpp b/1.4.0/dom/src/1.5/dom/domLine.cpp
new file mode 100644
index 0000000..5a944ae
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLine.cpp
@@ -0,0 +1,135 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLine.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLine::create(DAE& dae)
+{
+ domLineRef ref = new domLine(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLine::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "line" );
+ meta->registerClass(domLine::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "origin" );
+ mea->setOffset( daeOffsetOf(domLine,elemOrigin) );
+ mea->setElementType( domLine::domOrigin::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "direction" );
+ mea->setOffset( daeOffsetOf(domLine,elemDirection) );
+ mea->setElementType( domLine::domDirection::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLine,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domLine));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domLine::domOrigin::create(DAE& dae)
+{
+ domLine::domOriginRef ref = new domLine::domOrigin(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLine::domOrigin::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "origin" );
+ meta->registerClass(domLine::domOrigin::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domLine::domOrigin , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLine::domOrigin));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domLine::domDirection::create(DAE& dae)
+{
+ domLine::domDirectionRef ref = new domLine::domDirection(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLine::domDirection::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "direction" );
+ meta->registerClass(domLine::domDirection::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domLine::domDirection , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLine::domDirection));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLines.cpp b/1.4.0/dom/src/1.5/dom/domLines.cpp
new file mode 100644
index 0000000..aa8ae20
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLines.cpp
@@ -0,0 +1,97 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLines.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLines::create(DAE& dae)
+{
+ domLinesRef ref = new domLines(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLines::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "lines" );
+ meta->registerClass(domLines::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domLines,elemInput_array) );
+ mea->setElementType( domInput_local_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domLines,elemP) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLines,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLines , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domLines , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: material
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "material" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domLines , attrMaterial ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLines));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLinestrips.cpp b/1.4.0/dom/src/1.5/dom/domLinestrips.cpp
new file mode 100644
index 0000000..be25a51
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLinestrips.cpp
@@ -0,0 +1,97 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLinestrips.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLinestrips::create(DAE& dae)
+{
+ domLinestripsRef ref = new domLinestrips(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLinestrips::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "linestrips" );
+ meta->registerClass(domLinestrips::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domLinestrips,elemInput_array) );
+ mea->setElementType( domInput_local_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domLinestrips,elemP_array) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLinestrips,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLinestrips , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domLinestrips , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: material
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "material" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domLinestrips , attrMaterial ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLinestrips));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLink.cpp b/1.4.0/dom/src/1.5/dom/domLink.cpp
new file mode 100644
index 0000000..e9faea2
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLink.cpp
@@ -0,0 +1,308 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLink.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLink::create(DAE& dae)
+{
+ domLinkRef ref = new domLink(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLink::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "link" );
+ meta->registerClass(domLink::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domLink,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domLink,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaChoice( meta, cm, 1, 3001, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "attachment_full" );
+ mea->setOffset( daeOffsetOf(domLink,elemAttachment_full_array) );
+ mea->setElementType( domLink::domAttachment_full::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "attachment_start" );
+ mea->setOffset( daeOffsetOf(domLink,elemAttachment_start_array) );
+ mea->setElementType( domLink::domAttachment_start::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "attachment_end" );
+ mea->setOffset( daeOffsetOf(domLink,elemAttachment_end_array) );
+ mea->setElementType( domLink::domAttachment_end::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 6001 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domLink,_contents));
+ meta->addContentsOrder(daeOffsetOf(domLink,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domLink,_CMData), 2);
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domLink , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLink , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLink));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domLink::domAttachment_full::create(DAE& dae)
+{
+ domLink::domAttachment_fullRef ref = new domLink::domAttachment_full(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLink::domAttachment_full::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "attachment_full" );
+ meta->registerClass(domLink::domAttachment_full::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domLink::domAttachment_full,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domLink::domAttachment_full,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementAttribute( meta, cm, 3001, 1, 1 );
+ mea->setName( "link" );
+ mea->setOffset( daeOffsetOf(domLink::domAttachment_full,elemLink) );
+ mea->setElementType( domLink::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3001 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domLink::domAttachment_full,_contents));
+ meta->addContentsOrder(daeOffsetOf(domLink::domAttachment_full,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domLink::domAttachment_full,_CMData), 1);
+ // Add attribute: joint
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "joint" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLink::domAttachment_full , attrJoint ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLink::domAttachment_full));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domLink::domAttachment_start::create(DAE& dae)
+{
+ domLink::domAttachment_startRef ref = new domLink::domAttachment_start(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLink::domAttachment_start::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "attachment_start" );
+ meta->registerClass(domLink::domAttachment_start::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domLink::domAttachment_start,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domLink::domAttachment_start,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3000 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domLink::domAttachment_start,_contents));
+ meta->addContentsOrder(daeOffsetOf(domLink::domAttachment_start,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domLink::domAttachment_start,_CMData), 1);
+ // Add attribute: joint
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "joint" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLink::domAttachment_start , attrJoint ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLink::domAttachment_start));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domLink::domAttachment_end::create(DAE& dae)
+{
+ domLink::domAttachment_endRef ref = new domLink::domAttachment_end(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLink::domAttachment_end::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "attachment_end" );
+ meta->registerClass(domLink::domAttachment_end::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domLink::domAttachment_end,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domLink::domAttachment_end,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3000 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domLink::domAttachment_end,_contents));
+ meta->addContentsOrder(daeOffsetOf(domLink::domAttachment_end,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domLink::domAttachment_end,_CMData), 1);
+ // Add attribute: joint
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "joint" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLink::domAttachment_end , attrJoint ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLink::domAttachment_end));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLookat.cpp b/1.4.0/dom/src/1.5/dom/domLookat.cpp
new file mode 100644
index 0000000..3a72144
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLookat.cpp
@@ -0,0 +1,59 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLookat.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLookat::create(DAE& dae)
+{
+ domLookatRef ref = new domLookat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLookat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "lookat" );
+ meta->registerClass(domLookat::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x3"));
+ ma->setOffset( daeOffsetOf( domLookat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domLookat , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLookat));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domMaterial.cpp b/1.4.0/dom/src/1.5/dom/domMaterial.cpp
new file mode 100644
index 0000000..41cf534
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domMaterial.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domMaterial.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domMaterial::create(DAE& dae)
+{
+ domMaterialRef ref = new domMaterial(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domMaterial::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material" );
+ meta->registerClass(domMaterial::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domMaterial,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "instance_effect" );
+ mea->setOffset( daeOffsetOf(domMaterial,elemInstance_effect) );
+ mea->setElementType( domInstance_effect::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domMaterial,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domMaterial , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domMaterial , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domMaterial));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domMatrix.cpp b/1.4.0/dom/src/1.5/dom/domMatrix.cpp
new file mode 100644
index 0000000..f700246
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domMatrix.cpp
@@ -0,0 +1,59 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domMatrix.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domMatrix::create(DAE& dae)
+{
+ domMatrixRef ref = new domMatrix(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domMatrix::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "matrix" );
+ meta->registerClass(domMatrix::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domMatrix , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domMatrix , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domMatrix));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domMesh.cpp b/1.4.0/dom/src/1.5/dom/domMesh.cpp
new file mode 100644
index 0000000..94a1079
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domMesh.cpp
@@ -0,0 +1,115 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domMesh.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domMesh::create(DAE& dae)
+{
+ domMeshRef ref = new domMesh(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domMesh::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mesh" );
+ meta->registerClass(domMesh::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domMesh,elemSource_array) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "vertices" );
+ mea->setOffset( daeOffsetOf(domMesh,elemVertices) );
+ mea->setElementType( domVertices::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 2, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "lines" );
+ mea->setOffset( daeOffsetOf(domMesh,elemLines_array) );
+ mea->setElementType( domLines::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "linestrips" );
+ mea->setOffset( daeOffsetOf(domMesh,elemLinestrips_array) );
+ mea->setElementType( domLinestrips::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygons" );
+ mea->setOffset( daeOffsetOf(domMesh,elemPolygons_array) );
+ mea->setElementType( domPolygons::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polylist" );
+ mea->setOffset( daeOffsetOf(domMesh,elemPolylist_array) );
+ mea->setElementType( domPolylist::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "triangles" );
+ mea->setOffset( daeOffsetOf(domMesh,elemTriangles_array) );
+ mea->setElementType( domTriangles::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "trifans" );
+ mea->setOffset( daeOffsetOf(domMesh,elemTrifans_array) );
+ mea->setElementType( domTrifans::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "tristrips" );
+ mea->setOffset( daeOffsetOf(domMesh,elemTristrips_array) );
+ mea->setElementType( domTristrips::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3003, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domMesh,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3003 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domMesh,_contents));
+ meta->addContentsOrder(daeOffsetOf(domMesh,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domMesh,_CMData), 1);
+ meta->setElementSize(sizeof(domMesh));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domMinmax.cpp b/1.4.0/dom/src/1.5/dom/domMinmax.cpp
new file mode 100644
index 0000000..939c696
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domMinmax.cpp
@@ -0,0 +1,70 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domMinmax.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domMinmax::create(DAE& dae)
+{
+ domMinmaxRef ref = new domMinmax(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domMinmax::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "minmax" );
+ meta->registerClass(domMinmax::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domMinmax , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domMinmax , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domMinmax , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domMinmax));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domMorph.cpp b/1.4.0/dom/src/1.5/dom/domMorph.cpp
new file mode 100644
index 0000000..be93a0f
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domMorph.cpp
@@ -0,0 +1,133 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domMorph.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domMorph::create(DAE& dae)
+{
+ domMorphRef ref = new domMorph(dae);
+ ref->attrSource.setContainer( (domMorph*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domMorph::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "morph" );
+ meta->registerClass(domMorph::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 2, -1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domMorph,elemSource_array) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "targets" );
+ mea->setOffset( daeOffsetOf(domMorph,elemTargets) );
+ mea->setElementType( domMorph::domTargets::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domMorph,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: method
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "method" );
+ ma->setType( dae.getAtomicTypes().get("Morph_method"));
+ ma->setOffset( daeOffsetOf( domMorph , attrMethod ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "NORMALIZED");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domMorph , attrSource ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domMorph));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domMorph::domTargets::create(DAE& dae)
+{
+ domMorph::domTargetsRef ref = new domMorph::domTargets(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domMorph::domTargets::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "targets" );
+ meta->registerClass(domMorph::domTargets::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 2, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domMorph::domTargets,elemInput_array) );
+ mea->setElementType( domInput_local::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domMorph::domTargets,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domMorph::domTargets));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domMotion.cpp b/1.4.0/dom/src/1.5/dom/domMotion.cpp
new file mode 100644
index 0000000..fa2fafa
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domMotion.cpp
@@ -0,0 +1,69 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domMotion.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domMotion::create(DAE& dae)
+{
+ domMotionRef ref = new domMotion(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domMotion::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "motion" );
+ meta->registerClass(domMotion::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_articulated_system" );
+ mea->setOffset( daeOffsetOf(domMotion,elemInstance_articulated_system) );
+ mea->setElementType( domInstance_articulated_system::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domMotion,elemTechnique_common) );
+ mea->setElementType( domMotion_technique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domMotion,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domMotion,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domMotion));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domMotion_axis_info.cpp b/1.4.0/dom/src/1.5/dom/domMotion_axis_info.cpp
new file mode 100644
index 0000000..9cf03d9
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domMotion_axis_info.cpp
@@ -0,0 +1,121 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domMotion_axis_info.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domMotion_axis_info::create(DAE& dae)
+{
+ domMotion_axis_infoRef ref = new domMotion_axis_info(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domMotion_axis_info::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "motion_axis_info" );
+ meta->registerClass(domMotion_axis_info::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "bind" );
+ mea->setOffset( daeOffsetOf(domMotion_axis_info,elemBind_array) );
+ mea->setElementType( domKinematics_bind::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domMotion_axis_info,elemNewparam_array) );
+ mea->setElementType( domKinematics_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "setparam" );
+ mea->setOffset( daeOffsetOf(domMotion_axis_info,elemSetparam_array) );
+ mea->setElementType( domKinematics_setparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "speed" );
+ mea->setOffset( daeOffsetOf(domMotion_axis_info,elemSpeed) );
+ mea->setElementType( domCommon_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "acceleration" );
+ mea->setOffset( daeOffsetOf(domMotion_axis_info,elemAcceleration) );
+ mea->setElementType( domCommon_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "deceleration" );
+ mea->setOffset( daeOffsetOf(domMotion_axis_info,elemDeceleration) );
+ mea->setElementType( domCommon_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "jerk" );
+ mea->setOffset( daeOffsetOf(domMotion_axis_info,elemJerk) );
+ mea->setElementType( domCommon_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 6 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domMotion_axis_info , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: axis
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "axis" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domMotion_axis_info , attrAxis ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domMotion_axis_info , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domMotion_axis_info));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domMotion_effector_info.cpp b/1.4.0/dom/src/1.5/dom/domMotion_effector_info.cpp
new file mode 100644
index 0000000..f7fbb68
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domMotion_effector_info.cpp
@@ -0,0 +1,109 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domMotion_effector_info.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domMotion_effector_info::create(DAE& dae)
+{
+ domMotion_effector_infoRef ref = new domMotion_effector_info(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domMotion_effector_info::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "motion_effector_info" );
+ meta->registerClass(domMotion_effector_info::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "bind" );
+ mea->setOffset( daeOffsetOf(domMotion_effector_info,elemBind_array) );
+ mea->setElementType( domKinematics_bind::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domMotion_effector_info,elemNewparam_array) );
+ mea->setElementType( domKinematics_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "setparam" );
+ mea->setOffset( daeOffsetOf(domMotion_effector_info,elemSetparam_array) );
+ mea->setElementType( domKinematics_setparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "speed" );
+ mea->setOffset( daeOffsetOf(domMotion_effector_info,elemSpeed) );
+ mea->setElementType( domCommon_float2_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "acceleration" );
+ mea->setOffset( daeOffsetOf(domMotion_effector_info,elemAcceleration) );
+ mea->setElementType( domCommon_float2_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "deceleration" );
+ mea->setOffset( daeOffsetOf(domMotion_effector_info,elemDeceleration) );
+ mea->setElementType( domCommon_float2_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "jerk" );
+ mea->setOffset( daeOffsetOf(domMotion_effector_info,elemJerk) );
+ mea->setElementType( domCommon_float2_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 6 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domMotion_effector_info , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domMotion_effector_info , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domMotion_effector_info));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domMotion_technique.cpp b/1.4.0/dom/src/1.5/dom/domMotion_technique.cpp
new file mode 100644
index 0000000..9c2a1a9
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domMotion_technique.cpp
@@ -0,0 +1,57 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domMotion_technique.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domMotion_technique::create(DAE& dae)
+{
+ domMotion_techniqueRef ref = new domMotion_technique(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domMotion_technique::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "motion_technique" );
+ meta->registerClass(domMotion_technique::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "axis_info" );
+ mea->setOffset( daeOffsetOf(domMotion_technique,elemAxis_info_array) );
+ mea->setElementType( domMotion_axis_info::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "effector_info" );
+ mea->setOffset( daeOffsetOf(domMotion_technique,elemEffector_info) );
+ mea->setElementType( domMotion_effector_info::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domMotion_technique));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domName_array.cpp b/1.4.0/dom/src/1.5/dom/domName_array.cpp
new file mode 100644
index 0000000..fcebc06
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domName_array.cpp
@@ -0,0 +1,82 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domName_array.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domName_array::create(DAE& dae)
+{
+ domName_arrayRef ref = new domName_array(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domName_array::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "name_array" );
+ meta->registerClass(domName_array::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_names"));
+ ma->setOffset( daeOffsetOf( domName_array , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domName_array , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domName_array , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domName_array , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domName_array));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domNode.cpp b/1.4.0/dom/src/1.5/dom/domNode.cpp
new file mode 100644
index 0000000..75e2e98
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domNode.cpp
@@ -0,0 +1,195 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domNode.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domNode::create(DAE& dae)
+{
+ domNodeRef ref = new domNode(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domNode::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "node" );
+ meta->registerClass(domNode::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domNode,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "lookat" );
+ mea->setOffset( daeOffsetOf(domNode,elemLookat_array) );
+ mea->setElementType( domLookat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "matrix" );
+ mea->setOffset( daeOffsetOf(domNode,elemMatrix_array) );
+ mea->setElementType( domMatrix::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domNode,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "scale" );
+ mea->setOffset( daeOffsetOf(domNode,elemScale_array) );
+ mea->setElementType( domScale::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "skew" );
+ mea->setOffset( daeOffsetOf(domNode,elemSkew_array) );
+ mea->setElementType( domSkew::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domNode,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3002, 0, -1 );
+ mea->setName( "instance_camera" );
+ mea->setOffset( daeOffsetOf(domNode,elemInstance_camera_array) );
+ mea->setElementType( domInstance_camera::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3003, 0, -1 );
+ mea->setName( "instance_controller" );
+ mea->setOffset( daeOffsetOf(domNode,elemInstance_controller_array) );
+ mea->setElementType( domInstance_controller::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3004, 0, -1 );
+ mea->setName( "instance_geometry" );
+ mea->setOffset( daeOffsetOf(domNode,elemInstance_geometry_array) );
+ mea->setElementType( domInstance_geometry::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3005, 0, -1 );
+ mea->setName( "instance_light" );
+ mea->setOffset( daeOffsetOf(domNode,elemInstance_light_array) );
+ mea->setElementType( domInstance_light::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3006, 0, -1 );
+ mea->setName( "instance_node" );
+ mea->setOffset( daeOffsetOf(domNode,elemInstance_node_array) );
+ mea->setElementType( domInstance_node::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3007, 0, -1 );
+ mea->setName( "node" );
+ mea->setOffset( daeOffsetOf(domNode,elemNode_array) );
+ mea->setElementType( domNode::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3008, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domNode,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3008 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domNode,_contents));
+ meta->addContentsOrder(daeOffsetOf(domNode,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domNode,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domNode , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domNode , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domNode , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: type
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "type" );
+ ma->setType( dae.getAtomicTypes().get("Node_enum"));
+ ma->setOffset( daeOffsetOf( domNode , attrType ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "NODE");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: layer
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "layer" );
+ ma->setType( dae.getAtomicTypes().get("List_of_names"));
+ ma->setOffset( daeOffsetOf( domNode , attrLayer ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domNode));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domNurbs.cpp b/1.4.0/dom/src/1.5/dom/domNurbs.cpp
new file mode 100644
index 0000000..31057a6
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domNurbs.cpp
@@ -0,0 +1,132 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domNurbs.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domNurbs::create(DAE& dae)
+{
+ domNurbsRef ref = new domNurbs(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domNurbs::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "nurbs" );
+ meta->registerClass(domNurbs::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domNurbs,elemSource_array) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "control_vertices" );
+ mea->setOffset( daeOffsetOf(domNurbs,elemControl_vertices) );
+ mea->setElementType( domNurbs::domControl_vertices::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domNurbs,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: degree
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "degree" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domNurbs , attrDegree ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: closed
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "closed" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domNurbs , attrClosed ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domNurbs));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domNurbs::domControl_vertices::create(DAE& dae)
+{
+ domNurbs::domControl_verticesRef ref = new domNurbs::domControl_vertices(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domNurbs::domControl_vertices::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "control_vertices" );
+ meta->registerClass(domNurbs::domControl_vertices::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domNurbs::domControl_vertices,elemInput_array) );
+ mea->setElementType( domInput_local::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domNurbs::domControl_vertices,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domNurbs::domControl_vertices));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domNurbs_surface.cpp b/1.4.0/dom/src/1.5/dom/domNurbs_surface.cpp
new file mode 100644
index 0000000..16a1223
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domNurbs_surface.cpp
@@ -0,0 +1,156 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domNurbs_surface.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domNurbs_surface::create(DAE& dae)
+{
+ domNurbs_surfaceRef ref = new domNurbs_surface(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domNurbs_surface::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "nurbs_surface" );
+ meta->registerClass(domNurbs_surface::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domNurbs_surface,elemSource_array) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "control_vertices" );
+ mea->setOffset( daeOffsetOf(domNurbs_surface,elemControl_vertices) );
+ mea->setElementType( domNurbs_surface::domControl_vertices::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domNurbs_surface,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: degree_u
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "degree_u" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domNurbs_surface , attrDegree_u ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: closed_u
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "closed_u" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domNurbs_surface , attrClosed_u ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: degree_v
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "degree_v" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domNurbs_surface , attrDegree_v ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: closed_v
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "closed_v" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domNurbs_surface , attrClosed_v ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domNurbs_surface));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domNurbs_surface::domControl_vertices::create(DAE& dae)
+{
+ domNurbs_surface::domControl_verticesRef ref = new domNurbs_surface::domControl_vertices(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domNurbs_surface::domControl_vertices::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "control_vertices" );
+ meta->registerClass(domNurbs_surface::domControl_vertices::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domNurbs_surface::domControl_vertices,elemInput_array) );
+ mea->setElementType( domInput_local::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domNurbs_surface::domControl_vertices,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domNurbs_surface::domControl_vertices));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domOrient.cpp b/1.4.0/dom/src/1.5/dom/domOrient.cpp
new file mode 100644
index 0000000..aab99bb
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domOrient.cpp
@@ -0,0 +1,48 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domOrient.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domOrient::create(DAE& dae)
+{
+ domOrientRef ref = new domOrient(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domOrient::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "orient" );
+ meta->registerClass(domOrient::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domOrient , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domOrient));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domOrigin.cpp b/1.4.0/dom/src/1.5/dom/domOrigin.cpp
new file mode 100644
index 0000000..b2e36fb
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domOrigin.cpp
@@ -0,0 +1,48 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domOrigin.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domOrigin::create(DAE& dae)
+{
+ domOriginRef ref = new domOrigin(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domOrigin::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "origin" );
+ meta->registerClass(domOrigin::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domOrigin , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domOrigin));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domP.cpp b/1.4.0/dom/src/1.5/dom/domP.cpp
new file mode 100644
index 0000000..e088b4c
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domP.cpp
@@ -0,0 +1,48 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domP.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domP::create(DAE& dae)
+{
+ domPRef ref = new domP(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domP::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "p" );
+ meta->registerClass(domP::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_uints"));
+ ma->setOffset( daeOffsetOf( domP , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domP));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domParabola.cpp b/1.4.0/dom/src/1.5/dom/domParabola.cpp
new file mode 100644
index 0000000..1c48ceb
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domParabola.cpp
@@ -0,0 +1,93 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domParabola.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domParabola::create(DAE& dae)
+{
+ domParabolaRef ref = new domParabola(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domParabola::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "parabola" );
+ meta->registerClass(domParabola::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "focal" );
+ mea->setOffset( daeOffsetOf(domParabola,elemFocal) );
+ mea->setElementType( domParabola::domFocal::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domParabola,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domParabola));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domParabola::domFocal::create(DAE& dae)
+{
+ domParabola::domFocalRef ref = new domParabola::domFocal(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domParabola::domFocal::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "focal" );
+ meta->registerClass(domParabola::domFocal::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domParabola::domFocal , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domParabola::domFocal));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domParam.cpp b/1.4.0/dom/src/1.5/dom/domParam.cpp
new file mode 100644
index 0000000..1b800dc
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domParam.cpp
@@ -0,0 +1,93 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domParam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domParam::create(DAE& dae)
+{
+ domParamRef ref = new domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domParam::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domParam , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domParam , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domParam , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: semantic
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "semantic" );
+ ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
+ ma->setOffset( daeOffsetOf( domParam , attrSemantic ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: type
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "type" );
+ ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
+ ma->setOffset( daeOffsetOf( domParam , attrType ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domParam));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domPcurves.cpp b/1.4.0/dom/src/1.5/dom/domPcurves.cpp
new file mode 100644
index 0000000..5d61e7e
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domPcurves.cpp
@@ -0,0 +1,141 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domPcurves.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domPcurves::create(DAE& dae)
+{
+ domPcurvesRef ref = new domPcurves(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPcurves::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "pcurves" );
+ meta->registerClass(domPcurves::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 3, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domPcurves,elemInput_array) );
+ mea->setElementType( domInput_local_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "vcount" );
+ mea->setOffset( daeOffsetOf(domPcurves,elemVcount) );
+ mea->setElementType( domPcurves::domVcount::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domPcurves,elemP) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domPcurves,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domPcurves , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domPcurves , attrName ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domPcurves , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domPcurves));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domPcurves::domVcount::create(DAE& dae)
+{
+ domPcurves::domVcountRef ref = new domPcurves::domVcount(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPcurves::domVcount::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "vcount" );
+ meta->registerClass(domPcurves::domVcount::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_uints"));
+ ma->setOffset( daeOffsetOf( domPcurves::domVcount , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domPcurves::domVcount));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domPhysics_material.cpp b/1.4.0/dom/src/1.5/dom/domPhysics_material.cpp
new file mode 100644
index 0000000..a2b7615
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domPhysics_material.cpp
@@ -0,0 +1,142 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domPhysics_material.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domPhysics_material::create(DAE& dae)
+{
+ domPhysics_materialRef ref = new domPhysics_material(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPhysics_material::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "physics_material" );
+ meta->registerClass(domPhysics_material::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domPhysics_material,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domPhysics_material,elemTechnique_common) );
+ mea->setElementType( domPhysics_material::domTechnique_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domPhysics_material,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domPhysics_material,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domPhysics_material , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domPhysics_material , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domPhysics_material));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domPhysics_material::domTechnique_common::create(DAE& dae)
+{
+ domPhysics_material::domTechnique_commonRef ref = new domPhysics_material::domTechnique_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPhysics_material::domTechnique_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_common" );
+ meta->registerClass(domPhysics_material::domTechnique_common::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "dynamic_friction" );
+ mea->setOffset( daeOffsetOf(domPhysics_material::domTechnique_common,elemDynamic_friction) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "restitution" );
+ mea->setOffset( daeOffsetOf(domPhysics_material::domTechnique_common,elemRestitution) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "static_friction" );
+ mea->setOffset( daeOffsetOf(domPhysics_material::domTechnique_common,elemStatic_friction) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domPhysics_material::domTechnique_common));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domPhysics_model.cpp b/1.4.0/dom/src/1.5/dom/domPhysics_model.cpp
new file mode 100644
index 0000000..4904776
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domPhysics_model.cpp
@@ -0,0 +1,97 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domPhysics_model.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domPhysics_model::create(DAE& dae)
+{
+ domPhysics_modelRef ref = new domPhysics_model(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPhysics_model::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "physics_model" );
+ meta->registerClass(domPhysics_model::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domPhysics_model,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "rigid_body" );
+ mea->setOffset( daeOffsetOf(domPhysics_model,elemRigid_body_array) );
+ mea->setElementType( domRigid_body::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "rigid_constraint" );
+ mea->setOffset( daeOffsetOf(domPhysics_model,elemRigid_constraint_array) );
+ mea->setElementType( domRigid_constraint::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "instance_physics_model" );
+ mea->setOffset( daeOffsetOf(domPhysics_model,elemInstance_physics_model_array) );
+ mea->setElementType( domInstance_physics_model::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domPhysics_model,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domPhysics_model , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domPhysics_model , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domPhysics_model));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domPhysics_scene.cpp b/1.4.0/dom/src/1.5/dom/domPhysics_scene.cpp
new file mode 100644
index 0000000..271a5ba
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domPhysics_scene.cpp
@@ -0,0 +1,148 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domPhysics_scene.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domPhysics_scene::create(DAE& dae)
+{
+ domPhysics_sceneRef ref = new domPhysics_scene(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPhysics_scene::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "physics_scene" );
+ meta->registerClass(domPhysics_scene::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domPhysics_scene,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "instance_force_field" );
+ mea->setOffset( daeOffsetOf(domPhysics_scene,elemInstance_force_field_array) );
+ mea->setElementType( domInstance_force_field::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "instance_physics_model" );
+ mea->setOffset( daeOffsetOf(domPhysics_scene,elemInstance_physics_model_array) );
+ mea->setElementType( domInstance_physics_model::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domPhysics_scene,elemTechnique_common) );
+ mea->setElementType( domPhysics_scene::domTechnique_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domPhysics_scene,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 5, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domPhysics_scene,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 5 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domPhysics_scene , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domPhysics_scene , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domPhysics_scene));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domPhysics_scene::domTechnique_common::create(DAE& dae)
+{
+ domPhysics_scene::domTechnique_commonRef ref = new domPhysics_scene::domTechnique_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPhysics_scene::domTechnique_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_common" );
+ meta->registerClass(domPhysics_scene::domTechnique_common::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "gravity" );
+ mea->setOffset( daeOffsetOf(domPhysics_scene::domTechnique_common,elemGravity) );
+ mea->setElementType( domTargetable_float3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "time_step" );
+ mea->setOffset( daeOffsetOf(domPhysics_scene::domTechnique_common,elemTime_step) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domPhysics_scene::domTechnique_common));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domPlane.cpp b/1.4.0/dom/src/1.5/dom/domPlane.cpp
new file mode 100644
index 0000000..4aff4a1
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domPlane.cpp
@@ -0,0 +1,93 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domPlane.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domPlane::create(DAE& dae)
+{
+ domPlaneRef ref = new domPlane(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPlane::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "plane" );
+ meta->registerClass(domPlane::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "equation" );
+ mea->setOffset( daeOffsetOf(domPlane,elemEquation) );
+ mea->setElementType( domPlane::domEquation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domPlane,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domPlane));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domPlane::domEquation::create(DAE& dae)
+{
+ domPlane::domEquationRef ref = new domPlane::domEquation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPlane::domEquation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "equation" );
+ meta->registerClass(domPlane::domEquation::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domPlane::domEquation , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domPlane::domEquation));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domPolygons.cpp b/1.4.0/dom/src/1.5/dom/domPolygons.cpp
new file mode 100644
index 0000000..3e6370a
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domPolygons.cpp
@@ -0,0 +1,194 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domPolygons.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domPolygons::create(DAE& dae)
+{
+ domPolygonsRef ref = new domPolygons(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPolygons::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygons" );
+ meta->registerClass(domPolygons::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domPolygons,elemInput_array) );
+ mea->setElementType( domInput_local_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domPolygons,elemP_array) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ph" );
+ mea->setOffset( daeOffsetOf(domPolygons,elemPh_array) );
+ mea->setElementType( domPolygons::domPh::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3002, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domPolygons,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3002 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domPolygons,_contents));
+ meta->addContentsOrder(daeOffsetOf(domPolygons,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domPolygons,_CMData), 1);
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domPolygons , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domPolygons , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: material
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "material" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domPolygons , attrMaterial ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domPolygons));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domPolygons::domPh::create(DAE& dae)
+{
+ domPolygons::domPhRef ref = new domPolygons::domPh(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPolygons::domPh::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ph" );
+ meta->registerClass(domPolygons::domPh::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domPolygons::domPh,elemP) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "h" );
+ mea->setOffset( daeOffsetOf(domPolygons::domPh,elemH_array) );
+ mea->setElementType( domPolygons::domPh::domH::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domPolygons::domPh));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domPolygons::domPh::domH::create(DAE& dae)
+{
+ domPolygons::domPh::domHRef ref = new domPolygons::domPh::domH(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPolygons::domPh::domH::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "h" );
+ meta->registerClass(domPolygons::domPh::domH::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_uints"));
+ ma->setOffset( daeOffsetOf( domPolygons::domPh::domH , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domPolygons::domPh::domH));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domPolylist.cpp b/1.4.0/dom/src/1.5/dom/domPolylist.cpp
new file mode 100644
index 0000000..645bf09
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domPolylist.cpp
@@ -0,0 +1,139 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domPolylist.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domPolylist::create(DAE& dae)
+{
+ domPolylistRef ref = new domPolylist(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPolylist::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polylist" );
+ meta->registerClass(domPolylist::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domPolylist,elemInput_array) );
+ mea->setElementType( domInput_local_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "vcount" );
+ mea->setOffset( daeOffsetOf(domPolylist,elemVcount) );
+ mea->setElementType( domPolylist::domVcount::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domPolylist,elemP) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domPolylist,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domPolylist , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domPolylist , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: material
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "material" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domPolylist , attrMaterial ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domPolylist));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domPolylist::domVcount::create(DAE& dae)
+{
+ domPolylist::domVcountRef ref = new domPolylist::domVcount(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPolylist::domVcount::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "vcount" );
+ meta->registerClass(domPolylist::domVcount::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_uints"));
+ ma->setOffset( daeOffsetOf( domPolylist::domVcount , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domPolylist::domVcount));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domProfile_bridge.cpp b/1.4.0/dom/src/1.5/dom/domProfile_bridge.cpp
new file mode 100644
index 0000000..8d36381
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domProfile_bridge.cpp
@@ -0,0 +1,93 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domProfile_bridge.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domProfile_bridge::create(DAE& dae)
+{
+ domProfile_bridgeRef ref = new domProfile_bridge(dae);
+ ref->attrUrl.setContainer( (domProfile_bridge*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_bridge::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "profile_bridge" );
+ meta->registerClass(domProfile_bridge::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_bridge,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_bridge,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_bridge , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: platform
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "platform" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domProfile_bridge , attrPlatform ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domProfile_bridge , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_bridge));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domProfile_cg.cpp b/1.4.0/dom/src/1.5/dom/domProfile_cg.cpp
new file mode 100644
index 0000000..17b2fc7
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domProfile_cg.cpp
@@ -0,0 +1,196 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domProfile_cg.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domProfile_cg::create(DAE& dae)
+{
+ domProfile_cgRef ref = new domProfile_cg(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_cg::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "profile_cg" );
+ meta->registerClass(domProfile_cg::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_cg,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "code" );
+ mea->setOffset( daeOffsetOf(domProfile_cg,elemCode_array) );
+ mea->setElementType( domFx_code::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "include" );
+ mea->setOffset( daeOffsetOf(domProfile_cg,elemInclude_array) );
+ mea->setElementType( domFx_include::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3002, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domProfile_cg,elemNewparam_array) );
+ mea->setElementType( domCg_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3003, 1, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domProfile_cg,elemTechnique_array) );
+ mea->setElementType( domProfile_cg::domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3004, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_cg,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3004 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domProfile_cg,_contents));
+ meta->addContentsOrder(daeOffsetOf(domProfile_cg,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domProfile_cg,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_cg , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: platform
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "platform" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domProfile_cg , attrPlatform ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "PC");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_cg));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_cg::domTechnique::create(DAE& dae)
+{
+ domProfile_cg::domTechniqueRef ref = new domProfile_cg::domTechnique(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_cg::domTechnique::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique" );
+ meta->registerClass(domProfile_cg::domTechnique::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_cg::domTechnique,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domProfile_cg::domTechnique,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 1, -1 );
+ mea->setName( "pass" );
+ mea->setOffset( daeOffsetOf(domProfile_cg::domTechnique,elemPass_array) );
+ mea->setElementType( domCg_pass::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_cg::domTechnique,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_cg::domTechnique , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domProfile_cg::domTechnique , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_cg::domTechnique));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domProfile_common.cpp b/1.4.0/dom/src/1.5/dom/domProfile_common.cpp
new file mode 100644
index 0000000..ab7d175
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domProfile_common.cpp
@@ -0,0 +1,519 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domProfile_common.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domProfile_common::create(DAE& dae)
+{
+ domProfile_commonRef ref = new domProfile_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "profile_common" );
+ meta->registerClass(domProfile_common::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_common,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domProfile_common,elemNewparam_array) );
+ mea->setElementType( domFx_common_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domProfile_common,elemTechnique) );
+ mea->setElementType( domProfile_common::domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_common,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_common , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_common::domTechnique::create(DAE& dae)
+{
+ domProfile_common::domTechniqueRef ref = new domProfile_common::domTechnique(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_common::domTechnique::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique" );
+ meta->registerClass(domProfile_common::domTechnique::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "constant" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique,elemConstant) );
+ mea->setElementType( domProfile_common::domTechnique::domConstant::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "lambert" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique,elemLambert) );
+ mea->setElementType( domProfile_common::domTechnique::domLambert::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "phong" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique,elemPhong) );
+ mea->setElementType( domProfile_common::domTechnique::domPhong::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blinn" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique,elemBlinn) );
+ mea->setElementType( domProfile_common::domTechnique::domBlinn::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domProfile_common::domTechnique,_contents));
+ meta->addContentsOrder(daeOffsetOf(domProfile_common::domTechnique,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domProfile_common::domTechnique,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_common::domTechnique , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domProfile_common::domTechnique , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_common::domTechnique));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_common::domTechnique::domConstant::create(DAE& dae)
+{
+ domProfile_common::domTechnique::domConstantRef ref = new domProfile_common::domTechnique::domConstant(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_common::domTechnique::domConstant::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "constant" );
+ meta->registerClass(domProfile_common::domTechnique::domConstant::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "emission" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domConstant,elemEmission) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "reflective" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domConstant,elemReflective) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "reflectivity" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domConstant,elemReflectivity) );
+ mea->setElementType( domFx_common_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "transparent" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domConstant,elemTransparent) );
+ mea->setElementType( domFx_common_transparent::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "transparency" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domConstant,elemTransparency) );
+ mea->setElementType( domFx_common_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "index_of_refraction" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domConstant,elemIndex_of_refraction) );
+ mea->setElementType( domFx_common_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 5 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domProfile_common::domTechnique::domConstant));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_common::domTechnique::domLambert::create(DAE& dae)
+{
+ domProfile_common::domTechnique::domLambertRef ref = new domProfile_common::domTechnique::domLambert(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_common::domTechnique::domLambert::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "lambert" );
+ meta->registerClass(domProfile_common::domTechnique::domLambert::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "emission" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domLambert,elemEmission) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "ambient" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domLambert,elemAmbient) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "diffuse" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domLambert,elemDiffuse) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "reflective" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domLambert,elemReflective) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "reflectivity" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domLambert,elemReflectivity) );
+ mea->setElementType( domFx_common_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "transparent" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domLambert,elemTransparent) );
+ mea->setElementType( domFx_common_transparent::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "transparency" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domLambert,elemTransparency) );
+ mea->setElementType( domFx_common_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "index_of_refraction" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domLambert,elemIndex_of_refraction) );
+ mea->setElementType( domFx_common_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 7 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domProfile_common::domTechnique::domLambert));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_common::domTechnique::domPhong::create(DAE& dae)
+{
+ domProfile_common::domTechnique::domPhongRef ref = new domProfile_common::domTechnique::domPhong(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_common::domTechnique::domPhong::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "phong" );
+ meta->registerClass(domProfile_common::domTechnique::domPhong::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "emission" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domPhong,elemEmission) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "ambient" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domPhong,elemAmbient) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "diffuse" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domPhong,elemDiffuse) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "specular" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domPhong,elemSpecular) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "shininess" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domPhong,elemShininess) );
+ mea->setElementType( domFx_common_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "reflective" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domPhong,elemReflective) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "reflectivity" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domPhong,elemReflectivity) );
+ mea->setElementType( domFx_common_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "transparent" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domPhong,elemTransparent) );
+ mea->setElementType( domFx_common_transparent::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 8, 0, 1 );
+ mea->setName( "transparency" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domPhong,elemTransparency) );
+ mea->setElementType( domFx_common_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 9, 0, 1 );
+ mea->setName( "index_of_refraction" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domPhong,elemIndex_of_refraction) );
+ mea->setElementType( domFx_common_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 9 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domProfile_common::domTechnique::domPhong));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_common::domTechnique::domBlinn::create(DAE& dae)
+{
+ domProfile_common::domTechnique::domBlinnRef ref = new domProfile_common::domTechnique::domBlinn(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_common::domTechnique::domBlinn::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blinn" );
+ meta->registerClass(domProfile_common::domTechnique::domBlinn::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "emission" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domBlinn,elemEmission) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "ambient" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domBlinn,elemAmbient) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "diffuse" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domBlinn,elemDiffuse) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "specular" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domBlinn,elemSpecular) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "shininess" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domBlinn,elemShininess) );
+ mea->setElementType( domFx_common_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "reflective" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domBlinn,elemReflective) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "reflectivity" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domBlinn,elemReflectivity) );
+ mea->setElementType( domFx_common_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "transparent" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domBlinn,elemTransparent) );
+ mea->setElementType( domFx_common_transparent::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 8, 0, 1 );
+ mea->setName( "transparency" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domBlinn,elemTransparency) );
+ mea->setElementType( domFx_common_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 9, 0, 1 );
+ mea->setName( "index_of_refraction" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domBlinn,elemIndex_of_refraction) );
+ mea->setElementType( domFx_common_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 9 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domProfile_common::domTechnique::domBlinn));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domProfile_gles.cpp b/1.4.0/dom/src/1.5/dom/domProfile_gles.cpp
new file mode 100644
index 0000000..ea125bc
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domProfile_gles.cpp
@@ -0,0 +1,393 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domProfile_gles.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domProfile_gles::create(DAE& dae)
+{
+ domProfile_glesRef ref = new domProfile_gles(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_gles::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "profile_gles" );
+ meta->registerClass(domProfile_gles::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_gles,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domProfile_gles,elemNewparam_array) );
+ mea->setElementType( domGles_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 1, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domProfile_gles,elemTechnique_array) );
+ mea->setElementType( domProfile_gles::domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_gles,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_gles , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: platform
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "platform" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domProfile_gles , attrPlatform ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "PC");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_gles));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_gles::domTechnique::create(DAE& dae)
+{
+ domProfile_gles::domTechniqueRef ref = new domProfile_gles::domTechnique(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_gles::domTechnique::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique" );
+ meta->registerClass(domProfile_gles::domTechnique::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 1, -1 );
+ mea->setName( "pass" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique,elemPass_array) );
+ mea->setElementType( domProfile_gles::domTechnique::domPass::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_gles::domTechnique , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domProfile_gles::domTechnique , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_gles::domTechnique));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_gles::domTechnique::domPass::create(DAE& dae)
+{
+ domProfile_gles::domTechnique::domPassRef ref = new domProfile_gles::domTechnique::domPass(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_gles::domTechnique::domPass::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "pass" );
+ meta->registerClass(domProfile_gles::domTechnique::domPass::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique::domPass,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "states" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique::domPass,elemStates) );
+ mea->setElementType( domProfile_gles::domTechnique::domPass::domStates::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "evaluate" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique::domPass,elemEvaluate) );
+ mea->setElementType( domProfile_gles::domTechnique::domPass::domEvaluate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique::domPass,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domProfile_gles::domTechnique::domPass , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_gles::domTechnique::domPass));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_gles::domTechnique::domPass::domStates::create(DAE& dae)
+{
+ domProfile_gles::domTechnique::domPass::domStatesRef ref = new domProfile_gles::domTechnique::domPass::domStates(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_gles::domTechnique::domPass::domStates::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "states" );
+ meta->registerClass(domProfile_gles::domTechnique::domPass::domStates::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "gles_pipeline_settings" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique::domPass::domStates,elemGles_pipeline_settings_array) );
+ mea->setElementType( domGles_pipeline_settings::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 0, -1 ) );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domProfile_gles::domTechnique::domPass::domStates));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_gles::domTechnique::domPass::domEvaluate::create(DAE& dae)
+{
+ domProfile_gles::domTechnique::domPass::domEvaluateRef ref = new domProfile_gles::domTechnique::domPass::domEvaluate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_gles::domTechnique::domPass::domEvaluate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "evaluate" );
+ meta->registerClass(domProfile_gles::domTechnique::domPass::domEvaluate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "color_target" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique::domPass::domEvaluate,elemColor_target_array) );
+ mea->setElementType( domFx_colortarget::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "depth_target" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique::domPass::domEvaluate,elemDepth_target_array) );
+ mea->setElementType( domFx_depthtarget::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "stencil_target" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique::domPass::domEvaluate,elemStencil_target_array) );
+ mea->setElementType( domFx_stenciltarget::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "color_clear" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique::domPass::domEvaluate,elemColor_clear_array) );
+ mea->setElementType( domFx_clearcolor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "depth_clear" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique::domPass::domEvaluate,elemDepth_clear_array) );
+ mea->setElementType( domFx_cleardepth::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 5, 0, -1 );
+ mea->setName( "stencil_clear" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique::domPass::domEvaluate,elemStencil_clear_array) );
+ mea->setElementType( domFx_clearstencil::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "draw" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique::domPass::domEvaluate,elemDraw) );
+ mea->setElementType( domProfile_gles::domTechnique::domPass::domEvaluate::domDraw::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 6 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domProfile_gles::domTechnique::domPass::domEvaluate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_gles::domTechnique::domPass::domEvaluate::domDraw::create(DAE& dae)
+{
+ domProfile_gles::domTechnique::domPass::domEvaluate::domDrawRef ref = new domProfile_gles::domTechnique::domPass::domEvaluate::domDraw(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_gles::domTechnique::domPass::domEvaluate::domDraw::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "draw" );
+ meta->registerClass(domProfile_gles::domTechnique::domPass::domEvaluate::domDraw::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_draw"));
+ ma->setOffset( daeOffsetOf( domProfile_gles::domTechnique::domPass::domEvaluate::domDraw , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_gles::domTechnique::domPass::domEvaluate::domDraw));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domProfile_gles2.cpp b/1.4.0/dom/src/1.5/dom/domProfile_gles2.cpp
new file mode 100644
index 0000000..d56f831
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domProfile_gles2.cpp
@@ -0,0 +1,280 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domProfile_gles2.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domProfile_gles2::create(DAE& dae)
+{
+ domProfile_gles2Ref ref = new domProfile_gles2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_gles2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "profile_gles2" );
+ meta->registerClass(domProfile_gles2::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_gles2,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "include" );
+ mea->setOffset( daeOffsetOf(domProfile_gles2,elemInclude_array) );
+ mea->setElementType( domFx_include::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "code" );
+ mea->setOffset( daeOffsetOf(domProfile_gles2,elemCode_array) );
+ mea->setElementType( domFx_code::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3002, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domProfile_gles2,elemNewparam_array) );
+ mea->setElementType( domProfile_gles2::domNewparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3003, 1, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domProfile_gles2,elemTechnique_array) );
+ mea->setElementType( domProfile_gles2::domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3004, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_gles2,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3004 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domProfile_gles2,_contents));
+ meta->addContentsOrder(daeOffsetOf(domProfile_gles2,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domProfile_gles2,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_gles2 , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: language
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "language" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domProfile_gles2 , attrLanguage ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: platforms
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "platforms" );
+ ma->setType( dae.getAtomicTypes().get("List_of_names"));
+ ma->setOffset( daeOffsetOf( domProfile_gles2 , attrPlatforms ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_gles2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_gles2::domNewparam::create(DAE& dae)
+{
+ domProfile_gles2::domNewparamRef ref = new domProfile_gles2::domNewparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_gles2::domNewparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "newparam" );
+ meta->registerClass(domProfile_gles2::domNewparam::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domProfile_gles2::domNewparam,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "semantic" );
+ mea->setOffset( daeOffsetOf(domProfile_gles2::domNewparam,elemSemantic) );
+ mea->setElementType( domSemantic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "modifier" );
+ mea->setOffset( daeOffsetOf(domProfile_gles2::domNewparam,elemModifier) );
+ mea->setElementType( domModifier::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "gles2_value" );
+ mea->setOffset( daeOffsetOf(domProfile_gles2::domNewparam,elemGles2_value) );
+ mea->setElementType( domGles2_value::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 3, 1, 1 ) );
+
+ cm->setMaxOrdinal( 3 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domProfile_gles2::domNewparam , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_gles2::domNewparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_gles2::domTechnique::create(DAE& dae)
+{
+ domProfile_gles2::domTechniqueRef ref = new domProfile_gles2::domTechnique(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_gles2::domTechnique::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique" );
+ meta->registerClass(domProfile_gles2::domTechnique::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_gles2::domTechnique,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domProfile_gles2::domTechnique,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 1, -1 );
+ mea->setName( "pass" );
+ mea->setOffset( daeOffsetOf(domProfile_gles2::domTechnique,elemPass_array) );
+ mea->setElementType( domGles2_pass::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_gles2::domTechnique,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_gles2::domTechnique , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domProfile_gles2::domTechnique , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_gles2::domTechnique));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domProfile_glsl.cpp b/1.4.0/dom/src/1.5/dom/domProfile_glsl.cpp
new file mode 100644
index 0000000..8b67058
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domProfile_glsl.cpp
@@ -0,0 +1,421 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domProfile_glsl.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domProfile_glsl::create(DAE& dae)
+{
+ domProfile_glslRef ref = new domProfile_glsl(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_glsl::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "profile_glsl" );
+ meta->registerClass(domProfile_glsl::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "code" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl,elemCode_array) );
+ mea->setElementType( domFx_code::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "include" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl,elemInclude_array) );
+ mea->setElementType( domFx_include::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3002, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl,elemNewparam_array) );
+ mea->setElementType( domGlsl_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3003, 1, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl,elemTechnique_array) );
+ mea->setElementType( domProfile_glsl::domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3004, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3004 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domProfile_glsl,_contents));
+ meta->addContentsOrder(daeOffsetOf(domProfile_glsl,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domProfile_glsl,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_glsl , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: platform
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "platform" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domProfile_glsl , attrPlatform ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "PC");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_glsl));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_glsl::domTechnique::create(DAE& dae)
+{
+ domProfile_glsl::domTechniqueRef ref = new domProfile_glsl::domTechnique(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_glsl::domTechnique::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique" );
+ meta->registerClass(domProfile_glsl::domTechnique::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 1, -1 );
+ mea->setName( "pass" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique,elemPass_array) );
+ mea->setElementType( domProfile_glsl::domTechnique::domPass::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_glsl::domTechnique , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domProfile_glsl::domTechnique , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_glsl::domTechnique));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_glsl::domTechnique::domPass::create(DAE& dae)
+{
+ domProfile_glsl::domTechnique::domPassRef ref = new domProfile_glsl::domTechnique::domPass(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_glsl::domTechnique::domPass::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "pass" );
+ meta->registerClass(domProfile_glsl::domTechnique::domPass::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique::domPass,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "states" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique::domPass,elemStates) );
+ mea->setElementType( domProfile_glsl::domTechnique::domPass::domStates::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "program" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique::domPass,elemProgram) );
+ mea->setElementType( domGlsl_program::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "evaluate" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique::domPass,elemEvaluate) );
+ mea->setElementType( domProfile_glsl::domTechnique::domPass::domEvaluate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique::domPass,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domProfile_glsl::domTechnique::domPass , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_glsl::domTechnique::domPass));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_glsl::domTechnique::domPass::domStates::create(DAE& dae)
+{
+ domProfile_glsl::domTechnique::domPass::domStatesRef ref = new domProfile_glsl::domTechnique::domPass::domStates(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_glsl::domTechnique::domPass::domStates::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "states" );
+ meta->registerClass(domProfile_glsl::domTechnique::domPass::domStates::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "gl_pipeline_settings" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique::domPass::domStates,elemGl_pipeline_settings_array) );
+ mea->setElementType( domGl_pipeline_settings::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 0, -1 ) );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domProfile_glsl::domTechnique::domPass::domStates));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_glsl::domTechnique::domPass::domEvaluate::create(DAE& dae)
+{
+ domProfile_glsl::domTechnique::domPass::domEvaluateRef ref = new domProfile_glsl::domTechnique::domPass::domEvaluate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_glsl::domTechnique::domPass::domEvaluate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "evaluate" );
+ meta->registerClass(domProfile_glsl::domTechnique::domPass::domEvaluate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "color_target" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique::domPass::domEvaluate,elemColor_target_array) );
+ mea->setElementType( domFx_colortarget::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "depth_target" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique::domPass::domEvaluate,elemDepth_target_array) );
+ mea->setElementType( domFx_depthtarget::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "stencil_target" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique::domPass::domEvaluate,elemStencil_target_array) );
+ mea->setElementType( domFx_stenciltarget::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "color_clear" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique::domPass::domEvaluate,elemColor_clear_array) );
+ mea->setElementType( domFx_clearcolor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "depth_clear" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique::domPass::domEvaluate,elemDepth_clear_array) );
+ mea->setElementType( domFx_cleardepth::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 5, 0, -1 );
+ mea->setName( "stencil_clear" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique::domPass::domEvaluate,elemStencil_clear_array) );
+ mea->setElementType( domFx_clearstencil::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "draw" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique::domPass::domEvaluate,elemDraw) );
+ mea->setElementType( domProfile_glsl::domTechnique::domPass::domEvaluate::domDraw::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 6 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domProfile_glsl::domTechnique::domPass::domEvaluate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_glsl::domTechnique::domPass::domEvaluate::domDraw::create(DAE& dae)
+{
+ domProfile_glsl::domTechnique::domPass::domEvaluate::domDrawRef ref = new domProfile_glsl::domTechnique::domPass::domEvaluate::domDraw(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_glsl::domTechnique::domPass::domEvaluate::domDraw::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "draw" );
+ meta->registerClass(domProfile_glsl::domTechnique::domPass::domEvaluate::domDraw::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_draw"));
+ ma->setOffset( daeOffsetOf( domProfile_glsl::domTechnique::domPass::domEvaluate::domDraw , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_glsl::domTechnique::domPass::domEvaluate::domDraw));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domRigid_body.cpp b/1.4.0/dom/src/1.5/dom/domRigid_body.cpp
new file mode 100644
index 0000000..7b2336b
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domRigid_body.cpp
@@ -0,0 +1,464 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domRigid_body.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domRigid_body::create(DAE& dae)
+{
+ domRigid_bodyRef ref = new domRigid_body(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_body::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "rigid_body" );
+ meta->registerClass(domRigid_body::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domRigid_body,elemTechnique_common) );
+ mea->setElementType( domRigid_body::domTechnique_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domRigid_body,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domRigid_body,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domRigid_body , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domRigid_body , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domRigid_body , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domRigid_body));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_body::domTechnique_common::create(DAE& dae)
+{
+ domRigid_body::domTechnique_commonRef ref = new domRigid_body::domTechnique_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_body::domTechnique_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_common" );
+ meta->registerClass(domRigid_body::domTechnique_common::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "dynamic" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common,elemDynamic) );
+ mea->setElementType( domRigid_body::domTechnique_common::domDynamic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "mass" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common,elemMass) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "mass_frame" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common,elemMass_frame) );
+ mea->setElementType( domRigid_body::domTechnique_common::domMass_frame::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "inertia" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common,elemInertia) );
+ mea->setElementType( domTargetable_float3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 4, 0, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_physics_material" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common,elemInstance_physics_material) );
+ mea->setElementType( domInstance_physics_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "physics_material" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common,elemPhysics_material) );
+ mea->setElementType( domPhysics_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 5, 1, -1 );
+ mea->setName( "shape" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common,elemShape_array) );
+ mea->setElementType( domRigid_body::domTechnique_common::domShape::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 5 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domRigid_body::domTechnique_common,_contents));
+ meta->addContentsOrder(daeOffsetOf(domRigid_body::domTechnique_common,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domRigid_body::domTechnique_common,_CMData), 1);
+ meta->setElementSize(sizeof(domRigid_body::domTechnique_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_body::domTechnique_common::domDynamic::create(DAE& dae)
+{
+ domRigid_body::domTechnique_common::domDynamicRef ref = new domRigid_body::domTechnique_common::domDynamic(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_body::domTechnique_common::domDynamic::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dynamic" );
+ meta->registerClass(domRigid_body::domTechnique_common::domDynamic::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domRigid_body::domTechnique_common::domDynamic , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domRigid_body::domTechnique_common::domDynamic , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domRigid_body::domTechnique_common::domDynamic));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_body::domTechnique_common::domMass_frame::create(DAE& dae)
+{
+ domRigid_body::domTechnique_common::domMass_frameRef ref = new domRigid_body::domTechnique_common::domMass_frame(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_body::domTechnique_common::domMass_frame::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mass_frame" );
+ meta->registerClass(domRigid_body::domTechnique_common::domMass_frame::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domMass_frame,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domMass_frame,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3000 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domRigid_body::domTechnique_common::domMass_frame,_contents));
+ meta->addContentsOrder(daeOffsetOf(domRigid_body::domTechnique_common::domMass_frame,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domRigid_body::domTechnique_common::domMass_frame,_CMData), 1);
+ meta->setElementSize(sizeof(domRigid_body::domTechnique_common::domMass_frame));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_body::domTechnique_common::domShape::create(DAE& dae)
+{
+ domRigid_body::domTechnique_common::domShapeRef ref = new domRigid_body::domTechnique_common::domShape(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_body::domTechnique_common::domShape::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "shape" );
+ meta->registerClass(domRigid_body::domTechnique_common::domShape::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "hollow" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemHollow) );
+ mea->setElementType( domRigid_body::domTechnique_common::domShape::domHollow::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "mass" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemMass) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "density" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemDensity) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 3, 0, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_physics_material" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemInstance_physics_material) );
+ mea->setElementType( domInstance_physics_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "physics_material" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemPhysics_material) );
+ mea->setElementType( domPhysics_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaChoice( meta, cm, 1, 4, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_geometry" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemInstance_geometry) );
+ mea->setElementType( domInstance_geometry::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "plane" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemPlane) );
+ mea->setElementType( domPlane::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "box" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemBox) );
+ mea->setElementType( domBox::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sphere" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemSphere) );
+ mea->setElementType( domSphere::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cylinder" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemCylinder) );
+ mea->setElementType( domCylinder::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "capsule" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemCapsule) );
+ mea->setElementType( domCapsule::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaChoice( meta, cm, 2, 5, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3006, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3006 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domRigid_body::domTechnique_common::domShape,_contents));
+ meta->addContentsOrder(daeOffsetOf(domRigid_body::domTechnique_common::domShape,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domRigid_body::domTechnique_common::domShape,_CMData), 3);
+ meta->setElementSize(sizeof(domRigid_body::domTechnique_common::domShape));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_body::domTechnique_common::domShape::domHollow::create(DAE& dae)
+{
+ domRigid_body::domTechnique_common::domShape::domHollowRef ref = new domRigid_body::domTechnique_common::domShape::domHollow(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_body::domTechnique_common::domShape::domHollow::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "hollow" );
+ meta->registerClass(domRigid_body::domTechnique_common::domShape::domHollow::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domRigid_body::domTechnique_common::domShape::domHollow , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domRigid_body::domTechnique_common::domShape::domHollow , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domRigid_body::domTechnique_common::domShape::domHollow));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domRigid_constraint.cpp b/1.4.0/dom/src/1.5/dom/domRigid_constraint.cpp
new file mode 100644
index 0000000..435375c
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domRigid_constraint.cpp
@@ -0,0 +1,677 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domRigid_constraint.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domRigid_constraint::create(DAE& dae)
+{
+ domRigid_constraintRef ref = new domRigid_constraint(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "rigid_constraint" );
+ meta->registerClass(domRigid_constraint::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ref_attachment" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint,elemRef_attachment) );
+ mea->setElementType( domRigid_constraint::domRef_attachment::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "attachment" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint,elemAttachment) );
+ mea->setElementType( domRigid_constraint::domAttachment::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint,elemTechnique_common) );
+ mea->setElementType( domRigid_constraint::domTechnique_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domRigid_constraint , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domRigid_constraint , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domRigid_constraint));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domRef_attachment::create(DAE& dae)
+{
+ domRigid_constraint::domRef_attachmentRef ref = new domRigid_constraint::domRef_attachment(dae);
+ ref->attrRigid_body.setContainer( (domRigid_constraint::domRef_attachment*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domRef_attachment::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ref_attachment" );
+ meta->registerClass(domRigid_constraint::domRef_attachment::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domRef_attachment,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domRef_attachment,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3001, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domRef_attachment,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3001 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domRigid_constraint::domRef_attachment,_contents));
+ meta->addContentsOrder(daeOffsetOf(domRigid_constraint::domRef_attachment,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domRigid_constraint::domRef_attachment,_CMData), 1);
+ // Add attribute: rigid_body
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "rigid_body" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domRigid_constraint::domRef_attachment , attrRigid_body ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domRigid_constraint::domRef_attachment));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domAttachment::create(DAE& dae)
+{
+ domRigid_constraint::domAttachmentRef ref = new domRigid_constraint::domAttachment(dae);
+ ref->attrRigid_body.setContainer( (domRigid_constraint::domAttachment*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domAttachment::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "attachment" );
+ meta->registerClass(domRigid_constraint::domAttachment::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domAttachment,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domAttachment,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3001, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domAttachment,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3001 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domRigid_constraint::domAttachment,_contents));
+ meta->addContentsOrder(daeOffsetOf(domRigid_constraint::domAttachment,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domRigid_constraint::domAttachment,_CMData), 1);
+ // Add attribute: rigid_body
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "rigid_body" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domRigid_constraint::domAttachment , attrRigid_body ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domRigid_constraint::domAttachment));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domTechnique_common::create(DAE& dae)
+{
+ domRigid_constraint::domTechnique_commonRef ref = new domRigid_constraint::domTechnique_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domTechnique_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_common" );
+ meta->registerClass(domRigid_constraint::domTechnique_common::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "enabled" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common,elemEnabled) );
+ mea->setElementType( domRigid_constraint::domTechnique_common::domEnabled::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "interpenetrate" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common,elemInterpenetrate) );
+ mea->setElementType( domRigid_constraint::domTechnique_common::domInterpenetrate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "limits" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common,elemLimits) );
+ mea->setElementType( domRigid_constraint::domTechnique_common::domLimits::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "spring" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common,elemSpring) );
+ mea->setElementType( domRigid_constraint::domTechnique_common::domSpring::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domTechnique_common::domEnabled::create(DAE& dae)
+{
+ domRigid_constraint::domTechnique_common::domEnabledRef ref = new domRigid_constraint::domTechnique_common::domEnabled(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domTechnique_common::domEnabled::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "enabled" );
+ meta->registerClass(domRigid_constraint::domTechnique_common::domEnabled::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domRigid_constraint::domTechnique_common::domEnabled , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domRigid_constraint::domTechnique_common::domEnabled , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domEnabled));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domTechnique_common::domInterpenetrate::create(DAE& dae)
+{
+ domRigid_constraint::domTechnique_common::domInterpenetrateRef ref = new domRigid_constraint::domTechnique_common::domInterpenetrate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domTechnique_common::domInterpenetrate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "interpenetrate" );
+ meta->registerClass(domRigid_constraint::domTechnique_common::domInterpenetrate::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domRigid_constraint::domTechnique_common::domInterpenetrate , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domRigid_constraint::domTechnique_common::domInterpenetrate , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domInterpenetrate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domTechnique_common::domLimits::create(DAE& dae)
+{
+ domRigid_constraint::domTechnique_common::domLimitsRef ref = new domRigid_constraint::domTechnique_common::domLimits(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domTechnique_common::domLimits::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "limits" );
+ meta->registerClass(domRigid_constraint::domTechnique_common::domLimits::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "swing_cone_and_twist" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits,elemSwing_cone_and_twist) );
+ mea->setElementType( domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "linear" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits,elemLinear) );
+ mea->setElementType( domRigid_constraint::domTechnique_common::domLimits::domLinear::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domLimits));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist::create(DAE& dae)
+{
+ domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twistRef ref = new domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "swing_cone_and_twist" );
+ meta->registerClass(domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "min" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist,elemMin) );
+ mea->setElementType( domTargetable_float3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "max" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist,elemMax) );
+ mea->setElementType( domTargetable_float3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domTechnique_common::domLimits::domLinear::create(DAE& dae)
+{
+ domRigid_constraint::domTechnique_common::domLimits::domLinearRef ref = new domRigid_constraint::domTechnique_common::domLimits::domLinear(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domTechnique_common::domLimits::domLinear::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "linear" );
+ meta->registerClass(domRigid_constraint::domTechnique_common::domLimits::domLinear::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "min" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits::domLinear,elemMin) );
+ mea->setElementType( domTargetable_float3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "max" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits::domLinear,elemMax) );
+ mea->setElementType( domTargetable_float3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domLimits::domLinear));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domTechnique_common::domSpring::create(DAE& dae)
+{
+ domRigid_constraint::domTechnique_common::domSpringRef ref = new domRigid_constraint::domTechnique_common::domSpring(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domTechnique_common::domSpring::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "spring" );
+ meta->registerClass(domRigid_constraint::domTechnique_common::domSpring::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "angular" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring,elemAngular) );
+ mea->setElementType( domRigid_constraint::domTechnique_common::domSpring::domAngular::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "linear" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring,elemLinear) );
+ mea->setElementType( domRigid_constraint::domTechnique_common::domSpring::domLinear::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domSpring));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domTechnique_common::domSpring::domAngular::create(DAE& dae)
+{
+ domRigid_constraint::domTechnique_common::domSpring::domAngularRef ref = new domRigid_constraint::domTechnique_common::domSpring::domAngular(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domTechnique_common::domSpring::domAngular::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "angular" );
+ meta->registerClass(domRigid_constraint::domTechnique_common::domSpring::domAngular::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "stiffness" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domAngular,elemStiffness) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "damping" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domAngular,elemDamping) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "target_value" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domAngular,elemTarget_value) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domSpring::domAngular));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domTechnique_common::domSpring::domLinear::create(DAE& dae)
+{
+ domRigid_constraint::domTechnique_common::domSpring::domLinearRef ref = new domRigid_constraint::domTechnique_common::domSpring::domLinear(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domTechnique_common::domSpring::domLinear::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "linear" );
+ meta->registerClass(domRigid_constraint::domTechnique_common::domSpring::domLinear::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "stiffness" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domLinear,elemStiffness) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "damping" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domLinear,elemDamping) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "target_value" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domLinear,elemTarget_value) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domSpring::domLinear));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domRotate.cpp b/1.4.0/dom/src/1.5/dom/domRotate.cpp
new file mode 100644
index 0000000..7638d4e
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domRotate.cpp
@@ -0,0 +1,59 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domRotate.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domRotate::create(DAE& dae)
+{
+ domRotateRef ref = new domRotate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRotate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "rotate" );
+ meta->registerClass(domRotate::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domRotate , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domRotate , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domRotate));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domSampler.cpp b/1.4.0/dom/src/1.5/dom/domSampler.cpp
new file mode 100644
index 0000000..ad083eb
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domSampler.cpp
@@ -0,0 +1,84 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domSampler.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domSampler::create(DAE& dae)
+{
+ domSamplerRef ref = new domSampler(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSampler::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sampler" );
+ meta->registerClass(domSampler::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domSampler,elemInput_array) );
+ mea->setElementType( domInput_local::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domSampler , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: pre_behavior
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "pre_behavior" );
+ ma->setType( dae.getAtomicTypes().get("Sampler_behavior"));
+ ma->setOffset( daeOffsetOf( domSampler , attrPre_behavior ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: post_behavior
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "post_behavior" );
+ ma->setType( dae.getAtomicTypes().get("Sampler_behavior"));
+ ma->setOffset( daeOffsetOf( domSampler , attrPost_behavior ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSampler));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domScale.cpp b/1.4.0/dom/src/1.5/dom/domScale.cpp
new file mode 100644
index 0000000..4822424
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domScale.cpp
@@ -0,0 +1,59 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domScale.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domScale::create(DAE& dae)
+{
+ domScaleRef ref = new domScale(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domScale::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "scale" );
+ meta->registerClass(domScale::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domScale , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domScale , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domScale));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domShells.cpp b/1.4.0/dom/src/1.5/dom/domShells.cpp
new file mode 100644
index 0000000..a2d3dd4
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domShells.cpp
@@ -0,0 +1,140 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domShells.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domShells::create(DAE& dae)
+{
+ domShellsRef ref = new domShells(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domShells::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "shells" );
+ meta->registerClass(domShells::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 2, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domShells,elemInput_array) );
+ mea->setElementType( domInput_local_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "vcount" );
+ mea->setOffset( daeOffsetOf(domShells,elemVcount) );
+ mea->setElementType( domShells::domVcount::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domShells,elemP) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domShells,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domShells , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domShells , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domShells , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domShells));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domShells::domVcount::create(DAE& dae)
+{
+ domShells::domVcountRef ref = new domShells::domVcount(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domShells::domVcount::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "vcount" );
+ meta->registerClass(domShells::domVcount::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_uints"));
+ ma->setOffset( daeOffsetOf( domShells::domVcount , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domShells::domVcount));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domSidref_array.cpp b/1.4.0/dom/src/1.5/dom/domSidref_array.cpp
new file mode 100644
index 0000000..767d60c
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domSidref_array.cpp
@@ -0,0 +1,82 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domSidref_array.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domSidref_array::create(DAE& dae)
+{
+ domSidref_arrayRef ref = new domSidref_array(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSidref_array::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sidref_array" );
+ meta->registerClass(domSidref_array::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_sidrefs"));
+ ma->setOffset( daeOffsetOf( domSidref_array , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domSidref_array , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domSidref_array , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domSidref_array , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSidref_array));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domSkew.cpp b/1.4.0/dom/src/1.5/dom/domSkew.cpp
new file mode 100644
index 0000000..b1a319b
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domSkew.cpp
@@ -0,0 +1,59 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domSkew.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domSkew::create(DAE& dae)
+{
+ domSkewRef ref = new domSkew(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSkew::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "skew" );
+ meta->registerClass(domSkew::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float7"));
+ ma->setOffset( daeOffsetOf( domSkew , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domSkew , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSkew));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domSkin.cpp b/1.4.0/dom/src/1.5/dom/domSkin.cpp
new file mode 100644
index 0000000..a0411d6
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domSkin.cpp
@@ -0,0 +1,310 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domSkin.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domSkin::create(DAE& dae)
+{
+ domSkinRef ref = new domSkin(dae);
+ ref->attrSource.setContainer( (domSkin*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domSkin::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "skin" );
+ meta->registerClass(domSkin::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "bind_shape_matrix" );
+ mea->setOffset( daeOffsetOf(domSkin,elemBind_shape_matrix) );
+ mea->setElementType( domSkin::domBind_shape_matrix::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 3, -1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domSkin,elemSource_array) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "joints" );
+ mea->setOffset( daeOffsetOf(domSkin,elemJoints) );
+ mea->setElementType( domSkin::domJoints::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "vertex_weights" );
+ mea->setOffset( daeOffsetOf(domSkin,elemVertex_weights) );
+ mea->setElementType( domSkin::domVertex_weights::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domSkin,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domSkin , attrSource ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSkin));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSkin::domBind_shape_matrix::create(DAE& dae)
+{
+ domSkin::domBind_shape_matrixRef ref = new domSkin::domBind_shape_matrix(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSkin::domBind_shape_matrix::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind_shape_matrix" );
+ meta->registerClass(domSkin::domBind_shape_matrix::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domSkin::domBind_shape_matrix , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSkin::domBind_shape_matrix));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSkin::domJoints::create(DAE& dae)
+{
+ domSkin::domJointsRef ref = new domSkin::domJoints(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSkin::domJoints::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "joints" );
+ meta->registerClass(domSkin::domJoints::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 2, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domSkin::domJoints,elemInput_array) );
+ mea->setElementType( domInput_local::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domSkin::domJoints,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domSkin::domJoints));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSkin::domVertex_weights::create(DAE& dae)
+{
+ domSkin::domVertex_weightsRef ref = new domSkin::domVertex_weights(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSkin::domVertex_weights::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "vertex_weights" );
+ meta->registerClass(domSkin::domVertex_weights::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 2, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domSkin::domVertex_weights,elemInput_array) );
+ mea->setElementType( domInput_local_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "vcount" );
+ mea->setOffset( daeOffsetOf(domSkin::domVertex_weights,elemVcount) );
+ mea->setElementType( domSkin::domVertex_weights::domVcount::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "v" );
+ mea->setOffset( daeOffsetOf(domSkin::domVertex_weights,elemV) );
+ mea->setElementType( domSkin::domVertex_weights::domV::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domSkin::domVertex_weights,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domSkin::domVertex_weights , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSkin::domVertex_weights));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSkin::domVertex_weights::domVcount::create(DAE& dae)
+{
+ domSkin::domVertex_weights::domVcountRef ref = new domSkin::domVertex_weights::domVcount(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSkin::domVertex_weights::domVcount::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "vcount" );
+ meta->registerClass(domSkin::domVertex_weights::domVcount::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_uints"));
+ ma->setOffset( daeOffsetOf( domSkin::domVertex_weights::domVcount , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSkin::domVertex_weights::domVcount));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSkin::domVertex_weights::domV::create(DAE& dae)
+{
+ domSkin::domVertex_weights::domVRef ref = new domSkin::domVertex_weights::domV(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSkin::domVertex_weights::domV::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "v" );
+ meta->registerClass(domSkin::domVertex_weights::domV::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_ints"));
+ ma->setOffset( daeOffsetOf( domSkin::domVertex_weights::domV , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSkin::domVertex_weights::domV));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domSolids.cpp b/1.4.0/dom/src/1.5/dom/domSolids.cpp
new file mode 100644
index 0000000..6d1eb2a
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domSolids.cpp
@@ -0,0 +1,140 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domSolids.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domSolids::create(DAE& dae)
+{
+ domSolidsRef ref = new domSolids(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSolids::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "solids" );
+ meta->registerClass(domSolids::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 2, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domSolids,elemInput_array) );
+ mea->setElementType( domInput_local_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "vcount" );
+ mea->setOffset( daeOffsetOf(domSolids,elemVcount) );
+ mea->setElementType( domSolids::domVcount::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domSolids,elemP) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domSolids,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domSolids , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domSolids , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domSolids , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSolids));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSolids::domVcount::create(DAE& dae)
+{
+ domSolids::domVcountRef ref = new domSolids::domVcount(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSolids::domVcount::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "vcount" );
+ meta->registerClass(domSolids::domVcount::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_uints"));
+ ma->setOffset( daeOffsetOf( domSolids::domVcount , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSolids::domVcount));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domSource.cpp b/1.4.0/dom/src/1.5/dom/domSource.cpp
new file mode 100644
index 0000000..5c0541a
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domSource.cpp
@@ -0,0 +1,177 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domSource.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domSource::create(DAE& dae)
+{
+ domSourceRef ref = new domSource(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSource::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "source" );
+ meta->registerClass(domSource::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domSource,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 0, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "token_array" );
+ mea->setOffset( daeOffsetOf(domSource,elemToken_array) );
+ mea->setElementType( domToken_array::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "IDREF_array" );
+ mea->setOffset( daeOffsetOf(domSource,elemIDREF_array) );
+ mea->setElementType( domIdref_array::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "Name_array" );
+ mea->setOffset( daeOffsetOf(domSource,elemName_array) );
+ mea->setElementType( domName_array::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool_array" );
+ mea->setOffset( daeOffsetOf(domSource,elemBool_array) );
+ mea->setElementType( domBool_array::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float_array" );
+ mea->setOffset( daeOffsetOf(domSource,elemFloat_array) );
+ mea->setElementType( domFloat_array::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int_array" );
+ mea->setOffset( daeOffsetOf(domSource,elemInt_array) );
+ mea->setElementType( domInt_array::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "SIDREF_array" );
+ mea->setOffset( daeOffsetOf(domSource,elemSIDREF_array) );
+ mea->setElementType( domSidref_array::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domSource,elemTechnique_common) );
+ mea->setElementType( domSource::domTechnique_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domSource,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domSource,_contents));
+ meta->addContentsOrder(daeOffsetOf(domSource,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domSource,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domSource , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domSource , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSource));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSource::domTechnique_common::create(DAE& dae)
+{
+ domSource::domTechnique_commonRef ref = new domSource::domTechnique_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSource::domTechnique_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_common" );
+ meta->registerClass(domSource::domTechnique_common::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "accessor" );
+ mea->setOffset( daeOffsetOf(domSource::domTechnique_common,elemAccessor) );
+ mea->setElementType( domAccessor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domSource::domTechnique_common));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domSphere.cpp b/1.4.0/dom/src/1.5/dom/domSphere.cpp
new file mode 100644
index 0000000..e50ed26
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domSphere.cpp
@@ -0,0 +1,93 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domSphere.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domSphere::create(DAE& dae)
+{
+ domSphereRef ref = new domSphere(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSphere::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sphere" );
+ meta->registerClass(domSphere::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "radius" );
+ mea->setOffset( daeOffsetOf(domSphere,elemRadius) );
+ mea->setElementType( domSphere::domRadius::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domSphere,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domSphere));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSphere::domRadius::create(DAE& dae)
+{
+ domSphere::domRadiusRef ref = new domSphere::domRadius(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSphere::domRadius::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "radius" );
+ meta->registerClass(domSphere::domRadius::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domSphere::domRadius , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSphere::domRadius));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domSpline.cpp b/1.4.0/dom/src/1.5/dom/domSpline.cpp
new file mode 100644
index 0000000..bf8a95a
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domSpline.cpp
@@ -0,0 +1,120 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domSpline.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domSpline::create(DAE& dae)
+{
+ domSplineRef ref = new domSpline(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSpline::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "spline" );
+ meta->registerClass(domSpline::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domSpline,elemSource_array) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "control_vertices" );
+ mea->setOffset( daeOffsetOf(domSpline,elemControl_vertices) );
+ mea->setElementType( domSpline::domControl_vertices::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domSpline,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: closed
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "closed" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domSpline , attrClosed ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSpline));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSpline::domControl_vertices::create(DAE& dae)
+{
+ domSpline::domControl_verticesRef ref = new domSpline::domControl_vertices(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSpline::domControl_vertices::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "control_vertices" );
+ meta->registerClass(domSpline::domControl_vertices::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domSpline::domControl_vertices,elemInput_array) );
+ mea->setElementType( domInput_local::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domSpline::domControl_vertices,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domSpline::domControl_vertices));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domSurface.cpp b/1.4.0/dom/src/1.5/dom/domSurface.cpp
new file mode 100644
index 0000000..6e01a11
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domSurface.cpp
@@ -0,0 +1,213 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domSurface.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domSurface::create(DAE& dae)
+{
+ domSurfaceRef ref = new domSurface(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSurface::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "surface" );
+ meta->registerClass(domSurface::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "plane" );
+ mea->setOffset( daeOffsetOf(domSurface,elemPlane) );
+ mea->setElementType( domPlane::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sphere" );
+ mea->setOffset( daeOffsetOf(domSurface,elemSphere) );
+ mea->setElementType( domSphere::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "torus" );
+ mea->setOffset( daeOffsetOf(domSurface,elemTorus) );
+ mea->setElementType( domTorus::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "swept_surface" );
+ mea->setOffset( daeOffsetOf(domSurface,elemSwept_surface) );
+ mea->setElementType( domSwept_surface::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "nurbs_surface" );
+ mea->setOffset( daeOffsetOf(domSurface,elemNurbs_surface) );
+ mea->setElementType( domNurbs_surface::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cone" );
+ mea->setOffset( daeOffsetOf(domSurface,elemCone) );
+ mea->setElementType( domCone::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cylinder" );
+ mea->setOffset( daeOffsetOf(domSurface,elemCylinder) );
+ mea->setElementType( domSurface::domCylinder::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "orient" );
+ mea->setOffset( daeOffsetOf(domSurface,elemOrient_array) );
+ mea->setElementType( domOrient::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "origin" );
+ mea->setOffset( daeOffsetOf(domSurface,elemOrigin) );
+ mea->setElementType( domOrigin::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domSurface,_contents));
+ meta->addContentsOrder(daeOffsetOf(domSurface,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domSurface,_CMData), 1);
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domSurface , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domSurface , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSurface));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSurface::domCylinder::create(DAE& dae)
+{
+ domSurface::domCylinderRef ref = new domSurface::domCylinder(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSurface::domCylinder::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cylinder" );
+ meta->registerClass(domSurface::domCylinder::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "radius" );
+ mea->setOffset( daeOffsetOf(domSurface::domCylinder,elemRadius) );
+ mea->setElementType( domSurface::domCylinder::domRadius::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domSurface::domCylinder,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domSurface::domCylinder));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSurface::domCylinder::domRadius::create(DAE& dae)
+{
+ domSurface::domCylinder::domRadiusRef ref = new domSurface::domCylinder::domRadius(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSurface::domCylinder::domRadius::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "radius" );
+ meta->registerClass(domSurface::domCylinder::domRadius::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domSurface::domCylinder::domRadius , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSurface::domCylinder::domRadius));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domSurface_curves.cpp b/1.4.0/dom/src/1.5/dom/domSurface_curves.cpp
new file mode 100644
index 0000000..de3ee9c
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domSurface_curves.cpp
@@ -0,0 +1,57 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domSurface_curves.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domSurface_curves::create(DAE& dae)
+{
+ domSurface_curvesRef ref = new domSurface_curves(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSurface_curves::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "surface_curves" );
+ meta->registerClass(domSurface_curves::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "curve" );
+ mea->setOffset( daeOffsetOf(domSurface_curves,elemCurve_array) );
+ mea->setElementType( domCurve::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domSurface_curves,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domSurface_curves));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domSurfaces.cpp b/1.4.0/dom/src/1.5/dom/domSurfaces.cpp
new file mode 100644
index 0000000..c1c989a
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domSurfaces.cpp
@@ -0,0 +1,57 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domSurfaces.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domSurfaces::create(DAE& dae)
+{
+ domSurfacesRef ref = new domSurfaces(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSurfaces::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "surfaces" );
+ meta->registerClass(domSurfaces::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "surface" );
+ mea->setOffset( daeOffsetOf(domSurfaces,elemSurface_array) );
+ mea->setElementType( domSurface::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domSurfaces,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domSurfaces));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domSwept_surface.cpp b/1.4.0/dom/src/1.5/dom/domSwept_surface.cpp
new file mode 100644
index 0000000..ea7b4a0
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domSwept_surface.cpp
@@ -0,0 +1,199 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domSwept_surface.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domSwept_surface::create(DAE& dae)
+{
+ domSwept_surfaceRef ref = new domSwept_surface(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSwept_surface::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "swept_surface" );
+ meta->registerClass(domSwept_surface::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "curve" );
+ mea->setOffset( daeOffsetOf(domSwept_surface,elemCurve) );
+ mea->setElementType( domCurve::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "direction" );
+ mea->setOffset( daeOffsetOf(domSwept_surface,elemDirection) );
+ mea->setElementType( domSwept_surface::domDirection::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "origin" );
+ mea->setOffset( daeOffsetOf(domSwept_surface,elemOrigin) );
+ mea->setElementType( domSwept_surface::domOrigin::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "axis" );
+ mea->setOffset( daeOffsetOf(domSwept_surface,elemAxis) );
+ mea->setElementType( domSwept_surface::domAxis::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domSwept_surface,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domSwept_surface,_contents));
+ meta->addContentsOrder(daeOffsetOf(domSwept_surface,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domSwept_surface,_CMData), 1);
+ meta->setElementSize(sizeof(domSwept_surface));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSwept_surface::domDirection::create(DAE& dae)
+{
+ domSwept_surface::domDirectionRef ref = new domSwept_surface::domDirection(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSwept_surface::domDirection::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "direction" );
+ meta->registerClass(domSwept_surface::domDirection::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domSwept_surface::domDirection , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSwept_surface::domDirection));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSwept_surface::domOrigin::create(DAE& dae)
+{
+ domSwept_surface::domOriginRef ref = new domSwept_surface::domOrigin(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSwept_surface::domOrigin::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "origin" );
+ meta->registerClass(domSwept_surface::domOrigin::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domSwept_surface::domOrigin , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSwept_surface::domOrigin));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSwept_surface::domAxis::create(DAE& dae)
+{
+ domSwept_surface::domAxisRef ref = new domSwept_surface::domAxis(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSwept_surface::domAxis::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "axis" );
+ meta->registerClass(domSwept_surface::domAxis::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domSwept_surface::domAxis , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSwept_surface::domAxis));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domTargetable_float.cpp b/1.4.0/dom/src/1.5/dom/domTargetable_float.cpp
new file mode 100644
index 0000000..7d0ca0e
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domTargetable_float.cpp
@@ -0,0 +1,59 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domTargetable_float.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domTargetable_float::create(DAE& dae)
+{
+ domTargetable_floatRef ref = new domTargetable_float(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTargetable_float::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "targetable_float" );
+ meta->registerClass(domTargetable_float::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domTargetable_float , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domTargetable_float , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTargetable_float));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domTargetable_float3.cpp b/1.4.0/dom/src/1.5/dom/domTargetable_float3.cpp
new file mode 100644
index 0000000..07425d8
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domTargetable_float3.cpp
@@ -0,0 +1,59 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domTargetable_float3.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domTargetable_float3::create(DAE& dae)
+{
+ domTargetable_float3Ref ref = new domTargetable_float3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTargetable_float3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "targetable_float3" );
+ meta->registerClass(domTargetable_float3::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domTargetable_float3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domTargetable_float3 , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTargetable_float3));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domTargetable_float4.cpp b/1.4.0/dom/src/1.5/dom/domTargetable_float4.cpp
new file mode 100644
index 0000000..5f92b49
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domTargetable_float4.cpp
@@ -0,0 +1,59 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domTargetable_float4.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domTargetable_float4::create(DAE& dae)
+{
+ domTargetable_float4Ref ref = new domTargetable_float4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTargetable_float4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "targetable_float4" );
+ meta->registerClass(domTargetable_float4::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domTargetable_float4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domTargetable_float4 , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTargetable_float4));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domTechnique.cpp b/1.4.0/dom/src/1.5/dom/domTechnique.cpp
new file mode 100644
index 0000000..fe08317
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domTechnique.cpp
@@ -0,0 +1,67 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domTechnique.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domTechnique::create(DAE& dae)
+{
+ domTechniqueRef ref = new domTechnique(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTechnique::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique" );
+ meta->registerClass(domTechnique::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaAny( meta, cm, 0, 0, -1 );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ meta->setAllowsAny( true );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domTechnique,_contents));
+ meta->addContentsOrder(daeOffsetOf(domTechnique,_contentsOrder));
+
+
+ // Add attribute: profile
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "profile" );
+ ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
+ ma->setOffset( daeOffsetOf( domTechnique , attrProfile ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTechnique));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domToken_array.cpp b/1.4.0/dom/src/1.5/dom/domToken_array.cpp
new file mode 100644
index 0000000..5761598
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domToken_array.cpp
@@ -0,0 +1,82 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domToken_array.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domToken_array::create(DAE& dae)
+{
+ domToken_arrayRef ref = new domToken_array(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domToken_array::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "token_array" );
+ meta->registerClass(domToken_array::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_tokens"));
+ ma->setOffset( daeOffsetOf( domToken_array , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domToken_array , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domToken_array , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domToken_array , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domToken_array));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domTorus.cpp b/1.4.0/dom/src/1.5/dom/domTorus.cpp
new file mode 100644
index 0000000..d32fe66
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domTorus.cpp
@@ -0,0 +1,93 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domTorus.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domTorus::create(DAE& dae)
+{
+ domTorusRef ref = new domTorus(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTorus::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "torus" );
+ meta->registerClass(domTorus::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "radius" );
+ mea->setOffset( daeOffsetOf(domTorus,elemRadius) );
+ mea->setElementType( domTorus::domRadius::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domTorus,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domTorus));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domTorus::domRadius::create(DAE& dae)
+{
+ domTorus::domRadiusRef ref = new domTorus::domRadius(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTorus::domRadius::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "radius" );
+ meta->registerClass(domTorus::domRadius::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domTorus::domRadius , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTorus::domRadius));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domTranslate.cpp b/1.4.0/dom/src/1.5/dom/domTranslate.cpp
new file mode 100644
index 0000000..ec132e4
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domTranslate.cpp
@@ -0,0 +1,59 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domTranslate.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domTranslate::create(DAE& dae)
+{
+ domTranslateRef ref = new domTranslate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTranslate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "translate" );
+ meta->registerClass(domTranslate::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domTranslate , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domTranslate , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTranslate));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domTriangles.cpp b/1.4.0/dom/src/1.5/dom/domTriangles.cpp
new file mode 100644
index 0000000..6d6877e
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domTriangles.cpp
@@ -0,0 +1,97 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domTriangles.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domTriangles::create(DAE& dae)
+{
+ domTrianglesRef ref = new domTriangles(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTriangles::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "triangles" );
+ meta->registerClass(domTriangles::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domTriangles,elemInput_array) );
+ mea->setElementType( domInput_local_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domTriangles,elemP) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domTriangles,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domTriangles , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domTriangles , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: material
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "material" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domTriangles , attrMaterial ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTriangles));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domTrifans.cpp b/1.4.0/dom/src/1.5/dom/domTrifans.cpp
new file mode 100644
index 0000000..9faa7fb
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domTrifans.cpp
@@ -0,0 +1,97 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domTrifans.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domTrifans::create(DAE& dae)
+{
+ domTrifansRef ref = new domTrifans(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTrifans::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "trifans" );
+ meta->registerClass(domTrifans::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domTrifans,elemInput_array) );
+ mea->setElementType( domInput_local_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domTrifans,elemP_array) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domTrifans,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domTrifans , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domTrifans , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: material
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "material" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domTrifans , attrMaterial ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTrifans));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domTristrips.cpp b/1.4.0/dom/src/1.5/dom/domTristrips.cpp
new file mode 100644
index 0000000..f82b9c9
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domTristrips.cpp
@@ -0,0 +1,97 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domTristrips.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domTristrips::create(DAE& dae)
+{
+ domTristripsRef ref = new domTristrips(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTristrips::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "tristrips" );
+ meta->registerClass(domTristrips::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domTristrips,elemInput_array) );
+ mea->setElementType( domInput_local_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domTristrips,elemP_array) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domTristrips,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domTristrips , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domTristrips , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: material
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "material" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domTristrips , attrMaterial ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTristrips));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domTypes.cpp b/1.4.0/dom/src/1.5/dom/domTypes.cpp
new file mode 100644
index 0000000..1a57a00
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domTypes.cpp
@@ -0,0 +1,1670 @@
+#include <dae.h>
+#include <1.5/dom/domTypes.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCOLLADA.h>
+
+namespace ColladaDOM150 {
+
+void registerDomTypes(DAE& dae)
+{
+ daeAtomicType* type = NULL;
+ daeAtomicTypeList& atomicTypes = dae.getAtomicTypes();
+
+ // TYPEDEF: Float //check if this type has an existing base
+ type = atomicTypes.get("xsDouble");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float");
+ }
+
+ // TYPEDEF: Int //check if this type has an existing base
+ type = atomicTypes.get("xsLong");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int");
+ }
+
+ // TYPEDEF: Uint //check if this type has an existing base
+ type = atomicTypes.get("xsUnsignedLong");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Uint");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Uint");
+ }
+
+ // TYPEDEF: Sidref //check if this type has an existing base
+ type = atomicTypes.get("xsString");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Sidref");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Sidref");
+ }
+
+ // TYPEDEF: Sid //check if this type has an existing base
+ type = atomicTypes.get("xsNCName");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Sid");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Sid");
+ }
+
+ // TYPEDEF: List_of_bools //check if this type has an existing base
+ type = atomicTypes.get("xsBoolean");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("List_of_bools");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("List_of_bools");
+ }
+
+ // TYPEDEF: List_of_floats //check if this type has an existing base
+ type = atomicTypes.get("Float");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("List_of_floats");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("List_of_floats");
+ }
+
+ // TYPEDEF: List_of_hex_binary //check if this type has an existing base
+ type = atomicTypes.get("xsHexBinary");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("List_of_hex_binary");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("List_of_hex_binary");
+ }
+
+ // TYPEDEF: List_of_ints //check if this type has an existing base
+ type = atomicTypes.get("Int");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("List_of_ints");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("List_of_ints");
+ }
+
+ // TYPEDEF: List_of_names //check if this type has an existing base
+ type = atomicTypes.get("xsName");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("List_of_names");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("List_of_names");
+ }
+
+ // TYPEDEF: List_of_idrefs //check if this type has an existing base
+ type = atomicTypes.get("xsName");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("List_of_idrefs");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("List_of_idrefs");
+ }
+
+ // TYPEDEF: List_of_sidrefs //check if this type has an existing base
+ type = atomicTypes.get("Sidref");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("List_of_sidrefs");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("List_of_sidrefs");
+ }
+
+ // TYPEDEF: List_of_tokens //check if this type has an existing base
+ type = atomicTypes.get("xsToken");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("List_of_tokens");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("List_of_tokens");
+ }
+
+ // TYPEDEF: List_of_uints //check if this type has an existing base
+ type = atomicTypes.get("Uint");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("List_of_uints");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("List_of_uints");
+ }
+
+ // TYPEDEF: Bool2 //check if this type has an existing base
+ type = atomicTypes.get("List_of_bools");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Bool2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Bool2");
+ }
+
+ // TYPEDEF: Bool3 //check if this type has an existing base
+ type = atomicTypes.get("List_of_bools");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Bool3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Bool3");
+ }
+
+ // TYPEDEF: Bool4 //check if this type has an existing base
+ type = atomicTypes.get("List_of_bools");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Bool4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Bool4");
+ }
+
+ // TYPEDEF: Bool2x2 //check if this type has an existing base
+ type = atomicTypes.get("List_of_bools");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Bool2x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Bool2x2");
+ }
+
+ // TYPEDEF: Bool2x3 //check if this type has an existing base
+ type = atomicTypes.get("List_of_bools");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Bool2x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Bool2x3");
+ }
+
+ // TYPEDEF: Bool2x4 //check if this type has an existing base
+ type = atomicTypes.get("List_of_bools");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Bool2x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Bool2x4");
+ }
+
+ // TYPEDEF: Bool3x2 //check if this type has an existing base
+ type = atomicTypes.get("List_of_bools");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Bool3x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Bool3x2");
+ }
+
+ // TYPEDEF: Bool3x3 //check if this type has an existing base
+ type = atomicTypes.get("List_of_bools");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Bool3x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Bool3x3");
+ }
+
+ // TYPEDEF: Bool3x4 //check if this type has an existing base
+ type = atomicTypes.get("List_of_bools");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Bool3x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Bool3x4");
+ }
+
+ // TYPEDEF: Bool4x2 //check if this type has an existing base
+ type = atomicTypes.get("List_of_bools");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Bool4x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Bool4x2");
+ }
+
+ // TYPEDEF: Bool4x3 //check if this type has an existing base
+ type = atomicTypes.get("List_of_bools");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Bool4x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Bool4x3");
+ }
+
+ // TYPEDEF: Bool4x4 //check if this type has an existing base
+ type = atomicTypes.get("List_of_bools");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Bool4x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Bool4x4");
+ }
+
+ // TYPEDEF: Float2 //check if this type has an existing base
+ type = atomicTypes.get("List_of_floats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float2");
+ }
+
+ // TYPEDEF: Float3 //check if this type has an existing base
+ type = atomicTypes.get("List_of_floats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float3");
+ }
+
+ // TYPEDEF: Float4 //check if this type has an existing base
+ type = atomicTypes.get("List_of_floats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float4");
+ }
+
+ // TYPEDEF: Float7 //check if this type has an existing base
+ type = atomicTypes.get("List_of_floats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float7");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float7");
+ }
+
+ // TYPEDEF: Float2x2 //check if this type has an existing base
+ type = atomicTypes.get("List_of_floats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float2x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float2x2");
+ }
+
+ // TYPEDEF: Float2x3 //check if this type has an existing base
+ type = atomicTypes.get("List_of_floats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float2x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float2x3");
+ }
+
+ // TYPEDEF: Float2x4 //check if this type has an existing base
+ type = atomicTypes.get("List_of_floats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float2x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float2x4");
+ }
+
+ // TYPEDEF: Float3x2 //check if this type has an existing base
+ type = atomicTypes.get("List_of_floats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float3x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float3x2");
+ }
+
+ // TYPEDEF: Float3x3 //check if this type has an existing base
+ type = atomicTypes.get("List_of_floats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float3x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float3x3");
+ }
+
+ // TYPEDEF: Float3x4 //check if this type has an existing base
+ type = atomicTypes.get("List_of_floats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float3x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float3x4");
+ }
+
+ // TYPEDEF: Float4x2 //check if this type has an existing base
+ type = atomicTypes.get("List_of_floats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float4x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float4x2");
+ }
+
+ // TYPEDEF: Float4x3 //check if this type has an existing base
+ type = atomicTypes.get("List_of_floats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float4x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float4x3");
+ }
+
+ // TYPEDEF: Float4x4 //check if this type has an existing base
+ type = atomicTypes.get("List_of_floats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float4x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float4x4");
+ }
+
+ // TYPEDEF: Int2 //check if this type has an existing base
+ type = atomicTypes.get("List_of_ints");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int2");
+ }
+
+ // TYPEDEF: Int3 //check if this type has an existing base
+ type = atomicTypes.get("List_of_ints");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int3");
+ }
+
+ // TYPEDEF: Int4 //check if this type has an existing base
+ type = atomicTypes.get("List_of_ints");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int4");
+ }
+
+ // TYPEDEF: Int2x2 //check if this type has an existing base
+ type = atomicTypes.get("List_of_ints");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int2x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int2x2");
+ }
+
+ // TYPEDEF: Int2x3 //check if this type has an existing base
+ type = atomicTypes.get("List_of_ints");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int2x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int2x3");
+ }
+
+ // TYPEDEF: Int2x4 //check if this type has an existing base
+ type = atomicTypes.get("List_of_ints");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int2x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int2x4");
+ }
+
+ // TYPEDEF: Int3x2 //check if this type has an existing base
+ type = atomicTypes.get("List_of_ints");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int3x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int3x2");
+ }
+
+ // TYPEDEF: Int3x3 //check if this type has an existing base
+ type = atomicTypes.get("List_of_ints");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int3x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int3x3");
+ }
+
+ // TYPEDEF: Int3x4 //check if this type has an existing base
+ type = atomicTypes.get("List_of_ints");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int3x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int3x4");
+ }
+
+ // TYPEDEF: Int4x2 //check if this type has an existing base
+ type = atomicTypes.get("List_of_ints");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int4x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int4x2");
+ }
+
+ // TYPEDEF: Int4x3 //check if this type has an existing base
+ type = atomicTypes.get("List_of_ints");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int4x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int4x3");
+ }
+
+ // TYPEDEF: Int4x4 //check if this type has an existing base
+ type = atomicTypes.get("List_of_ints");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int4x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int4x4");
+ }
+
+ // TYPEDEF: Digits //check if this type has an existing base
+ type = atomicTypes.get("xsUnsignedByte");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Digits");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Digits");
+ }
+
+ // TYPEDEF: Magnitude //check if this type has an existing base
+ type = atomicTypes.get("xsShort");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Magnitude");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Magnitude");
+ }
+
+ // ENUM: Morph_method
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Morph_method");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("NORMALIZED");
+ ((daeEnumType*)type)->_values->append(MORPH_METHOD_NORMALIZED);
+ ((daeEnumType*)type)->_strings->append("RELATIVE");
+ ((daeEnumType*)type)->_values->append(MORPH_METHOD_RELATIVE);
+ atomicTypes.append( type );
+
+ // ENUM: Node_enum
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Node_enum");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("JOINT");
+ ((daeEnumType*)type)->_values->append(NODE_ENUM_JOINT);
+ ((daeEnumType*)type)->_strings->append("NODE");
+ ((daeEnumType*)type)->_values->append(NODE_ENUM_NODE);
+ atomicTypes.append( type );
+
+ // ENUM: Sampler_behavior
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Sampler_behavior");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("CONSTANT");
+ ((daeEnumType*)type)->_values->append(SAMPLER_BEHAVIOR_CONSTANT);
+ ((daeEnumType*)type)->_strings->append("CYCLE");
+ ((daeEnumType*)type)->_values->append(SAMPLER_BEHAVIOR_CYCLE);
+ ((daeEnumType*)type)->_strings->append("CYCLE_RELATIVE");
+ ((daeEnumType*)type)->_values->append(SAMPLER_BEHAVIOR_CYCLE_RELATIVE);
+ ((daeEnumType*)type)->_strings->append("GRADIENT");
+ ((daeEnumType*)type)->_values->append(SAMPLER_BEHAVIOR_GRADIENT);
+ ((daeEnumType*)type)->_strings->append("OSCILLATE");
+ ((daeEnumType*)type)->_values->append(SAMPLER_BEHAVIOR_OSCILLATE);
+ ((daeEnumType*)type)->_strings->append("UNDEFINED");
+ ((daeEnumType*)type)->_values->append(SAMPLER_BEHAVIOR_UNDEFINED);
+ atomicTypes.append( type );
+
+ // TYPEDEF: Urifragment //check if this type has an existing base
+ type = atomicTypes.get("xsAnyURI");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Urifragment");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Urifragment");
+ }
+
+ // ENUM: Up_axis
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Up_axis");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("X_UP");
+ ((daeEnumType*)type)->_values->append(UP_AXIS_X_UP);
+ ((daeEnumType*)type)->_strings->append("Y_UP");
+ ((daeEnumType*)type)->_values->append(UP_AXIS_Y_UP);
+ ((daeEnumType*)type)->_strings->append("Z_UP");
+ ((daeEnumType*)type)->_values->append(UP_AXIS_Z_UP);
+ atomicTypes.append( type );
+
+ // ENUM: Version
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Version");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("1.5.0");
+ ((daeEnumType*)type)->_values->append(VERSION_1_5_0);
+ atomicTypes.append( type );
+
+ // ENUM: Image_face
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Image_face");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("POSITIVE_X");
+ ((daeEnumType*)type)->_values->append(IMAGE_FACE_POSITIVE_X);
+ ((daeEnumType*)type)->_strings->append("NEGATIVE_X");
+ ((daeEnumType*)type)->_values->append(IMAGE_FACE_NEGATIVE_X);
+ ((daeEnumType*)type)->_strings->append("POSITIVE_Y");
+ ((daeEnumType*)type)->_values->append(IMAGE_FACE_POSITIVE_Y);
+ ((daeEnumType*)type)->_strings->append("NEGATIVE_Y");
+ ((daeEnumType*)type)->_values->append(IMAGE_FACE_NEGATIVE_Y);
+ ((daeEnumType*)type)->_strings->append("POSITIVE_Z");
+ ((daeEnumType*)type)->_values->append(IMAGE_FACE_POSITIVE_Z);
+ ((daeEnumType*)type)->_strings->append("NEGATIVE_Z");
+ ((daeEnumType*)type)->_values->append(IMAGE_FACE_NEGATIVE_Z);
+ atomicTypes.append( type );
+
+ // ENUM: Image_format_hint_channels
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Image_format_hint_channels");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("RGB");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_CHANNELS_RGB);
+ ((daeEnumType*)type)->_strings->append("RGBA");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_CHANNELS_RGBA);
+ ((daeEnumType*)type)->_strings->append("RGBE");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_CHANNELS_RGBE);
+ ((daeEnumType*)type)->_strings->append("L");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_CHANNELS_L);
+ ((daeEnumType*)type)->_strings->append("LA");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_CHANNELS_LA);
+ ((daeEnumType*)type)->_strings->append("D");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_CHANNELS_D);
+ atomicTypes.append( type );
+
+ // ENUM: Image_format_hint_precision
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Image_format_hint_precision");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("DEFAULT");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_PRECISION_DEFAULT);
+ ((daeEnumType*)type)->_strings->append("LOW");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_PRECISION_LOW);
+ ((daeEnumType*)type)->_strings->append("MID");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_PRECISION_MID);
+ ((daeEnumType*)type)->_strings->append("HIGH");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_PRECISION_HIGH);
+ ((daeEnumType*)type)->_strings->append("MAX");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_PRECISION_MAX);
+ atomicTypes.append( type );
+
+ // ENUM: Image_format_hint_range
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Image_format_hint_range");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("SNORM");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_RANGE_SNORM);
+ ((daeEnumType*)type)->_strings->append("UNORM");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_RANGE_UNORM);
+ ((daeEnumType*)type)->_strings->append("SINT");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_RANGE_SINT);
+ ((daeEnumType*)type)->_strings->append("UINT");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_RANGE_UINT);
+ ((daeEnumType*)type)->_strings->append("FLOAT");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_RANGE_FLOAT);
+ atomicTypes.append( type );
+
+ // ENUM: Altitude_mode
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Altitude_mode");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("absolute");
+ ((daeEnumType*)type)->_values->append(ALTITUDE_MODE_absolute);
+ ((daeEnumType*)type)->_strings->append("relativeToGround");
+ ((daeEnumType*)type)->_values->append(ALTITUDE_MODE_relativeToGround);
+ atomicTypes.append( type );
+
+ // TYPEDEF: Fx_color //check if this type has an existing base
+ type = atomicTypes.get("Float4");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Fx_color");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Fx_color");
+ }
+
+ // ENUM: Fx_opaque
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Fx_opaque");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("A_ONE");
+ ((daeEnumType*)type)->_values->append(FX_OPAQUE_A_ONE);
+ ((daeEnumType*)type)->_strings->append("A_ZERO");
+ ((daeEnumType*)type)->_values->append(FX_OPAQUE_A_ZERO);
+ ((daeEnumType*)type)->_strings->append("RGB_ONE");
+ ((daeEnumType*)type)->_values->append(FX_OPAQUE_RGB_ONE);
+ ((daeEnumType*)type)->_strings->append("RGB_ZERO");
+ ((daeEnumType*)type)->_values->append(FX_OPAQUE_RGB_ZERO);
+ atomicTypes.append( type );
+
+ // ENUM: Fx_sampler_wrap
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Fx_sampler_wrap");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("WRAP");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_WRAP_WRAP);
+ ((daeEnumType*)type)->_strings->append("CLAMP");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_WRAP_CLAMP);
+ ((daeEnumType*)type)->_strings->append("BORDER");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_WRAP_BORDER);
+ ((daeEnumType*)type)->_strings->append("MIRROR");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_WRAP_MIRROR);
+ ((daeEnumType*)type)->_strings->append("MIRROR_ONCE");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_WRAP_MIRROR_ONCE);
+ atomicTypes.append( type );
+
+ // ENUM: Fx_sampler_min_filter
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Fx_sampler_min_filter");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("NEAREST");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_MIN_FILTER_NEAREST);
+ ((daeEnumType*)type)->_strings->append("LINEAR");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_MIN_FILTER_LINEAR);
+ ((daeEnumType*)type)->_strings->append("ANISOTROPIC");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_MIN_FILTER_ANISOTROPIC);
+ atomicTypes.append( type );
+
+ // ENUM: Fx_sampler_mag_filter
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Fx_sampler_mag_filter");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("NEAREST");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_MAG_FILTER_NEAREST);
+ ((daeEnumType*)type)->_strings->append("LINEAR");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_MAG_FILTER_LINEAR);
+ atomicTypes.append( type );
+
+ // ENUM: Fx_sampler_mip_filter
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Fx_sampler_mip_filter");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("NONE");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_MIP_FILTER_NONE);
+ ((daeEnumType*)type)->_strings->append("NEAREST");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_MIP_FILTER_NEAREST);
+ ((daeEnumType*)type)->_strings->append("LINEAR");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_MIP_FILTER_LINEAR);
+ atomicTypes.append( type );
+
+ // ENUM: Fx_modifier
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Fx_modifier");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("CONST");
+ ((daeEnumType*)type)->_values->append(FX_MODIFIER_CONST);
+ ((daeEnumType*)type)->_strings->append("UNIFORM");
+ ((daeEnumType*)type)->_values->append(FX_MODIFIER_UNIFORM);
+ ((daeEnumType*)type)->_strings->append("VARYING");
+ ((daeEnumType*)type)->_values->append(FX_MODIFIER_VARYING);
+ ((daeEnumType*)type)->_strings->append("STATIC");
+ ((daeEnumType*)type)->_values->append(FX_MODIFIER_STATIC);
+ ((daeEnumType*)type)->_strings->append("VOLATILE");
+ ((daeEnumType*)type)->_values->append(FX_MODIFIER_VOLATILE);
+ ((daeEnumType*)type)->_strings->append("EXTERN");
+ ((daeEnumType*)type)->_values->append(FX_MODIFIER_EXTERN);
+ ((daeEnumType*)type)->_strings->append("SHARED");
+ ((daeEnumType*)type)->_values->append(FX_MODIFIER_SHARED);
+ atomicTypes.append( type );
+
+ // TYPEDEF: Fx_draw //check if this type has an existing base
+ type = atomicTypes.get("xsString");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Fx_draw");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Fx_draw");
+ }
+
+ // ENUM: Fx_pipeline_stage
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Fx_pipeline_stage");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("TESSELLATION");
+ ((daeEnumType*)type)->_values->append(FX_PIPELINE_STAGE_TESSELLATION);
+ ((daeEnumType*)type)->_strings->append("VERTEX");
+ ((daeEnumType*)type)->_values->append(FX_PIPELINE_STAGE_VERTEX);
+ ((daeEnumType*)type)->_strings->append("GEOMETRY");
+ ((daeEnumType*)type)->_values->append(FX_PIPELINE_STAGE_GEOMETRY);
+ ((daeEnumType*)type)->_strings->append("FRAGMENT");
+ ((daeEnumType*)type)->_values->append(FX_PIPELINE_STAGE_FRAGMENT);
+ atomicTypes.append( type );
+
+ // TYPEDEF: Gl_max_lights_index //check if this type has an existing base
+ type = atomicTypes.get("xsNonNegativeInteger");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Gl_max_lights_index");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Gl_max_lights_index");
+ }
+
+ // TYPEDEF: Gl_max_clip_planes_index //check if this type has an existing base
+ type = atomicTypes.get("xsNonNegativeInteger");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Gl_max_clip_planes_index");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Gl_max_clip_planes_index");
+ }
+
+ // TYPEDEF: Gl_max_texture_image_units_index //check if this type has an existing base
+ type = atomicTypes.get("xsNonNegativeInteger");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Gl_max_texture_image_units_index");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Gl_max_texture_image_units_index");
+ }
+
+ // ENUM: Gl_blend
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_blend");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("ZERO");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_ZERO);
+ ((daeEnumType*)type)->_strings->append("ONE");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_ONE);
+ ((daeEnumType*)type)->_strings->append("SRC_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_SRC_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_ONE_MINUS_SRC_COLOR);
+ ((daeEnumType*)type)->_strings->append("DEST_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_DEST_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_DEST_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_ONE_MINUS_DEST_COLOR);
+ ((daeEnumType*)type)->_strings->append("SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_SRC_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_ONE_MINUS_SRC_ALPHA);
+ ((daeEnumType*)type)->_strings->append("DST_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_DST_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_DST_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_ONE_MINUS_DST_ALPHA);
+ ((daeEnumType*)type)->_strings->append("CONSTANT_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_CONSTANT_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_CONSTANT_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_ONE_MINUS_CONSTANT_COLOR);
+ ((daeEnumType*)type)->_strings->append("CONSTANT_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_CONSTANT_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_CONSTANT_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_ONE_MINUS_CONSTANT_ALPHA);
+ ((daeEnumType*)type)->_strings->append("SRC_ALPHA_SATURATE");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_SRC_ALPHA_SATURATE);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_face
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_face");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("FRONT");
+ ((daeEnumType*)type)->_values->append(GL_FACE_FRONT);
+ ((daeEnumType*)type)->_strings->append("BACK");
+ ((daeEnumType*)type)->_values->append(GL_FACE_BACK);
+ ((daeEnumType*)type)->_strings->append("FRONT_AND_BACK");
+ ((daeEnumType*)type)->_values->append(GL_FACE_FRONT_AND_BACK);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_blend_equation
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_blend_equation");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("FUNC_ADD");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_EQUATION_FUNC_ADD);
+ ((daeEnumType*)type)->_strings->append("FUNC_SUBTRACT");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_EQUATION_FUNC_SUBTRACT);
+ ((daeEnumType*)type)->_strings->append("FUNC_REVERSE_SUBTRACT");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_EQUATION_FUNC_REVERSE_SUBTRACT);
+ ((daeEnumType*)type)->_strings->append("MIN");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_EQUATION_MIN);
+ ((daeEnumType*)type)->_strings->append("MAX");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_EQUATION_MAX);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_func
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_func");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("NEVER");
+ ((daeEnumType*)type)->_values->append(GL_FUNC_NEVER);
+ ((daeEnumType*)type)->_strings->append("LESS");
+ ((daeEnumType*)type)->_values->append(GL_FUNC_LESS);
+ ((daeEnumType*)type)->_strings->append("LEQUAL");
+ ((daeEnumType*)type)->_values->append(GL_FUNC_LEQUAL);
+ ((daeEnumType*)type)->_strings->append("EQUAL");
+ ((daeEnumType*)type)->_values->append(GL_FUNC_EQUAL);
+ ((daeEnumType*)type)->_strings->append("GREATER");
+ ((daeEnumType*)type)->_values->append(GL_FUNC_GREATER);
+ ((daeEnumType*)type)->_strings->append("NOTEQUAL");
+ ((daeEnumType*)type)->_values->append(GL_FUNC_NOTEQUAL);
+ ((daeEnumType*)type)->_strings->append("GEQUAL");
+ ((daeEnumType*)type)->_values->append(GL_FUNC_GEQUAL);
+ ((daeEnumType*)type)->_strings->append("ALWAYS");
+ ((daeEnumType*)type)->_values->append(GL_FUNC_ALWAYS);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_stencil_op
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_stencil_op");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("KEEP");
+ ((daeEnumType*)type)->_values->append(GL_STENCIL_OP_KEEP);
+ ((daeEnumType*)type)->_strings->append("ZERO");
+ ((daeEnumType*)type)->_values->append(GL_STENCIL_OP_ZERO);
+ ((daeEnumType*)type)->_strings->append("REPLACE");
+ ((daeEnumType*)type)->_values->append(GL_STENCIL_OP_REPLACE);
+ ((daeEnumType*)type)->_strings->append("INCR");
+ ((daeEnumType*)type)->_values->append(GL_STENCIL_OP_INCR);
+ ((daeEnumType*)type)->_strings->append("DECR");
+ ((daeEnumType*)type)->_values->append(GL_STENCIL_OP_DECR);
+ ((daeEnumType*)type)->_strings->append("INVERT");
+ ((daeEnumType*)type)->_values->append(GL_STENCIL_OP_INVERT);
+ ((daeEnumType*)type)->_strings->append("INCR_WRAP");
+ ((daeEnumType*)type)->_values->append(GL_STENCIL_OP_INCR_WRAP);
+ ((daeEnumType*)type)->_strings->append("DECR_WRAP");
+ ((daeEnumType*)type)->_values->append(GL_STENCIL_OP_DECR_WRAP);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_material
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_material");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("EMISSION");
+ ((daeEnumType*)type)->_values->append(GL_MATERIAL_EMISSION);
+ ((daeEnumType*)type)->_strings->append("AMBIENT");
+ ((daeEnumType*)type)->_values->append(GL_MATERIAL_AMBIENT);
+ ((daeEnumType*)type)->_strings->append("DIFFUSE");
+ ((daeEnumType*)type)->_values->append(GL_MATERIAL_DIFFUSE);
+ ((daeEnumType*)type)->_strings->append("SPECULAR");
+ ((daeEnumType*)type)->_values->append(GL_MATERIAL_SPECULAR);
+ ((daeEnumType*)type)->_strings->append("AMBIENT_AND_DIFFUSE");
+ ((daeEnumType*)type)->_values->append(GL_MATERIAL_AMBIENT_AND_DIFFUSE);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_fog
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_fog");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("LINEAR");
+ ((daeEnumType*)type)->_values->append(GL_FOG_LINEAR);
+ ((daeEnumType*)type)->_strings->append("EXP");
+ ((daeEnumType*)type)->_values->append(GL_FOG_EXP);
+ ((daeEnumType*)type)->_strings->append("EXP2");
+ ((daeEnumType*)type)->_values->append(GL_FOG_EXP2);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_fog_coord_src
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_fog_coord_src");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("FOG_COORDINATE");
+ ((daeEnumType*)type)->_values->append(GL_FOG_COORD_SRC_FOG_COORDINATE);
+ ((daeEnumType*)type)->_strings->append("FRAGMENT_DEPTH");
+ ((daeEnumType*)type)->_values->append(GL_FOG_COORD_SRC_FRAGMENT_DEPTH);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_front_face
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_front_face");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("CW");
+ ((daeEnumType*)type)->_values->append(GL_FRONT_FACE_CW);
+ ((daeEnumType*)type)->_strings->append("CCW");
+ ((daeEnumType*)type)->_values->append(GL_FRONT_FACE_CCW);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_light_model_color_control
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_light_model_color_control");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("SINGLE_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_LIGHT_MODEL_COLOR_CONTROL_SINGLE_COLOR);
+ ((daeEnumType*)type)->_strings->append("SEPARATE_SPECULAR_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_LIGHT_MODEL_COLOR_CONTROL_SEPARATE_SPECULAR_COLOR);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_logic_op
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_logic_op");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("CLEAR");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_CLEAR);
+ ((daeEnumType*)type)->_strings->append("AND");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_AND);
+ ((daeEnumType*)type)->_strings->append("AND_REVERSE");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_AND_REVERSE);
+ ((daeEnumType*)type)->_strings->append("COPY");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_COPY);
+ ((daeEnumType*)type)->_strings->append("AND_INVERTED");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_AND_INVERTED);
+ ((daeEnumType*)type)->_strings->append("NOOP");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_NOOP);
+ ((daeEnumType*)type)->_strings->append("XOR");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_XOR);
+ ((daeEnumType*)type)->_strings->append("OR");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_OR);
+ ((daeEnumType*)type)->_strings->append("NOR");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_NOR);
+ ((daeEnumType*)type)->_strings->append("EQUIV");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_EQUIV);
+ ((daeEnumType*)type)->_strings->append("INVERT");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_INVERT);
+ ((daeEnumType*)type)->_strings->append("OR_REVERSE");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_OR_REVERSE);
+ ((daeEnumType*)type)->_strings->append("COPY_INVERTED");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_COPY_INVERTED);
+ ((daeEnumType*)type)->_strings->append("NAND");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_NAND);
+ ((daeEnumType*)type)->_strings->append("SET");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_SET);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_polygon_mode
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_polygon_mode");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("POINT");
+ ((daeEnumType*)type)->_values->append(GL_POLYGON_MODE_POINT);
+ ((daeEnumType*)type)->_strings->append("LINE");
+ ((daeEnumType*)type)->_values->append(GL_POLYGON_MODE_LINE);
+ ((daeEnumType*)type)->_strings->append("FILL");
+ ((daeEnumType*)type)->_values->append(GL_POLYGON_MODE_FILL);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_shade_model
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_shade_model");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("FLAT");
+ ((daeEnumType*)type)->_values->append(GL_SHADE_MODEL_FLAT);
+ ((daeEnumType*)type)->_strings->append("SMOOTH");
+ ((daeEnumType*)type)->_values->append(GL_SHADE_MODEL_SMOOTH);
+ atomicTypes.append( type );
+
+ // TYPEDEF: Gl_alpha_value //check if this type has an existing base
+ type = atomicTypes.get("xsFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Gl_alpha_value");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Gl_alpha_value");
+ }
+
+ // ENUM: Gl_enumeration
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_enumeration");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("ZERO");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_ZERO);
+ ((daeEnumType*)type)->_strings->append("ONE");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_ONE);
+ ((daeEnumType*)type)->_strings->append("SRC_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_SRC_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_ONE_MINUS_SRC_COLOR);
+ ((daeEnumType*)type)->_strings->append("DEST_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_DEST_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_DEST_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_ONE_MINUS_DEST_COLOR);
+ ((daeEnumType*)type)->_strings->append("SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_SRC_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_ONE_MINUS_SRC_ALPHA);
+ ((daeEnumType*)type)->_strings->append("DST_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_DST_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_DST_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_ONE_MINUS_DST_ALPHA);
+ ((daeEnumType*)type)->_strings->append("CONSTANT_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_CONSTANT_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_CONSTANT_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_ONE_MINUS_CONSTANT_COLOR);
+ ((daeEnumType*)type)->_strings->append("CONSTANT_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_CONSTANT_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_CONSTANT_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_ONE_MINUS_CONSTANT_ALPHA);
+ ((daeEnumType*)type)->_strings->append("SRC_ALPHA_SATURATE");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_SRC_ALPHA_SATURATE);
+ ((daeEnumType*)type)->_strings->append("FRONT");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_FRONT);
+ ((daeEnumType*)type)->_strings->append("BACK");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_BACK);
+ ((daeEnumType*)type)->_strings->append("FRONT_AND_BACK");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_FRONT_AND_BACK);
+ ((daeEnumType*)type)->_strings->append("FUNC_ADD");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_FUNC_ADD);
+ ((daeEnumType*)type)->_strings->append("FUNC_SUBTRACT");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_FUNC_SUBTRACT);
+ ((daeEnumType*)type)->_strings->append("FUNC_REVERSE_SUBTRACT");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_FUNC_REVERSE_SUBTRACT);
+ ((daeEnumType*)type)->_strings->append("MIN");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_MIN);
+ ((daeEnumType*)type)->_strings->append("MAX");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_MAX);
+ ((daeEnumType*)type)->_strings->append("NEVER");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_NEVER);
+ ((daeEnumType*)type)->_strings->append("LESS");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_LESS);
+ ((daeEnumType*)type)->_strings->append("LEQUAL");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_LEQUAL);
+ ((daeEnumType*)type)->_strings->append("EQUAL");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_EQUAL);
+ ((daeEnumType*)type)->_strings->append("GREATER");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_GREATER);
+ ((daeEnumType*)type)->_strings->append("NOTEQUAL");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_NOTEQUAL);
+ ((daeEnumType*)type)->_strings->append("GEQUAL");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_GEQUAL);
+ ((daeEnumType*)type)->_strings->append("ALWAYS");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_ALWAYS);
+ ((daeEnumType*)type)->_strings->append("KEEP");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_KEEP);
+ ((daeEnumType*)type)->_strings->append("REPLACE");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_REPLACE);
+ ((daeEnumType*)type)->_strings->append("INCR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_INCR);
+ ((daeEnumType*)type)->_strings->append("DECR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_DECR);
+ ((daeEnumType*)type)->_strings->append("INVERT");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_INVERT);
+ ((daeEnumType*)type)->_strings->append("INCR_WRAP");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_INCR_WRAP);
+ ((daeEnumType*)type)->_strings->append("DECR_WRAP");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_DECR_WRAP);
+ ((daeEnumType*)type)->_strings->append("EMISSION");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_EMISSION);
+ ((daeEnumType*)type)->_strings->append("AMBIENT");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_AMBIENT);
+ ((daeEnumType*)type)->_strings->append("DIFFUSE");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_DIFFUSE);
+ ((daeEnumType*)type)->_strings->append("SPECULAR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_SPECULAR);
+ ((daeEnumType*)type)->_strings->append("AMBIENT_AND_DIFFUSE");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_AMBIENT_AND_DIFFUSE);
+ ((daeEnumType*)type)->_strings->append("LINEAR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_LINEAR);
+ ((daeEnumType*)type)->_strings->append("EXP");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_EXP);
+ ((daeEnumType*)type)->_strings->append("EXP2");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_EXP2);
+ ((daeEnumType*)type)->_strings->append("FOG_COORDINATE");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_FOG_COORDINATE);
+ ((daeEnumType*)type)->_strings->append("FRAGMENT_DEPTH");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_FRAGMENT_DEPTH);
+ ((daeEnumType*)type)->_strings->append("CW");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_CW);
+ ((daeEnumType*)type)->_strings->append("CCW");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_CCW);
+ ((daeEnumType*)type)->_strings->append("SINGLE_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_SINGLE_COLOR);
+ ((daeEnumType*)type)->_strings->append("SEPARATE_SPECULAR_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_SEPARATE_SPECULAR_COLOR);
+ ((daeEnumType*)type)->_strings->append("CLEAR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_CLEAR);
+ ((daeEnumType*)type)->_strings->append("AND");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_AND);
+ ((daeEnumType*)type)->_strings->append("AND_REVERSE");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_AND_REVERSE);
+ ((daeEnumType*)type)->_strings->append("COPY");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_COPY);
+ ((daeEnumType*)type)->_strings->append("AND_INVERTED");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_AND_INVERTED);
+ ((daeEnumType*)type)->_strings->append("NOOP");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_NOOP);
+ ((daeEnumType*)type)->_strings->append("XOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_XOR);
+ ((daeEnumType*)type)->_strings->append("OR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_OR);
+ ((daeEnumType*)type)->_strings->append("NOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_NOR);
+ ((daeEnumType*)type)->_strings->append("EQUIV");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_EQUIV);
+ ((daeEnumType*)type)->_strings->append("OR_REVERSE");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_OR_REVERSE);
+ ((daeEnumType*)type)->_strings->append("COPY_INVERTED");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_COPY_INVERTED);
+ ((daeEnumType*)type)->_strings->append("NAND");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_NAND);
+ ((daeEnumType*)type)->_strings->append("SET");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_SET);
+ ((daeEnumType*)type)->_strings->append("POINT");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_POINT);
+ ((daeEnumType*)type)->_strings->append("LINE");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_LINE);
+ ((daeEnumType*)type)->_strings->append("FILL");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_FILL);
+ ((daeEnumType*)type)->_strings->append("FLAT");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_FLAT);
+ ((daeEnumType*)type)->_strings->append("SMOOTH");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_SMOOTH);
+ atomicTypes.append( type );
+
+ // TYPEDEF: Gles_max_lights_index //check if this type has an existing base
+ type = atomicTypes.get("xsNonNegativeInteger");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Gles_max_lights_index");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Gles_max_lights_index");
+ }
+
+ // TYPEDEF: Gles_max_clip_planes_index //check if this type has an existing base
+ type = atomicTypes.get("xsNonNegativeInteger");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Gles_max_clip_planes_index");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Gles_max_clip_planes_index");
+ }
+
+ // TYPEDEF: Gles_max_texture_coords_index //check if this type has an existing base
+ type = atomicTypes.get("xsNonNegativeInteger");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Gles_max_texture_coords_index");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Gles_max_texture_coords_index");
+ }
+
+ // TYPEDEF: Gles_max_texture_image_units_index //check if this type has an existing base
+ type = atomicTypes.get("xsNonNegativeInteger");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Gles_max_texture_image_units_index");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Gles_max_texture_image_units_index");
+ }
+
+ // ENUM: Gles_texenv_mode
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gles_texenv_mode");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("REPLACE");
+ ((daeEnumType*)type)->_values->append(GLES_TEXENV_MODE_REPLACE);
+ ((daeEnumType*)type)->_strings->append("MODULATE");
+ ((daeEnumType*)type)->_values->append(GLES_TEXENV_MODE_MODULATE);
+ ((daeEnumType*)type)->_strings->append("DECAL");
+ ((daeEnumType*)type)->_values->append(GLES_TEXENV_MODE_DECAL);
+ ((daeEnumType*)type)->_strings->append("BLEND");
+ ((daeEnumType*)type)->_values->append(GLES_TEXENV_MODE_BLEND);
+ ((daeEnumType*)type)->_strings->append("ADD");
+ ((daeEnumType*)type)->_values->append(GLES_TEXENV_MODE_ADD);
+ atomicTypes.append( type );
+
+ // ENUM: Gles_texcombiner_operator_rgb
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gles_texcombiner_operator_rgb");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("REPLACE");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATOR_RGB_REPLACE);
+ ((daeEnumType*)type)->_strings->append("MODULATE");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATOR_RGB_MODULATE);
+ ((daeEnumType*)type)->_strings->append("ADD");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATOR_RGB_ADD);
+ ((daeEnumType*)type)->_strings->append("ADD_SIGNED");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATOR_RGB_ADD_SIGNED);
+ ((daeEnumType*)type)->_strings->append("INTERPOLATE");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATOR_RGB_INTERPOLATE);
+ ((daeEnumType*)type)->_strings->append("SUBTRACT");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATOR_RGB_SUBTRACT);
+ ((daeEnumType*)type)->_strings->append("DOT3_RGB");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATOR_RGB_DOT3_RGB);
+ ((daeEnumType*)type)->_strings->append("DOT3_RGBA");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATOR_RGB_DOT3_RGBA);
+ atomicTypes.append( type );
+
+ // ENUM: Gles_texcombiner_operator_alpha
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gles_texcombiner_operator_alpha");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("REPLACE");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATOR_ALPHA_REPLACE);
+ ((daeEnumType*)type)->_strings->append("MODULATE");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATOR_ALPHA_MODULATE);
+ ((daeEnumType*)type)->_strings->append("ADD");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATOR_ALPHA_ADD);
+ ((daeEnumType*)type)->_strings->append("ADD_SIGNED");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATOR_ALPHA_ADD_SIGNED);
+ ((daeEnumType*)type)->_strings->append("INTERPOLATE");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATOR_ALPHA_INTERPOLATE);
+ ((daeEnumType*)type)->_strings->append("SUBTRACT");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATOR_ALPHA_SUBTRACT);
+ atomicTypes.append( type );
+
+ // ENUM: Gles_texcombiner_source
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gles_texcombiner_source");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("TEXTURE");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_SOURCE_TEXTURE);
+ ((daeEnumType*)type)->_strings->append("CONSTANT");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_SOURCE_CONSTANT);
+ ((daeEnumType*)type)->_strings->append("PRIMARY");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_SOURCE_PRIMARY);
+ ((daeEnumType*)type)->_strings->append("PREVIOUS");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_SOURCE_PREVIOUS);
+ atomicTypes.append( type );
+
+ // ENUM: Gles_texcombiner_operand_rgb
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gles_texcombiner_operand_rgb");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("SRC_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERAND_RGB_SRC_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERAND_RGB_ONE_MINUS_SRC_COLOR);
+ ((daeEnumType*)type)->_strings->append("SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERAND_RGB_SRC_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERAND_RGB_ONE_MINUS_SRC_ALPHA);
+ atomicTypes.append( type );
+
+ // ENUM: Gles_texcombiner_operand_alpha
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gles_texcombiner_operand_alpha");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERAND_ALPHA_SRC_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERAND_ALPHA_ONE_MINUS_SRC_ALPHA);
+ atomicTypes.append( type );
+
+ // TYPEDEF: Gles_texcombiner_argument_index //check if this type has an existing base
+ type = atomicTypes.get("xsNonNegativeInteger");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Gles_texcombiner_argument_index");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Gles_texcombiner_argument_index");
+ }
+
+ // ENUM: Gles_sampler_wrap
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gles_sampler_wrap");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("REPEAT");
+ ((daeEnumType*)type)->_values->append(GLES_SAMPLER_WRAP_REPEAT);
+ ((daeEnumType*)type)->_strings->append("CLAMP");
+ ((daeEnumType*)type)->_values->append(GLES_SAMPLER_WRAP_CLAMP);
+ ((daeEnumType*)type)->_strings->append("CLAMP_TO_EDGE");
+ ((daeEnumType*)type)->_values->append(GLES_SAMPLER_WRAP_CLAMP_TO_EDGE);
+ ((daeEnumType*)type)->_strings->append("MIRRORED_REPEAT");
+ ((daeEnumType*)type)->_values->append(GLES_SAMPLER_WRAP_MIRRORED_REPEAT);
+ atomicTypes.append( type );
+
+ // ENUM: Gles_stencil_op
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gles_stencil_op");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("KEEP");
+ ((daeEnumType*)type)->_values->append(GLES_STENCIL_OP_KEEP);
+ ((daeEnumType*)type)->_strings->append("ZERO");
+ ((daeEnumType*)type)->_values->append(GLES_STENCIL_OP_ZERO);
+ ((daeEnumType*)type)->_strings->append("REPLACE");
+ ((daeEnumType*)type)->_values->append(GLES_STENCIL_OP_REPLACE);
+ ((daeEnumType*)type)->_strings->append("INCR");
+ ((daeEnumType*)type)->_values->append(GLES_STENCIL_OP_INCR);
+ ((daeEnumType*)type)->_strings->append("DECR");
+ ((daeEnumType*)type)->_values->append(GLES_STENCIL_OP_DECR);
+ ((daeEnumType*)type)->_strings->append("INVERT");
+ ((daeEnumType*)type)->_values->append(GLES_STENCIL_OP_INVERT);
+ atomicTypes.append( type );
+
+ // ENUM: Gles_enumeration
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gles_enumeration");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("ZERO");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ZERO);
+ ((daeEnumType*)type)->_strings->append("ONE");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ONE);
+ ((daeEnumType*)type)->_strings->append("SRC_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SRC_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ONE_MINUS_SRC_COLOR);
+ ((daeEnumType*)type)->_strings->append("DEST_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_DEST_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_DEST_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ONE_MINUS_DEST_COLOR);
+ ((daeEnumType*)type)->_strings->append("SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SRC_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ONE_MINUS_SRC_ALPHA);
+ ((daeEnumType*)type)->_strings->append("DST_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_DST_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_DST_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ONE_MINUS_DST_ALPHA);
+ ((daeEnumType*)type)->_strings->append("CONSTANT_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_CONSTANT_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_CONSTANT_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ONE_MINUS_CONSTANT_COLOR);
+ ((daeEnumType*)type)->_strings->append("CONSTANT_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_CONSTANT_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_CONSTANT_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ONE_MINUS_CONSTANT_ALPHA);
+ ((daeEnumType*)type)->_strings->append("SRC_ALPHA_SATURATE");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SRC_ALPHA_SATURATE);
+ ((daeEnumType*)type)->_strings->append("FRONT");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_FRONT);
+ ((daeEnumType*)type)->_strings->append("BACK");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_BACK);
+ ((daeEnumType*)type)->_strings->append("FRONT_AND_BACK");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_FRONT_AND_BACK);
+ ((daeEnumType*)type)->_strings->append("NEVER");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_NEVER);
+ ((daeEnumType*)type)->_strings->append("LESS");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_LESS);
+ ((daeEnumType*)type)->_strings->append("LEQUAL");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_LEQUAL);
+ ((daeEnumType*)type)->_strings->append("EQUAL");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_EQUAL);
+ ((daeEnumType*)type)->_strings->append("GREATER");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_GREATER);
+ ((daeEnumType*)type)->_strings->append("NOTEQUAL");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_NOTEQUAL);
+ ((daeEnumType*)type)->_strings->append("GEQUAL");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_GEQUAL);
+ ((daeEnumType*)type)->_strings->append("ALWAYS");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ALWAYS);
+ ((daeEnumType*)type)->_strings->append("KEEP");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_KEEP);
+ ((daeEnumType*)type)->_strings->append("REPLACE");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_REPLACE);
+ ((daeEnumType*)type)->_strings->append("INCR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_INCR);
+ ((daeEnumType*)type)->_strings->append("DECR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_DECR);
+ ((daeEnumType*)type)->_strings->append("INVERT");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_INVERT);
+ ((daeEnumType*)type)->_strings->append("INCR_WRAP");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_INCR_WRAP);
+ ((daeEnumType*)type)->_strings->append("DECR_WRAP");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_DECR_WRAP);
+ ((daeEnumType*)type)->_strings->append("EMISSION");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_EMISSION);
+ ((daeEnumType*)type)->_strings->append("AMBIENT");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_AMBIENT);
+ ((daeEnumType*)type)->_strings->append("DIFFUSE");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_DIFFUSE);
+ ((daeEnumType*)type)->_strings->append("SPECULAR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SPECULAR);
+ ((daeEnumType*)type)->_strings->append("AMBIENT_AND_DIFFUSE");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_AMBIENT_AND_DIFFUSE);
+ ((daeEnumType*)type)->_strings->append("LINEAR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_LINEAR);
+ ((daeEnumType*)type)->_strings->append("EXP");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_EXP);
+ ((daeEnumType*)type)->_strings->append("EXP2");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_EXP2);
+ ((daeEnumType*)type)->_strings->append("CW");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_CW);
+ ((daeEnumType*)type)->_strings->append("CCW");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_CCW);
+ ((daeEnumType*)type)->_strings->append("SINGLE_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SINGLE_COLOR);
+ ((daeEnumType*)type)->_strings->append("SEPARATE_SPECULAR_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SEPARATE_SPECULAR_COLOR);
+ ((daeEnumType*)type)->_strings->append("CLEAR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_CLEAR);
+ ((daeEnumType*)type)->_strings->append("AND");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_AND);
+ ((daeEnumType*)type)->_strings->append("AND_REVERSE");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_AND_REVERSE);
+ ((daeEnumType*)type)->_strings->append("COPY");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_COPY);
+ ((daeEnumType*)type)->_strings->append("AND_INVERTED");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_AND_INVERTED);
+ ((daeEnumType*)type)->_strings->append("NOOP");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_NOOP);
+ ((daeEnumType*)type)->_strings->append("XOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_XOR);
+ ((daeEnumType*)type)->_strings->append("OR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_OR);
+ ((daeEnumType*)type)->_strings->append("NOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_NOR);
+ ((daeEnumType*)type)->_strings->append("EQUIV");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_EQUIV);
+ ((daeEnumType*)type)->_strings->append("OR_REVERSE");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_OR_REVERSE);
+ ((daeEnumType*)type)->_strings->append("COPY_INVERTED");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_COPY_INVERTED);
+ ((daeEnumType*)type)->_strings->append("NAND");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_NAND);
+ ((daeEnumType*)type)->_strings->append("SET");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SET);
+ ((daeEnumType*)type)->_strings->append("POINT");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_POINT);
+ ((daeEnumType*)type)->_strings->append("LINE");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_LINE);
+ ((daeEnumType*)type)->_strings->append("FILL");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_FILL);
+ ((daeEnumType*)type)->_strings->append("FLAT");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_FLAT);
+ ((daeEnumType*)type)->_strings->append("SMOOTH");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SMOOTH);
+ atomicTypes.append( type );
+
+ // ENUM: Spring
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Spring");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("LINEAR");
+ ((daeEnumType*)type)->_values->append(SPRING_LINEAR);
+ ((daeEnumType*)type)->_strings->append("ANGULAR");
+ ((daeEnumType*)type)->_values->append(SPRING_ANGULAR);
+ atomicTypes.append( type );
+
+ // TYPEDEF: Dynamic_limit //check if this type has an existing base
+ type = atomicTypes.get("Float2");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Dynamic_limit");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Dynamic_limit");
+ }
+
+}
+
+daeMetaElement* registerDomElements(DAE& dae)
+{
+ daeMetaElement* meta = domCOLLADA::registerElement(dae);
+ // Enable tracking of top level object by default
+ meta->setIsTrackableForQueries(true);
+ return meta;
+}
+
+daeInt colladaTypeCount() {
+ return 969;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domVertices.cpp b/1.4.0/dom/src/1.5/dom/domVertices.cpp
new file mode 100644
index 0000000..0de6e89
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domVertices.cpp
@@ -0,0 +1,80 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domVertices.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domVertices::create(DAE& dae)
+{
+ domVerticesRef ref = new domVertices(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domVertices::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "vertices" );
+ meta->registerClass(domVertices::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domVertices,elemInput_array) );
+ mea->setElementType( domInput_local::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domVertices,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domVertices , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domVertices , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domVertices));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domVisual_scene.cpp b/1.4.0/dom/src/1.5/dom/domVisual_scene.cpp
new file mode 100644
index 0000000..d3780aa
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domVisual_scene.cpp
@@ -0,0 +1,475 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domVisual_scene.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domVisual_scene::create(DAE& dae)
+{
+ domVisual_sceneRef ref = new domVisual_scene(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domVisual_scene::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "visual_scene" );
+ meta->registerClass(domVisual_scene::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domVisual_scene,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "node" );
+ mea->setOffset( daeOffsetOf(domVisual_scene,elemNode_array) );
+ mea->setElementType( domNode::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "evaluate_scene" );
+ mea->setOffset( daeOffsetOf(domVisual_scene,elemEvaluate_scene_array) );
+ mea->setElementType( domVisual_scene::domEvaluate_scene::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domVisual_scene,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domVisual_scene , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domVisual_scene , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domVisual_scene));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domVisual_scene::domEvaluate_scene::create(DAE& dae)
+{
+ domVisual_scene::domEvaluate_sceneRef ref = new domVisual_scene::domEvaluate_scene(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domVisual_scene::domEvaluate_scene::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "evaluate_scene" );
+ meta->registerClass(domVisual_scene::domEvaluate_scene::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domVisual_scene::domEvaluate_scene,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "render" );
+ mea->setOffset( daeOffsetOf(domVisual_scene::domEvaluate_scene,elemRender_array) );
+ mea->setElementType( domVisual_scene::domEvaluate_scene::domRender::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domVisual_scene::domEvaluate_scene,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: enable
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "enable" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene , attrEnable ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "true");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domVisual_scene::domEvaluate_scene));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domVisual_scene::domEvaluate_scene::domRender::create(DAE& dae)
+{
+ domVisual_scene::domEvaluate_scene::domRenderRef ref = new domVisual_scene::domEvaluate_scene::domRender(dae);
+ ref->attrCamera_node.setContainer( (domVisual_scene::domEvaluate_scene::domRender*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domVisual_scene::domEvaluate_scene::domRender::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "render" );
+ meta->registerClass(domVisual_scene::domEvaluate_scene::domRender::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "layer" );
+ mea->setOffset( daeOffsetOf(domVisual_scene::domEvaluate_scene::domRender,elemLayer_array) );
+ mea->setElementType( domVisual_scene::domEvaluate_scene::domRender::domLayer::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "instance_material" );
+ mea->setOffset( daeOffsetOf(domVisual_scene::domEvaluate_scene::domRender,elemInstance_material) );
+ mea->setElementType( domVisual_scene::domEvaluate_scene::domRender::domInstance_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domVisual_scene::domEvaluate_scene::domRender,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene::domRender , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene::domRender , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: camera_node
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "camera_node" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene::domRender , attrCamera_node ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domVisual_scene::domEvaluate_scene::domRender));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domVisual_scene::domEvaluate_scene::domRender::domLayer::create(DAE& dae)
+{
+ domVisual_scene::domEvaluate_scene::domRender::domLayerRef ref = new domVisual_scene::domEvaluate_scene::domRender::domLayer(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domVisual_scene::domEvaluate_scene::domRender::domLayer::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "layer" );
+ meta->registerClass(domVisual_scene::domEvaluate_scene::domRender::domLayer::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene::domRender::domLayer , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domVisual_scene::domEvaluate_scene::domRender::domLayer));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domVisual_scene::domEvaluate_scene::domRender::domInstance_material::create(DAE& dae)
+{
+ domVisual_scene::domEvaluate_scene::domRender::domInstance_materialRef ref = new domVisual_scene::domEvaluate_scene::domRender::domInstance_material(dae);
+ ref->attrUrl.setContainer( (domVisual_scene::domEvaluate_scene::domRender::domInstance_material*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domVisual_scene::domEvaluate_scene::domRender::domInstance_material::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_material" );
+ meta->registerClass(domVisual_scene::domEvaluate_scene::domRender::domInstance_material::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "technique_override" );
+ mea->setOffset( daeOffsetOf(domVisual_scene::domEvaluate_scene::domRender::domInstance_material,elemTechnique_override) );
+ mea->setElementType( domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domTechnique_override::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "bind" );
+ mea->setOffset( daeOffsetOf(domVisual_scene::domEvaluate_scene::domRender::domInstance_material,elemBind_array) );
+ mea->setElementType( domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domBind::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domVisual_scene::domEvaluate_scene::domRender::domInstance_material,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene::domRender::domInstance_material , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domVisual_scene::domEvaluate_scene::domRender::domInstance_material));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domTechnique_override::create(DAE& dae)
+{
+ domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domTechnique_overrideRef ref = new domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domTechnique_override(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domTechnique_override::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_override" );
+ meta->registerClass(domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domTechnique_override::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domTechnique_override , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: pass
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "pass" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domTechnique_override , attrPass ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domTechnique_override));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domBind::create(DAE& dae)
+{
+ domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domBindRef ref = new domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domBind(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domBind::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind" );
+ meta->registerClass(domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domBind::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: semantic
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "semantic" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domBind , attrSemantic ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: target
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "target" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domBind , attrTarget ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domBind));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domWires.cpp b/1.4.0/dom/src/1.5/dom/domWires.cpp
new file mode 100644
index 0000000..e90a07b
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domWires.cpp
@@ -0,0 +1,140 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domWires.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domWires::create(DAE& dae)
+{
+ domWiresRef ref = new domWires(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domWires::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "wires" );
+ meta->registerClass(domWires::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 2, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domWires,elemInput_array) );
+ mea->setElementType( domInput_local_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "vcount" );
+ mea->setOffset( daeOffsetOf(domWires,elemVcount) );
+ mea->setElementType( domWires::domVcount::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domWires,elemP) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domWires,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domWires , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domWires , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domWires , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domWires));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domWires::domVcount::create(DAE& dae)
+{
+ domWires::domVcountRef ref = new domWires::domVcount(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domWires::domVcount::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "vcount" );
+ meta->registerClass(domWires::domVcount::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_uints"));
+ ma->setOffset( daeOffsetOf( domWires::domVcount , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domWires::domVcount));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150