public void divideFace() { if (selected.Count > 0 && selected[0].getType() == VrbTargetType.Face) { VrbFace oldf = (VrbFace)selected[0]; VrbFace.all.Remove(oldf); VrbObject.editingObject.faces.Remove(oldf); GameObject.Destroy(oldf.gameObject); foreach (VrbTriangle t in oldf.ftOriginal) { List <VrbTriangle> ntList = new List <VrbTriangle>(); ntList.Add(t); VrbFace nf = new VrbFace(ntList); nf.matVrbc.color = VrbObject.editingObject.vrbc.color; foreach (VrbEdge ee in nf.fEdges) { ee.displayModel(); } nf.displayModel(); VrbObject.editingObject.faces.Add(nf); } } transformPanel.SetActive(false); clearAllSelection(); }
public void connetVertexToFace() { performedSomeOperation = true; List <VrbVertex> vList = new List <VrbVertex>(); for (int i = 0; i < selected.Count; i++) { if (selected[i].getType() == VrbTargetType.Vertex) { vList.Add((VrbVertex)selected[i]); } } if (vList.Count > 2) { List <VrbTriangle> tList = new List <VrbTriangle>(); for (int i = 0; i < vList.Count - 2; i++) { tList.Add(new VrbTriangle(vList[i], vList[i + 1], vList[i + 2])); } VrbFace nf = new VrbFace(tList); nf.matVrbc.color = VrbObject.editingObject.vrbc.color; nf.displayModel(); VrbObject.editingObject.faces.Add(nf); } transformPanel.SetActive(false); clearAllSelection(); }
public void mergeFace() { performedSomeOperation = true; List <VrbFace> fList = new List <VrbFace>(); for (int i = 0; i < selected.Count; i++) { if (selected[i].getType() == VrbTargetType.Face) { fList.Add((VrbFace)selected[i]); } } List <VrbTriangle> tList = new List <VrbTriangle>(); foreach (VrbFace f in fList) { GameObject.Destroy(f.gameObject); foreach (VrbEdge e in f.fEdges) { e.hideModel(); } foreach (VrbTriangle t in f.ftOriginal) { tList.Add(t); } VrbFace.all.Remove(f); VrbObject.editingObject.faces.Remove(f); } VrbFace nf = new VrbFace(tList); nf.matVrbc.color = VrbObject.editingObject.vrbc.color; foreach (VrbEdge ee in nf.fEdges) { ee.displayModel(); } nf.displayModel(); VrbObject.editingObject.faces.Add(nf); transformPanel.SetActive(false); clearAllSelection(); }