IsAbovePlane() public method

returns true if the point is above the plane. False if the point is below or on the plane
public IsAbovePlane ( System.Vector3 q ) : bool
q System.Vector3
return bool
        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));

        }
Beispiel #2
0
        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)));
        }