您的位置:首页 > 编程语言 > C#

c# 解析和生成 DAE文件

2016-05-04 14:09 966 查看
DAE文件格式是3D交互文件格式,一般用于多个图形程序之间交换数字数据,Autodesk专有并在COLLADA(COLLAborative Design Activity)基础上改进创建的XML框架的文件格式。COLLADA文件格式是由SONY改进并有SONY和Khronos共同开发的。

DAE是一种3D模型,可被flash 导入。3Dmax与maya需要安装dae输出插件才可以打开,输出成后缀为dae的文件。谷歌地球的模型就是DAE。

c# 输出一个带纹理的三角形dae文件



dae文件内容

<?xml version="1.0" encoding="utf-8"?>
<COLLADA xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.4.0" xmlns="http://www.collada.org/2005/11/COLLADASchema">
<asset>
<contributor>
<author>caimagic</author>
<authoring_tool>FBX COLLADA exporter</authoring_tool>
<comments>hello world</comments>
</contributor>
<created>0001-01-01T00:00:00</created>
<modified>0001-01-01T00:00:00</modified>
<unit meter="0.01" name="centimer" />
</asset>
<library_geometries>
<geometry id="Plane001-lib" name="Plane001Mesh">
<mesh>
<source id="Plane001-POSITION">
<float_array id="Plane001-POSITION-array" count="9">-49.719101 -41.011238 0.000000 49.719101 -41.011238 0.000000 -49.719101 41.011238 0.000000</float_array>
<technique_common>
<accessor count="3" source="#Plane001-POSITION-array" stride="3">
<param name="X" type="float" />
<param name="Y" type="float" />
<param name="Z" type="float" />
</accessor>
</technique_common>
</source>
<source id="Plane001-Normal0">
<float_array id="Plane001-Normal0-array" count="9">0.000000 0.000000 1.000000 0.000000 0.000000 1.000000 0.000000 0.000000 1.000000</float_array>
<technique_common>
<accessor count="3" source="#Plane001-Normal0-array" stride="3">
<param name="X" type="float" />
<param name="Y" type="float" />
<param name="Z" type="float" />
</accessor>
</technique_common>
</source>
<source id="Plane001-UV0">
<float_array id="Plane001-UV0-array" count="6">1.000000 0.000000 0.000000 0.000000 1.000000 1.000000</float_array>
<technique_common>
<accessor count="3" source="#Plane001-UV0-array" stride="2">
<param name="S" type="float" />
<param name="T" type="float" />
</accessor>
</technique_common>
</source>
<vertices id="Plane001-VERTEX">
<input semantic="POSITION" source="#Plane001-POSITION" />
</vertices>
<triangles count="1">
<input offset="0" semantic="VERTEX" source="#Plane001-VERTEX" />
<input offset="1" semantic="NORMAL" source="#Plane001-Normal0" />
<input offset="2" semantic="TEXCOORD" source="#Plane001-UV0" />
<p> 0 0 0 1 1 1 2 2 2</p>
</triangles>
</mesh>
</geometry>
</library_geometries>
<library_visual_scenes>
<visual_scene id="cube" name="cube">
<node id="Triangle001" name="Triangle001" sid="Triangle001">
<instance_geometry url="#Plane001-lib" />
<extra>
<technique profile="FCOLLADA" />
</extra>
</node>
</visual_scene>
</library_visual_scenes>
<scene>
<instance_visual_scene url="#cube" />
</scene>
</COLLADA>


c#代码

COLLADA model = new COLLADA();

// init new
model.asset = new asset();
model.asset.contributor = new assetContributor[1];
model.asset.contributor[0] = new assetContributor();

model.asset.unit = new assetUnit();
model.asset.up_axis = new UpAxisType();

model.Items = new object[1];

// asset
model.asset.contributor[0].author = "caimagic";
model.asset.contributor[0].authoring_tool = "FBX COLLADA exporter";
model.asset.contributor[0].comments = "hello world";
model.asset.unit.meter = 0.01;
model.asset.unit.name = "centimer";
model.asset.up_axis = UpAxisType.Y_UP;

// library_geometries
library_geometries library_geom = new library_geometries();

library_geom.geometry = new geometry[1];
library_geom.geometry[0] = new geometry();

geometry geom = new geometry();

mesh geomMesh = new mesh();
geomMesh.source = new source[3];
geomMesh.source[0] = new source();
geomMesh.source[1] = new source();
geomMesh.source[2] = new source();

float_array position_float_array = new float_array();
float_array normal_float_array = new float_array();
float_array uv_float_array = new float_array();
sourceTechnique_common position_technique_common = new sourceTechnique_common();
sourceTechnique_common normal_technique_common = new sourceTechnique_common();
sourceTechnique_common uv_technique_common = new sourceTechnique_common();

position_float_array.id = "Plane001-POSITION-array";
position_float_array.count = 9;
position_float_array.Values = new double[position_float_array.count];
position_float_array.Values[0] = -49.719101f;
position_float_array.Values[1] = -41.011238f;
position_float_array.Values[2] = 0.000000f;
position_float_array.Values[3] = 49.719101f;
position_float_array.Values[4] = -41.011238f;
position_float_array.Values[5] = 0.000000f;
position_float_array.Values[6] = -49.719101f;
position_float_array.Values[7] = 41.011238f;
position_float_array.Values[8] = 0.000000f;

position_technique_common.accessor = new accessor();
position_technique_common.accessor.param = new param[3];
position_technique_common.accessor.param[0] = new param();
position_technique_common.accessor.param[1] = new param();
position_technique_common.accessor.param[2] = new param();
position_technique_common.accessor.source = "#" + position_float_array.id;
position_technique_common.accessor.count = 3;
position_technique_common.accessor.stride = 3;
position_technique_common.accessor.param[0].name = "X";
position_technique_common.accessor.param[0].type = "float";
position_technique_common.accessor.param[1].name = "Y";
position_technique_common.accessor.param[1].type = "float";
position_technique_common.accessor.param[2].name = "Z";
position_technique_common.accessor.param[2].type = "float";

normal_float_array.id = "Plane001-Normal0-array";
normal_float_array.count = 9;
normal_float_array.Values = new double[normal_float_array.count];
normal_float_array.Values[0] = 0.0f;
normal_float_array.Values[1] = 0.0f;
normal_float_array.Values[2] = 1.0f;
normal_float_array.Values[3] = 0.0f;
normal_float_array.Values[4] = 0.0f;
normal_float_array.Values[5] = 1.0f;
normal_float_array.Values[6] = 0.0f;
normal_float_array.Values[7] = 0.0f;
normal_float_array.Values[8] = 1.0f;

normal_technique_common.accessor = new accessor();
normal_technique_common.accessor.param = new param[3];
normal_technique_common.accessor.param[0] = new param();
normal_technique_common.accessor.param[1] = new param();
normal_technique_common.accessor.param[2] = new param();
normal_technique_common.accessor.source = "#" + normal_float_array.id;
normal_technique_common.accessor.count = 3;
normal_technique_common.accessor.stride = 3;
normal_technique_common.accessor.param[0].name = "X";
normal_technique_common.accessor.param[0].type = "float";
normal_technique_common.accessor.param[1].name = "Y";
normal_technique_common.accessor.param[1].type = "float";
normal_technique_common.accessor.param[2].name = "Z";
normal_technique_common.accessor.param[2].type = "float";

uv_float_array.id = "Plane001-UV0-array";
uv_float_array.count = 6;
uv_float_array.Values = new double[uv_float_array.count];
uv_float_array.Values[0] = 1.0000f;
uv_float_array.Values[1] = 0.0000f;
uv_float_array.Values[2] = 0.0000f;
uv_float_array.Values[3] = 0.0000f;
uv_float_array.Values[4] = 1.0000f;
uv_float_array.Values[5] = 1.0000f;

uv_technique_common.accessor = new accessor();
uv_technique_common.accessor.param = new param[2];
uv_technique_common.accessor.param[0] = new param();
uv_technique_common.accessor.param[1] = new param();
uv_technique_common.accessor.source = "#" + uv_float_array.id;
uv_technique_common.accessor.count = 3;
uv_technique_common.accessor.stride = 2;
uv_technique_common.accessor.param[0].name = "S";
uv_technique_common.accessor.param[0].type = "float";
uv_technique_common.accessor.param[1].name = "T";
uv_technique_common.accessor.param[1].type = "float";

geomMesh.source[0].id = "Plane001-POSITION";
geomMesh.source[0].Item = position_float_array;
geomMesh.source[0].technique_common = position_technique_common;
geomMesh.source[1].id = "Plane001-Normal0";
geomMesh.source[1].Item = normal_float_array;
geomMesh.source[1].technique_common = normal_technique_common;
geomMesh.source[2].id = "Plane001-UV0";
geomMesh.source[2].Item = uv_float_array;
geomMesh.source[2].technique_common = uv_technique_common;

geomMesh.vertices = new vertices();
geomMesh.vertices.input = new InputLocal[1];
geomMesh.vertices.input[0] = new InputLocal();
geomMesh.vertices.input[0].semantic = "POSITION";
geomMesh.vertices.input[0].source = "#Plane001-POSITION";
geomMesh.vertices.id = "Plane001-VERTEX";

triangles meshTriangle = new triangles();
meshTriangle.count = 1;
meshTriangle.input = new InputLocalOffset[3];
meshTriangle.input[0] = new InputLocalOffset();
meshTriangle.input[1] = new InputLocalOffset();
meshTriangle.input[2] = new InputLocalOffset();
meshTriangle.input[0].semantic = "VERTEX";
meshTriangle.input[0].offset = 0;
meshTriangle.input[0].source = "#Plane001-VERTEX";
meshTriangle.input[1].semantic = "NORMAL";
meshTriangle.input[1].offset = 1;
meshTriangle.input[1].source = "#Plane001-Normal0";
meshTriangle.input[2].semantic = "TEXCOORD";
meshTriangle.input[2].offset = 2;
meshTriangle.input[2].set = 0;
meshTriangle.input[2].source = "#Plane001-UV0";

string p = "";
int[] pArray = new int[9];
pArray[0] = 0;
pArray[1] = 0;
pArray[2] = 0;
pArray[3] = 1;
pArray[4] = 1;
pArray[5] = 1;
pArray[6] = 2;
pArray[7] = 2;
pArray[8] = 2;
foreach (var data in pArray)
{
if (data is int)
{
p += " " + data.ToString();
}
}
meshTriangle.p = p;

geomMesh.Items = new object[1];
geomMesh.Items[0] = new object();
geomMesh.Items[0] = meshTriangle;

geom.Item = geomMesh;
geom.id = "Plane001-lib";
geom.name = "Plane001Mesh";
library_geom.geometry[0] = geom;

// library_visual_scenes
library_visual_scenes lib_visual_scene = new library_visual_scenes();
lib_visual_scene.visual_scene = new visual_scene[1];
lib_visual_scene.visual_scene[0] = new visual_scene();

visual_scene visaul = new visual_scene();
visaul.node = new node[1];
visaul.node[0] = new node();
visaul.node[0].name = "Triangle001";
visaul.node[0].id = "Triangle001";
visaul.node[0].sid = "Triangle001";

visaul.node[0].instance_geometry = new instance_geometry[1];
visaul.node[0].instance_geometry[0] = new instance_geometry();
visaul.node[0].instance_geometry[0].url = "#Plane001-lib";

visaul.node[0].extra = new extra[1];
visaul.node[0].extra[0] = new extra();
visaul.node[0].extra[0].technique = new technique[1];
visaul.node[0].extra[0].technique[0] = new technique();
visaul.node[0].extra[0].technique[0].profile = "FCOLLADA";

visaul.name = "cube";
visaul.id = "cube";

lib_visual_scene.visual_scene[0] = visaul;

model.Items = new object[2];
model.Items[0] = library_geom;
model.Items[1] = lib_visual_scene;

model.scene = new COLLADAScene();
model.scene.instance_visual_scene = new InstanceWithExtra();
model.scene.instance_visual_scene.url = "#" + visaul.id;

model.Save("dd.dae");

return;


导入dae文件代码

string inputFileName = "CSharp.DAE";
// Load the Collada model
COLLADA model = COLLADA.Load(inputFileName);

// Iterate on libraries
foreach (var item in model.Items)
{
var geometries = item as library_geometries;
if (geometries == null)
continue;

// Iterate on geomerty in library_geometries
foreach (var geom in geometries.geometry)
{
var mesh = geom.Item as mesh;
if (mesh == null)
continue;

// Dump source[] for geom
foreach (var source in mesh.source)
{
var float_array = source.Item as float_array;
if (float_array == null)
continue;

Console.Write("Geometry {0} source {1} : ", geom.id, source.id);
foreach (var mesh_source_value in float_array.Values)
Console.Write("{0} ", mesh_source_value);
Console.WriteLine();
}

// Dump Items[] for geom
foreach (var meshItem in mesh.Items)
{
if (meshItem is vertices)
{
var vertices = meshItem as vertices;
var inputs = vertices.input;
foreach (var input in inputs)
Console.WriteLine("\t Semantic {0} Source {1}", input.semantic, input.source);
}
else if (meshItem is triangles)
{
var triangles = meshItem as triangles;
var inputs = triangles.input;
foreach (var input in inputs)
Console.WriteLine("\t Semantic {0} Source {1} Offset {2}", input.semantic, input.source, input.offset);
Console.WriteLine("\t Indices {0}", triangles.p);
}
}
}
}

// Save the model
model.Save(inputFileName + ".test.dae");
Console.ReadLine();


以上代码基于dae库,复制到cs文件中添加的工程中就可以了

//------------------------------------------------------------------------------
// Collada auto-generated model object from schema 1.4.1
// This file was patched manually in order to be able to use it
// see http://code4k.blogspot.com/2010/08/import-and-export-3d-collada-files-with.html for more information
// Author: @lx
//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.1
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

using System;
using System.CodeDom.Compiler;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using System.Xml;
using System.Xml.Serialization;

