protected override void BuildMeshComponents() { if (Vertices == null) { Vertices = new Vector3[3]; } if (Triangles == null) { Triangles = new int[3]; Triangles[0] = 0; Triangles[1] = 2; Triangles[2] = 1; } Vertices[0] = p1; int sign = MeshHelper.GetSide(p2, p1, p3); if (sign == -1) { Vertices[1] = p2; Vertices[2] = p3; } else { Vertices[1] = p3; Vertices[2] = p2; } UVs = MeshHelper.UVUnwrap(Vertices); }
//get vector of points on the right of two given setOfPoints private static List <Vector2> GetPointsOnRight(List <Vector2> setOfPoints, Vector2 vL, Vector2 vP) { List <Vector2> r = new List <Vector2>(); for (int i = 0; i < setOfPoints.Count; i++) { if (MeshHelper.GetSide(setOfPoints[i], vL, vP) > 0) { r.Add(setOfPoints[i]); } } return(r); }
protected override bool ValidateMesh() { if (p1 == p2 || p2 == p3 || p3 == p1) { Debug.LogWarning("TriangleMesh::ValidateMesh: some of the points are identity!"); return(false); } int sign = MeshHelper.GetSide(p2, p1, p3); if (sign == 0) { Debug.LogWarning("TriangleMesh::ValidateMesh: Given points are colinear!"); return(false); } return(true); }
protected override bool ValidateMesh() { if (P1 == P2 || P2 == P3 || P3 == P1) { Debug.LogWarning("TriangleMesh::ValidateMesh: some of the points are identity!"); return(false); } int sign = MeshHelper.GetSide(P2, P1, P3); if (sign == 0) { Debug.LogWarning("TriangleMesh::ValidateMesh: Given points are colinear!"); return(false); } return(true); }