public void GeneratePolygonMesh(Vector2 pos, Polygon2D.PolygonType polygonType, float polygonSize) { visualMeshBorder.GeneratePolygonMesh(pos, polygonType, polygonSize * visualScale, minVertexDistance, transform, lineWidth * visualScale * borderScale, zPosition + 0.001f); meshBorder.Add(visualMeshBorder.Export(0)); visualMesh.GeneratePolygonMesh(pos, polygonType, polygonSize * visualScale, minVertexDistance, transform, lineWidth * visualScale, zPosition); mesh.Add(visualMesh.Export(0)); }
public void GenerateCreateMesh(Vector2 pos, Polygon2D.PolygonType polygonType, float polygonSize, Controller.Extended.CreateController.CreateType createType, List <Vector2D> pointsList, Pair2D linearPair) { visualMeshBorder.GenerateCreateMesh(pos, polygonType, polygonSize, createType, pointsList, linearPair, minVertexDistance, transform, lineWidth * visualScale * borderScale, zPosition + 0.001f, lineEndSize, lineEndingType, lineEndingEdgeCount); meshBorder.Add(visualMeshBorder.Export(0)); visualMesh.GenerateCreateMesh(pos, polygonType, polygonSize, createType, pointsList, linearPair, minVertexDistance, transform, lineWidth * visualScale, zPosition, lineEndSize, lineEndingType, lineEndingEdgeCount); mesh.Add(visualMesh.Export(0)); }
static public Mesh GenerateCreateMesh(Vector2D pos, Polygon2D.PolygonType polygonType, float polygonSize, Slicer2DController.CreateType createType, List <Vector2D> complexSlicerPointsList, Pair2D linearPair, float minVertexDistance, Transform transform, float lineWidth, float zPosition, float squareSize) { List <Mesh2DTriangle> trianglesList = new List <Mesh2DTriangle>(); float size = squareSize; if (createType == Slicer2DController.CreateType.Slice) { if (complexSlicerPointsList.Count > 0) { linearPair.A = new Vector2D(complexSlicerPointsList.First()); linearPair.B = new Vector2D(complexSlicerPointsList.Last()); trianglesList.Add(CreateLineNew(new Pair2D(new Vector2D(linearPair.A.x - size, linearPair.A.y - size), new Vector2D(linearPair.A.x + size, linearPair.A.y - size)), transform, lineWidth, zPosition)); trianglesList.Add(CreateLineNew(new Pair2D(new Vector2D(linearPair.A.x - size, linearPair.A.y - size), new Vector2D(linearPair.A.x - size, linearPair.A.y + size)), transform, lineWidth, zPosition)); trianglesList.Add(CreateLineNew(new Pair2D(new Vector2D(linearPair.A.x + size, linearPair.A.y + size), new Vector2D(linearPair.A.x + size, linearPair.A.y - size)), transform, lineWidth, zPosition)); trianglesList.Add(CreateLineNew(new Pair2D(new Vector2D(linearPair.A.x + size, linearPair.A.y + size), new Vector2D(linearPair.A.x - size, linearPair.A.y + size)), transform, lineWidth, zPosition)); trianglesList.Add(CreateLineNew(new Pair2D(new Vector2D(linearPair.B.x - size, linearPair.B.y - size), new Vector2D(linearPair.B.x + size, linearPair.B.y - size)), transform, lineWidth, zPosition)); trianglesList.Add(CreateLineNew(new Pair2D(new Vector2D(linearPair.B.x - size, linearPair.B.y - size), new Vector2D(linearPair.B.x - size, linearPair.B.y + size)), transform, lineWidth, zPosition)); trianglesList.Add(CreateLineNew(new Pair2D(new Vector2D(linearPair.B.x + size, linearPair.B.y + size), new Vector2D(linearPair.B.x + size, linearPair.B.y - size)), transform, lineWidth, zPosition)); trianglesList.Add(CreateLineNew(new Pair2D(new Vector2D(linearPair.B.x + size, linearPair.B.y + size), new Vector2D(linearPair.B.x - size, linearPair.B.y + size)), transform, lineWidth, zPosition)); Vector2D vA, vB; foreach (Pair2D pair in Pair2D.GetList(complexSlicerPointsList, true)) { vA = new Vector2D(pair.A); vB = new Vector2D(pair.B); vA.Push(Vector2D.Atan2(pair.A, pair.B), -minVertexDistance / 5); vB.Push(Vector2D.Atan2(pair.A, pair.B), minVertexDistance / 5); trianglesList.Add(CreateLineNew(new Pair2D(vA, vB), transform, lineWidth, zPosition)); } } } else { Polygon2D poly = Polygon2D.Create(polygonType, polygonSize).ToOffset(pos); Vector2D vA, vB; foreach (Pair2D pair in Pair2D.GetList(poly.pointsList, true)) { vA = new Vector2D(pair.A); vB = new Vector2D(pair.B); vA.Push(Vector2D.Atan2(pair.A, pair.B), -minVertexDistance / 5); vB.Push(Vector2D.Atan2(pair.A, pair.B), minVertexDistance / 5); trianglesList.Add(CreateLineNew(new Pair2D(vA, vB), transform, lineWidth, zPosition)); } } return(ExportMesh(trianglesList)); }
static public Mesh GenerateCreateMesh(Vector2D pos, Polygon2D.PolygonType polygonType, float polygonSize, Slicer2DCreateControllerObject.CreateType createType, List <Vector2D> complexSlicerPointsList, Pair2D linearPair, float minVertexDistance, Transform transform, float lineWidth, float zPosition, float squareSize, Slicer2DLineEndingType endingType, int edges) { Mesh2DMesh trianglesList = new Mesh2DMesh(); float size = squareSize; if (createType == Slicer2DCreateControllerObject.CreateType.Slice) { if (complexSlicerPointsList.Count > 0) { linearPair.A = new Vector2D(complexSlicerPointsList.First()); linearPair.B = new Vector2D(complexSlicerPointsList.Last()); GenerateSquare(trianglesList, linearPair.A, size, transform, lineWidth, zPosition, endingType, edges); GenerateSquare(trianglesList, linearPair.B, size, transform, lineWidth, zPosition, endingType, edges); Vector2D vA, vB; foreach (Pair2D pair in Pair2D.GetList(complexSlicerPointsList, true)) { vA = new Vector2D(pair.A); vB = new Vector2D(pair.B); vA.Push(Vector2D.Atan2(pair.A, pair.B), -minVertexDistance / 5); vB.Push(Vector2D.Atan2(pair.A, pair.B), minVertexDistance / 5); trianglesList.Add(Max2DMesh.CreateLine(new Pair2D(vA, vB), transform.localScale, lineWidth, zPosition)); } } } else { Polygon2D poly = Polygon2D.Create(polygonType, polygonSize).ToOffset(pos); Vector2D vA, vB; foreach (Pair2D pair in Pair2D.GetList(poly.pointsList, true)) { vA = new Vector2D(pair.A); vB = new Vector2D(pair.B); vA.Push(Vector2D.Atan2(pair.A, pair.B), -minVertexDistance / 5); vB.Push(Vector2D.Atan2(pair.A, pair.B), minVertexDistance / 5); trianglesList.Add(Max2DMesh.CreateLine(new Pair2D(vA, vB), transform.localScale, lineWidth, zPosition)); } } return(Max2DMesh.Export(trianglesList)); }
///// POLYGON ///// public void GeneratePolygonMesh(Vector2 pos, Polygon2D.PolygonType polygonType, float polygonSize, float minVertexDistance, Transform transform, float lineWidth, float zPosition) { Polygon2D slicePolygon = Polygon2D.Create(polygonType, polygonSize).ToOffset(pos); Vector2 vA, vB; foreach (Pair2 pair in Pair2.GetList(slicePolygon.pointsList, true)) { vA = pair.a; vB = pair.b; vA = vA.Push(pair.a.Atan2(pair.b), -minVertexDistance / 5); vB = vB.Push(pair.a.Atan2(pair.b), minVertexDistance / 5); CreateLine(new Pair2(vA, vB), transform.localScale, lineWidth, zPosition); } }
///// Create ///// public void GenerateCreateMesh(Vector2 pos, Polygon2D.PolygonType polygonType, float polygonSize, Slicer2DCreateControllerObject.CreateType createType, List <Vector2D> complexSlicerPointsList, Pair2D linearPair, float minVertexDistance, Transform transform, float lineWidth, float zPosition, float squareSize, Slicer2DLineEndingType endingType, int edges) { float size = squareSize; if (createType == Slicer2DCreateControllerObject.CreateType.Slice) { if (complexSlicerPointsList.Count > 0) { linearPair.A = new Vector2D(complexSlicerPointsList.First()); linearPair.B = new Vector2D(complexSlicerPointsList.Last()); GenerateSquare(linearPair.A.ToVector2(), size, transform, lineWidth, zPosition, endingType, edges); GenerateSquare(linearPair.B.ToVector2(), size, transform, lineWidth, zPosition, endingType, edges); Vector2D vA, vB; foreach (Pair2 pair in Pair2.GetList(complexSlicerPointsList, true)) { vA = new Vector2D(pair.a); vB = new Vector2D(pair.b); vA.Push(Vector2D.Atan2(pair.a, pair.b), -minVertexDistance / 5); vB.Push(Vector2D.Atan2(pair.a, pair.b), minVertexDistance / 5); CreateLine(new Pair2(vA.ToVector2(), vB.ToVector2()), transform.localScale, lineWidth, zPosition); } } } else { Polygon2D poly = Polygon2D.Create(polygonType, polygonSize).ToOffset(pos); Vector2D vA, vB; foreach (Pair2 pair in Pair2.GetList(poly.pointsList, true)) { vA = new Vector2D(pair.a); vB = new Vector2D(pair.b); vA.Push(Vector2D.Atan2(pair.a, pair.b), -minVertexDistance / 5); vB.Push(Vector2D.Atan2(pair.a, pair.b), minVertexDistance / 5); CreateLine(new Pair2(vA.ToVector2(), vB.ToVector2()), transform.localScale, lineWidth, zPosition); } } }
static public Mesh GeneratePolygonMesh(Vector2D pos, Polygon2D.PolygonType polygonType, float polygonSize, float minVertexDistance, Transform transform, float lineWidth, float zPosition) { Mesh2DMesh trianglesList = new Mesh2DMesh(); Polygon2D slicePolygon = Polygon2D.Create(polygonType, polygonSize).ToOffset(pos); Vector2D vA, vB; foreach (Pair2D pair in Pair2D.GetList(slicePolygon.pointsList, true)) { vA = new Vector2D(pair.A); vB = new Vector2D(pair.B); vA.Push(Vector2D.Atan2(pair.A, pair.B), -minVertexDistance / 5); vB.Push(Vector2D.Atan2(pair.A, pair.B), minVertexDistance / 5); trianglesList.Add(Max2DMesh.CreateLine(new Pair2D(vA, vB), transform.localScale, lineWidth, zPosition)); } return(Max2DMesh.Export(trianglesList)); }
public void GeneratePolygonMesh(Vector2D pos, Polygon2D.PolygonType polygonType, float polygonSize, Transform transform) { meshBorder.Add(Slicer2DVisualsMesh.GeneratePolygonMesh(pos, polygonType, polygonSize * visualScale, minVertexDistance, transform, lineWidth * visualScale * borderScale, zPosition + 0.001f)); mesh.Add(Slicer2DVisualsMesh.GeneratePolygonMesh(pos, polygonType, polygonSize * visualScale, minVertexDistance, transform, lineWidth * visualScale, zPosition)); }
public void GenerateCreateMesh(Vector2D pos, Polygon2D.PolygonType polygonType, float polygonSize, Slicer2DCreateControllerObject.CreateType createType, List <Vector2D> pointsList, Pair2D linearPair, Transform transform) { meshBorder.Add(Slicer2DVisualsMesh.GenerateCreateMesh(pos, polygonType, polygonSize, createType, pointsList, linearPair, minVertexDistance, transform, lineWidth * visualScale * borderScale, zPosition + 0.001f, lineEndSize, lineEndingType, lineEndingEdgeCount)); mesh.Add(Slicer2DVisualsMesh.GenerateCreateMesh(pos, polygonType, polygonSize, createType, pointsList, linearPair, minVertexDistance, transform, lineWidth * visualScale, zPosition, lineEndSize, lineEndingType, lineEndingEdgeCount)); }