AcTools.Kn5File.Kn5.ExportCollada C# (CSharp) Method

ExportCollada() public method

public ExportCollada ( string filename ) : void
filename string
return void
        public void ExportCollada(string filename) {
            using (var xml = XmlWriter.Create(filename, new XmlWriterSettings {
                Indent = true,
                Encoding = Encoding.UTF8
            })) {
                xml.WriteStartDocument();
                xml.WriteStartElement("COLLADA", "http://www.collada.org/2005/11/COLLADASchema");
                xml.WriteAttributeString("version", "1.4.1");

                xml.WriteStartElement("asset");
                xml.WriteStartElement("contributor");
                xml.WriteElementStringSafe("author", Environment.UserName);
                xml.WriteElementStringSafe("authoring_tool", AcToolsInformation.Name);
                xml.WriteEndElement();
                xml.WriteElementStringSafe("created", new FileInfo(OriginalFilename).CreationTime.ToString(CultureInfo.InvariantCulture));
                xml.WriteElementStringSafe("modified", new FileInfo(OriginalFilename).LastWriteTime.ToString(CultureInfo.InvariantCulture));
                xml.WriteElement("unit",
                        "name", "meter",
                        "meter", 1);
                xml.WriteElementString("up_axis", "Y_UP");
                xml.WriteEndElement();

                xml.WriteElement("library_cameras");
                xml.WriteElement("library_lights");

                xml.WriteStartElement("library_images");
                foreach (var texture in Textures.Values) {
                    ExportCollada_Texture(xml, texture);
                }
                xml.WriteEndElement();

                xml.WriteStartElement("library_effects");
                foreach (var material in Materials.Values) {
                    ExportCollada_MaterialEffect(xml, material);
                }
                xml.WriteEndElement();

                xml.WriteStartElement("library_materials");
                foreach (var material in Materials.Values) {
                    ExportCollada_Material(xml, material);
                }
                xml.WriteEndElement();

                xml.WriteStartElement("library_geometries");
                ExportCollada_MeshWrapper(xml, RootNode);
                xml.WriteEndElement();

                xml.WriteStartElement("library_controllers");
                ExportCollada_Skinned(xml, RootNode);
                xml.WriteEndElement();

                xml.WriteStartElement("library_visual_scenes");
                ExportCollada_Scene(xml);
                xml.WriteEndElement();

                xml.WriteStartElement("scene");
                xml.WriteElement("instance_visual_scene",
                        "url", "#Scene");
                xml.WriteEndElement();

                xml.WriteEndElement();
                xml.WriteEndDocument();
            }
        }