## Types in MathNet.Spatial.Euclidean

Type Ray3D

Namespace MathNet.Spatial.Euclidean

Parent ValueType

Interfaces IEquatable<Ray3D>, IXmlSerializable, IFormattable

A ray in 3D space

### Public Constructors

#### Ray3D(Point3D throughPoint, UnitVector3D direction)

Initializes a new instance of the Ray3D struct.
##### Parameters
###### `Point3D` throughPoint

The start point of the ray.

###### `UnitVector3D` direction

The direction of the ray.

#### Ray3D(Point3D throughPoint, Vector3D direction)

Initializes a new instance of the Ray3D struct.
##### Parameters
###### `Point3D` throughPoint

The start point of the ray.

###### `Vector3D` direction

A vector indicating the direction of the ray.

### Public Static Functions

#### Ray3DIntersectionOf(Plane plane1, Plane plane2)

The intersection of the two planes

The first plane

The second plane

##### Return
###### `Ray3D`

A ray at the intersection of two planes

#### Ray3DParse(string point, string direction)

Parses string representation of throughpoint and direction See Parse and Parse for details on acceptable formats. This is mainly meant for tests
##### Parameters
###### `string` point

a string representing a start point for the ray.

###### `string` direction

a string representing a direction for the ray.

A ray.

### Public Methods

#### boolEquals(Ray3D other, double tolerance)

Returns a value to indicate if a pair of rays are equal
##### Parameters
###### `Ray3D` other

The ray to compare against.

###### `double` tolerance

A tolerance (epsilon) to adjust for floating point error

##### Return
###### `bool`

True if the rays are equal; otherwise false

#### Nullable<Point3D>IntersectionWith(Plane plane)

Returns the point at which this ray intersects with the plane
##### Parameters
###### `Plane` plane

A geometric plane.

##### Return
###### `Nullable<Point3D>`

A point of intersection if such an intersection exists; otherwise null.

#### boolIsCollinear(Ray3D otherRay, double tolerance)

Returns a value to indicate if a pair of rays are collinear
##### Parameters
###### `Ray3D` otherRay

The ray to compare against.

###### `double` tolerance

A tolerance (epsilon) to adjust for floating point error

##### Return
###### `bool`

True if the rays are collinear; otherwise false.

#### LineSegment3DShortestLineTo(Point3D point3D)

Returns the shortest line from a point to the ray

A point.

##### Return
###### `LineSegment3D`

A line segment from the point to the closest point on the ray

### Public fields

#### Point3D ThroughPoint

The start point of the ray
 `return Point3D`

#### UnitVector3D Direction

The direction of the ray
 `return UnitVector3D`