Table of Contents

Method IsCoplanar

Namespace
GeometryHelper.Core
Assembly
GeometryHelper.dll

IsCoplanar(GeoVector3, GeoVector3, GeoVector3)

Checks whether three vectors lie in a common plane through the origin, using the default tolerance.

public static bool IsCoplanar(GeoVector3 v1, GeoVector3 v2, GeoVector3 v3)

Parameters

v1 GeoVector3
v2 GeoVector3
v3 GeoVector3

Returns

bool

IsCoplanar(GeoVector3, GeoVector3, GeoVector3, Tolerance)

Checks whether three vectors lie in a common plane through the origin, within an angular tolerance.

public static bool IsCoplanar(GeoVector3 v1, GeoVector3 v2, GeoVector3 v3, Tolerance tolerance)

Parameters

v1 GeoVector3
v2 GeoVector3
v3 GeoVector3
tolerance Tolerance

Returns

bool

Remarks

The test is the scalar triple product of the three normalized vectors, which is the volume of the unit parallelepiped they span and therefore zero exactly when they share a plane. Normalizing first is what makes the threshold an angle rather than a volume, so the answer does not change when the inputs are scaled.

IsCoplanar(GeoLine3, GeoLine3)

Checks whether two line segments lie on a common plane, using the default tolerance.

public static bool IsCoplanar(GeoLine3 line1, GeoLine3 line2)

Parameters

line1 GeoLine3
line2 GeoLine3

Returns

bool

IsCoplanar(GeoLine3, GeoLine3, Tolerance)

Checks whether two line segments lie on a common plane, within a tolerance.

public static bool IsCoplanar(GeoLine3 line1, GeoLine3 line2, Tolerance tolerance)

Parameters

line1 GeoLine3
line2 GeoLine3
tolerance Tolerance

Returns

bool

Remarks

Parallel segments always share a plane and are reported as coplanar without further test. Otherwise the two directions span a plane, and the segments share it when the vector between their start points has no component along that plane's normal. The threshold is EqualPlanar, since what is measured is the gap between the two carrier lines, a distance.

IsCoplanar(GeoPolygon3, GeoPolygon3)

Checks whether two polygons lie on one common plane, using the default tolerance.

public static bool IsCoplanar(GeoPolygon3 polygon1, GeoPolygon3 polygon2)

Parameters

polygon1 GeoPolygon3
polygon2 GeoPolygon3

Returns

bool

IsCoplanar(GeoPolygon3, GeoPolygon3, Tolerance)

Checks whether two polygons lie on one common plane, within a tolerance.

public static bool IsCoplanar(GeoPolygon3 polygon1, GeoPolygon3 polygon2, Tolerance tolerance)

Parameters

polygon1 GeoPolygon3
polygon2 GeoPolygon3
tolerance Tolerance

Returns

bool

Remarks

Being parallel is not enough: two parallel regions a metre apart share no plane. The second has to lie on the plane of the first as well, which is the distance the planar threshold measures. A region and one facing the other way are coplanar, since they occupy the same flat place.

IsCoplanar(GeoFace3, GeoFace3)

Checks whether two faces lie on one common plane, using the default tolerance.

public static bool IsCoplanar(GeoFace3 face1, GeoFace3 face2)

Parameters

face1 GeoFace3
face2 GeoFace3

Returns

bool

IsCoplanar(GeoFace3, GeoFace3, Tolerance)

Checks whether two faces lie on one common plane, within a tolerance.

public static bool IsCoplanar(GeoFace3 face1, GeoFace3 face2, Tolerance tolerance)

Parameters

face1 GeoFace3
face2 GeoFace3
tolerance Tolerance

Returns

bool