Table of Contents

Struct GeoRay3

Namespace
GeometryHelper.Geometry
Assembly
GeometryHelper.dll

Whether a ray touches another shape.

public readonly struct GeoRay3 : IEquatable<GeoRay3>
Implements
Inherited Members

Constructors

GeoRay3(GeoPoint3, GeoPoint3)

Initializes a new ray running from one point through another.

GeoRay3(GeoPoint3, GeoVector3)

Initializes a new ray.

Properties

Direction

Gets the direction of the ray, always normalized.

IsValid

Gets whether this is a shape a constructor could have made: the origin is a valid point and the direction of unit length.

Origin

Gets the origin point of the ray.

Methods

Clone()

Creates a copy of this ray.

CollidesWith(GeoAabb3)

Checks whether this ray starts inside an axis-aligned box or runs into it, using the default tolerance.

CollidesWith(GeoAabb3, Tolerance)

Checks whether this ray starts inside an axis-aligned box or runs into it, within a tolerance.

CollidesWith(GeoArc3)

Checks whether this ray touches an arc, using the default tolerance.

CollidesWith(GeoArc3, Tolerance)

Checks whether this ray touches an arc, within a tolerance.

CollidesWith(GeoCircle3)

Checks whether this ray touches a circle, using the default tolerance.

CollidesWith(GeoCircle3, Tolerance)

Checks whether this ray touches a circle, within a tolerance.

CollidesWith(GeoFace3)

Checks whether this ray runs into a face, using the default tolerance.

CollidesWith(GeoFace3, Tolerance)

Checks whether this ray runs into a face, within a tolerance.

CollidesWith(GeoLine3)

Determines whether this ray touches a segment.

CollidesWith(GeoLine3, Tolerance)

Determines whether this ray touches a segment, within a tolerance.

CollidesWith(GeoObb3)

Checks whether this ray starts inside an oriented box or runs into it, using the default tolerance.

CollidesWith(GeoObb3, Tolerance)

Checks whether this ray starts inside an oriented box or runs into it, within a tolerance.

CollidesWith(GeoPolygon3)

Checks whether this ray runs into a polygon, using the default tolerance.

CollidesWith(GeoPolygon3, Tolerance)

Checks whether this ray runs into a polygon, within a tolerance.

CollidesWith(GeoSolid3)

Checks whether this ray touches a solid, using the default tolerance.

CollidesWith(GeoSolid3, Tolerance)

Checks whether this ray touches a solid, within a tolerance.

CollidesWith(GeoTriangle3)

Checks whether this ray runs into a triangle, using the default tolerance.

CollidesWith(GeoTriangle3, Tolerance)

Checks whether this ray runs into a triangle, within a tolerance.

DistanceTo(GeoLine3)

Calculates the shortest distance between this ray and a line segment.

DistanceTo(GeoPoint3)

Calculates the shortest distance from this ray to a point.

DistanceTo(GeoSolid3)

Gets the distance from this ray to a solid, using the default tolerance.

DistanceTo(GeoSolid3, Tolerance)

Gets the distance from this ray to a solid, within a tolerance.

DistanceTo(GeoTriangle3)

Gets the distance from this ray to a triangle, using the default tolerance.

DistanceTo(GeoTriangle3, Tolerance)

Gets the distance from this ray to a triangle, within a tolerance.

Equals(GeoRay3)

Determines whether another ray has exactly the same origin and direction.

Equals(object)

Determines whether the specified object is equal to the current ray.

GetClosestPointOnBoundary(GeoPoint3)

Gets the closest point on this ray to a target point, clamped to the origin.

GetDistanceAtPoint(GeoPoint3)

Gets the distance from the origin to the point on the ray's carrier line closest to the supplied point. The result is negative when that point falls behind the origin.

GetHashCode()

Returns the hash code for this instance.

GetIntersections(GeoAabb3)

Gets every point where this ray crosses the surface of an axis-aligned box, using the default tolerance.

GetIntersections(GeoAabb3, Tolerance)

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

GetIntersections(GeoArc3)

Gets every point where an arc crosses this ray, using the default tolerance.

GetIntersections(GeoArc3, Tolerance)

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

GetIntersections(GeoCircle3)

Gets every point where a circle crosses this ray, using the default tolerance.

GetIntersections(GeoCircle3, Tolerance)

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

GetIntersections(GeoLine3)

Gets where this ray crosses a segment, as a list.

GetIntersections(GeoLine3, Tolerance)

Gets where this ray crosses a segment, as a list, within a tolerance.

GetIntersections(GeoObb3)

Gets every point where this ray crosses the surface of an oriented box, using the default tolerance.

