distanceToPlane( plane ) {

		const denominator = plane.normal.dot( this.direction );

		if ( denominator === 0 ) {

			// line is coplanar, return origin
			if ( plane.distanceToPoint( this.origin ) === 0 ) {

				return 0;

			}

			// Null is preferable to undefined since undefined means.... it is undefined

			return null;

		}

		const t = - ( this.origin.dot( plane.normal ) + plane.constant ) / denominator;

		// Return if the ray never intersects the plane

		return t >= 0 ? t : null;

	}
Computes the distance from the ray's origin to the given plane. Returns `null` if the ray
does not intersect with the plane.

@param {Plane} plane - The plane to compute the distance to.
@return {?number} Whether this ray intersects with the given sphere or not.