コード例 #1
0
        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));
        }
コード例 #2
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));
        }
コード例 #3
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));
    }
コード例 #4
0
    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));
    }
コード例 #5
0
        ///// 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);
            }
        }
コード例 #6
0
        ///// 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);
                }
            }
        }
コード例 #7
0
    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));
    }
コード例 #8
0
 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));
 }
コード例 #9
0
 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));
 }