namespace Collada141
{
//
// This source code was auto-generated by xsd, Version=4.0.30319.1.
//

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
//    [DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public partial class COLLADA
{
private asset assetField;
private extra[] extraField;

private object[] itemsField;

private COLLADAScene sceneField;

private VersionType versionField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("library_animation_clips", typeof (library_animation_clips))]
[XmlElement("library_animations", typeof (library_animations))]
[XmlElement("library_cameras", typeof (library_cameras))]
[XmlElement("library_controllers", typeof (library_controllers))]
[XmlElement("library_effects", typeof (library_effects))]
[XmlElement("library_force_fields", typeof (library_force_fields))]
[XmlElement("library_geometries", typeof (library_geometries))]
[XmlElement("library_images", typeof (library_images))]
[XmlElement("library_lights", typeof (library_lights))]
[XmlElement("library_materials", typeof (library_materials))]
[XmlElement("library_nodes", typeof (library_nodes))]
[XmlElement("library_physics_materials", typeof (library_physics_materials))]
[XmlElement("library_physics_models", typeof (library_physics_models))]
[XmlElement("library_physics_scenes", typeof (library_physics_scenes))]
[XmlElement("library_visual_scenes", typeof (library_visual_scenes))]
public object[] Items
{
get { return itemsField; }
set { itemsField = value; }
}

/// <remarks />
public COLLADAScene scene
{
get { return sceneField; }
set { sceneField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute]
public VersionType version
{
get { return versionField; }
set { versionField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class asset
{
private assetContributor[] contributorField;

private DateTime createdField;

private string keywordsField;

private DateTime modifiedField;

private string revisionField;

private string subjectField;

private string titleField;

private assetUnit unitField;

private UpAxisType up_axisField;

public asset()
{
up_axisField = UpAxisType.Y_UP;
}

/// <remarks />
[XmlElement("contributor")]
public assetContributor[] contributor
{
get { return contributorField; }
set { contributorField = value; }
}

/// <remarks />
public DateTime created
{
get { return createdField; }
set { createdField = value; }
}

/// <remarks />
public string keywords
{
get { return keywordsField; }
set { keywordsField = value; }
}

/// <remarks />
public DateTime modified
{
get { return modifiedField; }
set { modifiedField = value; }
}

/// <remarks />
public string revision
{
get { return revisionField; }
set { revisionField = value; }
}

/// <remarks />
public string subject
{
get { return subjectField; }
set { subjectField = value; }
}

/// <remarks />
public string title
{
get { return titleField; }
set { titleField = value; }
}

/// <remarks />
public assetUnit unit
{
get { return unitField; }
set { unitField = value; }
}

/// <remarks />
[DefaultValue(UpAxisType.Y_UP)]
public UpAxisType up_axis
{
get { return up_axisField; }
set { up_axisField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class assetContributor
{
private string authorField;

private string authoring_toolField;

private string commentsField;

private string copyrightField;

private string source_dataField;

/// <remarks />
public string author
{
get { return authorField; }
set { authorField = value; }
}

/// <remarks />
public string authoring_tool
{
get { return authoring_toolField; }
set { authoring_toolField = value; }
}

/// <remarks />
public string comments
{
get { return commentsField; }
set { commentsField = value; }
}

/// <remarks />
public string copyright
{
get { return copyrightField; }
set { copyrightField = value; }
}

/// <remarks />
[XmlElement(DataType = "anyURI")]
public string source_data
{
get { return source_dataField; }
set { source_dataField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class fx_surface_init_from_common
{
private fx_surface_face_enum faceField;
private uint mipField;

private uint sliceField;

private string valueField;

public fx_surface_init_from_common()
{
mipField = ((0));
sliceField = ((0));
faceField = fx_surface_face_enum.POSITIVE_X;
}

/// <remarks />
[XmlAttribute]
[DefaultValue(typeof (uint), "0")]
public uint mip
{
get { return mipField; }
set { mipField = value; }
}

/// <remarks />
[XmlAttribute]
[DefaultValue(typeof (uint), "0")]
public uint slice
{
get { return sliceField; }
set { sliceField = value; }
}

/// <remarks />
[XmlAttribute]
[DefaultValue(fx_surface_face_enum.POSITIVE_X)]
public fx_surface_face_enum face
{
get { return faceField; }
set { faceField = value; }
}

/// <remarks />
[XmlText(DataType = "IDREF")]
public string Value
{
get { return valueField; }
set { valueField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public enum fx_surface_face_enum
{
/// <remarks />
POSITIVE_X,

/// <remarks />
NEGATIVE_X,

/// <remarks />
POSITIVE_Y,

/// <remarks />
NEGATIVE_Y,

/// <remarks />
POSITIVE_Z,

/// <remarks />
NEGATIVE_Z,
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class common_newparam_type
{
private ItemChoiceType itemElementNameField;
private object itemField;
private string semanticField;

private string sidField;

/// <remarks />
[XmlElement(DataType = "NCName")]
public string semantic
{
get { return semanticField; }
set { semanticField = value; }
}

/// <remarks />
[XmlElement("float", typeof (double))]
[XmlElement("float2", typeof (double))]
[XmlElement("float3", typeof (double))]
[XmlElement("float4", typeof (double))]
[XmlElement("sampler2D", typeof (fx_sampler2D_common))]
[XmlElement("surface", typeof (fx_surface_common))]
[XmlChoiceIdentifier("ItemElementName")]
public object Item
{
get { return itemField; }
set { itemField = value; }
}

/// <remarks />
[XmlIgnore]
public ItemChoiceType ItemElementName
{
get { return itemElementNameField; }
set { itemElementNameField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class fx_sampler2D_common
{
private string border_colorField;
private extra[] extraField;
private fx_sampler_filter_common magfilterField;
private fx_sampler_filter_common minfilterField;

private fx_sampler_filter_common mipfilterField;

private float mipmap_biasField;
private byte mipmap_maxlevelField;
private string sourceField;

private fx_sampler_wrap_common wrap_sField;

private fx_sampler_wrap_common wrap_tField;

public fx_sampler2D_common()
{
wrap_sField = fx_sampler_wrap_common.WRAP;
wrap_tField = fx_sampler_wrap_common.WRAP;
minfilterField = fx_sampler_filter_common.NONE;
magfilterField = fx_sampler_filter_common.NONE;
mipfilterField = fx_sampler_filter_common.NONE;
mipmap_maxlevelField = ((255));
mipmap_biasField = ((0F));
}

/// <remarks />
[XmlElement(DataType = "NCName")]
public string source
{
get { return sourceField; }
set { sourceField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_wrap_common.WRAP)]
public fx_sampler_wrap_common wrap_s
{
get { return wrap_sField; }
set { wrap_sField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_wrap_common.WRAP)]
public fx_sampler_wrap_common wrap_t
{
get { return wrap_tField; }
set { wrap_tField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_filter_common.NONE)]
public fx_sampler_filter_common minfilter
{
get { return minfilterField; }
set { minfilterField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_filter_common.NONE)]
public fx_sampler_filter_common magfilter
{
get { return magfilterField; }
set { magfilterField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_filter_common.NONE)]
public fx_sampler_filter_common mipfilter
{
get { return mipfilterField; }
set { mipfilterField = value; }
}

/// <remarks />
public string border_color
{
get { return border_colorField; }
set { border_colorField = value; }
}

/// <remarks />
[DefaultValue(typeof (byte), "255")]
public byte mipmap_maxlevel
{
get { return mipmap_maxlevelField; }
set { mipmap_maxlevelField = value; }
}

/// <remarks />
[DefaultValue(typeof (float), "0")]
public float mipmap_bias
{
get { return mipmap_biasField; }
set { mipmap_biasField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public enum fx_sampler_wrap_common
{
/// <remarks />
NONE,

/// <remarks />
WRAP,

/// <remarks />
MIRROR,

/// <remarks />
CLAMP,

/// <remarks />
BORDER,
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public enum fx_sampler_filter_common
{
/// <remarks />
NONE,

/// <remarks />
NEAREST,

/// <remarks />
LINEAR,

/// <remarks />
NEAREST_MIPMAP_NEAREST,

/// <remarks />
LINEAR_MIPMAP_NEAREST,

/// <remarks />
NEAREST_MIPMAP_LINEAR,

/// <remarks />
LINEAR_MIPMAP_LINEAR,
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class extra
{
private asset assetField;

private string idField;

private string nameField;
private technique[] techniqueField;

private string typeField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("technique")]
public technique[] technique
{
get { return techniqueField; }
set { techniqueField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NMTOKEN")]
public string type
{
get { return typeField; }
set { typeField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class technique
{
private XmlElement[] anyField;

private string profileField;

/// <remarks />
[XmlAnyElement]
public XmlElement[] Any
{
get { return anyField; }
set { anyField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NMTOKEN")]
public string profile
{
get { return profileField; }
set { profileField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class fx_surface_common
{
private extra[] extraField;
private string formatField;

private fx_surface_format_hint_common format_hintField;
private object init_as_nullField;

private object init_as_targetField;

private fx_surface_init_cube_common init_cubeField;

private fx_surface_init_from_common[] init_fromField;
private fx_surface_init_planar_common init_planarField;
private fx_surface_init_volume_common init_volumeField;

private object itemField;

private uint mip_levelsField;

private bool mipmap_generateField;

private bool mipmap_generateFieldSpecified;

private fx_surface_type_enum typeField;

public fx_surface_common()
{
mip_levelsField = ((0));
}

/// <remarks />
public object init_as_null
{
get { return init_as_nullField; }
set { init_as_nullField = value; }
}

/// <remarks />
public object init_as_target
{
get { return init_as_targetField; }
set { init_as_targetField = value; }
}

/// <remarks />
public fx_surface_init_cube_common init_cube
{
get { return init_cubeField; }
set { init_cubeField = value; }
}

/// <remarks />
public fx_surface_init_volume_common init_volume
{
get { return init_volumeField; }
set { init_volumeField = value; }
}

/// <remarks />
public fx_surface_init_planar_common init_planar
{
get { return init_planarField; }
set { init_planarField = value; }
}

/// <remarks />
[XmlElement("init_from")]
public fx_surface_init_from_common[] init_from
{
get { return init_fromField; }
set { init_fromField = value; }
}

/// <remarks />
[XmlElement(DataType = "token")]
public string format
{
get { return formatField; }
set { formatField = value; }
}

/// <remarks />
public fx_surface_format_hint_common format_hint
{
get { return format_hintField; }
set { format_hintField = value; }
}

/// <remarks />
[XmlElement("size", typeof (long))]
[XmlElement("viewport_ratio", typeof (double))]
public object Item
{
get { return itemField; }
set { itemField = value; }
}

/// <remarks />
[DefaultValue(typeof (uint), "0")]
public uint mip_levels
{
get { return mip_levelsField; }
set { mip_levelsField = value; }
}

/// <remarks />
public bool mipmap_generate
{
get { return mipmap_generateField; }
set { mipmap_generateField = value; }
}

/// <remarks />
[XmlIgnore]
public bool mipmap_generateSpecified
{
get { return mipmap_generateFieldSpecified; }
set { mipmap_generateFieldSpecified = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute]
public fx_surface_type_enum type
{
get { return typeField; }
set { typeField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class fx_surface_init_cube_common
{
private object[] itemsField;

/// <remarks />
[XmlElement("all", typeof (fx_surface_init_cube_commonAll))]
[XmlElement("face", typeof (fx_surface_init_cube_commonFace))]
[XmlElement("primary", typeof (fx_surface_init_cube_commonPrimary))]
public object[] Items
{
get { return itemsField; }
set { itemsField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class fx_surface_init_cube_commonAll
{
private string refField;

/// <remarks />
[XmlAttribute(DataType = "IDREF")]
public string @ref
{
get { return refField; }
set { refField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class fx_surface_init_cube_commonFace
{
private string refField;

/// <remarks />
[XmlAttribute(DataType = "IDREF")]
public string @ref
{
get { return refField; }
set { refField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class fx_surface_init_cube_commonPrimary
{
private fx_surface_face_enum[] orderField;

private string refField;

/// <remarks />
[XmlElement("order")]
public fx_surface_face_enum[] order
{
get { return orderField; }
set { orderField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "IDREF")]
public string @ref
{
get { return refField; }
set { refField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class fx_surface_init_volume_common
{
private object itemField;

/// <remarks />
[XmlElement("all", typeof (fx_surface_init_volume_commonAll))]
[XmlElement("primary", typeof (fx_surface_init_volume_commonPrimary))]
public object Item
{
get { return itemField; }
set { itemField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class fx_surface_init_volume_commonAll
{
private string refField;

/// <remarks />
[XmlAttribute(DataType = "IDREF")]
public string @ref
{
get { return refField; }
set { refField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class fx_surface_init_volume_commonPrimary
{
private string refField;

/// <remarks />
[XmlAttribute(DataType = "IDREF")]
public string @ref
{
get { return refField; }
set { refField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class fx_surface_init_planar_common
{
private fx_surface_init_planar_commonAll itemField;

/// <remarks />
[XmlElement("all")]
public fx_surface_init_planar_commonAll Item
{
get { return itemField; }
set { itemField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class fx_surface_init_planar_commonAll
{
private string refField;

/// <remarks />
[XmlAttribute(DataType = "IDREF")]
public string @ref
{
get { return refField; }
set { refField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class fx_surface_format_hint_common
{
private fx_surface_format_hint_channels_enum channelsField;
private extra[] extraField;
private fx_surface_format_hint_option_enum[] optionField;

private fx_surface_format_hint_precision_enum precisionField;

private bool precisionFieldSpecified;
private fx_surface_format_hint_range_enum rangeField;

/// <remarks />
public fx_surface_format_hint_channels_enum channels
{
get { return channelsField; }
set { channelsField = value; }
}

/// <remarks />
public fx_surface_format_hint_range_enum range
{
get { return rangeField; }
set { rangeField = value; }
}

/// <remarks />
public fx_surface_format_hint_precision_enum precision
{
get { return precisionField; }
set { precisionField = value; }
}

/// <remarks />
[XmlIgnore]
public bool precisionSpecified
{
get { return precisionFieldSpecified; }
set { precisionFieldSpecified = value; }
}

/// <remarks />
[XmlElement("option")]
public fx_surface_format_hint_option_enum[] option
{
get { return optionField; }
set { optionField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public enum fx_surface_format_hint_channels_enum
{
/// <remarks />
RGB,

/// <remarks />
RGBA,

/// <remarks />
L,

/// <remarks />
LA,

/// <remarks />
D,

/// <remarks />
XYZ,

/// <remarks />
XYZW,
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public enum fx_surface_format_hint_range_enum
{
/// <remarks />
SNORM,

/// <remarks />
UNORM,

/// <remarks />
SINT,

/// <remarks />
UINT,

/// <remarks />
FLOAT,
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public enum fx_surface_format_hint_precision_enum
{
/// <remarks />
LOW,

/// <remarks />
MID,

/// <remarks />
HIGH,
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public enum fx_surface_format_hint_option_enum
{
/// <remarks />
SRGB_GAMMA,

/// <remarks />
NORMALIZED3,

/// <remarks />
NORMALIZED4,

/// <remarks />
COMPRESSABLE,
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public enum fx_surface_type_enum
{
/// <remarks />
UNTYPED,

/// <remarks />
[XmlEnum("1D")] Item1D,

/// <remarks />
[XmlEnum("2D")] Item2D,

/// <remarks />
[XmlEnum("3D")] Item3D,

/// <remarks />
RECT,

/// <remarks />
CUBE,

/// <remarks />
DEPTH,
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IncludeInSchema = false)]
public enum ItemChoiceType
{
/// <remarks />
@float,

/// <remarks />
float2,

/// <remarks />
float3,

/// <remarks />
float4,

/// <remarks />
sampler2D,

/// <remarks />
surface,
}

/// <remarks />
[XmlInclude(typeof (common_transparent_type))]
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class common_color_or_texture_type
{
private object itemField;

/// <remarks />
[XmlElement("color", typeof (common_color_or_texture_typeColor))]
[XmlElement("param", typeof (common_color_or_texture_typeParam))]
[XmlElement("texture", typeof (common_color_or_texture_typeTexture))]
public object Item
{
get { return itemField; }
set { itemField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class common_color_or_texture_typeColor
{
private string sidField;

private double[] textField;

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}

/// <remarks />
[XmlText]
public string _Text_
{
get { return COLLADA.ConvertFromArray(Values); }

set { Values = COLLADA.ConvertDoubleArray(value); }
}

/// <remarks />
[XmlIgnore]
public double[] Values
{
get { return textField; }
set { textField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class common_color_or_texture_typeParam
{
private string refField;

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string @ref
{
get { return refField; }
set { refField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class common_color_or_texture_typeTexture
{
private extra extraField;

private string texcoordField;
private string textureField;

/// <remarks />
public extra extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string texture
{
get { return textureField; }
set { textureField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string texcoord
{
get { return texcoordField; }
set { texcoordField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class common_transparent_type : common_color_or_texture_type
{
private fx_opaque_enum opaqueField;

public common_transparent_type()
{
opaqueField = fx_opaque_enum.A_ONE;
}

/// <remarks />
[XmlAttribute]
[DefaultValue(fx_opaque_enum.A_ONE)]
public fx_opaque_enum opaque
{
get { return opaqueField; }
set { opaqueField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public enum fx_opaque_enum
{
/// <remarks />
A_ONE,

/// <remarks />
RGB_ZERO,
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class common_float_or_param_type
{
private object itemField;

/// <remarks />
[XmlElement("float", typeof (common_float_or_param_typeFloat))]
[XmlElement("param", typeof (common_float_or_param_typeParam))]
public object Item
{
get { return itemField; }
set { itemField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class common_float_or_param_typeFloat
{
private string sidField;

private double valueField;

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}

/// <remarks />
[XmlText]
public double Value
{
get { return valueField; }
set { valueField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class common_float_or_param_typeParam
{
private string refField;

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string @ref
{
get { return refField; }
set { refField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class fx_include_common
{
private string sidField;

private string urlField;

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "anyURI")]
public string url
{
get { return urlField; }
set { urlField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class fx_samplerDEPTH_common
{
private extra[] extraField;
private fx_sampler_filter_common magfilterField;
private fx_sampler_filter_common minfilterField;
private string sourceField;

private fx_sampler_wrap_common wrap_sField;

private fx_sampler_wrap_common wrap_tField;

public fx_samplerDEPTH_common()
{
wrap_sField = fx_sampler_wrap_common.WRAP;
wrap_tField = fx_sampler_wrap_common.WRAP;
minfilterField = fx_sampler_filter_common.NONE;
magfilterField = fx_sampler_filter_common.NONE;
}

/// <remarks />
[XmlElement(DataType = "NCName")]
public string source
{
get { return sourceField; }
set { sourceField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_wrap_common.WRAP)]
public fx_sampler_wrap_common wrap_s
{
get { return wrap_sField; }
set { wrap_sField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_wrap_common.WRAP)]
public fx_sampler_wrap_common wrap_t
{
get { return wrap_tField; }
set { wrap_tField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_filter_common.NONE)]
public fx_sampler_filter_common minfilter
{
get { return minfilterField; }
set { minfilterField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_filter_common.NONE)]
public fx_sampler_filter_common magfilter
{
get { return magfilterField; }
set { magfilterField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class fx_samplerRECT_common
{
private string border_colorField;
private extra[] extraField;
private fx_sampler_filter_common magfilterField;
private fx_sampler_filter_common minfilterField;

private fx_sampler_filter_common mipfilterField;

private float mipmap_biasField;
private byte mipmap_maxlevelField;
private string sourceField;

private fx_sampler_wrap_common wrap_sField;

private fx_sampler_wrap_common wrap_tField;

public fx_samplerRECT_common()
{
wrap_sField = fx_sampler_wrap_common.WRAP;
wrap_tField = fx_sampler_wrap_common.WRAP;
minfilterField = fx_sampler_filter_common.NONE;
magfilterField = fx_sampler_filter_common.NONE;
mipfilterField = fx_sampler_filter_common.NONE;
mipmap_maxlevelField = ((255));
mipmap_biasField = ((0F));
}

/// <remarks />
[XmlElement(DataType = "NCName")]
public string source
{
get { return sourceField; }
set { sourceField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_wrap_common.WRAP)]
public fx_sampler_wrap_common wrap_s
{
get { return wrap_sField; }
set { wrap_sField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_wrap_common.WRAP)]
public fx_sampler_wrap_common wrap_t
{
get { return wrap_tField; }
set { wrap_tField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_filter_common.NONE)]
public fx_sampler_filter_common minfilter
{
get { return minfilterField; }
set { minfilterField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_filter_common.NONE)]
public fx_sampler_filter_common magfilter
{
get { return magfilterField; }
set { magfilterField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_filter_common.NONE)]
public fx_sampler_filter_common mipfilter
{
get { return mipfilterField; }
set { mipfilterField = value; }
}

/// <remarks />
public string border_color
{
get { return border_colorField; }
set { border_colorField = value; }
}

/// <remarks />
[DefaultValue(typeof (byte), "255")]
public byte mipmap_maxlevel
{
get { return mipmap_maxlevelField; }
set { mipmap_maxlevelField = value; }
}

/// <remarks />
[DefaultValue(typeof (float), "0")]
public float mipmap_bias
{
get { return mipmap_biasField; }
set { mipmap_biasField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class fx_samplerCUBE_common
{
private string border_colorField;
private extra[] extraField;
private fx_sampler_filter_common magfilterField;
private fx_sampler_filter_common minfilterField;

private fx_sampler_filter_common mipfilterField;

private float mipmap_biasField;
private byte mipmap_maxlevelField;
private string sourceField;
private fx_sampler_wrap_common wrap_pField;
private fx_sampler_wrap_common wrap_sField;

private fx_sampler_wrap_common wrap_tField;

public fx_samplerCUBE_common()
{
wrap_sField = fx_sampler_wrap_common.WRAP;
wrap_tField = fx_sampler_wrap_common.WRAP;
wrap_pField = fx_sampler_wrap_common.WRAP;
minfilterField = fx_sampler_filter_common.NONE;
magfilterField = fx_sampler_filter_common.NONE;
mipfilterField = fx_sampler_filter_common.NONE;
mipmap_maxlevelField = ((255));
mipmap_biasField = ((0F));
}

/// <remarks />
[XmlElement(DataType = "NCName")]
public string source
{
get { return sourceField; }
set { sourceField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_wrap_common.WRAP)]
public fx_sampler_wrap_common wrap_s
{
get { return wrap_sField; }
set { wrap_sField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_wrap_common.WRAP)]
public fx_sampler_wrap_common wrap_t
{
get { return wrap_tField; }
set { wrap_tField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_wrap_common.WRAP)]
public fx_sampler_wrap_common wrap_p
{
get { return wrap_pField; }
set { wrap_pField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_filter_common.NONE)]
public fx_sampler_filter_common minfilter
{
get { return minfilterField; }
set { minfilterField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_filter_common.NONE)]
public fx_sampler_filter_common magfilter
{
get { return magfilterField; }
set { magfilterField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_filter_common.NONE)]
public fx_sampler_filter_common mipfilter
{
get { return mipfilterField; }
set { mipfilterField = value; }
}

/// <remarks />
public string border_color
{
get { return border_colorField; }
set { border_colorField = value; }
}

/// <remarks />
[DefaultValue(typeof (byte), "255")]
public byte mipmap_maxlevel
{
get { return mipmap_maxlevelField; }
set { mipmap_maxlevelField = value; }
}

/// <remarks />
[DefaultValue(typeof (float), "0")]
public float mipmap_bias
{
get { return mipmap_biasField; }
set { mipmap_biasField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class fx_sampler3D_common
{
private string border_colorField;
private extra[] extraField;
private fx_sampler_filter_common magfilterField;
private fx_sampler_filter_common minfilterField;

private fx_sampler_filter_common mipfilterField;

private float mipmap_biasField;
private byte mipmap_maxlevelField;
private string sourceField;
private fx_sampler_wrap_common wrap_pField;
private fx_sampler_wrap_common wrap_sField;

private fx_sampler_wrap_common wrap_tField;

public fx_sampler3D_common()
{
wrap_sField = fx_sampler_wrap_common.WRAP;
wrap_tField = fx_sampler_wrap_common.WRAP;
wrap_pField = fx_sampler_wrap_common.WRAP;
minfilterField = fx_sampler_filter_common.NONE;
magfilterField = fx_sampler_filter_common.NONE;
mipfilterField = fx_sampler_filter_common.NONE;
mipmap_maxlevelField = ((255));
mipmap_biasField = ((0F));
}

/// <remarks />
[XmlElement(DataType = "NCName")]
public string source
{
get { return sourceField; }
set { sourceField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_wrap_common.WRAP)]
public fx_sampler_wrap_common wrap_s
{
get { return wrap_sField; }
set { wrap_sField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_wrap_common.WRAP)]
public fx_sampler_wrap_common wrap_t
{
get { return wrap_tField; }
set { wrap_tField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_wrap_common.WRAP)]
public fx_sampler_wrap_common wrap_p
{
get { return wrap_pField; }
set { wrap_pField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_filter_common.NONE)]
public fx_sampler_filter_common minfilter
{
get { return minfilterField; }
set { minfilterField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_filter_common.NONE)]
public fx_sampler_filter_common magfilter
{
get { return magfilterField; }
set { magfilterField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_filter_common.NONE)]
public fx_sampler_filter_common mipfilter
{
get { return mipfilterField; }
set { mipfilterField = value; }
}

/// <remarks />
public string border_color
{
get { return border_colorField; }
set { border_colorField = value; }
}

/// <remarks />
[DefaultValue(typeof (byte), "255")]
public byte mipmap_maxlevel
{
get { return mipmap_maxlevelField; }
set { mipmap_maxlevelField = value; }
}

/// <remarks />
[DefaultValue(typeof (float), "0")]
public float mipmap_bias
{
get { return mipmap_biasField; }
set { mipmap_biasField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class fx_sampler1D_common
{
private string border_colorField;
private extra[] extraField;
private fx_sampler_filter_common magfilterField;
private fx_sampler_filter_common minfilterField;

private fx_sampler_filter_common mipfilterField;

private float mipmap_biasField;
private byte mipmap_maxlevelField;
private string sourceField;

private fx_sampler_wrap_common wrap_sField;

public fx_sampler1D_common()
{
wrap_sField = fx_sampler_wrap_common.WRAP;
minfilterField = fx_sampler_filter_common.NONE;
magfilterField = fx_sampler_filter_common.NONE;
mipfilterField = fx_sampler_filter_common.NONE;
mipmap_maxlevelField = ((0));
mipmap_biasField = ((0F));
}

/// <remarks />
[XmlElement(DataType = "NCName")]
public string source
{
get { return sourceField; }
set { sourceField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_wrap_common.WRAP)]
public fx_sampler_wrap_common wrap_s
{
get { return wrap_sField; }
set { wrap_sField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_filter_common.NONE)]
public fx_sampler_filter_common minfilter
{
get { return minfilterField; }
set { minfilterField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_filter_common.NONE)]
public fx_sampler_filter_common magfilter
{
get { return magfilterField; }
set { magfilterField = value; }
}

/// <remarks />
[DefaultValue(fx_sampler_filter_common.NONE)]
public fx_sampler_filter_common mipfilter
{
get { return mipfilterField; }
set { mipfilterField = value; }
}

/// <remarks />
public string border_color
{
get { return border_colorField; }
set { border_colorField = value; }
}

/// <remarks />
[DefaultValue(typeof (byte), "0")]
public byte mipmap_maxlevel
{
get { return mipmap_maxlevelField; }
set { mipmap_maxlevelField = value; }
}

/// <remarks />
[DefaultValue(typeof (float), "0")]
public float mipmap_bias
{
get { return mipmap_biasField; }
set { mipmap_biasField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class InputGlobal
{
private string semanticField;

private string sourceField;

/// <remarks />
[XmlAttribute(DataType = "NMTOKEN")]
public string semantic
{
get { return semanticField; }
set { semanticField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "anyURI")]
public string source
{
get { return sourceField; }
set { sourceField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class fx_newparam_common
{
private fx_annotate_common[] annotateField;

private string bool2Field;

private string bool3Field;

private string bool4Field;
private bool boolField;
private string enumField;

private double float1x1Field;

private string float1x2Field;

private string float1x3Field;

private string float1x4Field;
private string float2Field;

private string float2x1Field;

private string float2x2Field;

private string float2x3Field;

private string float2x4Field;
private string float3Field;

private string float3x1Field;

private string float3x2Field;

private string float3x3Field;

private string float3x4Field;
private string float4Field;

private string float4x1Field;

private string float4x2Field;

private string float4x3Field;

private string float4x4Field;
private double floatField;
private string int2Field;

private string int3Field;

private string int4Field;
private long intField;
private fx_modifier_enum_common modifierField;

private bool modifierFieldSpecified;

private fx_sampler1D_common sampler1DField;

private fx_sampler2D_common sampler2DField;

private fx_sampler3D_common sampler3DField;

private fx_samplerCUBE_common samplerCUBEField;

private fx_samplerDEPTH_common samplerDEPTHField;
private fx_samplerRECT_common samplerRECTField;
private string semanticField;

private string sidField;
private fx_surface_common surfaceField;

/// <remarks />
[XmlElement("annotate")]
public fx_annotate_common[] annotate
{
get { return annotateField; }
set { annotateField = value; }
}

/// <remarks />
[XmlElement(DataType = "NCName")]
public string semantic
{
get { return semanticField; }
set { semanticField = value; }
}

/// <remarks />
public fx_modifier_enum_common modifier
{
get { return modifierField; }
set { modifierField = value; }
}

/// <remarks />
[XmlIgnore]
public bool modifierSpecified
{
get { return modifierFieldSpecified; }
set { modifierFieldSpecified = value; }
}

/// <remarks />
public bool @bool
{
get { return boolField; }
set { boolField = value; }
}

/// <remarks />
public string bool2
{
get { return bool2Field; }
set { bool2Field = value; }
}

/// <remarks />
public string bool3
{
get { return bool3Field; }
set { bool3Field = value; }
}

/// <remarks />
public string bool4
{
get { return bool4Field; }
set { bool4Field = value; }
}

/// <remarks />
public long @int
{
get { return intField; }
set { intField = value; }
}

/// <remarks />
public string int2
{
get { return int2Field; }
set { int2Field = value; }
}

/// <remarks />
public string int3
{
get { return int3Field; }
set { int3Field = value; }
}

/// <remarks />
public string int4
{
get { return int4Field; }
set { int4Field = value; }
}

/// <remarks />
public double @float
{
get { return floatField; }
set { floatField = value; }
}

/// <remarks />
public string float2
{
get { return float2Field; }
set { float2Field = value; }
}

/// <remarks />
public string float3
{
get { return float3Field; }
set { float3Field = value; }
}

/// <remarks />
public string float4
{
get { return float4Field; }
set { float4Field = value; }
}

/// <remarks />
public double float1x1
{
get { return float1x1Field; }
set { float1x1Field = value; }
}

/// <remarks />
public string float1x2
{
get { return float1x2Field; }
set { float1x2Field = value; }
}

/// <remarks />
public string float1x3
{
get { return float1x3Field; }
set { float1x3Field = value; }
}

/// <remarks />
public string float1x4
{
get { return float1x4Field; }
set { float1x4Field = value; }
}

/// <remarks />
public string float2x1
{
get { return float2x1Field; }
set { float2x1Field = value; }
}

/// <remarks />
public string float2x2
{
get { return float2x2Field; }
set { float2x2Field = value; }
}

/// <remarks />
public string float2x3
{
get { return float2x3Field; }
set { float2x3Field = value; }
}

/// <remarks />
public string float2x4
{
get { return float2x4Field; }
set { float2x4Field = value; }
}

/// <remarks />
public string float3x1
{
get { return float3x1Field; }
set { float3x1Field = value; }
}

/// <remarks />
public string float3x2
{
get { return float3x2Field; }
set { float3x2Field = value; }
}

/// <remarks />
public string float3x3
{
get { return float3x3Field; }
set { float3x3Field = value; }
}

/// <remarks />
public string float3x4
{
get { return float3x4Field; }
set { float3x4Field = value; }
}

/// <remarks />
public string float4x1
{
get { return float4x1Field; }
set { float4x1Field = value; }
}

/// <remarks />
public string float4x2
{
get { return float4x2Field; }
set { float4x2Field = value; }
}

/// <remarks />
public string float4x3
{
get { return float4x3Field; }
set { float4x3Field = value; }
}

/// <remarks />
public string float4x4
{
get { return float4x4Field; }
set { float4x4Field = value; }
}

/// <remarks />
public fx_surface_common surface
{
get { return surfaceField; }
set { surfaceField = value; }
}

/// <remarks />
public fx_sampler1D_common sampler1D
{
get { return sampler1DField; }
set { sampler1DField = value; }
}

/// <remarks />
public fx_sampler2D_common sampler2D
{
get { return sampler2DField; }
set { sampler2DField = value; }
}

/// <remarks />
public fx_sampler3D_common sampler3D
{
get { return sampler3DField; }
set { sampler3DField = value; }
}

/// <remarks />
public fx_samplerCUBE_common samplerCUBE
{
get { return samplerCUBEField; }
set { samplerCUBEField = value; }
}

/// <remarks />
public fx_samplerRECT_common samplerRECT
{
get { return samplerRECTField; }
set { samplerRECTField = value; }
}

/// <remarks />
public fx_samplerDEPTH_common samplerDEPTH
{
get { return samplerDEPTHField; }
set { samplerDEPTHField = value; }
}

/// <remarks />
public string @enum
{
get { return enumField; }
set { enumField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class fx_annotate_common
{
private string bool2Field;

private string bool3Field;

private string bool4Field;
private bool boolField;

private string float2Field;

private string float2x2Field;
private string float3Field;

private string float3x3Field;
private string float4Field;

private string float4x4Field;
private double floatField;
private string int2Field;

private string int3Field;

private string int4Field;
private long intField;

private string nameField;
private string stringField;

/// <remarks />
public bool @bool
{
get { return boolField; }
set { boolField = value; }
}

/// <remarks />
public string bool2
{
get { return bool2Field; }
set { bool2Field = value; }
}

/// <remarks />
public string bool3
{
get { return bool3Field; }
set { bool3Field = value; }
}

/// <remarks />
public string bool4
{
get { return bool4Field; }
set { bool4Field = value; }
}

/// <remarks />
public long @int
{
get { return intField; }
set { intField = value; }
}

/// <remarks />
public string int2
{
get { return int2Field; }
set { int2Field = value; }
}

/// <remarks />
public string int3
{
get { return int3Field; }
set { int3Field = value; }
}

/// <remarks />
public string int4
{
get { return int4Field; }
set { int4Field = value; }
}

/// <remarks />
public double @float
{
get { return floatField; }
set { floatField = value; }
}

/// <remarks />
public string float2
{
get { return float2Field; }
set { float2Field = value; }
}

/// <remarks />
public string float3
{
get { return float3Field; }
set { float3Field = value; }
}

/// <remarks />
public string float4
{
get { return float4Field; }
set { float4Field = value; }
}

/// <remarks />
public string float2x2
{
get { return float2x2Field; }
set { float2x2Field = value; }
}

/// <remarks />
public string float3x3
{
get { return float3x3Field; }
set { float3x3Field = value; }
}

/// <remarks />
public string float4x4
{
get { return float4x4Field; }
set { float4x4Field = value; }
}

/// <remarks />
public string @string
{
get { return stringField; }
set { stringField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public enum fx_modifier_enum_common
{
/// <remarks />
CONST,

/// <remarks />
UNIFORM,

/// <remarks />
VARYING,

/// <remarks />
STATIC,

/// <remarks />
VOLATILE,

/// <remarks />
EXTERN,

/// <remarks />
SHARED,
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class InputLocalOffset
{
private ulong offsetField;

private string semanticField;

private ulong setField;

private bool setFieldSpecified;
private string sourceField;

/// <remarks />
[XmlAttribute]
public ulong offset
{
get { return offsetField; }
set { offsetField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NMTOKEN")]
public string semantic
{
get { return semanticField; }
set { semanticField = value; }
}

/// <remarks />
[XmlAttribute]
public string source
{
get { return sourceField; }
set { sourceField = value; }
}

/// <remarks />
[XmlAttribute]
public ulong set
{
get { return setField; }
set { setField = value; }
}

/// <remarks />
[XmlIgnore]
public bool setSpecified
{
get { return setFieldSpecified; }
set { setFieldSpecified = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class TargetableFloat
{
private string sidField;

private double valueField;

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}

/// <remarks />
[XmlText]
public double Value
{
get { return valueField; }
set { valueField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class InputLocal
{
private string semanticField;

private string sourceField;

/// <remarks />
[XmlAttribute(DataType = "NMTOKEN")]
public string semantic
{
get { return semanticField; }
set { semanticField = value; }
}

/// <remarks />
[XmlAttribute]
public string source
{
get { return sourceField; }
set { sourceField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class instance_material
{
private instance_materialBind[] bindField;

private instance_materialBind_vertex_input[] bind_vertex_inputField;

private extra[] extraField;
private string nameField;
private string sidField;

private string symbolField;

private string targetField;

/// <remarks />
[XmlElement("bind")]
public instance_materialBind[] bind
{
get { return bindField; }
set { bindField = value; }
}

/// <remarks />
[XmlElement("bind_vertex_input")]
public instance_materialBind_vertex_input[] bind_vertex_input
{
get { return bind_vertex_inputField; }
set { bind_vertex_inputField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string symbol
{
get { return symbolField; }
set { symbolField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "anyURI")]
public string target
{
get { return targetField; }
set { targetField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class instance_materialBind
{
private string semanticField;

private string targetField;

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string semantic
{
get { return semanticField; }
set { semanticField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "token")]
public string target
{
get { return targetField; }
set { targetField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class instance_materialBind_vertex_input
{
private string input_semanticField;

private ulong input_setField;

private bool input_setFieldSpecified;
private string semanticField;

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string semantic
{
get { return semanticField; }
set { semanticField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string input_semantic
{
get { return input_semanticField; }
set { input_semanticField = value; }
}

/// <remarks />
[XmlAttribute]
public ulong input_set
{
get { return input_setField; }
set { input_setField = value; }
}

/// <remarks />
[XmlIgnore]
public bool input_setSpecified
{
get { return input_setFieldSpecified; }
set { input_setFieldSpecified = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class assetUnit
{
private double meterField;

private string nameField;

public assetUnit()
{
meterField = 1D;
nameField = "meter";
}

/// <remarks />
[XmlAttribute]
[DefaultValue(1D)]
public double meter
{
get { return meterField; }
set { meterField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NMTOKEN")]
[DefaultValue("meter")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public enum UpAxisType
{
/// <remarks />
X_UP,

/// <remarks />
Y_UP,

/// <remarks />
Z_UP,
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class library_animation_clips
{
private animation_clip[] animation_clipField;
private asset assetField;

private extra[] extraField;

private string idField;

private string nameField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("animation_clip")]
public animation_clip[] animation_clip
{
get { return animation_clipField; }
set { animation_clipField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class animation_clip
{
private asset assetField;
private double endField;

private bool endFieldSpecified;

private extra[] extraField;

private string idField;
private InstanceWithExtra[] instance_animationField;

private string nameField;

private double startField;

public animation_clip()
{
startField = 0D;
}

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("instance_animation")]
public InstanceWithExtra[] instance_animation
{
get { return instance_animationField; }
set { instance_animationField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}

/// <remarks />
[XmlAttribute]
[DefaultValue(0D)]
public double start
{
get { return startField; }
set { startField = value; }
}

/// <remarks />
[XmlAttribute]
public double end
{
get { return endField; }
set { endField = value; }
}

/// <remarks />
[XmlIgnore]
public bool endSpecified
{
get { return endFieldSpecified; }
set { endFieldSpecified = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot("instance_camera", Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class InstanceWithExtra
{
private extra[] extraField;

private string nameField;
private string sidField;
private string urlField;

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "anyURI")]
public string url
{
get { return urlField; }
set { urlField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class library_animations
{
private animation[] animationField;
private asset assetField;

private extra[] extraField;

private string idField;

private string nameField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("animation")]
public animation[] animation
{
get { return animationField; }
set { animationField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class animation
{
private asset assetField;

private extra[] extraField;

private string idField;
private object[] itemsField;

private string nameField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("animation", typeof (animation))]
[XmlElement("channel", typeof (channel))]
[XmlElement("sampler", typeof (sampler))]
[XmlElement("source", typeof (source))]
public object[] Items
{
get { return itemsField; }
set { itemsField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class channel
{
private string sourceField;

private string targetField;

/// <remarks />
[XmlAttribute]
public string source
{
get { return sourceField; }
set { sourceField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "token")]
public string target
{
get { return targetField; }
set { targetField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class sampler
{
private string idField;
private InputLocal[] inputField;

/// <remarks />
[XmlElement("input")]
public InputLocal[] input
{
get { return inputField; }
set { inputField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class source
{
private asset assetField;

private string idField;
private object itemField;

private string nameField;
private technique[] techniqueField;
private sourceTechnique_common technique_commonField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("IDREF_array", typeof (IDREF_array))]
[XmlElement("Name_array", typeof (Name_array))]
[XmlElement("bool_array", typeof (bool_array))]
[XmlElement("float_array", typeof (float_array))]
[XmlElement("int_array", typeof (int_array))]
public object Item
{
get { return itemField; }
set { itemField = value; }
}

/// <remarks />
public sourceTechnique_common technique_common
{
get { return technique_commonField; }
set { technique_commonField = value; }
}

/// <remarks />
[XmlElement("technique")]
public technique[] technique
{
get { return techniqueField; }
set { techniqueField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class IDREF_array
{
private ulong countField;
private string idField;

private string nameField;

private string valueField;

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}

/// <remarks />
[XmlAttribute]
public ulong count
{
get { return countField; }
set { countField = value; }
}

/// <remarks />
[XmlText(DataType = "IDREFS")]
public string Value
{
get { return valueField; }
set { valueField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class Name_array
{
private ulong countField;
private string idField;

private string nameField;

private string[] textField;

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}

/// <remarks />
[XmlAttribute]
public ulong count
{
get { return countField; }
set { countField = value; }
}

/// <remarks />
[XmlElement("Name")]
public string _Text_
{
get { return COLLADA.ConvertFromArray(Values); }

set { Values = COLLADA.ConvertStringArray(value); }
}

[XmlIgnore]
public string[] Values
{
get { return textField; }
set { textField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class bool_array
{
private ulong countField;
private string idField;

private string nameField;

private bool[] textField;

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}

/// <remarks />
[XmlAttribute]
public ulong count
{
get { return countField; }
set { countField = value; }
}

/// <remarks />
[XmlText]
public string _Text_
{
get { return COLLADA.ConvertFromArray(Values); }

set { Values = COLLADA.ConvertBoolArray(value); }
}

[XmlIgnore]
public bool[] Values
{
get { return textField; }
set { textField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
//[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class float_array
{
private ulong countField;

private short digitsField;
private string idField;

private short magnitudeField;
private string nameField;

private double[] textField;

public float_array()
{
digitsField = ((6));
magnitudeField = ((38));
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}

/// <remarks />
[XmlAttribute]
public ulong count
{
get { return countField; }
set { countField = value; }
}

/// <remarks />
[XmlAttribute]
[DefaultValue(typeof (short), "6")]
public short digits
{
get { return digitsField; }
set { digitsField = value; }
}

/// <remarks />
[XmlAttribute]
[DefaultValue(typeof (short), "38")]
public short magnitude
{
get { return magnitudeField; }
set { magnitudeField = value; }
}

/// <remarks />
[XmlText]
public string _Text_
{
get { return COLLADA.ConvertFromArray(Values); }

set { Values = COLLADA.ConvertDoubleArray(value); }
}

[XmlIgnore]
public double[] Values
{
get { return textField; }
set { textField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class int_array
{
private ulong countField;
private string idField;

private string maxInclusiveField;
private string minInclusiveField;
private string nameField;

private int[] textField;

public int_array()
{
minInclusiveField = "-2147483648";
maxInclusiveField = "2147483647";
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}

/// <remarks />
[XmlAttribute]
public ulong count
{
get { return countField; }
set { countField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "integer")]
[DefaultValue("-2147483648")]
public string minInclusive
{
get { return minInclusiveField; }
set { minInclusiveField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "integer")]
[DefaultValue("2147483647")]
public string maxInclusive
{
get { return maxInclusiveField; }
set { maxInclusiveField = value; }
}

/// <remarks />
[XmlText]
public string _Text_
{
get { return COLLADA.ConvertFromArray(Values); }

set { Values = COLLADA.ConvertIntArray(value); }
}

[XmlIgnore]
public int[] Values
{
get { return textField; }
set { textField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class sourceTechnique_common
{
private accessor accessorField;

/// <remarks />
public accessor accessor
{
get { return accessorField; }
set { accessorField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class accessor
{
private ulong countField;

private ulong offsetField;
private param[] paramField;

private string sourceField;

private ulong strideField;

public accessor()
{
offsetField = ((ulong) (0m));
strideField = ((ulong) (1m));
}

/// <remarks />
[XmlElement("param")]
public param[] param
{
get { return paramField; }
set { paramField = value; }
}

/// <remarks />
[XmlAttribute]
public ulong count
{
get { return countField; }
set { countField = value; }
}

/// <remarks />
[XmlAttribute]
[DefaultValue(typeof (ulong), "0")]
public ulong offset
{
get { return offsetField; }
set { offsetField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "anyURI")]
public string source
{
get { return sourceField; }
set { sourceField = value; }
}

/// <remarks />
[XmlAttribute]
[DefaultValue(typeof (ulong), "1")]
public ulong stride
{
get { return strideField; }
set { strideField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class param
{
private string nameField;

private string semanticField;
private string sidField;

private string typeField;

private string valueField;

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NMTOKEN")]
public string semantic
{
get { return semanticField; }
set { semanticField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NMTOKEN")]
public string type
{
get { return typeField; }
set { typeField = value; }
}

/// <remarks />
[XmlText]
public string Value
{
get { return valueField; }
set { valueField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class library_cameras
{
private asset assetField;

private camera[] cameraField;

private extra[] extraField;

private string idField;

private string nameField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("camera")]
public camera[] camera
{
get { return cameraField; }
set { cameraField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class camera
{
private asset assetField;

private extra[] extraField;

private string idField;
private cameraImager imagerField;

private string nameField;
private cameraOptics opticsField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
public cameraOptics optics
{
get { return opticsField; }
set { opticsField = value; }
}

/// <remarks />
public cameraImager imager
{
get { return imagerField; }
set { imagerField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class cameraOptics
{
private extra[] extraField;
private technique[] techniqueField;
private cameraOpticsTechnique_common technique_commonField;

/// <remarks />
public cameraOpticsTechnique_common technique_common
{
get { return technique_commonField; }
set { technique_commonField = value; }
}

/// <remarks />
[XmlElement("technique")]
public technique[] technique
{
get { return techniqueField; }
set { techniqueField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class cameraOpticsTechnique_common
{
private object itemField;

/// <remarks />
[XmlElement("orthographic", typeof (cameraOpticsTechnique_commonOrthographic))]
[XmlElement("perspective", typeof (cameraOpticsTechnique_commonPerspective))]
public object Item
{
get { return itemField; }
set { itemField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class cameraOpticsTechnique_commonOrthographic
{
private ItemsChoiceType[] itemsElementNameField;
private TargetableFloat[] itemsField;

private TargetableFloat zfarField;
private TargetableFloat znearField;

/// <remarks />
[XmlElement("aspect_ratio", typeof (TargetableFloat))]
[XmlElement("xmag", typeof (TargetableFloat))]
[XmlElement("ymag", typeof (TargetableFloat))]
[XmlChoiceIdentifier("ItemsElementName")]
public TargetableFloat[] Items
{
get { return itemsField; }
set { itemsField = value; }
}

/// <remarks />
[XmlElement("ItemsElementName")]
[XmlIgnore]
public ItemsChoiceType[] ItemsElementName
{
get { return itemsElementNameField; }
set { itemsElementNameField = value; }
}

/// <remarks />
public TargetableFloat znear
{
get { return znearField; }
set { znearField = value; }
}

/// <remarks />
public TargetableFloat zfar
{
get { return zfarField; }
set { zfarField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IncludeInSchema = false)]
public enum ItemsChoiceType
{
/// <remarks />
aspect_ratio,

/// <remarks />
xmag,

/// <remarks />
ymag,
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class cameraOpticsTechnique_commonPerspective
{
private ItemsChoiceType1[] itemsElementNameField;
private TargetableFloat[] itemsField;

private TargetableFloat zfarField;
private TargetableFloat znearField;

/// <remarks />
[XmlElement("aspect_ratio", typeof (TargetableFloat))]
[XmlElement("xfov", typeof (TargetableFloat))]
[XmlElement("yfov", typeof (TargetableFloat))]
[XmlChoiceIdentifier("ItemsElementName")]
public TargetableFloat[] Items
{
get { return itemsField; }
set { itemsField = value; }
}

/// <remarks />
[XmlElement("ItemsElementName")]
[XmlIgnore]
public ItemsChoiceType1[] ItemsElementName
{
get { return itemsElementNameField; }
set { itemsElementNameField = value; }
}

/// <remarks />
public TargetableFloat znear
{
get { return znearField; }
set { znearField = value; }
}

/// <remarks />
public TargetableFloat zfar
{
get { return zfarField; }
set { zfarField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IncludeInSchema = false)]
public enum ItemsChoiceType1
{
/// <remarks />
aspect_ratio,

/// <remarks />
xfov,

/// <remarks />
yfov,
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class cameraImager
{
private extra[] extraField;
private technique[] techniqueField;

/// <remarks />
[XmlElement("technique")]
public technique[] technique
{
get { return techniqueField; }
set { techniqueField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class library_controllers
{
private asset assetField;

private controller[] controllerField;

private extra[] extraField;

private string idField;

private string nameField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("controller")]
public controller[] controller
{
get { return controllerField; }
set { controllerField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class controller
{
private asset assetField;

private extra[] extraField;

private string idField;
private object itemField;

private string nameField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("morph", typeof (morph))]
[XmlElement("skin", typeof (skin))]
public object Item
{
get { return itemField; }
set { itemField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class morph
{
private extra[] extraField;

private MorphMethodType methodField;

private string source1Field;
private source[] sourceField;

private morphTargets targetsField;

public morph()
{
methodField = MorphMethodType.NORMALIZED;
}

/// <remarks />
[XmlElement("source")]
public source[] source
{
get { return sourceField; }
set { sourceField = value; }
}

/// <remarks />
public morphTargets targets
{
get { return targetsField; }
set { targetsField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute]
[DefaultValue(MorphMethodType.NORMALIZED)]
public MorphMethodType method
{
get { return methodField; }
set { methodField = value; }
}

/// <remarks />
[XmlAttribute("source", DataType = "anyURI")]
public string source1
{
get { return source1Field; }
set { source1Field = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class morphTargets
{
private extra[] extraField;
private InputLocal[] inputField;

/// <remarks />
[XmlElement("input")]
public InputLocal[] input
{
get { return inputField; }
set { inputField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public enum MorphMethodType
{
/// <remarks />
NORMALIZED,

/// <remarks />
RELATIVE,
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class skin
{
private string bind_shape_matrixField;

private extra[] extraField;
private skinJoints jointsField;

private string source1Field;
private source[] sourceField;
private skinVertex_weights vertex_weightsField;

/// <remarks />
public string bind_shape_matrix
{
get { return bind_shape_matrixField; }
set { bind_shape_matrixField = value; }
}

/// <remarks />
[XmlElement("source")]
public source[] source
{
get { return sourceField; }
set { sourceField = value; }
}

/// <remarks />
public skinJoints joints
{
get { return jointsField; }
set { jointsField = value; }
}

/// <remarks />
public skinVertex_weights vertex_weights
{
get { return vertex_weightsField; }
set { vertex_weightsField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute("source", DataType = "anyURI")]
public string source1
{
get { return source1Field; }
set { source1Field = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class skinJoints
{
private extra[] extraField;
private InputLocal[] inputField;

/// <remarks />
[XmlElement("input")]
public InputLocal[] input
{
get { return inputField; }
set { inputField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class skinVertex_weights
{
private ulong countField;
private extra[] extraField;
private InputLocalOffset[] inputField;

private string vField;
private string vcountField;

/// <remarks />
[XmlElement("input")]
public InputLocalOffset[] input
{
get { return inputField; }
set { inputField = value; }
}

/// <remarks />
public string vcount
{
get { return vcountField; }
set { vcountField = value; }
}

/// <remarks />
public string v
{
get { return vField; }
set { vField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute]
public ulong count
{
get { return countField; }
set { countField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class library_effects
{
private asset assetField;

private effect[] effectField;

private extra[] extraField;

private string idField;

private string nameField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("effect")]
public effect[] effect
{
get { return effectField; }
set { effectField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class effect
{
private fx_annotate_common[] annotateField;
private asset assetField;

private extra[] extraField;

private string idField;
private image[] imageField;
private effectFx_profile_abstractProfile_COMMON[] itemsField;

private string nameField;
private fx_newparam_common[] newparamField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("annotate")]
public fx_annotate_common[] annotate
{
get { return annotateField; }
set { annotateField = value; }
}

/// <remarks />
[XmlElement("image")]
public image[] image
{
get { return imageField; }
set { imageField = value; }
}

/// <remarks />
[XmlElement("newparam")]
public fx_newparam_common[] newparam
{
get { return newparamField; }
set { newparamField = value; }
}

/// <remarks />
[XmlElement("profile_COMMON")]
public effectFx_profile_abstractProfile_COMMON[] Items
{
get { return itemsField; }
set { itemsField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class image
{
private asset assetField;
private ulong depthField;

private extra[] extraField;

private string formatField;

private ulong heightField;

private bool heightFieldSpecified;
private string idField;
private object itemField;
private string nameField;

private ulong widthField;

private bool widthFieldSpecified;

public image()
{
depthField = ((ulong) (1m));
}

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("data", typeof (byte[]), DataType = "hexBinary")]
[XmlElement("init_from", typeof (string), DataType = "anyURI")]
public object Item
{
get { return itemField; }
set { itemField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "token")]
public string format
{
get { return formatField; }
set { formatField = value; }
}

/// <remarks />
[XmlAttribute]
public ulong height
{
get { return heightField; }
set { heightField = value; }
}

/// <remarks />
[XmlIgnore]
public bool heightSpecified
{
get { return heightFieldSpecified; }
set { heightFieldSpecified = value; }
}

/// <remarks />
[XmlAttribute]
public ulong width
{
get { return widthField; }
set { widthField = value; }
}

/// <remarks />
[XmlIgnore]
public bool widthSpecified
{
get { return widthFieldSpecified; }
set { widthFieldSpecified = value; }
}

/// <remarks />
[XmlAttribute]
[DefaultValue(typeof (ulong), "1")]
public ulong depth
{
get { return depthField; }
set { depthField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot("profile_COMMON", Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class effectFx_profile_abstractProfile_COMMON
{
private asset assetField;

private extra[] extraField;

private string idField;
private object[] itemsField;

private effectFx_profile_abstractProfile_COMMONTechnique techniqueField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("image", typeof (image))]
[XmlElement("newparam", typeof (common_newparam_type))]
public object[] Items
{
get { return itemsField; }
set { itemsField = value; }
}

/// <remarks />
public effectFx_profile_abstractProfile_COMMONTechnique technique
{
get { return techniqueField; }
set { techniqueField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class effectFx_profile_abstractProfile_COMMONTechnique
{
private asset assetField;

private extra[] extraField;

private string idField;
private object itemField;
private object[] itemsField;

private string sidField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("image", typeof (image))]
[XmlElement("newparam", typeof (common_newparam_type))]
public object[] Items
{
get { return itemsField; }
set { itemsField = value; }
}

/// <remarks />
[XmlElement("blinn", typeof (effectFx_profile_abstractProfile_COMMONTechniqueBlinn))]
[XmlElement("constant", typeof (effectFx_profile_abstractProfile_COMMONTechniqueConstant))]
[XmlElement("lambert", typeof (effectFx_profile_abstractProfile_COMMONTechniqueLambert))]
[XmlElement("phong", typeof (effectFx_profile_abstractProfile_COMMONTechniquePhong))]
public object Item
{
get { return itemField; }
set { itemField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class effectFx_profile_abstractProfile_COMMONTechniqueBlinn
{
private common_color_or_texture_type ambientField;

private common_color_or_texture_type diffuseField;
private common_color_or_texture_type emissionField;
private common_float_or_param_type index_of_refractionField;

private common_color_or_texture_type reflectiveField;

private common_float_or_param_type reflectivityField;
private common_float_or_param_type shininessField;
private common_color_or_texture_type specularField;

private common_float_or_param_type transparencyField;
private common_transparent_type transparentField;

/// <remarks />
public common_color_or_texture_type emission
{
get { return emissionField; }
set { emissionField = value; }
}

/// <remarks />
public common_color_or_texture_type ambient
{
get { return ambientField; }
set { ambientField = value; }
}

/// <remarks />
public common_color_or_texture_type diffuse
{
get { return diffuseField; }
set { diffuseField = value; }
}

/// <remarks />
public common_color_or_texture_type specular
{
get { return specularField; }
set { specularField = value; }
}

/// <remarks />
public common_float_or_param_type shininess
{
get { return shininessField; }
set { shininessField = value; }
}

/// <remarks />
public common_color_or_texture_type reflective
{
get { return reflectiveField; }
set { reflectiveField = value; }
}

/// <remarks />
public common_float_or_param_type reflectivity
{
get { return reflectivityField; }
set { reflectivityField = value; }
}

/// <remarks />
public common_transparent_type transparent
{
get { return transparentField; }
set { transparentField = value; }
}

/// <remarks />
public common_float_or_param_type transparency
{
get { return transparencyField; }
set { transparencyField = value; }
}

/// <remarks />
public common_float_or_param_type index_of_refraction
{
get { return index_of_refractionField; }
set { index_of_refractionField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class effectFx_profile_abstractProfile_COMMONTechniqueConstant
{
private common_color_or_texture_type emissionField;
private common_float_or_param_type index_of_refractionField;

private common_color_or_texture_type reflectiveField;

private common_float_or_param_type reflectivityField;

private common_float_or_param_type transparencyField;
private common_transparent_type transparentField;

/// <remarks />
public common_color_or_texture_type emission
{
get { return emissionField; }
set { emissionField = value; }
}

/// <remarks />
public common_color_or_texture_type reflective
{
get { return reflectiveField; }
set { reflectiveField = value; }
}

/// <remarks />
public common_float_or_param_type reflectivity
{
get { return reflectivityField; }
set { reflectivityField = value; }
}

/// <remarks />
public common_transparent_type transparent
{
get { return transparentField; }
set { transparentField = value; }
}

/// <remarks />
public common_float_or_param_type transparency
{
get { return transparencyField; }
set { transparencyField = value; }
}

/// <remarks />
public common_float_or_param_type index_of_refraction
{
get { return index_of_refractionField; }
set { index_of_refractionField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class effectFx_profile_abstractProfile_COMMONTechniqueLambert
{
private common_color_or_texture_type ambientField;

private common_color_or_texture_type diffuseField;
private common_color_or_texture_type emissionField;
private common_float_or_param_type index_of_refractionField;

private common_color_or_texture_type reflectiveField;

private common_float_or_param_type reflectivityField;

private common_float_or_param_type transparencyField;
private common_transparent_type transparentField;

/// <remarks />
public common_color_or_texture_type emission
{
get { return emissionField; }
set { emissionField = value; }
}

/// <remarks />
public common_color_or_texture_type ambient
{
get { return ambientField; }
set { ambientField = value; }
}

/// <remarks />
public common_color_or_texture_type diffuse
{
get { return diffuseField; }
set { diffuseField = value; }
}

/// <remarks />
public common_color_or_texture_type reflective
{
get { return reflectiveField; }
set { reflectiveField = value; }
}

/// <remarks />
public common_float_or_param_type reflectivity
{
get { return reflectivityField; }
set { reflectivityField = value; }
}

/// <remarks />
public common_transparent_type transparent
{
get { return transparentField; }
set { transparentField = value; }
}

/// <remarks />
public common_float_or_param_type transparency
{
get { return transparencyField; }
set { transparencyField = value; }
}

/// <remarks />
public common_float_or_param_type index_of_refraction
{
get { return index_of_refractionField; }
set { index_of_refractionField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class effectFx_profile_abstractProfile_COMMONTechniquePhong
{
private common_color_or_texture_type ambientField;

private common_color_or_texture_type diffuseField;
private common_color_or_texture_type emissionField;
private common_float_or_param_type index_of_refractionField;

private common_color_or_texture_type reflectiveField;

private common_float_or_param_type reflectivityField;
private common_float_or_param_type shininessField;
private common_color_or_texture_type specularField;

private common_float_or_param_type transparencyField;
private common_transparent_type transparentField;

/// <remarks />
public common_color_or_texture_type emission
{
get { return emissionField; }
set { emissionField = value; }
}

/// <remarks />
public common_color_or_texture_type ambient
{
get { return ambientField; }
set { ambientField = value; }
}

/// <remarks />
public common_color_or_texture_type diffuse
{
get { return diffuseField; }
set { diffuseField = value; }
}

/// <remarks />
public common_color_or_texture_type specular
{
get { return specularField; }
set { specularField = value; }
}

/// <remarks />
public common_float_or_param_type shininess
{
get { return shininessField; }
set { shininessField = value; }
}

/// <remarks />
public common_color_or_texture_type reflective
{
get { return reflectiveField; }
set { reflectiveField = value; }
}

/// <remarks />
public common_float_or_param_type reflectivity
{
get { return reflectivityField; }
set { reflectivityField = value; }
}

/// <remarks />
public common_transparent_type transparent
{
get { return transparentField; }
set { transparentField = value; }
}

/// <remarks />
public common_float_or_param_type transparency
{
get { return transparencyField; }
set { transparencyField = value; }
}

/// <remarks />
public common_float_or_param_type index_of_refraction
{
get { return index_of_refractionField; }
set { index_of_refractionField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class library_force_fields
{
private asset assetField;

private extra[] extraField;
private force_field[] force_fieldField;

private string idField;

private string nameField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("force_field")]
public force_field[] force_field
{
get { return force_fieldField; }
set { force_fieldField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class force_field
{
private asset assetField;

private extra[] extraField;

private string idField;

private string nameField;
private technique[] techniqueField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("technique")]
public technique[] technique
{
get { return techniqueField; }
set { techniqueField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class library_geometries
{
private asset assetField;

private extra[] extraField;
private geometry[] geometryField;

private string idField;

private string nameField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("geometry")]
public geometry[] geometry
{
get { return geometryField; }
set { geometryField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class geometry
{
private asset assetField;

private extra[] extraField;

private string idField;
private object itemField;

private string nameField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("convex_mesh", typeof (convex_mesh))]
[XmlElement("mesh", typeof (mesh))]
[XmlElement("spline", typeof (spline))]
public object Item
{
get { return itemField; }
set { itemField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class convex_mesh
{
private string convex_hull_ofField;
private extra[] extraField;
private object[] itemsField;
private source[] sourceField;

private vertices verticesField;

/// <remarks />
[XmlElement("source")]
public source[] source
{
get { return sourceField; }
set { sourceField = value; }
}

/// <remarks />
public vertices vertices
{
get { return verticesField; }
set { verticesField = value; }
}

/// <remarks />
[XmlElement("lines", typeof (lines))]
[XmlElement("linestrips", typeof (linestrips))]
[XmlElement("polygons", typeof (polygons))]
[XmlElement("polylist", typeof (polylist))]
[XmlElement("triangles", typeof (triangles))]
[XmlElement("trifans", typeof (trifans))]
[XmlElement("tristrips", typeof (tristrips))]
public object[] Items
{
get { return itemsField; }
set { itemsField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "anyURI")]
public string convex_hull_of
{
get { return convex_hull_ofField; }
set { convex_hull_ofField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class vertices
{
private extra[] extraField;

private string idField;
private InputLocal[] inputField;

private string nameField;

/// <remarks />
[XmlElement("input")]
public InputLocal[] input
{
get { return inputField; }
set { inputField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class lines
{
private ulong countField;
private extra[] extraField;
private InputLocalOffset[] inputField;

private string materialField;
private string nameField;
private string pField;

/// <remarks />
[XmlElement("input")]
public InputLocalOffset[] input
{
get { return inputField; }
set { inputField = value; }
}

/// <remarks />
public string p
{
get { return pField; }
set { pField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}

/// <remarks />
[XmlAttribute]
public ulong count
{
get { return countField; }
set { countField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string material
{
get { return materialField; }
set { materialField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class linestrips
{
private ulong countField;
private extra[] extraField;
private InputLocalOffset[] inputField;

private string materialField;
private string nameField;
private string[] pField;

/// <remarks />
[XmlElement("input")]
public InputLocalOffset[] input
{
get { return inputField; }
set { inputField = value; }
}

/// <remarks />
[XmlElement("p")]
public string[] p
{
get { return pField; }
set { pField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}

/// <remarks />
[XmlAttribute]
public ulong count
{
get { return countField; }
set { countField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string material
{
get { return materialField; }
set { materialField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class polygons
{
private ulong countField;
private extra[] extraField;
private InputLocalOffset[] inputField;

private object[] itemsField;

private string materialField;
private string nameField;

/// <remarks />
[XmlElement("input")]
public InputLocalOffset[] input
{
get { return inputField; }
set { inputField = value; }
}

/// <remarks />
[XmlElement("p", typeof (string))]
[XmlElement("ph", typeof (polygonsPH))]
public object[] Items
{
get { return itemsField; }
set { itemsField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}

/// <remarks />
[XmlAttribute]
public ulong count
{
get { return countField; }
set { countField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string material
{
get { return materialField; }
set { materialField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class polygonsPH
{
private string[] hField;
private string pField;

/// <remarks />
public string p
{
get { return pField; }
set { pField = value; }
}

/// <remarks />
[XmlElement("h")]
public string[] h
{
get { return hField; }
set { hField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class polylist
{
private ulong countField;
private extra[] extraField;
private InputLocalOffset[] inputField;

private string materialField;
private string nameField;
private string pField;
private string vcountField;

/// <remarks />
[XmlElement("input")]
public InputLocalOffset[] input
{
get { return inputField; }
set { inputField = value; }
}

/// <remarks />
public string vcount
{
get { return vcountField; }
set { vcountField = value; }
}

/// <remarks />
public string p
{
get { return pField; }
set { pField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}

/// <remarks />
[XmlAttribute]
public ulong count
{
get { return countField; }
set { countField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string material
{
get { return materialField; }
set { materialField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class triangles
{
private ulong countField;
private extra[] extraField;
private InputLocalOffset[] inputField;

private string materialField;
private string nameField;
private string pField;

/// <remarks />
[XmlElement("input")]
public InputLocalOffset[] input
{
get { return inputField; }
set { inputField = value; }
}

/// <remarks />
public string p
{
get { return pField; }
set { pField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}

/// <remarks />
[XmlAttribute]
public ulong count
{
get { return countField; }
set { countField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string material
{
get { return materialField; }
set { materialField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class trifans
{
private ulong countField;
private extra[] extraField;
private InputLocalOffset[] inputField;

private string materialField;
private string nameField;
private string[] pField;

/// <remarks />
[XmlElement("input")]
public InputLocalOffset[] input
{
get { return inputField; }
set { inputField = value; }
}

/// <remarks />
[XmlElement("p")]
public string[] p
{
get { return pField; }
set { pField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}

/// <remarks />
[XmlAttribute]
public ulong count
{
get { return countField; }
set { countField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string material
{
get { return materialField; }
set { materialField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class tristrips
{
private ulong countField;
private extra[] extraField;
private InputLocalOffset[] inputField;

private string materialField;
private string nameField;
private string[] pField;

/// <remarks />
[XmlElement("input")]
public InputLocalOffset[] input
{
get { return inputField; }
set { inputField = value; }
}

/// <remarks />
[XmlElement("p")]
public string[] p
{
get { return pField; }
set { pField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}

/// <remarks />
[XmlAttribute]
public ulong count
{
get { return countField; }
set { countField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string material
{
get { return materialField; }
set { materialField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class mesh
{
private extra[] extraField;
private object[] itemsField;
private source[] sourceField;

private vertices verticesField;

/// <remarks />
[XmlElement("source")]
public source[] source
{
get { return sourceField; }
set { sourceField = value; }
}

/// <remarks />
public vertices vertices
{
get { return verticesField; }
set { verticesField = value; }
}

/// <remarks />
[XmlElement("lines", typeof (lines))]
[XmlElement("linestrips", typeof (linestrips))]
[XmlElement("polygons", typeof (polygons))]
[XmlElement("polylist", typeof (polylist))]
[XmlElement("triangles", typeof (triangles))]
[XmlElement("trifans", typeof (trifans))]
[XmlElement("tristrips", typeof (tristrips))]
public object[] Items
{
get { return itemsField; }
set { itemsField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class spline
{
private bool closedField;
private splineControl_vertices control_verticesField;

private extra[] extraField;
private source[] sourceField;

public spline()
{
closedField = false;
}

/// <remarks />
[XmlElement("source")]
public source[] source
{
get { return sourceField; }
set { sourceField = value; }
}

/// <remarks />
public splineControl_vertices control_vertices
{
get { return control_verticesField; }
set { control_verticesField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute]
[DefaultValue(false)]
public bool closed
{
get { return closedField; }
set { closedField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class splineControl_vertices
{
private extra[] extraField;
private InputLocal[] inputField;

/// <remarks />
[XmlElement("input")]
public InputLocal[] input
{
get { return inputField; }
set { inputField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class library_images
{
private asset assetField;

private extra[] extraField;

private string idField;
private image[] imageField;

private string nameField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("image")]
public image[] image
{
get { return imageField; }
set { imageField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class library_lights
{
private asset assetField;

private extra[] extraField;

private string idField;
private light[] lightField;

private string nameField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("light")]
public light[] light
{
get { return lightField; }
set { lightField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class light
{
private asset assetField;

private extra[] extraField;

private string idField;

private string nameField;
private technique[] techniqueField;
private lightTechnique_common technique_commonField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
public lightTechnique_common technique_common
{
get { return technique_commonField; }
set { technique_commonField = value; }
}

/// <remarks />
[XmlElement("technique")]
public technique[] technique
{
get { return techniqueField; }
set { techniqueField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class lightTechnique_common
{
private object itemField;

/// <remarks />
[XmlElement("ambient", typeof (lightTechnique_commonAmbient))]
[XmlElement("directional", typeof (lightTechnique_commonDirectional))]
[XmlElement("point", typeof (lightTechnique_commonPoint))]
[XmlElement("spot", typeof (lightTechnique_commonSpot))]
public object Item
{
get { return itemField; }
set { itemField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class lightTechnique_commonAmbient
{
private TargetableFloat3 colorField;

/// <remarks />
public TargetableFloat3 color
{
get { return colorField; }
set { colorField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot("scale", Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class TargetableFloat3
{
private string sidField;

private double[] textField;

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}

/// <remarks />
[XmlText]
public string _Text_
{
get { return COLLADA.ConvertFromArray(Values); }

set { Values = COLLADA.ConvertDoubleArray(value); }
}

[XmlIgnore]
public double[] Values
{
get { return textField; }
set { textField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class lightTechnique_commonDirectional
{
private TargetableFloat3 colorField;

/// <remarks />
public TargetableFloat3 color
{
get { return colorField; }
set { colorField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class lightTechnique_commonPoint
{
private TargetableFloat3 colorField;

private TargetableFloat constant_attenuationField;

private TargetableFloat linear_attenuationField;

private TargetableFloat quadratic_attenuationField;

/// <remarks />
public TargetableFloat3 color
{
get { return colorField; }
set { colorField = value; }
}

/// <remarks />
// CODEGEN Warning: DefaultValue attribute on members of type TargetableFloat is not supported in this version of the .Net Framework.
// CODEGEN Warning: 'default' attribute supported only for primitive types.  Ignoring default='1.0' attribute.
public TargetableFloat constant_attenuation
{
get { return constant_attenuationField; }
set { constant_attenuationField = value; }
}

/// <remarks />
// CODEGEN Warning: DefaultValue attribute on members of type TargetableFloat is not supported in this version of the .Net Framework.
// CODEGEN Warning: 'default' attribute supported only for primitive types.  Ignoring default='0.0' attribute.
public TargetableFloat linear_attenuation
{
get { return linear_attenuationField; }
set { linear_attenuationField = value; }
}

/// <remarks />
// CODEGEN Warning: DefaultValue attribute on members of type TargetableFloat is not supported in this version of the .Net Framework.
// CODEGEN Warning: 'default' attribute supported only for primitive types.  Ignoring default='0.0' attribute.
public TargetableFloat quadratic_attenuation
{
get { return quadratic_attenuationField; }
set { quadratic_attenuationField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class lightTechnique_commonSpot
{
private TargetableFloat3 colorField;

private TargetableFloat constant_attenuationField;

private TargetableFloat falloff_angleField;

private TargetableFloat falloff_exponentField;
private TargetableFloat linear_attenuationField;

private TargetableFloat quadratic_attenuationField;

/// <remarks />
public TargetableFloat3 color
{
get { return colorField; }
set { colorField = value; }
}

/// <remarks />
// CODEGEN Warning: DefaultValue attribute on members of type TargetableFloat is not supported in this version of the .Net Framework.
// CODEGEN Warning: 'default' attribute supported only for primitive types.  Ignoring default='1.0' attribute.
public TargetableFloat constant_attenuation
{
get { return constant_attenuationField; }
set { constant_attenuationField = value; }
}

/// <remarks />
// CODEGEN Warning: DefaultValue attribute on members of type TargetableFloat is not supported in this version of the .Net Framework.
// CODEGEN Warning: 'default' attribute supported only for primitive types.  Ignoring default='0.0' attribute.
public TargetableFloat linear_attenuation
{
get { return linear_attenuationField; }
set { linear_attenuationField = value; }
}

/// <remarks />
// CODEGEN Warning: DefaultValue attribute on members of type TargetableFloat is not supported in this version of the .Net Framework.
// CODEGEN Warning: 'default' attribute supported only for primitive types.  Ignoring default='0.0' attribute.
public TargetableFloat quadratic_attenuation
{
get { return quadratic_attenuationField; }
set { quadratic_attenuationField = value; }
}

/// <remarks />
// CODEGEN Warning: DefaultValue attribute on members of type TargetableFloat is not supported in this version of the .Net Framework.
// CODEGEN Warning: 'default' attribute supported only for primitive types.  Ignoring default='180.0' attribute.
public TargetableFloat falloff_angle
{
get { return falloff_angleField; }
set { falloff_angleField = value; }
}

/// <remarks />
// CODEGEN Warning: DefaultValue attribute on members of type TargetableFloat is not supported in this version of the .Net Framework.
// CODEGEN Warning: 'default' attribute supported only for primitive types.  Ignoring default='0.0' attribute.
public TargetableFloat falloff_exponent
{
get { return falloff_exponentField; }
set { falloff_exponentField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class library_materials
{
private asset assetField;

private extra[] extraField;

private string idField;
private material[] materialField;

private string nameField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("material")]
public material[] material
{
get { return materialField; }
set { materialField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class material
{
private asset assetField;

private extra[] extraField;

private string idField;
private instance_effect instance_effectField;

private string nameField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
public instance_effect instance_effect
{
get { return instance_effectField; }
set { instance_effectField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class instance_effect
{
private extra[] extraField;

private string nameField;
private instance_effectSetparam[] setparamField;
private string sidField;
private instance_effectTechnique_hint[] technique_hintField;
private string urlField;

/// <remarks />
[XmlElement("technique_hint")]
public instance_effectTechnique_hint[] technique_hint
{
get { return technique_hintField; }
set { technique_hintField = value; }
}

/// <remarks />
[XmlElement("setparam")]
public instance_effectSetparam[] setparam
{
get { return setparamField; }
set { setparamField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "anyURI")]
public string url
{
get { return urlField; }
set { urlField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class instance_effectTechnique_hint
{
private string platformField;

private string profileField;

private string refField;

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string platform
{
get { return platformField; }
set { platformField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string profile
{
get { return profileField; }
set { profileField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string @ref
{
get { return refField; }
set { refField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class instance_effectSetparam
{
private string bool2Field;

private string bool3Field;

private string bool4Field;
private bool boolField;
private string enumField;

private double float1x1Field;

private string float1x2Field;

private string float1x3Field;

private string float1x4Field;
private string float2Field;

private string float2x1Field;

private string float2x2Field;

private string float2x3Field;

private string float2x4Field;
private string float3Field;

private string float3x1Field;

private string float3x2Field;

private string float3x3Field;

private string float3x4Field;
private string float4Field;

private string float4x1Field;

private string float4x2Field;

private string float4x3Field;

private string float4x4Field;
private double floatField;
private string int2Field;

private string int3Field;

private string int4Field;
private long intField;
private string refField;

private fx_sampler1D_common sampler1DField;

private fx_sampler2D_common sampler2DField;

private fx_sampler3D_common sampler3DField;

private fx_samplerCUBE_common samplerCUBEField;

private fx_samplerDEPTH_common samplerDEPTHField;
private fx_samplerRECT_common samplerRECTField;
private fx_surface_common surfaceField;

/// <remarks />
public bool @bool
{
get { return boolField; }
set { boolField = value; }
}

/// <remarks />
public string bool2
{
get { return bool2Field; }
set { bool2Field = value; }
}

/// <remarks />
public string bool3
{
get { return bool3Field; }
set { bool3Field = value; }
}

/// <remarks />
public string bool4
{
get { return bool4Field; }
set { bool4Field = value; }
}

/// <remarks />
public long @int
{
get { return intField; }
set { intField = value; }
}

/// <remarks />
public string int2
{
get { return int2Field; }
set { int2Field = value; }
}

/// <remarks />
public string int3
{
get { return int3Field; }
set { int3Field = value; }
}

/// <remarks />
public string int4
{
get { return int4Field; }
set { int4Field = value; }
}

/// <remarks />
public double @float
{
get { return floatField; }
set { floatField = value; }
}

/// <remarks />
public string float2
{
get { return float2Field; }
set { float2Field = value; }
}

/// <remarks />
public string float3
{
get { return float3Field; }
set { float3Field = value; }
}

/// <remarks />
public string float4
{
get { return float4Field; }
set { float4Field = value; }
}

/// <remarks />
public double float1x1
{
get { return float1x1Field; }
set { float1x1Field = value; }
}

/// <remarks />
public string float1x2
{
get { return float1x2Field; }
set { float1x2Field = value; }
}

/// <remarks />
public string float1x3
{
get { return float1x3Field; }
set { float1x3Field = value; }
}

/// <remarks />
public string float1x4
{
get { return float1x4Field; }
set { float1x4Field = value; }
}

/// <remarks />
public string float2x1
{
get { return float2x1Field; }
set { float2x1Field = value; }
}

/// <remarks />
public string float2x2
{
get { return float2x2Field; }
set { float2x2Field = value; }
}

/// <remarks />
public string float2x3
{
get { return float2x3Field; }
set { float2x3Field = value; }
}

/// <remarks />
public string float2x4
{
get { return float2x4Field; }
set { float2x4Field = value; }
}

/// <remarks />
public string float3x1
{
get { return float3x1Field; }
set { float3x1Field = value; }
}

/// <remarks />
public string float3x2
{
get { return float3x2Field; }
set { float3x2Field = value; }
}

/// <remarks />
public string float3x3
{
get { return float3x3Field; }
set { float3x3Field = value; }
}

/// <remarks />
public string float3x4
{
get { return float3x4Field; }
set { float3x4Field = value; }
}

/// <remarks />
public string float4x1
{
get { return float4x1Field; }
set { float4x1Field = value; }
}

/// <remarks />
public string float4x2
{
get { return float4x2Field; }
set { float4x2Field = value; }
}

/// <remarks />
public string float4x3
{
get { return float4x3Field; }
set { float4x3Field = value; }
}

/// <remarks />
public string float4x4
{
get { return float4x4Field; }
set { float4x4Field = value; }
}

/// <remarks />
public fx_surface_common surface
{
get { return surfaceField; }
set { surfaceField = value; }
}

/// <remarks />
public fx_sampler1D_common sampler1D
{
get { return sampler1DField; }
set { sampler1DField = value; }
}

/// <remarks />
public fx_sampler2D_common sampler2D
{
get { return sampler2DField; }
set { sampler2DField = value; }
}

/// <remarks />
public fx_sampler3D_common sampler3D
{
get { return sampler3DField; }
set { sampler3DField = value; }
}

/// <remarks />
public fx_samplerCUBE_common samplerCUBE
{
get { return samplerCUBEField; }
set { samplerCUBEField = value; }
}

/// <remarks />
public fx_samplerRECT_common samplerRECT
{
get { return samplerRECTField; }
set { samplerRECTField = value; }
}

/// <remarks />
public fx_samplerDEPTH_common samplerDEPTH
{
get { return samplerDEPTHField; }
set { samplerDEPTHField = value; }
}

/// <remarks />
public string @enum
{
get { return enumField; }
set { enumField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "token")]
public string @ref
{
get { return refField; }
set { refField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class library_nodes
{
private asset assetField;

private extra[] extraField;

private string idField;

private string nameField;
private node[] nodeField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("node")]
public node[] node
{
get { return nodeField; }
set { nodeField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class node
{
private asset assetField;
private extra[] extraField;

private string idField;

private InstanceWithExtra[] instance_cameraField;

private instance_controller[] instance_controllerField;

private instance_geometry[] instance_geometryField;

private InstanceWithExtra[] instance_lightField;

private InstanceWithExtra[] instance_nodeField;
private ItemsChoiceType2[] itemsElementNameField;
private object[] itemsField;
private string[] layerField;

private string nameField;
private node[] node1Field;

private string sidField;

private NodeType typeField;

public node()
{
typeField = NodeType.NODE;
}

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("lookat", typeof (lookat))]
[XmlElement("matrix", typeof (matrix))]
[XmlElement("rotate", typeof (rotate))]
[XmlElement("scale", typeof (TargetableFloat3))]
[XmlElement("skew", typeof (skew))]
[XmlElement("translate", typeof (TargetableFloat3))]
[XmlChoiceIdentifier("ItemsElementName")]
public object[] Items
{
get { return itemsField; }
set { itemsField = value; }
}

/// <remarks />
[XmlElement("ItemsElementName")]
[XmlIgnore]
public ItemsChoiceType2[] ItemsElementName
{
get { return itemsElementNameField; }
set { itemsElementNameField = value; }
}

/// <remarks />
[XmlElement("instance_camera")]
public InstanceWithExtra[] instance_camera
{
get { return instance_cameraField; }
set { instance_cameraField = value; }
}

/// <remarks />
[XmlElement("instance_controller")]
public instance_controller[] instance_controller
{
get { return instance_controllerField; }
set { instance_controllerField = value; }
}

/// <remarks />
[XmlElement("instance_geometry")]
public instance_geometry[] instance_geometry
{
get { return instance_geometryField; }
set { instance_geometryField = value; }
}

/// <remarks />
[XmlElement("instance_light")]
public InstanceWithExtra[] instance_light
{
get { return instance_lightField; }
set { instance_lightField = value; }
}

/// <remarks />
[XmlElement("instance_node")]
public InstanceWithExtra[] instance_node
{
get { return instance_nodeField; }
set { instance_nodeField = value; }
}

/// <remarks />
[XmlElement("node")]
public node[] node1
{
get { return node1Field; }
set { node1Field = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}

/// <remarks />
[XmlAttribute]
[DefaultValue(NodeType.NODE)]
public NodeType type
{
get { return typeField; }
set { typeField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "Name")]
public string[] layer
{
get { return layerField; }
set { layerField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class lookat
{
private string sidField;

private double[] textField;

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}

/// <remarks />
[XmlText]
public string _Text_
{
get { return COLLADA.ConvertFromArray(Values); }

set { Values = COLLADA.ConvertDoubleArray(value); }
}

[XmlIgnore]
public double[] Values
{
get { return textField; }
set { textField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class matrix
{
private string sidField;

private double[] textField;

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}

/// <remarks />
[XmlText]
public string _Text_
{
get { return COLLADA.ConvertFromArray(Values); }

set { Values = COLLADA.ConvertDoubleArray(value); }
}

[XmlIgnore]
public double[] Values
{
get { return textField; }
set { textField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class rotate
{
private string sidField;

private double[] textField;

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}

/// <remarks />
[XmlText]
public string _Text_
{
get { return COLLADA.ConvertFromArray(Values); }

set { Values = COLLADA.ConvertDoubleArray(value); }
}

[XmlIgnore]
public double[] Values
{
get { return textField; }
set { textField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class skew
{
private string sidField;

private double[] textField;

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}

/// <remarks />
[XmlText]
public string _Text_
{
get { return COLLADA.ConvertFromArray(Values); }

set { Values = COLLADA.ConvertDoubleArray(value); }
}

[XmlIgnore]
public double[] Values
{
get { return textField; }
set { textField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IncludeInSchema = false)]
public enum ItemsChoiceType2
{
/// <remarks />
lookat,

/// <remarks />
matrix,

/// <remarks />
rotate,

/// <remarks />
scale,

/// <remarks />
skew,

/// <remarks />
translate,
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class instance_controller
{
private bind_material bind_materialField;

private extra[] extraField;

private string nameField;
private string sidField;
private string[] skeletonField;
private string urlField;

/// <remarks />
[XmlElement("skeleton", DataType = "anyURI")]
public string[] skeleton
{
get { return skeletonField; }
set { skeletonField = value; }
}

/// <remarks />
public bind_material bind_material
{
get { return bind_materialField; }
set { bind_materialField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "anyURI")]
public string url
{
get { return urlField; }
set { urlField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class bind_material
{
private extra[] extraField;
private param[] paramField;

private technique[] techniqueField;
private instance_material[] technique_commonField;

/// <remarks />
[XmlElement("param")]
public param[] param
{
get { return paramField; }
set { paramField = value; }
}

/// <remarks />
[XmlArrayItem("instance_material", IsNullable = false)]
public instance_material[] technique_common
{
get { return technique_commonField; }
set { technique_commonField = value; }
}

/// <remarks />
[XmlElement("technique")]
public technique[] technique
{
get { return techniqueField; }
set { techniqueField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class instance_geometry
{
private bind_material bind_materialField;

private extra[] extraField;

private string nameField;
private string sidField;
private string urlField;

/// <remarks />
public bind_material bind_material
{
get { return bind_materialField; }
set { bind_materialField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "anyURI")]
public string url
{
get { return urlField; }
set { urlField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public enum NodeType
{
/// <remarks />
JOINT,

/// <remarks />
NODE,
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class library_physics_materials
{
private asset assetField;

private extra[] extraField;

private string idField;

private string nameField;
private physics_material[] physics_materialField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("physics_material")]
public physics_material[] physics_material
{
get { return physics_materialField; }
set { physics_materialField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class physics_material
{
private asset assetField;

private extra[] extraField;

private string idField;

private string nameField;
private technique[] techniqueField;
private physics_materialTechnique_common technique_commonField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
public physics_materialTechnique_common technique_common
{
get { return technique_commonField; }
set { technique_commonField = value; }
}

/// <remarks />
[XmlElement("technique")]
public technique[] technique
{
get { return techniqueField; }
set { techniqueField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class physics_materialTechnique_common
{
private TargetableFloat dynamic_frictionField;

private TargetableFloat restitutionField;

private TargetableFloat static_frictionField;

/// <remarks />
public TargetableFloat dynamic_friction
{
get { return dynamic_frictionField; }
set { dynamic_frictionField = value; }
}

/// <remarks />
public TargetableFloat restitution
{
get { return restitutionField; }
set { restitutionField = value; }
}

/// <remarks />
public TargetableFloat static_friction
{
get { return static_frictionField; }
set { static_frictionField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class library_physics_models
{
private asset assetField;

private extra[] extraField;

private string idField;

private string nameField;
private physics_model[] physics_modelField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("physics_model")]
public physics_model[] physics_model
{
get { return physics_modelField; }
set { physics_modelField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class physics_model
{
private asset assetField;

private extra[] extraField;

private string idField;
private instance_physics_model[] instance_physics_modelField;

private string nameField;
private rigid_body[] rigid_bodyField;

private rigid_constraint[] rigid_constraintField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("rigid_body")]
public rigid_body[] rigid_body
{
get { return rigid_bodyField; }
set { rigid_bodyField = value; }
}

/// <remarks />
[XmlElement("rigid_constraint")]
public rigid_constraint[] rigid_constraint
{
get { return rigid_constraintField; }
set { rigid_constraintField = value; }
}

/// <remarks />
[XmlElement("instance_physics_model")]
public instance_physics_model[] instance_physics_model
{
get { return instance_physics_modelField; }
set { instance_physics_modelField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class rigid_body
{
private extra[] extraField;

private string nameField;
private string sidField;
private technique[] techniqueField;
private rigid_bodyTechnique_common technique_commonField;

/// <remarks />
public rigid_bodyTechnique_common technique_common
{
get { return technique_commonField; }
set { technique_commonField = value; }
}

/// <remarks />
[XmlElement("technique")]
public technique[] technique
{
get { return techniqueField; }
set { techniqueField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class rigid_bodyTechnique_common
{
private rigid_bodyTechnique_commonDynamic dynamicField;

private TargetableFloat3 inertiaField;

private object itemField;
private TargetableFloat massField;

private object[] mass_frameField;

private rigid_bodyTechnique_commonShape[] shapeField;

/// <remarks />
public rigid_bodyTechnique_commonDynamic dynamic
{
get { return dynamicField; }
set { dynamicField = value; }
}

/// <remarks />
public TargetableFloat mass
{
get { return massField; }
set { massField = value; }
}

/// <remarks />
[XmlArrayItem("rotate", typeof (rotate), IsNullable = false)]
[XmlArrayItem("translate", typeof (TargetableFloat3), IsNullable = false)]
public object[] mass_frame
{
get { return mass_frameField; }
set { mass_frameField = value; }
}

/// <remarks />
public TargetableFloat3 inertia
{
get { return inertiaField; }
set { inertiaField = value; }
}

/// <remarks />
[XmlElement("instance_physics_material", typeof (InstanceWithExtra))]
[XmlElement("physics_material", typeof (physics_material))]
public object Item
{
get { return itemField; }
set { itemField = value; }
}

/// <remarks />
[XmlElement("shape")]
public rigid_bodyTechnique_commonShape[] shape
{
get { return shapeField; }
set { shapeField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class rigid_bodyTechnique_commonDynamic
{
private string sidField;

private bool valueField;

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}

/// <remarks />
[XmlText]
public bool Value
{
get { return valueField; }
set { valueField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class rigid_bodyTechnique_commonShape
{
private TargetableFloat densityField;
private extra[] extraField;
private rigid_bodyTechnique_commonShapeHollow hollowField;

private object item1Field;
private object itemField;

private object[] itemsField;
private TargetableFloat massField;

/// <remarks />
public rigid_bodyTechnique_commonShapeHollow hollow
{
get { return hollowField; }
set { hollowField = value; }
}

/// <remarks />
public TargetableFloat mass
{
get { return massField; }
set { massField = value; }
}

/// <remarks />
public TargetableFloat density
{
get { return densityField; }
set { densityField = value; }
}

/// <remarks />
[XmlElement("instance_physics_material", typeof (InstanceWithExtra))]
[XmlElement("physics_material", typeof (physics_material))]
public object Item
{
get { return itemField; }
set { itemField = value; }
}

/// <remarks />
[XmlElement("box", typeof (box))]
[XmlElement("capsule", typeof (capsule))]
[XmlElement("cylinder", typeof (cylinder))]
[XmlElement("instance_geometry", typeof (instance_geometry))]
[XmlElement("plane", typeof (plane))]
[XmlElement("sphere", typeof (sphere))]
[XmlElement("tapered_capsule", typeof (tapered_capsule))]
[XmlElement("tapered_cylinder", typeof (tapered_cylinder))]
public object Item1
{
get { return item1Field; }
set { item1Field = value; }
}

/// <remarks />
[XmlElement("rotate", typeof (rotate))]
[XmlElement("translate", typeof (TargetableFloat3))]
public object[] Items
{
get { return itemsField; }
set { itemsField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class rigid_bodyTechnique_commonShapeHollow
{
private string sidField;

private bool valueField;

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}

/// <remarks />
[XmlText]
public bool Value
{
get { return valueField; }
set { valueField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class box
{
private extra[] extraField;
private string half_extentsField;

/// <remarks />
public string half_extents
{
get { return half_extentsField; }
set { half_extentsField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class capsule
{
private extra[] extraField;
private double heightField;

private string radiusField;

/// <remarks />
public double height
{
get { return heightField; }
set { heightField = value; }
}

/// <remarks />
public string radius
{
get { return radiusField; }
set { radiusField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class cylinder
{
private extra[] extraField;
private double heightField;

private string radiusField;

/// <remarks />
public double height
{
get { return heightField; }
set { heightField = value; }
}

/// <remarks />
public string radius
{
get { return radiusField; }
set { radiusField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class plane
{
private string equationField;

private extra[] extraField;

/// <remarks />
public string equation
{
get { return equationField; }
set { equationField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class sphere
{
private extra[] extraField;
private double radiusField;

/// <remarks />
public double radius
{
get { return radiusField; }
set { radiusField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class tapered_capsule
{
private extra[] extraField;
private double heightField;

private string radius1Field;

private string radius2Field;

/// <remarks />
public double height
{
get { return heightField; }
set { heightField = value; }
}

/// <remarks />
public string radius1
{
get { return radius1Field; }
set { radius1Field = value; }
}

/// <remarks />
public string radius2
{
get { return radius2Field; }
set { radius2Field = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class tapered_cylinder
{
private extra[] extraField;
private double heightField;

private string radius1Field;

private string radius2Field;

/// <remarks />
public double height
{
get { return heightField; }
set { heightField = value; }
}

/// <remarks />
public string radius1
{
get { return radius1Field; }
set { radius1Field = value; }
}

/// <remarks />
public string radius2
{
get { return radius2Field; }
set { radius2Field = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class rigid_constraint
{
private rigid_constraintAttachment attachmentField;

private extra[] extraField;

private string nameField;
private rigid_constraintRef_attachment ref_attachmentField;
private string sidField;
private technique[] techniqueField;
private rigid_constraintTechnique_common technique_commonField;

/// <remarks />
public rigid_constraintRef_attachment ref_attachment
{
get { return ref_attachmentField; }
set { ref_attachmentField = value; }
}

/// <remarks />
public rigid_constraintAttachment attachment
{
get { return attachmentField; }
set { attachmentField = value; }
}

/// <remarks />
public rigid_constraintTechnique_common technique_common
{
get { return technique_commonField; }
set { technique_commonField = value; }
}

/// <remarks />
[XmlElement("technique")]
public technique[] technique
{
get { return techniqueField; }
set { techniqueField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class rigid_constraintRef_attachment
{
private object[] itemsField;

private string rigid_bodyField;

/// <remarks />
[XmlElement("extra", typeof (extra))]
[XmlElement("rotate", typeof (rotate))]
[XmlElement("translate", typeof (TargetableFloat3))]
public object[] Items
{
get { return itemsField; }
set { itemsField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "anyURI")]
public string rigid_body
{
get { return rigid_bodyField; }
set { rigid_bodyField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class rigid_constraintAttachment
{
private object[] itemsField;

private string rigid_bodyField;

/// <remarks />
[XmlElement("extra", typeof (extra))]
[XmlElement("rotate", typeof (rotate))]
[XmlElement("translate", typeof (TargetableFloat3))]
public object[] Items
{
get { return itemsField; }
set { itemsField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "anyURI")]
public string rigid_body
{
get { return rigid_bodyField; }
set { rigid_bodyField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class rigid_constraintTechnique_common
{
private rigid_constraintTechnique_commonEnabled enabledField;

private rigid_constraintTechnique_commonInterpenetrate interpenetrateField;

private rigid_constraintTechnique_commonLimits limitsField;

private rigid_constraintTechnique_commonSpring springField;

/// <remarks />
// CODEGEN Warning: DefaultValue attribute on members of type rigid_constraintTechnique_commonEnabled is not supported in this version of the .Net Framework.
// CODEGEN Warning: 'default' attribute supported only for primitive types.  Ignoring default='true' attribute.
public rigid_constraintTechnique_commonEnabled enabled
{
get { return enabledField; }
set { enabledField = value; }
}

/// <remarks />
// CODEGEN Warning: DefaultValue attribute on members of type rigid_constraintTechnique_commonInterpenetrate is not supported in this version of the .Net Framework.
// CODEGEN Warning: 'default' attribute supported only for primitive types.  Ignoring default='false' attribute.
public rigid_constraintTechnique_commonInterpenetrate interpenetrate
{
get { return interpenetrateField; }
set { interpenetrateField = value; }
}

/// <remarks />
public rigid_constraintTechnique_commonLimits limits
{
get { return limitsField; }
set { limitsField = value; }
}

/// <remarks />
public rigid_constraintTechnique_commonSpring spring
{
get { return springField; }
set { springField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class rigid_constraintTechnique_commonEnabled
{
private string sidField;

private bool valueField;

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}

/// <remarks />
[XmlText]
public bool Value
{
get { return valueField; }
set { valueField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class rigid_constraintTechnique_commonInterpenetrate
{
private string sidField;

private bool valueField;

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}

/// <remarks />
[XmlText]
public bool Value
{
get { return valueField; }
set { valueField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class rigid_constraintTechnique_commonLimits
{
private rigid_constraintTechnique_commonLimitsLinear linearField;
private rigid_constraintTechnique_commonLimitsSwing_cone_and_twist swing_cone_and_twistField;

/// <remarks />
public rigid_constraintTechnique_commonLimitsSwing_cone_and_twist swing_cone_and_twist
{
get { return swing_cone_and_twistField; }
set { swing_cone_and_twistField = value; }
}

/// <remarks />
public rigid_constraintTechnique_commonLimitsLinear linear
{
get { return linearField; }
set { linearField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class rigid_constraintTechnique_commonLimitsSwing_cone_and_twist
{
private TargetableFloat3 maxField;
private TargetableFloat3 minField;

/// <remarks />
// CODEGEN Warning: DefaultValue attribute on members of type TargetableFloat3 is not supported in this version of the .Net Framework.
// CODEGEN Warning: 'default' attribute supported only for primitive types.  Ignoring default='0.0 0.0 0.0' attribute.
public TargetableFloat3 min
{
get { return minField; }
set { minField = value; }
}

/// <remarks />
// CODEGEN Warning: DefaultValue attribute on members of type TargetableFloat3 is not supported in this version of the .Net Framework.
// CODEGEN Warning: 'default' attribute supported only for primitive types.  Ignoring default='0.0 0.0 0.0' attribute.
public TargetableFloat3 max
{
get { return maxField; }
set { maxField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class rigid_constraintTechnique_commonLimitsLinear
{
private TargetableFloat3 maxField;
private TargetableFloat3 minField;

/// <remarks />
// CODEGEN Warning: DefaultValue attribute on members of type TargetableFloat3 is not supported in this version of the .Net Framework.
// CODEGEN Warning: 'default' attribute supported only for primitive types.  Ignoring default='0.0 0.0 0.0' attribute.
public TargetableFloat3 min
{
get { return minField; }
set { minField = value; }
}

/// <remarks />
// CODEGEN Warning: DefaultValue attribute on members of type TargetableFloat3 is not supported in this version of the .Net Framework.
// CODEGEN Warning: 'default' attribute supported only for primitive types.  Ignoring default='0.0 0.0 0.0' attribute.
public TargetableFloat3 max
{
get { return maxField; }
set { maxField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class rigid_constraintTechnique_commonSpring
{
private rigid_constraintTechnique_commonSpringAngular angularField;

private rigid_constraintTechnique_commonSpringLinear linearField;

/// <remarks />
public rigid_constraintTechnique_commonSpringAngular angular
{
get { return angularField; }
set { angularField = value; }
}

/// <remarks />
public rigid_constraintTechnique_commonSpringLinear linear
{
get { return linearField; }
set { linearField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class rigid_constraintTechnique_commonSpringAngular
{
private TargetableFloat dampingField;
private TargetableFloat stiffnessField;

private TargetableFloat target_valueField;

/// <remarks />
// CODEGEN Warning: DefaultValue attribute on members of type TargetableFloat is not supported in this version of the .Net Framework.
// CODEGEN Warning: 'default' attribute supported only for primitive types.  Ignoring default='1.0' attribute.
public TargetableFloat stiffness
{
get { return stiffnessField; }
set { stiffnessField = value; }
}

/// <remarks />
// CODEGEN Warning: DefaultValue attribute on members of type TargetableFloat is not supported in this version of the .Net Framework.
// CODEGEN Warning: 'default' attribute supported only for primitive types.  Ignoring default='0.0' attribute.
public TargetableFloat damping
{
get { return dampingField; }
set { dampingField = value; }
}

/// <remarks />
// CODEGEN Warning: DefaultValue attribute on members of type TargetableFloat is not supported in this version of the .Net Framework.
// CODEGEN Warning: 'default' attribute supported only for primitive types.  Ignoring default='0.0' attribute.
public TargetableFloat target_value
{
get { return target_valueField; }
set { target_valueField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class rigid_constraintTechnique_commonSpringLinear
{
private TargetableFloat dampingField;
private TargetableFloat stiffnessField;

private TargetableFloat target_valueField;

/// <remarks />
// CODEGEN Warning: DefaultValue attribute on members of type TargetableFloat is not supported in this version of the .Net Framework.
// CODEGEN Warning: 'default' attribute supported only for primitive types.  Ignoring default='1.0' attribute.
public TargetableFloat stiffness
{
get { return stiffnessField; }
set { stiffnessField = value; }
}

/// <remarks />
// CODEGEN Warning: DefaultValue attribute on members of type TargetableFloat is not supported in this version of the .Net Framework.
// CODEGEN Warning: 'default' attribute supported only for primitive types.  Ignoring default='0.0' attribute.
public TargetableFloat damping
{
get { return dampingField; }
set { dampingField = value; }
}

/// <remarks />
// CODEGEN Warning: DefaultValue attribute on members of type TargetableFloat is not supported in this version of the .Net Framework.
// CODEGEN Warning: 'default' attribute supported only for primitive types.  Ignoring default='0.0' attribute.
public TargetableFloat target_value
{
get { return target_valueField; }
set { target_valueField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class instance_physics_model
{
private extra[] extraField;
private InstanceWithExtra[] instance_force_fieldField;

private instance_rigid_body[] instance_rigid_bodyField;

private instance_rigid_constraint[] instance_rigid_constraintField;

private string nameField;

private string parentField;
private string sidField;
private string urlField;

/// <remarks />
[XmlElement("instance_force_field")]
public InstanceWithExtra[] instance_force_field
{
get { return instance_force_fieldField; }
set { instance_force_fieldField = value; }
}

/// <remarks />
[XmlElement("instance_rigid_body")]
public instance_rigid_body[] instance_rigid_body
{
get { return instance_rigid_bodyField; }
set { instance_rigid_bodyField = value; }
}

/// <remarks />
[XmlElement("instance_rigid_constraint")]
public instance_rigid_constraint[] instance_rigid_constraint
{
get { return instance_rigid_constraintField; }
set { instance_rigid_constraintField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "anyURI")]
public string url
{
get { return urlField; }
set { urlField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "anyURI")]
public string parent
{
get { return parentField; }
set { parentField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class instance_rigid_body
{
private string bodyField;
private extra[] extraField;

private string nameField;
private string sidField;

private string targetField;
private technique[] techniqueField;
private instance_rigid_bodyTechnique_common technique_commonField;

/// <remarks />
public instance_rigid_bodyTechnique_common technique_common
{
get { return technique_commonField; }
set { technique_commonField = value; }
}

/// <remarks />
[XmlElement("technique")]
public technique[] technique
{
get { return techniqueField; }
set { techniqueField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string body
{
get { return bodyField; }
set { bodyField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "anyURI")]
public string target
{
get { return targetField; }
set { targetField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class instance_rigid_bodyTechnique_common
{
private string angular_velocityField;

private instance_rigid_bodyTechnique_commonDynamic dynamicField;

private TargetableFloat3 inertiaField;

private object itemField;
private TargetableFloat massField;

private object[] mass_frameField;

private instance_rigid_bodyTechnique_commonShape[] shapeField;
private string velocityField;

public instance_rigid_bodyTechnique_common()
{
angular_velocityField = "0.0 0.0 0.0";
velocityField = "0.0 0.0 0.0";
}

/// <remarks />
[DefaultValue("0.0 0.0 0.0")]
public string angular_velocity
{
get { return angular_velocityField; }
set { angular_velocityField = value; }
}

/// <remarks />
[DefaultValue("0.0 0.0 0.0")]
public string velocity
{
get { return velocityField; }
set { velocityField = value; }
}

/// <remarks />
public instance_rigid_bodyTechnique_commonDynamic dynamic
{
get { return dynamicField; }
set { dynamicField = value; }
}

/// <remarks />
public TargetableFloat mass
{
get { return massField; }
set { massField = value; }
}

/// <remarks />
[XmlArrayItem("rotate", typeof (rotate), IsNullable = false)]
[XmlArrayItem("translate", typeof (TargetableFloat3), IsNullable = false)]
public object[] mass_frame
{
get { return mass_frameField; }
set { mass_frameField = value; }
}

/// <remarks />
public TargetableFloat3 inertia
{
get { return inertiaField; }
set { inertiaField = value; }
}

/// <remarks />
[XmlElement("instance_physics_material", typeof (InstanceWithExtra))]
[XmlElement("physics_material", typeof (physics_material))]
public object Item
{
get { return itemField; }
set { itemField = value; }
}

/// <remarks />
[XmlElement("shape")]
public instance_rigid_bodyTechnique_commonShape[] shape
{
get { return shapeField; }
set { shapeField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class instance_rigid_bodyTechnique_commonDynamic
{
private string sidField;

private bool valueField;

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}

/// <remarks />
[XmlText]
public bool Value
{
get { return valueField; }
set { valueField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class instance_rigid_bodyTechnique_commonShape
{
private TargetableFloat densityField;
private extra[] extraField;
private instance_rigid_bodyTechnique_commonShapeHollow hollowField;

private object item1Field;
private object itemField;

private object[] itemsField;
private TargetableFloat massField;

/// <remarks />
public instance_rigid_bodyTechnique_commonShapeHollow hollow
{
get { return hollowField; }
set { hollowField = value; }
}

/// <remarks />
public TargetableFloat mass
{
get { return massField; }
set { massField = value; }
}

/// <remarks />
public TargetableFloat density
{
get { return densityField; }
set { densityField = value; }
}

/// <remarks />
[XmlElement("instance_physics_material", typeof (InstanceWithExtra))]
[XmlElement("physics_material", typeof (physics_material))]
public object Item
{
get { return itemField; }
set { itemField = value; }
}

/// <remarks />
[XmlElement("box", typeof (box))]
[XmlElement("capsule", typeof (capsule))]
[XmlElement("cylinder", typeof (cylinder))]
[XmlElement("instance_geometry", typeof (instance_geometry))]
[XmlElement("plane", typeof (plane))]
[XmlElement("sphere", typeof (sphere))]
[XmlElement("tapered_capsule", typeof (tapered_capsule))]
[XmlElement("tapered_cylinder", typeof (tapered_cylinder))]
public object Item1
{
get { return item1Field; }
set { item1Field = value; }
}

/// <remarks />
[XmlElement("rotate", typeof (rotate))]
[XmlElement("translate", typeof (TargetableFloat3))]
public object[] Items
{
get { return itemsField; }
set { itemsField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class instance_rigid_bodyTechnique_commonShapeHollow
{
private string sidField;

private bool valueField;

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}

/// <remarks />
[XmlText]
public bool Value
{
get { return valueField; }
set { valueField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class instance_rigid_constraint
{
private string constraintField;
private extra[] extraField;

private string nameField;
private string sidField;

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string constraint
{
get { return constraintField; }
set { constraintField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string sid
{
get { return sidField; }
set { sidField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class library_physics_scenes
{
private asset assetField;

private extra[] extraField;

private string idField;

private string nameField;
private physics_scene[] physics_sceneField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("physics_scene")]
public physics_scene[] physics_scene
{
get { return physics_sceneField; }
set { physics_sceneField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class physics_scene
{
private asset assetField;

private extra[] extraField;

private string idField;
private InstanceWithExtra[] instance_force_fieldField;

private instance_physics_model[] instance_physics_modelField;

private string nameField;
private technique[] techniqueField;
private physics_sceneTechnique_common technique_commonField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("instance_force_field")]
public InstanceWithExtra[] instance_force_field
{
get { return instance_force_fieldField; }
set { instance_force_fieldField = value; }
}

/// <remarks />
[XmlElement("instance_physics_model")]
public instance_physics_model[] instance_physics_model
{
get { return instance_physics_modelField; }
set { instance_physics_modelField = value; }
}

/// <remarks />
public physics_sceneTechnique_common technique_common
{
get { return technique_commonField; }
set { technique_commonField = value; }
}

/// <remarks />
[XmlElement("technique")]
public technique[] technique
{
get { return techniqueField; }
set { techniqueField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class physics_sceneTechnique_common
{
private TargetableFloat3 gravityField;

private TargetableFloat time_stepField;

/// <remarks />
public TargetableFloat3 gravity
{
get { return gravityField; }
set { gravityField = value; }
}

/// <remarks />
public TargetableFloat time_step
{
get { return time_stepField; }
set { time_stepField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class library_visual_scenes
{
private asset assetField;

private extra[] extraField;

private string idField;

private string nameField;
private visual_scene[] visual_sceneField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("visual_scene")]
public visual_scene[] visual_scene
{
get { return visual_sceneField; }
set { visual_sceneField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class visual_scene
{
private asset assetField;

private visual_sceneEvaluate_scene[] evaluate_sceneField;

private extra[] extraField;

private string idField;

private string nameField;
private node[] nodeField;

/// <remarks />
public asset asset
{
get { return assetField; }
set { assetField = value; }
}

/// <remarks />
[XmlElement("node")]
public node[] node
{
get { return nodeField; }
set { nodeField = value; }
}

/// <remarks />
[XmlElement("evaluate_scene")]
public visual_sceneEvaluate_scene[] evaluate_scene
{
get { return evaluate_sceneField; }
set { evaluate_sceneField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "ID")]
public string id
{
get { return idField; }
set { idField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class visual_sceneEvaluate_scene
{
private string nameField;
private visual_sceneEvaluate_sceneRender[] renderField;

/// <remarks />
[XmlElement("render")]
public visual_sceneEvaluate_sceneRender[] render
{
get { return renderField; }
set { renderField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "NCName")]
public string name
{
get { return nameField; }
set { nameField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class visual_sceneEvaluate_sceneRender
{
private string camera_nodeField;
private instance_effect instance_effectField;
private string[] layerField;

/// <remarks />
[XmlElement("layer", DataType = "NCName")]
public string[] layer
{
get { return layerField; }
set { layerField = value; }
}

/// <remarks />
public instance_effect instance_effect
{
get { return instance_effectField; }
set { instance_effectField = value; }
}

/// <remarks />
[XmlAttribute(DataType = "anyURI")]
public string camera_node
{
get { return camera_nodeField; }
set { camera_nodeField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public class COLLADAScene
{
private extra[] extraField;
private InstanceWithExtra[] instance_physics_sceneField;

private InstanceWithExtra instance_visual_sceneField;

/// <remarks />
[XmlElement("instance_physics_scene")]
public InstanceWithExtra[] instance_physics_scene
{
get { return instance_physics_sceneField; }
set { instance_physics_sceneField = value; }
}

/// <remarks />
public InstanceWithExtra instance_visual_scene
{
get { return instance_visual_sceneField; }
set { instance_visual_sceneField = value; }
}

/// <remarks />
[XmlElement("extra")]
public extra[] extra
{
get { return extraField; }
set { extraField = value; }
}
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[XmlType(Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
public enum VersionType
{
/// <remarks />
[XmlEnum("1.4.0")] Item140,

/// <remarks />
[XmlEnum("1.4.1")] Item141,
}

/// <remarks />
[GeneratedCode("xsd", "4.0.30319.1")]
[Serializable]
[DebuggerStepThrough]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.collada.org/2005/11/COLLADASchema")]
[XmlRoot(Namespace = "http://www.collada.org/2005/11/COLLADASchema", IsNullable = false)]
public class ellipsoid
{
private string sizeField;

/// <remarks />
public string size
{
get { return sizeField; }
set { sizeField = value; }
}
}

/// <summary>
///   Extend COLLADA class to provide convertion helpers
/// </summary>
public partial class COLLADA
{
private static Regex regex = new Regex(@"\s+");

public static string ConvertFromArray<T>(IList<T> array)
{
if (array == null)
return null;

StringBuilder text = new StringBuilder();
if (typeof (T) == typeof (double))
{
// If type is double, then use a plain ToString with no exponent
for (int i = 0; i < array.Count; i++)
{
object value1 = array[i];
double value = (double) value1;
text.Append(
value.ToString(
"0.000000",
NumberFormatInfo.InvariantInfo));
if ((i + 1) < array.Count)
text.Append(" ");
}
}
else
{
for (int i = 0; i < array.Count; i++)
{
text.Append(Convert.ToString(array[i], NumberFormatInfo.InvariantInfo));
if ((i + 1) < array.Count)
text.Append(" ");
}
}
return text.ToString();
}

internal static string[] ConvertStringArray(string arrayStr)
{
string[] elements = regex.Split(arrayStr.Trim());
string[] ret = new string[elements.Length];
for (int i = 0; i < ret.Length; i++)
ret[i] = elements[i];
return ret;
}

internal static int[] ConvertIntArray(string arrayStr)
{
string[] elements = regex.Split(arrayStr.Trim());
int[] ret = new int[elements.Length];
for (int i = 0; i < ret.Length; i++)
ret[i] = int.Parse(elements[i]);
return ret;
}

internal static double[] ConvertDoubleArray(string arrayStr)
{
string[] elements = regex.Split(arrayStr.Trim());
double[] ret = new double[elements.Length];
try
{
for (int i = 0; i < ret.Length; i++)
ret[i] = double.Parse(elements[i], NumberStyles.Float, CultureInfo.InvariantCulture);
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
return ret;
}

internal static bool[] ConvertBoolArray(string arrayStr)
{
string[] elements = regex.Split(arrayStr.Trim());
bool[] ret = new bool[elements.Length];
for (int i = 0; i < ret.Length; i++)
ret[i] = bool.Parse(elements[i]);
return ret;
}

public static COLLADA Load(string fileName)
{
FileStream stream = new FileStream(fileName, FileMode.Open);
COLLADA result;
try
{
result = Load(stream);
}
finally
{
stream.Close();
}
return result;
}

public static COLLADA Load(Stream stream)
{
StreamReader str = new StreamReader(stream);
XmlSerializer xSerializer = new XmlSerializer(typeof(COLLADA));

return (COLLADA)xSerializer.Deserialize(str);
}

public void Save(string fileName)
{
FileStream stream = new FileStream(fileName, FileMode.Create);
try
{
Save(stream);
}
finally
{
stream.Close();
}
}

public void Save(Stream stream)
{
XmlTextWriter writer = new XmlTextWriter(stream, Encoding.UTF8);
XmlSerializer xSerializer = new XmlSerializer(typeof(COLLADA));
writer.Formatting = Formatting.Indented;
xSerializer.Serialize(writer, this);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: