Table of Contents

Method CollidesWith

Namespace
GeometryHelper.Core
Assembly
GeometryHelper.dll

CollidesWith(GeoArc3, GeoSolid3)

Determines whether an arc touches a solid.

public static bool CollidesWith(GeoArc3 arc, GeoSolid3 solid)

Parameters

arc GeoArc3
solid GeoSolid3

Returns

bool

CollidesWith(GeoArc3, GeoSolid3, Tolerance)

Determines whether an arc touches a solid, within a tolerance.

public static bool CollidesWith(GeoArc3 arc, GeoSolid3 solid, Tolerance tolerance)

Parameters

arc GeoArc3

The arc.

solid GeoSolid3

The solid.

tolerance Tolerance

The tolerance.

Returns

bool

Remarks

Where the arc starts is asked before any face is tried, because an arc inside the body crosses its surface nowhere and is in it all the same. The same question keeps an arc inside an opening out: an opening is not material.

Exceptions

ArgumentNullException

Thrown when the solid is null.

CollidesWith(GeoArc3, GeoObb3)

Determines whether an arc touches an oriented box.

public static bool CollidesWith(GeoArc3 arc, GeoObb3 box)

Parameters

arc GeoArc3
box GeoObb3

Returns

bool

CollidesWith(GeoArc3, GeoObb3, Tolerance)

Determines whether an arc touches an oriented box, within a tolerance.

public static bool CollidesWith(GeoArc3 arc, GeoObb3 box, Tolerance tolerance)

Parameters

arc GeoArc3

The arc.

box GeoObb3

The box.

tolerance Tolerance

The tolerance.

Returns

bool

Remarks

An arc wholly inside the box crosses no face and is in it all the same, so where it starts is asked before any face is tried.

CollidesWith(GeoArc3, GeoAabb3)

Determines whether an arc touches an axis-aligned box.

public static bool CollidesWith(GeoArc3 arc, GeoAabb3 box)

Parameters

arc GeoArc3
box GeoAabb3

Returns

bool

CollidesWith(GeoArc3, GeoAabb3, Tolerance)

Determines whether an arc touches an axis-aligned box, within a tolerance.

public static bool CollidesWith(GeoArc3 arc, GeoAabb3 box, Tolerance tolerance)

Parameters

arc GeoArc3

The arc.

box GeoAabb3

The box; an empty one is touched by nothing.

tolerance Tolerance

The tolerance.

Returns

bool

CollidesWith(GeoCircle3, GeoSolid3)

Determines whether a circle touches a solid.

public static bool CollidesWith(GeoCircle3 circle, GeoSolid3 solid)

Parameters

circle GeoCircle3
solid GeoSolid3

Returns

bool

CollidesWith(GeoCircle3, GeoSolid3, Tolerance)

Determines whether a circle touches a solid, within a tolerance.

public static bool CollidesWith(GeoCircle3 circle, GeoSolid3 solid, Tolerance tolerance)

Parameters

circle GeoCircle3

The circle.

solid GeoSolid3

The solid.

tolerance Tolerance

The tolerance.

Returns

bool

CollidesWith(GeoCircle3, GeoObb3)

Determines whether a circle touches an oriented box.

public static bool CollidesWith(GeoCircle3 circle, GeoObb3 box)

Parameters

circle GeoCircle3
box GeoObb3

Returns

bool

CollidesWith(GeoCircle3, GeoObb3, Tolerance)

Determines whether a circle touches an oriented box, within a tolerance.

public static bool CollidesWith(GeoCircle3 circle, GeoObb3 box, Tolerance tolerance)

Parameters

circle GeoCircle3

The circle.

box GeoObb3

The box.

tolerance Tolerance

The tolerance.

Returns

bool

CollidesWith(GeoCircle3, GeoAabb3)

Determines whether a circle touches an axis-aligned box.

public static bool CollidesWith(GeoCircle3 circle, GeoAabb3 box)

Parameters

circle GeoCircle3
box GeoAabb3

Returns

bool

CollidesWith(GeoCircle3, GeoAabb3, Tolerance)

Determines whether a circle touches an axis-aligned box, within a tolerance.

public static bool CollidesWith(GeoCircle3 circle, GeoAabb3 box, Tolerance tolerance)

Parameters

circle GeoCircle3

The circle.

box GeoAabb3

The box.

tolerance Tolerance

The tolerance.

Returns

bool

CollidesWith(GeoCircle3, GeoPlane3)

Determines whether a circle touches a plane.

public static bool CollidesWith(GeoCircle3 circle, GeoPlane3 plane)

Parameters

circle GeoCircle3
plane GeoPlane3

Returns

bool

CollidesWith(GeoCircle3, GeoPlane3, Tolerance)

Determines whether a circle touches a plane, within a tolerance.

public static bool CollidesWith(GeoCircle3 circle, GeoPlane3 plane, Tolerance tolerance)

Parameters