GetIntersections(GeoObb3, Tolerance)

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

GetIntersections(GeoSolid3)

Gets every point where this ray crosses the surface of a solid, using the default tolerance.

GetIntersections(GeoSolid3, Tolerance)

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

GetPointAtDistance(double)

Gets the point at a distance measured from the origin along the ray direction.

GetShortestLineTo(GeoLine3)

Gets the shortest segment joining this ray to a segment, using the default tolerance.

GetShortestLineTo(GeoLine3, Tolerance)

Gets the shortest segment joining this ray to a segment, within a tolerance.

GetShortestLineTo(GeoSolid3)

Gets the shortest segment joining this ray to a solid, using the default tolerance.

GetShortestLineTo(GeoSolid3, Tolerance)

Gets the shortest segment joining this ray to a solid, within a tolerance.

GetShortestLineTo(GeoTriangle3)

Gets the shortest segment joining this ray to a triangle, using the default tolerance.

GetShortestLineTo(GeoTriangle3, Tolerance)

Gets the shortest segment joining this ray to a triangle, within a tolerance.

IsEqualTo(GeoRay3)

Compares whether this ray equals another ray using the default tolerance.

IsEqualTo(GeoRay3, Tolerance)

Compares whether this ray equals another ray within a tolerance.

IsParallelTo(GeoLine3)

Checks whether this ray is parallel to a line segment using the default tolerance.

IsParallelTo(GeoLine3, Tolerance)

Checks whether this ray is parallel to a line segment within a tolerance.

IsParallelTo(GeoPlane3)

Checks whether this ray runs parallel to a plane using the default tolerance.

IsParallelTo(GeoPlane3, Tolerance)

Checks whether this ray runs parallel to a plane within a tolerance.

IsPointOn(GeoPoint3)

Checks whether a point lies on this ray using the default tolerance.

IsPointOn(GeoPoint3, Tolerance)

Checks whether a point lies on this ray within a tolerance.

Locate(GeoPoint3)

Says where a point lies with respect to this ray.

Locate(GeoPoint3, Tolerance)

Says where a point lies with respect to this ray, within a tolerance.

Reverse()

Gets the ray running the opposite way from the same origin.

ToLine(double)

Gets the line segment covering the ray from its origin out to a given distance.

ToString()

Returns a string that represents the current ray.

TransformBy(GeoTransform3)

Applies a transformation to this ray.

Translate(GeoVector3)

Moves the ray by a vector.

TryIntersectWith(GeoArc3, out GeoPoint3[])

Tries to find where an arc crosses this ray, using the default tolerance.

TryIntersectWith(GeoArc3, out GeoPoint3[], Tolerance)

Tries to find where an arc crosses this ray, within a tolerance.

TryIntersectWith(GeoCircle3, out GeoPoint3[])

Tries to find where a circle crosses this ray, using the default tolerance.

TryIntersectWith(GeoCircle3, out GeoPoint3[], Tolerance)

Tries to find where a circle crosses this ray, within a tolerance.

TryIntersectWith(GeoFace3, out GeoPoint3)

Tries to find the point where this ray crosses a face, using the default tolerance.

TryIntersectWith(GeoFace3, out GeoPoint3, Tolerance)

Tries to find the point where this ray crosses a face, within a tolerance.

TryIntersectWith(GeoLine3, out GeoPoint3[])

Tries to find where this ray crosses a segment.

TryIntersectWith(GeoLine3, out GeoPoint3[], Tolerance)

Tries to find where this ray crosses a segment, within a tolerance.

TryIntersectWith(GeoPlane3, out GeoPoint3)

Tries to find the point where this ray crosses a plane, using the default tolerance.

TryIntersectWith(GeoPlane3, out GeoPoint3, Tolerance)

Tries to find the point where this ray crosses a plane, within a tolerance.

TryIntersectWith(GeoPolygon3, out GeoPoint3)

Tries to find the point where this ray crosses a polygon, using the default tolerance.

TryIntersectWith(GeoPolygon3, out GeoPoint3, Tolerance)

Tries to find the point where this ray crosses a polygon, within a tolerance.

TryIntersectWith(GeoTriangle3, out GeoPoint3)

Tries to find the point where this ray crosses a triangle, using the default tolerance.

TryIntersectWith(GeoTriangle3, out GeoPoint3, Tolerance)

Tries to find the point where this ray crosses a triangle, within a tolerance.

Operators

operator ==(GeoRay3, GeoRay3)

Checks if two rays have exactly the same origin and direction.

operator !=(GeoRay3, GeoRay3)

Checks if two rays differ in origin or direction.