CSG.Operations.Slice C# (CSharp) Method

Slice() public static method

public static Slice ( BSPTree a, BSPTree b, BSPTree &side1, BSPTree &side2 ) : void
a BSPTree
b BSPTree
side1 BSPTree
side2 BSPTree
return void
        public static void Slice(BSPTree a, BSPTree b, out BSPTree side1, out BSPTree side2)
        {
            side1 = a.Clone();
            BSPTree bClone = b.Clone();

            List<Triangle> side1Discarded = new List<Triangle>();

            bClone.Invert ();
            bClone.ClipByTree (a, false);
            side1.ClipByTree (b, true, side1Discarded);
            side1.AddTriangles(bClone.GetAllTriangles());

            bClone.Invert();
            side2 = new BSPTree();
            side2.AddTriangles(bClone.GetAllTriangles());
            side2.AddTriangles(side1Discarded);
        }

Same methods

Operations::Slice ( BSPTree a, BSPTree b, List &side1, List &side2 ) : void