circle GeoCircle3
plane GeoPlane3
tolerance Tolerance

Returns

bool

CollidesWith(GeoCircle3, GeoLine3)

Determines whether a circle touches a segment.

public static bool CollidesWith(GeoCircle3 circle, GeoLine3 line)

Parameters

circle GeoCircle3
line GeoLine3

Returns

bool

CollidesWith(GeoCircle3, GeoLine3, Tolerance)

Determines whether a circle touches a segment, within a tolerance.

public static bool CollidesWith(GeoCircle3 circle, GeoLine3 line, Tolerance tolerance)

Parameters

circle GeoCircle3
line GeoLine3
tolerance Tolerance

Returns

bool

Remarks

The rim is what counts, not the disc: a segment crossing the middle of the circle without reaching the rim touches nothing here. Contains(GeoCircle3, GeoPoint3) is the one that reads a circle as filled.

CollidesWith(GeoCircle3, GeoRay3)

Determines whether a circle touches a ray.

public static bool CollidesWith(GeoCircle3 circle, GeoRay3 ray)

Parameters

circle GeoCircle3
ray GeoRay3

Returns

bool

CollidesWith(GeoCircle3, GeoRay3, Tolerance)

Determines whether a circle touches a ray, within a tolerance.

public static bool CollidesWith(GeoCircle3 circle, GeoRay3 ray, Tolerance tolerance)

Parameters

circle GeoCircle3
ray GeoRay3
tolerance Tolerance

Returns

bool

CollidesWith(GeoArc3, GeoPlane3)

Determines whether an arc touches a plane.

public static bool CollidesWith(GeoArc3 arc, GeoPlane3 plane)

Parameters

arc GeoArc3
plane GeoPlane3

Returns

bool

CollidesWith(GeoArc3, GeoPlane3, Tolerance)

Determines whether an arc touches a plane, within a tolerance.

public static bool CollidesWith(GeoArc3 arc, GeoPlane3 plane, Tolerance tolerance)

Parameters

arc GeoArc3
plane GeoPlane3
tolerance Tolerance

Returns

bool

Remarks

An arc lying in the plane touches it everywhere, so this is true where GetIntersections(GeoArc3, GeoPlane3, Tolerance) is empty. The two answer different questions and that is the one case where they part.

CollidesWith(GeoArc3, GeoLine3)

Determines whether an arc touches a segment.

public static bool CollidesWith(GeoArc3 arc, GeoLine3 line)

Parameters

arc GeoArc3
line GeoLine3

Returns

bool

CollidesWith(GeoArc3, GeoLine3, Tolerance)

Determines whether an arc touches a segment, within a tolerance.

public static bool CollidesWith(GeoArc3 arc, GeoLine3 line, Tolerance tolerance)

Parameters

arc GeoArc3
line GeoLine3
tolerance Tolerance

Returns

bool

Remarks

Neither has an inside, so they touch only where they cross.

CollidesWith(GeoArc3, GeoRay3)

Determines whether an arc touches a ray.

public static bool CollidesWith(GeoArc3 arc, GeoRay3 ray)

Parameters

arc GeoArc3
ray GeoRay3

Returns

bool

CollidesWith(GeoArc3, GeoRay3, Tolerance)

Determines whether an arc touches a ray, within a tolerance.

public static bool CollidesWith(GeoArc3 arc, GeoRay3 ray, Tolerance tolerance)

Parameters

arc GeoArc3
ray GeoRay3
tolerance Tolerance

Returns

bool

CollidesWith(GeoArc3, GeoArc3)

Determines whether two arcs touch.

public static bool CollidesWith(GeoArc3 first, GeoArc3 second)

Parameters

first GeoArc3
second GeoArc3

Returns

bool

CollidesWith(GeoArc3, GeoArc3, Tolerance)

Determines whether two arcs touch, within a tolerance.

public static bool CollidesWith(GeoArc3 first, GeoArc3 second, Tolerance tolerance)

Parameters

first GeoArc3

The first arc.

second GeoArc3

The second arc.

tolerance Tolerance

The tolerance.

Returns

bool

Remarks

Two arcs of one circle cross nowhere and still touch wherever their sweeps overlap, so those are settled by asking whether either holds an end of the other.

CollidesWith(GeoArc3, GeoCircle3)

Determines whether an arc touches a circle.

public static bool CollidesWith(GeoArc3 arc, GeoCircle3 circle)

Parameters

arc GeoArc3
circle GeoCircle3

Returns

bool

CollidesWith(GeoArc3, GeoCircle3, Tolerance)

Determines whether an arc touches a circle, within a tolerance.

public static bool CollidesWith(GeoArc3 arc, GeoCircle3 circle, Tolerance tolerance)

Parameters

arc GeoArc3

The arc.

circle GeoCircle3

The circle.

tolerance Tolerance

The tolerance.

Returns

bool

CollidesWith(GeoCircle3, GeoCircle3)

