SolidworksAddinFramework.Geometry.Triangle.IntersectPlane C# (CSharp) Method

IntersectPlane() public method

public IntersectPlane ( PointDirection3 plane ) : Option
plane PointDirection3
return Option
        public Option<Edge3> IntersectPlane(PointDirection3 plane)
        {
            var d = plane.IsAbovePlane(A);
            if (d == plane.IsAbovePlane(B) && d == plane.IsAbovePlane(C))
                return Option<Edge3>.None;


            var p0 = EdgeAB.IntersectPlane(plane);
            var p1 = EdgeBC.IntersectPlane(plane);
            var p2 = EdgeCA.IntersectPlane(plane);

            return Match(p0, p1)
                .BindNone(() => Match(p0, p2))
                .BindNone (() => Match(p1, p2));

        }