Example #1
0
        /// <summary>
        /// Exports the model.
        /// </summary>
        /// <param name="g">
        /// The g.
        /// </param>
        /// <param name="transform">
        /// The transform.
        /// </param>
        protected override void ExportModel(GeometryModel3D g, Transform3D transform)
        {
            var mesh = g.Geometry as MeshGeometry3D;
            if (mesh == null)
            {
                return;
            }

            string name = this.GetUniqueName(g, g.GetType().Name);
            this.WriteStartObject("./Models/" + name, "Default Model", name, "Model");

            this.ExportMesh(mesh);

            if (g.Material != null)
            {
                this.ExportMaterial(g.Material);
            }

            var tg = new Transform3DGroup();
            tg.Children.Add(g.Transform);
            tg.Children.Add(transform);

            if (mesh.TextureCoordinates != null)
            {
                this.ExportMapChannel(mesh);
            }

            this.WriteTransform("Frame", tg.Value);

            this.WriteParameter("Enabled", true);
            this.WriteParameter("Visible", true);
            this.WriteParameter("Shadow Caster", true);
            this.WriteParameter("Shadow Receiver", true);
            this.WriteParameter("Caustics Transmitter", true);
            this.WriteParameter("Caustics Receiver", true);
            this.WriteParameter("Exit Blocker", false);

            this.WriteEndObject();
        }