Determines whether two circles touch.

public static bool CollidesWith(GeoCircle3 first, GeoCircle3 second)

Parameters

first GeoCircle3
second GeoCircle3

Returns

bool

CollidesWith(GeoCircle3, GeoCircle3, Tolerance)

Determines whether two circles touch, within a tolerance.

public static bool CollidesWith(GeoCircle3 first, GeoCircle3 second, Tolerance tolerance)

Parameters

first GeoCircle3

The first circle.

second GeoCircle3

The second circle.

tolerance Tolerance

The tolerance.

Returns

bool

CollidesWith(GeoArc3, GeoTriangle3)

Determines whether an arc touches a triangle.

public static bool CollidesWith(GeoArc3 arc, GeoTriangle3 triangle)

Parameters

arc GeoArc3
triangle GeoTriangle3

Returns

bool

CollidesWith(GeoArc3, GeoTriangle3, Tolerance)

Determines whether an arc touches a triangle, within a tolerance.

public static bool CollidesWith(GeoArc3 arc, GeoTriangle3 triangle, Tolerance tolerance)

Parameters

arc GeoArc3

The arc.

triangle GeoTriangle3

The triangle.

tolerance Tolerance

The tolerance.

Returns

bool

Remarks

An arc lying in the triangle's plane and wholly within it cuts no edge and still touches, so where the two are coplanar the arc's own start is asked about as well.

CollidesWith(GeoArc3, GeoPolygon3)

Determines whether an arc touches a polygon.

public static bool CollidesWith(GeoArc3 arc, GeoPolygon3 polygon)

Parameters

arc GeoArc3
polygon GeoPolygon3

Returns

bool

CollidesWith(GeoArc3, GeoPolygon3, Tolerance)

Determines whether an arc touches a polygon, within a tolerance.

public static bool CollidesWith(GeoArc3 arc, GeoPolygon3 polygon, Tolerance tolerance)

Parameters

arc GeoArc3

The arc.

polygon GeoPolygon3

The polygon.

tolerance Tolerance

The tolerance.

Returns

bool

Exceptions

ArgumentNullException

Thrown when the polygon is null.

CollidesWith(GeoArc3, GeoFace3)

Determines whether an arc touches a face.

public static bool CollidesWith(GeoArc3 arc, GeoFace3 face)

Parameters

arc GeoArc3
face GeoFace3

Returns

bool

CollidesWith(GeoArc3, GeoFace3, Tolerance)

Determines whether an arc touches a face, within a tolerance.

public static bool CollidesWith(GeoArc3 arc, GeoFace3 face, Tolerance tolerance)

Parameters

arc GeoArc3

The arc.

face GeoFace3

The face.

tolerance Tolerance

The tolerance.

Returns

bool

Remarks

The material is what counts. An arc running down the middle of a hole pierces the plane of the face where there is no face, and touches nothing.

Exceptions

ArgumentNullException

Thrown when the face is null.

CollidesWith(GeoCircle3, GeoTriangle3)

Determines whether a circle touches a triangle.

public static bool CollidesWith(GeoCircle3 circle, GeoTriangle3 triangle)

Parameters

circle GeoCircle3
triangle GeoTriangle3

Returns

bool

CollidesWith(GeoCircle3, GeoTriangle3, Tolerance)

Determines whether a circle touches a triangle, within a tolerance.

public static bool CollidesWith(GeoCircle3 circle, GeoTriangle3 triangle, Tolerance tolerance)

Parameters

circle GeoCircle3

The circle.

triangle GeoTriangle3

The triangle.

tolerance Tolerance

The tolerance.

Returns

bool

CollidesWith(GeoCircle3, GeoPolygon3)

Determines whether a circle touches a polygon.

public static bool CollidesWith(GeoCircle3 circle, GeoPolygon3 polygon)

Parameters

circle GeoCircle3
polygon GeoPolygon3

Returns

bool

CollidesWith(GeoCircle3, GeoPolygon3, Tolerance)

Determines whether a circle touches a polygon, within a tolerance.

public static bool CollidesWith(GeoCircle3 circle, GeoPolygon3 polygon, Tolerance tolerance)

Parameters

circle GeoCircle3

The circle.

polygon GeoPolygon3

The polygon.

tolerance Tolerance

The tolerance.

Returns

bool

CollidesWith(GeoCircle3, GeoFace3)

Determines whether a circle touches a face.

public static bool CollidesWith(GeoCircle3 circle, GeoFace3 face)

Parameters

circle GeoCircle3
face GeoFace3

Returns

bool

CollidesWith(GeoCircle3, GeoFace3, Tolerance)

Determines whether a circle touches a face, within a tolerance.

public static bool CollidesWith(GeoCircle3 circle, GeoFace3 face, Tolerance tolerance)

Parameters

circle GeoCircle3

The circle.

face GeoFace3

The face.

tolerance Tolerance

The tolerance.

Returns

bool