示例#1
0
 public void polygon(Model.Polygon Polygon, Model.Canvas Canvas)
 {
     for (int i = 0; i < Polygon.getPixels().Count; i++)
     {
         lineTo(Polygon.getPixel(i).getPosition(), Canvas);
     }
 }
 void UpdateModel()
 {
     // Update polygon model with transforms, also update calculations.
     _polygon.UpdatePointPositionsWithSource(this);
     if (offset != 0.0f)
     {
         _offsetPolygon = _polygon.OffsetPolygon(offset);
     }
 }
        void CreateMesh()
        {
            if (polygonSource != null)
            {
                polygon = polygonSource.polygon;
            }

            meshFilter.mesh = polygon.Mesh(color, triangulator);
        }
 void Awake()
 {
     // Construct a polygon model from transforms (if not created by a root polygon already).
     if (_polygon == null)
     {
         _polygon = Model.Polygon.PolygonWithSource(this);
     }
     if (offset != 0.0f)
     {
         _offsetPolygon = _polygon.OffsetPolygon(offset);
     }
 }
示例#5
0
        void UpdateModel()
        {
            // Update polygon model with transforms, also update calculations.
            _polygon.UpdatePointPositionsWithSource(this);
            //_polygon = _polygon.SimplifiedAndRoundedOffsetPolygon( 0.05f )/*UnionPolygon() */;

            if (offset != 0.0f)
            {
                //Model.Polygon.clipperArcTolerance = clipperArcTolerance;
                //Model.Polygon.clipperScale = clipperScale;

                _offsetPolygon = _polygon./*OffsetPolygon(offset)*/ SimplifiedAndRoundedOffsetPolygon(offset);
            }
        }
示例#6
0
        void Awake()
        {
            // Construct a polygon model from transforms (if not created by a root polygon already).
            //if (_polygon == null) _polygon = Model.Polygon.PolygonWithSource(this);
            if (_polygon == null)
            {
                _polygon = Model.Polygon.PolygonWithSource(this);
            }

            if (offset != 0.0f)
            {
                _offsetPolygon = _polygon.SimplifiedAndRoundedOffsetPolygon(offset) /*OffsetPolygon(offset)*/;
            }
        }
        void Awake()
        {
            polygonSource = GetComponent <Source.Polygon>();
            meshFilter    = GetComponent <MeshFilter>();

            if (meshFilter == null)
            {
                Debug.LogWarning("No <b>MeshFilter</b> component on \"" + name + "\" (for <b>PolygonMesh</b> to use as output). Disabled <i>GameObject</i>.");
                gameObject.SetActive(false);
            }

            if (polygonSource != null)
            {
                polygon = polygonSource.polygon;
            }

            if (update == UpdateMode.Awake)
            {
                CreateMesh();
            }
        }
示例#8
0
        public double[,] GeraCubo()
        {
            var a = new Vertex(0, 0, 1);
            var b = new Vertex(1, 0, 1);
            var c = new Vertex(1, 1, 1);
            var d = new Vertex(0, 1, 1);
            var ee = new Vertex(0, 0, 0);
            var f = new Vertex(1, 0, 0);
            var g = new Vertex(1, 1, 0);
            var h = new Vertex(0, 1, 0);

            var A = new Edge(a, b);
            var B = new Edge(b, c);
            var C = new Edge(c, d);
            var D = new Edge(d, a);
            var E = new Edge(f, ee);
            var F = new Edge(ee, h);
            var G = new Edge(h, g);
            var H = new Edge(g, f);
            var I = new Edge(b, f);
            var J = new Edge(g, c);
            var K = new Edge(ee, a);
            var L = new Edge(d, h);

            var P1 = new Model.Polygon();
            P1.AddEdge(A);
            P1.AddEdge(B);
            P1.AddEdge(C);
            P1.AddEdge(D);
            P1.FaceNumber = 1;
            var P2 = new Model.Polygon();
            P2.AddEdge(C);
            P2.AddEdge(L);
            P2.AddEdge(G);
            P2.AddEdge(J);
            P2.FaceNumber = 2;
            var P3 = new Model.Polygon();
            P3.AddEdge(B);
            P3.AddEdge(J);
            P3.AddEdge(H);
            P3.AddEdge(I);
            P3.FaceNumber = 3;
            var P4 = new Model.Polygon();
            P4.AddEdge(D);
            P4.AddEdge(K);
            P4.AddEdge(F);
            P4.AddEdge(L);
            P4.FaceNumber = 4;
            var P5 = new Model.Polygon();
            P5.AddEdge(E);
            P5.AddEdge(I);
            P5.AddEdge(A);
            P5.AddEdge(K);
            P5.FaceNumber = 5;
            var P6 = new Model.Polygon();
            P6.AddEdge(H);
            P6.AddEdge(E);
            P6.AddEdge(F);
            P6.AddEdge(G);
            P6.FaceNumber = 6;

            var solid = new Solid();
            solid.addPolygon(P1);
            solid.addPolygon(P2);
            solid.addPolygon(P3);
            solid.addPolygon(P4);
            solid.addPolygon(P5);
            solid.addPolygon(P6);
            var x = solid.AsMatrix();
            return x;
        }