Table of Contents

Method Intersect

Namespace
GeometryHelper.Core
Assembly
GeometryHelper.dll

Intersect(GeoPolygon3, GeoPolygon3)

Keeps what two shapes lying in one plane both cover.

public static GeoFace3[] Intersect(GeoPolygon3 first, GeoPolygon3 second)

Parameters

first GeoPolygon3
second GeoPolygon3

Returns

GeoFace3[]

Intersect(GeoPolygon3, GeoPolygon3, Tolerance)

Keeps what two shapes lying in one plane both cover, within a tolerance.

public static GeoFace3[] Intersect(GeoPolygon3 first, GeoPolygon3 second, Tolerance tolerance)

Parameters

first GeoPolygon3

The polygon.

second GeoPolygon3

The polygon; it has to lie in the first shape's plane.

tolerance Tolerance

The tolerance.

Returns

GeoFace3[]

The pieces the two make, in the plane they share.

Exceptions

ArgumentNullException

Thrown when either shape is null.

ArgumentException

Thrown when the two lie in different planes.

Intersect(GeoPolygon3, GeoFace3)

Keeps what two shapes lying in one plane both cover.

public static GeoFace3[] Intersect(GeoPolygon3 first, GeoFace3 second)

Parameters

first GeoPolygon3
second GeoFace3

Returns

GeoFace3[]

Intersect(GeoPolygon3, GeoFace3, Tolerance)

Keeps what two shapes lying in one plane both cover, within a tolerance.

public static GeoFace3[] Intersect(GeoPolygon3 first, GeoFace3 second, Tolerance tolerance)

Parameters

first GeoPolygon3

The polygon.

second GeoFace3

The face; it has to lie in the first shape's plane.

tolerance Tolerance

The tolerance.

Returns

GeoFace3[]

The pieces the two make, in the plane they share.

Exceptions

ArgumentNullException

Thrown when either shape is null.

ArgumentException

Thrown when the two lie in different planes.

Intersect(GeoFace3, GeoPolygon3)

Keeps what two shapes lying in one plane both cover.

public static GeoFace3[] Intersect(GeoFace3 first, GeoPolygon3 second)

Parameters

first GeoFace3
second GeoPolygon3

Returns

GeoFace3[]

Intersect(GeoFace3, GeoPolygon3, Tolerance)

Keeps what two shapes lying in one plane both cover, within a tolerance.

public static GeoFace3[] Intersect(GeoFace3 first, GeoPolygon3 second, Tolerance tolerance)

Parameters

first GeoFace3

The face.

second GeoPolygon3

The polygon; it has to lie in the first shape's plane.

tolerance Tolerance

The tolerance.

Returns

GeoFace3[]

The pieces the two make, in the plane they share.

Exceptions

ArgumentNullException

Thrown when either shape is null.

ArgumentException

Thrown when the two lie in different planes.

Intersect(GeoFace3, GeoFace3)

Keeps what two shapes lying in one plane both cover.

public static GeoFace3[] Intersect(GeoFace3 first, GeoFace3 second)

Parameters

first GeoFace3
second GeoFace3

Returns

GeoFace3[]

Intersect(GeoFace3, GeoFace3, Tolerance)

Keeps what two shapes lying in one plane both cover, within a tolerance.

public static GeoFace3[] Intersect(GeoFace3 first, GeoFace3 second, Tolerance tolerance)

Parameters

first GeoFace3

The face.

second GeoFace3

The face; it has to lie in the first shape's plane.

tolerance Tolerance

The tolerance.

Returns

GeoFace3[]

The pieces the two make, in the plane they share.

Exceptions

ArgumentNullException

Thrown when either shape is null.

ArgumentException

Thrown when the two lie in different planes.

Intersect(GeoSolid3, GeoSolid3)

Gets every separate region two bodies share, one body each.

public static GeoSolid3[] Intersect(GeoSolid3 first, GeoSolid3 second)

Parameters

first GeoSolid3
second GeoSolid3

Returns

GeoSolid3[]

Intersect(GeoSolid3, GeoSolid3, Tolerance)

Gets every separate region two bodies share, one body each, within a tolerance.

public static GeoSolid3[] Intersect(GeoSolid3 first, GeoSolid3 second, Tolerance tolerance)

Parameters

first GeoSolid3

The first body.

second GeoSolid3

The second body.

tolerance Tolerance

The tolerance.

Returns

GeoSolid3[]

One body per region they share, in no particular order; empty when they share no volume — which includes two bodies that only touch, since touching shares a face, an edge or a point and no volume.

Remarks

The same shape of answer Intersect(GeoPolygon3) gives in the plane. It is not an overload of TryIntersect: an out GeoSolid3[] beside the out GeoSolid3 one would make every existing call written with out _ ambiguous.

Exceptions

ArgumentNullException

Thrown when either body is null.