Table of Contents

Method GetIntersections

Namespace
GeometryHelper.Core
Assembly
GeometryHelper.dll

GetIntersections(GeoArc3, GeoSolid3)

Gets every point where an arc crosses the surface of a solid.

public static GeoPoint3[] GetIntersections(GeoArc3 arc, GeoSolid3 solid)

Parameters

arc GeoArc3
solid GeoSolid3

Returns

GeoPoint3[]

GetIntersections(GeoArc3, GeoSolid3, Tolerance)

Gets every point where an arc crosses the surface of a solid, within a tolerance.

public static GeoPoint3[] GetIntersections(GeoArc3 arc, GeoSolid3 solid, Tolerance tolerance)

Parameters

arc GeoArc3

The arc.

solid GeoSolid3

The solid.

tolerance Tolerance

The tolerance.

Returns

GeoPoint3[]

Where the arc goes in and where it comes out, the walls of any opening counted as surface. An arc lying wholly inside the material crosses nothing and gives none, which CollidesWith(GeoArc3, GeoSolid3, Tolerance) reports instead.

Exceptions

ArgumentNullException

Thrown when the solid is null.

GetIntersections(GeoArc3, GeoObb3)

Gets every point where an arc crosses the surface of an oriented box.

public static GeoPoint3[] GetIntersections(GeoArc3 arc, GeoObb3 box)

Parameters

arc GeoArc3
box GeoObb3

Returns

GeoPoint3[]

GetIntersections(GeoArc3, GeoObb3, Tolerance)

Gets every point where an arc crosses the surface of an oriented box, within a tolerance.

public static GeoPoint3[] GetIntersections(GeoArc3 arc, GeoObb3 box, Tolerance tolerance)

Parameters

arc GeoArc3

The arc.

box GeoObb3

The box.

tolerance Tolerance

The tolerance.

Returns

GeoPoint3[]

The points where the arc meets one of the six faces, each corner or edge counted once.

GetIntersections(GeoArc3, GeoAabb3)

Gets every point where an arc crosses the surface of an axis-aligned box.

public static GeoPoint3[] GetIntersections(GeoArc3 arc, GeoAabb3 box)

Parameters

arc GeoArc3
box GeoAabb3

Returns

GeoPoint3[]

GetIntersections(GeoArc3, GeoAabb3, Tolerance)

Gets every point where an arc crosses the surface of an axis-aligned box, within a tolerance.

public static GeoPoint3[] GetIntersections(GeoArc3 arc, GeoAabb3 box, Tolerance tolerance)

Parameters

arc GeoArc3

The arc.

box GeoAabb3

The box; an empty one holds nothing and is crossed nowhere.

tolerance Tolerance

The tolerance.

Returns

GeoPoint3[]

Remarks

An axis-aligned box is an oriented box whose axes happen to be the world's, so this is the oriented answer rather than an approximation of it.

GetIntersections(GeoCircle3, GeoSolid3)

Gets every point where a circle crosses the surface of a solid.

public static GeoPoint3[] GetIntersections(GeoCircle3 circle, GeoSolid3 solid)

Parameters

circle GeoCircle3
solid GeoSolid3

Returns

GeoPoint3[]

GetIntersections(GeoCircle3, GeoSolid3, Tolerance)

Gets every point where a circle crosses the surface of a solid, within a tolerance.

public static GeoPoint3[] GetIntersections(GeoCircle3 circle, GeoSolid3 solid, Tolerance tolerance)

Parameters

circle GeoCircle3

The circle.

solid GeoSolid3

The solid.

tolerance Tolerance

The tolerance.

Returns

GeoPoint3[]

GetIntersections(GeoCircle3, GeoObb3)

Gets every point where a circle crosses the surface of an oriented box.

public static GeoPoint3[] GetIntersections(GeoCircle3 circle, GeoObb3 box)

Parameters

circle GeoCircle3
box GeoObb3

Returns

GeoPoint3[]

GetIntersections(GeoCircle3, GeoObb3, Tolerance)

Gets every point where a circle crosses the surface of an oriented box, within a tolerance.

public static GeoPoint3[] GetIntersections(GeoCircle3 circle, GeoObb3 box, Tolerance tolerance)

Parameters

circle GeoCircle3

