Esempio n. 1
0
        private void buttonSaveOBJ_Click(object sender, EventArgs e)
        {
            if (scene == null || scene.Triangles < 1)
            {
                return;
            }

            SaveFileDialog sfd = new SaveFileDialog();

            sfd.Title        = "Save OBJ file";
            sfd.Filter       = "OBJ Files|*.obj";
            sfd.AddExtension = true;
            sfd.FileName     = "";
            if (sfd.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            WavefrontObj objWriter = new WavefrontObj();

            objWriter.MirrorConversion = true;
            StreamWriter writer = new StreamWriter(new FileStream(sfd.FileName, FileMode.Create));

            objWriter.WriteBrep(writer, scene);
            writer.Close();
        }
Esempio n. 2
0
        private void buttonExportPly_Click(object sender, EventArgs e)
        {
            if (scene == null ||
                scene.Triangles < 1)
            {
                return;
            }

            SaveFileDialog sfd = new SaveFileDialog();

            sfd.Title        = "Save file";
            sfd.Filter       = "PLY Files|*.ply" + "|OBJ Files|*.obj";
            sfd.AddExtension = true;
            sfd.FileName     = "";
            if (sfd.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            string ext = Path.GetExtension(sfd.FileName);

            switch (ext)
            {
            case ".ply":
                StanfordPly plyWriter = new StanfordPly();
                plyWriter.TextFormat    = true;
                plyWriter.NativeNewLine = true;
                plyWriter.Orientation   = checkOrientation.Checked;
                //plyWriter.DoNormals     = false;
                //plyWriter.DoTxtCoords   = false;
                plyWriter.DoColors = false;
                using (StreamWriter writer = new StreamWriter(new FileStream(sfd.FileName, FileMode.Create)))
                {
                    plyWriter.WriteBrep(writer, scene);
                }
                break;

            case ".obj":
                WavefrontObj objWriter = new WavefrontObj();
                using (StreamWriter writer = new StreamWriter(new FileStream(sfd.FileName, FileMode.Create)))
                {
                    objWriter.WriteBrep(writer, scene);
                }
                break;

            default:
                break;
            }
        }
Esempio n. 3
0
        private void buttonExportPly_Click(object sender, EventArgs e)
        {
            if (scene == null ||
                scene.Triangles < 1)
            {
                return;
            }

            SaveFileDialog sfd = new SaveFileDialog();

            sfd.Title        = "Save OBJ/PLY file";
            sfd.Filter       = "OBJ Files|*.obj|PLY Files|*.ply";
            sfd.AddExtension = true;
            sfd.FileName     = "";
            if (sfd.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            if (sfd.FileName.EndsWith(".ply"))
            {
                // Stanford PLY format.
                StanfordPly plyWriter = new StanfordPly();
                plyWriter.TextFormat    = true;
                plyWriter.NativeNewLine = true;
                plyWriter.Orientation   = checkOrientation.Checked;
                //plyWriter.DoNormals     = false;
                //plyWriter.DoTxtCoords   = false;
                plyWriter.DoColors = false;
                using (StreamWriter writer = new StreamWriter(new FileStream(sfd.FileName, FileMode.Create)))
                {
                    plyWriter.WriteBrep(writer, scene);
                }
            }
            else
            {
                // Wavefront OBJ format.
                WavefrontObj objWriter = new WavefrontObj();
                objWriter.MirrorConversion = true;
                using (StreamWriter writer = new StreamWriter(new FileStream(sfd.FileName, FileMode.Create)))
                {
                    objWriter.WriteBrep(writer, scene);
                }
            }
        }