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); }
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); }