The circle.

box GeoObb3

The box.

tolerance Tolerance

The tolerance.

Returns

GeoPoint3[]

GetIntersections(GeoCircle3, GeoAabb3)

Gets every point where a circle crosses the surface of an axis-aligned box.

public static GeoPoint3[] GetIntersections(GeoCircle3 circle, GeoAabb3 box)

Parameters

circle GeoCircle3
box GeoAabb3

Returns

GeoPoint3[]

GetIntersections(GeoCircle3, GeoAabb3, Tolerance)

Gets every point where a circle crosses the surface of an axis-aligned box, within a tolerance.

public static GeoPoint3[] GetIntersections(GeoCircle3 circle, GeoAabb3 box, Tolerance tolerance)

Parameters

circle GeoCircle3

The circle.

box GeoAabb3

The box.

tolerance Tolerance

The tolerance.

Returns

GeoPoint3[]

GetIntersections(GeoCircle3, GeoPlane3)

Gets every point where a circle crosses a plane.

public static GeoPoint3[] GetIntersections(GeoCircle3 circle, GeoPlane3 plane)

Parameters

circle GeoCircle3
plane GeoPlane3

Returns

GeoPoint3[]

GetIntersections(GeoCircle3, GeoPlane3, Tolerance)

Gets every point where a circle crosses a plane, within a tolerance.

public static GeoPoint3[] GetIntersections(GeoCircle3 circle, GeoPlane3 plane, Tolerance tolerance)

Parameters

circle GeoCircle3
plane GeoPlane3
tolerance Tolerance

Returns

GeoPoint3[]

At most two points. A circle lying in the plane crosses it nowhere and gives none, which CollidesWith(GeoCircle3, GeoPlane3, Tolerance) reports instead.

GetIntersections(GeoCircle3, GeoLine3)

Gets every point where a circle crosses a segment.

public static GeoPoint3[] GetIntersections(GeoCircle3 circle, GeoLine3 line)

Parameters

circle GeoCircle3
line GeoLine3

Returns

GeoPoint3[]

GetIntersections(GeoCircle3, GeoLine3, Tolerance)

Gets every point where a circle crosses a segment, within a tolerance.

public static GeoPoint3[] GetIntersections(GeoCircle3 circle, GeoLine3 line, Tolerance tolerance)

Parameters

circle GeoCircle3
line GeoLine3
tolerance Tolerance

Returns

GeoPoint3[]

GetIntersections(GeoCircle3, GeoRay3)

Gets every point where a circle crosses a ray.

public static GeoPoint3[] GetIntersections(GeoCircle3 circle, GeoRay3 ray)

Parameters

circle GeoCircle3
ray GeoRay3

Returns

GeoPoint3[]

GetIntersections(GeoCircle3, GeoRay3, Tolerance)

Gets every point where a circle crosses a ray, within a tolerance.

public static GeoPoint3[] GetIntersections(GeoCircle3 circle, GeoRay3 ray, Tolerance tolerance)

Parameters

circle GeoCircle3
ray GeoRay3
tolerance Tolerance

Returns

GeoPoint3[]

GetIntersections(GeoArc3, GeoPlane3)

Gets every point where an arc crosses a plane.

public static GeoPoint3[] GetIntersections(GeoArc3 arc, GeoPlane3 plane)

Parameters

arc GeoArc3
plane GeoPlane3

Returns

GeoPoint3[]

GetIntersections(GeoArc3, GeoPlane3, Tolerance)

Gets every point where an arc crosses a plane, within a tolerance.

public static GeoPoint3[] GetIntersections(GeoArc3 arc, GeoPlane3 plane, Tolerance tolerance)

Parameters

arc GeoArc3
plane GeoPlane3
tolerance Tolerance

Returns

GeoPoint3[]

At most two points. An arc lying in the plane crosses it nowhere and gives none: it is in the plane rather than through it, which CollidesWith(GeoArc3, GeoPlane3, Tolerance) reports instead.

GetIntersections(GeoArc3, GeoLine3)

Gets every point where an arc crosses a segment.

public static GeoPoint3[] GetIntersections(GeoArc3 arc, GeoLine3 line)

Parameters

arc GeoArc3
line GeoLine3

Returns

GeoPoint3[]

