Beispiel #1
0
        public void AppendBox(Frame3f frame, Vector3f size)
        {
            TrivialBox3Generator boxgen = new TrivialBox3Generator()
            {
                Box = new Box3d(frame, size),
                NoSharedVertices = false
            };

            boxgen.Generate();
            DMesh3 mesh = new DMesh3();

            boxgen.MakeMesh(mesh);
            AppendMesh(mesh, Mesh.AllocateTriangleGroup());
        }
Beispiel #2
0
        public void AppendBox(Frame3f frame, Vector3f size, Colorf color)
        {
            TrivialBox3Generator boxgen = new TrivialBox3Generator()
            {
                Box = new Box3d(frame, size),
                NoSharedVertices = false
            };

            boxgen.Generate();
            DMesh3 mesh = new DMesh3();

            boxgen.MakeMesh(mesh);
            if (Mesh.HasVertexColors)
            {
                mesh.EnableVertexColors(color);
            }
            AppendMesh(mesh, Mesh.AllocateTriangleGroup());
        }
Beispiel #3
0
        public static void WriteDebugMeshAndMarkers(IMesh mesh, List <Vector3d> Markers, string sPath = @"..\..\test_output\debug.obj")
        {
            WriteOptions options = WriteOptions.Defaults;

            options.bWriteGroups = true;
            List <WriteMesh> meshes = new List <WriteMesh>()
            {
                new WriteMesh(mesh)
            };
            double size = BoundsUtil.Bounds(mesh).Diagonal.Length * 0.01f;

            foreach (Vector3d v in Markers)
            {
                TrivialBox3Generator boxgen = new TrivialBox3Generator();
                boxgen.Box = new Box3d(v, size * Vector3d.One);
                boxgen.Generate();
                DMesh3 m = new DMesh3();
                boxgen.MakeMesh(m);
                meshes.Add(new WriteMesh(m));
            }

            StandardMeshWriter.WriteFile(sPath, meshes, options);
        }