Class Ray3D
java.lang.Object
org.apache.commons.geometry.euclidean.threed.line.LineSubset3D
org.apache.commons.geometry.euclidean.threed.line.LineConvexSubset3D
org.apache.commons.geometry.euclidean.threed.line.Ray3D
Class representing a ray in 3D Euclidean space. A ray is a portion of a line consisting of
a single start point and extending to infinity along the direction of the line.
Instances of this class are guaranteed to be immutable.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final double
The start abscissa value for the ray. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) boolean
containsAbscissa
(double abscissa) Return true if the given abscissa value is contained in the line subset (ie, in the subspace region or one of its 1D boundaries).Get the 3D bounding box of the line subset or null if the subset is empty or infinite.Get the centroid, or geometric center, of the line subset or null if the subset is empty or infinite.Get the direction of the ray.Get the end point for the line subset.double
getSize()
Get the size of the instance.Get the start point for the line subset.double
Get the 1D end location of the line subset orDouble.POSITIVE_INFINITY
if no end location exists.double
Get the 1D start location of the line subset orDouble.NEGATIVE_INFINITY
if no start location exists.boolean
isFinite()
Return true if the size of the instance is finite.boolean
Return true if the size of the instance is infinite.toString()
Transform this instance.Methods inherited from class org.apache.commons.geometry.euclidean.threed.line.LineConvexSubset3D
contains, getInterval, getSubspaceRegion
Methods inherited from class org.apache.commons.geometry.euclidean.threed.line.LineSubset3D
getLine, toSpace, toSubspace
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.commons.geometry.core.Embedding
toSpace, toSubspace
-
Field Details
-
start
private final double startThe start abscissa value for the ray.
-
-
Constructor Details
-
Ray3D
Construct a ray from a line and a start point. The start point is projected onto the line. No validation is performed.- Parameters:
line
- line for the raystartPoint
- start point for the ray
-
Ray3D
Ray3D(Line3D line, double start) Construct a ray from a line and a 1D start location. No validation is performed.- Parameters:
line
- line for the raystart
- 1D start location
-
-
Method Details
-
isInfinite
public boolean isInfinite()Return true if the size of the instance is infinite.This method always returns
true
.- Returns:
- true if the size of the instance is infinite
-
isFinite
public boolean isFinite()Return true if the size of the instance is finite.This method always returns
false
.- Returns:
- true if the size of the instance is finite
-
getSize
public double getSize()Get the size of the instance.This method always returns
Double.POSITIVE_INFINITY
.- Returns:
- the size of the instance
-
getStartPoint
Description copied from class:LineConvexSubset3D
Get the start point for the line subset.- Specified by:
getStartPoint
in classLineConvexSubset3D
- Returns:
- the start point for the line subset, or null if no start point exists
-
getSubspaceStart
public double getSubspaceStart()Get the 1D start location of the line subset orDouble.NEGATIVE_INFINITY
if no start location exists.- Specified by:
getSubspaceStart
in classLineConvexSubset3D
- Returns:
- the 1D start location of the line subset or
Double.NEGATIVE_INFINITY
if no start location exists.
-
getEndPoint
Get the end point for the line subset.This method always returns
null
.- Specified by:
getEndPoint
in classLineConvexSubset3D
- Returns:
- the end point for the line subset, or null if no end point exists.
-
getSubspaceEnd
public double getSubspaceEnd()Get the 1D end location of the line subset orDouble.POSITIVE_INFINITY
if no end location exists.This method always returns
Double.POSITIVE_INFINITY
.- Specified by:
getSubspaceEnd
in classLineConvexSubset3D
- Returns:
- the 1D end location of the line subset or
Double.POSITIVE_INFINITY
if no end location exists
-
getCentroid
Get the centroid, or geometric center, of the line subset or null if the subset is empty or infinite.This method always returns
null
.- Specified by:
getCentroid
in classLineSubset3D
- Returns:
- the centroid of the line subset, or null if the subset is empty or infinite
-
getBounds
Get the 3D bounding box of the line subset or null if the subset is empty or infinite.This method always returns
null
.- Specified by:
getBounds
in classLineSubset3D
- Returns:
- the 3D bounding box the line subset or null if the subset is empty or infinite
-
getDirection
Get the direction of the ray. This is a convenience method forray.getLine().getDirection()
.- Returns:
- the direction of the ray
-
transform
Transform this instance.- Specified by:
transform
in classLineConvexSubset3D
- Parameters:
transform
- the transform to apply- Returns:
- a new, transformed instance
-
toString
-
containsAbscissa
boolean containsAbscissa(double abscissa) Return true if the given abscissa value is contained in the line subset (ie, in the subspace region or one of its 1D boundaries).- Specified by:
containsAbscissa
in classLineConvexSubset3D
- Parameters:
abscissa
- abscissa to check- Returns:
- true if
abscissa
lies on the inside or boundary of the subspace region
-