GetIntersections(GeoArc3, GeoLine3, Tolerance)

Gets every point where an arc crosses a segment, within a tolerance.

public static GeoPoint3[] GetIntersections(GeoArc3 arc, GeoLine3 line, Tolerance tolerance)

Parameters

arc GeoArc3
line GeoLine3
tolerance Tolerance

Returns

GeoPoint3[]

At most two points, and only ones the segment itself reaches: the arithmetic reads the segment as the endless line carrying it and then keeps what lies between its ends.

GetIntersections(GeoArc3, GeoRay3)

Gets every point where an arc crosses a ray.

public static GeoPoint3[] GetIntersections(GeoArc3 arc, GeoRay3 ray)

Parameters

arc GeoArc3
ray GeoRay3

Returns

GeoPoint3[]

GetIntersections(GeoArc3, GeoRay3, Tolerance)

Gets every point where an arc crosses a ray, within a tolerance.

public static GeoPoint3[] GetIntersections(GeoArc3 arc, GeoRay3 ray, Tolerance tolerance)

Parameters

arc GeoArc3
ray GeoRay3
tolerance Tolerance

Returns

GeoPoint3[]

At most two points, and only ones ahead of where the ray starts.

GetIntersections(GeoArc3, GeoArc3)

Gets every point where two arcs cross.

public static GeoPoint3[] GetIntersections(GeoArc3 first, GeoArc3 second)

Parameters

first GeoArc3
second GeoArc3

Returns

GeoPoint3[]

GetIntersections(GeoArc3, GeoArc3, Tolerance)

Gets every point where two arcs cross, within a tolerance.

public static GeoPoint3[] GetIntersections(GeoArc3 first, GeoArc3 second, Tolerance tolerance)

Parameters

first GeoArc3

The first arc.

second GeoArc3

The second arc.

tolerance Tolerance

The tolerance.

Returns

GeoPoint3[]

At most two points. Two arcs of one circle give none: they share a whole stretch rather than a point, which CollidesWith(GeoArc3, GeoArc3, Tolerance) reports instead.

GetIntersections(GeoArc3, GeoCircle3)

Gets every point where an arc crosses a circle.

public static GeoPoint3[] GetIntersections(GeoArc3 arc, GeoCircle3 circle)

Parameters

arc GeoArc3
circle GeoCircle3

Returns

GeoPoint3[]

GetIntersections(GeoArc3, GeoCircle3, Tolerance)

Gets every point where an arc crosses a circle, within a tolerance.

public static GeoPoint3[] GetIntersections(GeoArc3 arc, GeoCircle3 circle, Tolerance tolerance)

Parameters

arc GeoArc3

The arc.

circle GeoCircle3

The circle.

tolerance Tolerance

The tolerance.

Returns

GeoPoint3[]

GetIntersections(GeoCircle3, GeoCircle3)

Gets every point where two circles cross.

public static GeoPoint3[] GetIntersections(GeoCircle3 first, GeoCircle3 second)

Parameters

first GeoCircle3
second GeoCircle3

Returns

GeoPoint3[]

GetIntersections(GeoCircle3, GeoCircle3, Tolerance)

Gets every point where two circles cross, within a tolerance.

public static GeoPoint3[] GetIntersections(GeoCircle3 first, GeoCircle3 second, Tolerance tolerance)

Parameters

first GeoCircle3

The first circle.

second GeoCircle3

The second circle.

tolerance Tolerance

The tolerance.

Returns

GeoPoint3[]

GetIntersections(GeoArc3, GeoTriangle3)

Gets every point where an arc crosses a triangle.

public static GeoPoint3[] GetIntersections(GeoArc3 arc, GeoTriangle3 triangle)

Parameters

arc GeoArc3
triangle GeoTriangle3

Returns

GeoPoint3[]

GetIntersections(GeoArc3, GeoTriangle3, Tolerance)

Gets every point where an arc crosses a triangle, within a tolerance.

public static GeoPoint3[] GetIntersections(GeoArc3 arc, GeoTriangle3 triangle, Tolerance tolerance)

Parameters

arc GeoArc3

The arc.

triangle GeoTriangle3

The triangle.

tolerance Tolerance

The tolerance.

Returns

GeoPoint3[]

