コード例 #1
0
        public TriMesh SubDivision(EnumSubdivision method)
        {
            TriMesh mesh = null;

            switch (method)
            {
            case EnumSubdivision.Loop:
                mesh = SubdivisionLoop();
                break;

            case EnumSubdivision.Sqrt3:
                mesh = SubdivisonSqrt3();
                break;

            case EnumSubdivision.Butterfly:
                mesh = SubdivitionModifiedButtefly(0);
                Console.WriteLine("V={0},E={1},F={2}", mesh.Vertices.Count, mesh.Edges.Count, mesh.Faces.Count);
                break;

            case EnumSubdivision.Selected:
                mesh = SubdivisionSelectedLoop();
                break;

            default:
                break;
            }

            TriMeshUtil.SetUpNormalVertex(mesh);
            return(mesh);
        }
コード例 #2
0
        private void Sub_Click(object sender, EventArgs e)
        {
            EnumSubdivision type = (EnumSubdivision)((ToolStripMenuItem)sender).Tag;

            TriMeshSubdivision sub = new TriMeshSubdivision(Mesh);

            Mesh = sub.SubDivision(type);

            OnChanged(EventArgs.Empty);
        }