示例#1
0
        public static void TestObjReader()
        {
            foreach (var f in GetInputFiles("angel.obj"))
            {
                WriteFileStats(f);

                Console.WriteLine("HelixToolkit OBJ Reader");
                Console.WriteLine("=======================");
                var helixObjModel3DGroup = Util.TimeIt(
                    () => Helix.LoadFileModel3DGroup(f), "Loading OBJ with Helix");

                var gFromHelix = helixObjModel3DGroup.ToIGeometry();
                TestWritingGeometry(gFromHelix, Path.Combine(TestOutputFolder, "helix"), f);

                Console.WriteLine("geometry3Sharp OBJ Reader");
                Console.WriteLine("=========================");
                var g3SharpObjList = Util.TimeIt(
                    () => G3Sharp.LoadMeshes(f), $"Loading OBJ with geometry3Sharp");

                for (var i = 0; i < g3SharpObjList.Count; ++i)
                {
                    var dmesh = g3SharpObjList[i];
                    CompareDMesh(dmesh, dmesh.ToIGeometry(), TestGeometries.SmallTolerance);
                }

                var gFromG3SharpObjList = g3SharpObjList.ToIGeometry();
                TestWritingGeometry(gFromG3SharpObjList, Path.Combine(TestOutputFolder, "g3sharp"), f);
            }
        }
示例#2
0
        public static void TestWritingProceduralGeometries()
        {
            var i            = 0;
            var outputFolder = Path.Combine(TestOutputFolder, "procedural");

            foreach (var g in TestGeometries.AllGeometries)
            {
                TestWritingGeometry(g, outputFolder, i.ToString());

                var g1 = G3Sharp.LoadGeometry(Path.Combine(outputFolder, $"{i}.ara.obj"));
                TestGeometries.BasicCompareGeometries(g.ToTriMesh(), g1);

                var g2 = G3Sharp.LoadGeometry(Path.Combine(outputFolder, $"{i}.g3.obj"));
                TestGeometries.BasicCompareGeometries(g.ToTriMesh(), g2);

                // STL files are odd, because they don't share vertices,
                // var g3 = G3Sharp.LoadGeometry(Path.Combine(outputFolder, $"{i}.g3.stl"));
                // TestGeometries.BasicCompareGeometries(g.ToTriMesh(), g3, true);

                i++;
            }
        }