Where the arc pierces the triangle, the points of the face it goes through; where the arc lies in the triangle's plane, the points where it cuts one of the three edges.

GetIntersections(GeoArc3, GeoPolygon3)

Gets every point where an arc crosses a polygon.

public static GeoPoint3[] GetIntersections(GeoArc3 arc, GeoPolygon3 polygon)

Parameters

arc GeoArc3
polygon GeoPolygon3

Returns

GeoPoint3[]

GetIntersections(GeoArc3, GeoPolygon3, Tolerance)

Gets every point where an arc crosses a polygon, within a tolerance.

public static GeoPoint3[] GetIntersections(GeoArc3 arc, GeoPolygon3 polygon, Tolerance tolerance)

Parameters

arc GeoArc3

The arc.

polygon GeoPolygon3

The polygon.

tolerance Tolerance

The tolerance.

Returns

GeoPoint3[]

Where the arc pierces the polygon, the points of the region it goes through; where the arc lies in the polygon's plane, the points where it cuts the outline.

Exceptions

ArgumentNullException

Thrown when the polygon is null.

GetIntersections(GeoArc3, GeoFace3)

Gets every point where an arc crosses a face.

public static GeoPoint3[] GetIntersections(GeoArc3 arc, GeoFace3 face)

Parameters

arc GeoArc3
face GeoFace3

Returns

GeoPoint3[]

GetIntersections(GeoArc3, GeoFace3, Tolerance)

Gets every point where an arc crosses a face, within a tolerance.

public static GeoPoint3[] GetIntersections(GeoArc3 arc, GeoFace3 face, Tolerance tolerance)

Parameters

arc GeoArc3

The arc.

face GeoFace3

The face.

tolerance Tolerance

The tolerance.

Returns

GeoPoint3[]

Where the arc pierces the face, the points of its material it goes through, so a bar passing down a hole reaches nothing; where the arc lies in the face's plane, the points where it cuts the outline or the rim of a hole.

Exceptions

ArgumentNullException

Thrown when the face is null.

GetIntersections(GeoCircle3, GeoTriangle3)

Gets every point where a circle crosses a triangle.

public static GeoPoint3[] GetIntersections(GeoCircle3 circle, GeoTriangle3 triangle)

Parameters

circle GeoCircle3
triangle GeoTriangle3

Returns

GeoPoint3[]

GetIntersections(GeoCircle3, GeoTriangle3, Tolerance)

Gets every point where a circle crosses a triangle, within a tolerance.

public static GeoPoint3[] GetIntersections(GeoCircle3 circle, GeoTriangle3 triangle, Tolerance tolerance)

Parameters

circle GeoCircle3

The circle.

triangle GeoTriangle3

The triangle.

tolerance Tolerance

The tolerance.

Returns

GeoPoint3[]

GetIntersections(GeoCircle3, GeoPolygon3)

Gets every point where a circle crosses a polygon.

public static GeoPoint3[] GetIntersections(GeoCircle3 circle, GeoPolygon3 polygon)

Parameters

circle GeoCircle3
polygon GeoPolygon3

Returns

GeoPoint3[]

GetIntersections(GeoCircle3, GeoPolygon3, Tolerance)

Gets every point where a circle crosses a polygon, within a tolerance.

public static GeoPoint3[] GetIntersections(GeoCircle3 circle, GeoPolygon3 polygon, Tolerance tolerance)

Parameters

circle GeoCircle3

The circle.

polygon GeoPolygon3

The polygon.

tolerance Tolerance

The tolerance.

Returns

GeoPoint3[]

GetIntersections(GeoCircle3, GeoFace3)

Gets every point where a circle crosses a face.

public static GeoPoint3[] GetIntersections(GeoCircle3 circle, GeoFace3 face)

Parameters

circle GeoCircle3
face GeoFace3

Returns

GeoPoint3[]

GetIntersections(GeoCircle3, GeoFace3, Tolerance)

Gets every point where a circle crosses a face, within a tolerance.

public static GeoPoint3[] GetIntersections(GeoCircle3 circle, GeoFace3 face, Tolerance tolerance)

Parameters

circle GeoCircle3

The circle.

face GeoFace3

The face.

tolerance Tolerance

The tolerance.

Returns

GeoPoint3[]