pythagoras.d

## Interface IPlane

• All Known Implementing Classes:
Plane

`public interface IPlane`
Provides read-only access to a `Plane`.
• ### Method Summary

All Methods
Modifier and Type Method and Description
`double` `constant()`
Returns the plane constant.
`double` `distance(IRay3 ray)`
Computes the signed distance to this plane along the specified ray.
`double` `distance(IVector3 pt)`
Computes and returns the signed distance from the plane to the specified point.
`DoubleBuffer` `get(DoubleBuffer buf)`
Stores the contents of this plane into the specified buffer.
`boolean` ```intersection(IRay3 ray, Vector3 result)```
Computes the intersection of the supplied ray with this plane, placing the result in the given vector (if the ray intersects).
`Plane` `negate()`
Negates this plane.
`Plane` `negate(Plane result)`
Negates this plane, placing the result in the object provided.
`IVector3` `normal()`
Returns the plane normal.
• ### Method Detail

• #### constant

`double constant()`
Returns the plane constant.
• #### normal

`IVector3 normal()`
Returns the plane normal.
• #### get

`DoubleBuffer get(DoubleBuffer buf)`
Stores the contents of this plane into the specified buffer.
• #### distance

`double distance(IVector3 pt)`
Computes and returns the signed distance from the plane to the specified point.
• #### negate

`Plane negate()`
Negates this plane.
Returns:
a new plane containing the result.
• #### negate

`Plane negate(Plane result)`
Negates this plane, placing the result in the object provided.
Returns:
a reference to the result, for chaining.
• #### intersection

```boolean intersection(IRay3 ray,
Vector3 result)```
Computes the intersection of the supplied ray with this plane, placing the result in the given vector (if the ray intersects).
Returns:
true if the ray intersects the plane (in which case the result will contain the point of intersection), false if not.
• #### distance

`double distance(IRay3 ray)`
Computes the signed distance to this plane along the specified ray.
Returns:
the signed distance, or `Float.NaN` if the ray runs parallel to the plane.