public static MapsMesh TransformMesh2MapsMesh(ref Mesh mesh, int U) { int[] tris = mesh.triangles; List <Vert> vs = new List <Vert>(); for (int i = 0; i < mesh.vertexCount; i++) { vs.Add(new Vert(i)); } List <Triangle> mmaptris = new List <Triangle>(); List <Edge> edges = new List <Edge>(); for (int i = 0; i < tris.GetLength(0) / 3; i++) { int ind1 = tris[i * 3]; int ind2 = tris[i * 3 + 1]; int ind3 = tris[i * 3 + 2]; mmaptris.Add(new Triangle(ind1, ind2, ind3)); } Topologies topo = new Topologies(vs, edges, mmaptris); List <int> fp = makeFeaturePoints(ref mesh, U); return(new MapsMesh(new List <Vector3>(mesh.vertices), topo, fp)); }
public MapsMesh(List <Vector3> ps, Topologies topo, List <int> fps) { P = ps; K = topo; featurePoints = fps; bijection = new List <Dictionary <int, float> >(); for (int i = 0; i < P.Count; i++) { bijection.Add(new Dictionary <int, float>()); bijection[i].Add(i, 1.0f); } }