Example #1
0
        static public List <Slice2D> LinearSliceAll(Pair2D slice, Layer layer = null, bool perform = true)
        {
            List <Slice2D> result = new List <Slice2D> ();

            if (layer == null)
            {
                layer = Layer.Create();
            }

            foreach (Sliceable2D id in Sliceable2D.GetListLayer(layer))
            {
                Slice2D sliceResult = id.LinearSlice(slice, perform);

                if (perform)
                {
                    if (sliceResult.GetGameObjects().Count > 0)
                    {
                        result.Add(sliceResult);
                    }
                }
                else
                {
                    if (sliceResult.GetPolygons().Count > 0)
                    {
                        result.Add(sliceResult);
                    }
                }
            }

            return(result);
        }
Example #2
0
        // Remove Position
        static public List <Slice2D> PolygonSliceAll(Vector2D position, Polygon2D slicePolygon, bool destroy, Layer layer = null)
        {
            List <Slice2D> result = new List <Slice2D> ();

            if (layer == null)
            {
                layer = Layer.Create();
            }

            Polygon2D slicePolygonDestroy = null;

            if (destroy)
            {
                slicePolygonDestroy = slicePolygon.ToScale(new Vector2(1.1f, 1.1f));
                slicePolygonDestroy = slicePolygonDestroy.ToOffset(position);
            }

            slicePolygon = slicePolygon.ToOffset(position);

            foreach (Sliceable2D id in Sliceable2D.GetListLayer(layer))
            {
                result.Add(id.PolygonSlice(slicePolygon, slicePolygonDestroy));
            }

            return(result);
        }
Example #3
0
        static public List <Slice2D> ComplexCutSliceAll(ComplexCut complexCut, Layer layer = null)
        {
            List <Slice2D> result = new List <Slice2D> ();

            if (layer == null)
            {
                layer = Layer.Create();
            }

            foreach (Sliceable2D id in Sliceable2D.GetListLayer(layer))
            {
                Slice2D sliceResult = id.ComplexCutSlice(complexCut);
                if (sliceResult.GetGameObjects().Count > 0)
                {
                    result.Add(sliceResult);
                }
            }

            return(result);
        }
Example #4
0
        static public List <Slice2D> ExplodeAll(Layer layer = null, int explosionSlices = 0)
        {
            List <Slice2D> result = new List <Slice2D> ();

            if (layer == null)
            {
                layer = Layer.Create();
            }

            foreach (Sliceable2D id in Sliceable2D.GetListLayer(layer))
            {
                Slice2D sliceResult = id.Explode(explosionSlices);
                if (sliceResult.GetGameObjects().Count > 0)
                {
                    result.Add(sliceResult);
                }
            }

            return(result);
        }
Example #5
0
        static public List <Slice2D> ExplodeInPointAll(Vector2D point, Layer layer = null)
        {
            List <Slice2D> result = new List <Slice2D> ();

            if (layer == null)
            {
                layer = Layer.Create();
            }

            foreach (Sliceable2D id in Sliceable2D.GetListLayer(layer))
            {
                Slice2D sliceResult = id.ExplodeInPoint(point);
                if (sliceResult.GetGameObjects().Count > 0)
                {
                    result.Add(sliceResult);
                }
            }

            return(result);
        }
Example #6
0
        static public List <Slice2D> PointSliceAll(Vector2D slice, float rotation, Layer layer = null)
        {
            List <Slice2D> result = new List <Slice2D> ();

            if (layer == null)
            {
                layer = Layer.Create();
            }

            foreach (Sliceable2D id in Sliceable2D.GetListLayer(layer))
            {
                Slice2D sliceResult = id.PointSlice(slice, rotation);
                if (sliceResult.GetGameObjects().Count > 0)
                {
                    result.Add(sliceResult);
                }
            }

            return(result);
        }