libgdx API

## Class Plane

• java.lang.Object
• All Implemented Interfaces:
java.io.Serializable

```public class Plane
extends java.lang.Object
implements java.io.Serializable```
A plane defined via a unit length normal and the distance from the origin, as you learned in your math class.
Author:
Serialized Form
• ### Nested Class Summary

Nested Classes
Modifier and Type Class and Description
`static class ` `Plane.PlaneSide`
Enum specifying on which side a point lies respective to the plane and it's normal.
• ### Field Summary

Fields
Modifier and Type Field and Description
`float` `d`
`Vector3` `normal`
• ### Constructor Summary

Constructors
Constructor and Description
`Plane()`
Constructs a new plane with all values set to 0
```Plane(Vector3 normal, float d)```
Constructs a new plane based on the normal and distance to the origin.
```Plane(Vector3 normal, Vector3 point)```
Constructs a new plane based on the normal and a point on the plane.
```Plane(Vector3 point1, Vector3 point2, Vector3 point3)```
Constructs a new plane out of the three given points that are considered to be on the plane.
• ### Method Summary

All Methods
Modifier and Type Method and Description
`float` `distance(Vector3 point)`
Calculates the shortest signed distance between the plane and the given point.
`float` `getD()`
`Vector3` `getNormal()`
`boolean` `isFrontFacing(Vector3 direction)`
Returns whether the plane is facing the direction vector.
`void` ```set(float nx, float ny, float nz, float d)```
Sets the plane normal and distance
`void` ```set(float pointX, float pointY, float pointZ, float norX, float norY, float norZ)```
`void` `set(Plane plane)`
Sets this plane from the given plane
`void` ```set(Vector3 point, Vector3 normal)```
Sets the plane to the given point and normal.
`void` ```set(Vector3 point1, Vector3 point2, Vector3 point3)```
Sets the plane normal and distance to the origin based on the three given points which are considered to be on the plane.
`Plane.PlaneSide` ```testPoint(float x, float y, float z)```
Returns on which side the given point lies relative to the plane and its normal.
`Plane.PlaneSide` `testPoint(Vector3 point)`
Returns on which side the given point lies relative to the plane and its normal.
`java.lang.String` `toString()`
• ### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`
• ### Field Detail

• #### normal

`public final Vector3 normal`
• #### d

`public float d`
• ### Constructor Detail

• #### Plane

`public Plane()`
Constructs a new plane with all values set to 0
• #### Plane

```public Plane(Vector3 normal,
float d)```
Constructs a new plane based on the normal and distance to the origin.
Parameters:
`normal` - The plane normal
`d` - The distance to the origin
• #### Plane

```public Plane(Vector3 normal,
Vector3 point)```
Constructs a new plane based on the normal and a point on the plane.
Parameters:
`normal` - The normal
`point` - The point on the plane
• #### Plane

```public Plane(Vector3 point1,
Vector3 point2,
Vector3 point3)```
Constructs a new plane out of the three given points that are considered to be on the plane. The normal is calculated via a cross product between (point1-point2)x(point2-point3)
Parameters:
`point1` - The first point
`point2` - The second point
`point3` - The third point
• ### Method Detail

• #### set

```public void set(Vector3 point1,
Vector3 point2,
Vector3 point3)```
Sets the plane normal and distance to the origin based on the three given points which are considered to be on the plane. The normal is calculated via a cross product between (point1-point2)x(point2-point3)
Parameters:
`point1` -
`point2` -
`point3` -
• #### set

```public void set(float nx,
float ny,
float nz,
float d)```
Sets the plane normal and distance
Parameters:
`nx` - normal x-component
`ny` - normal y-component
`nz` - normal z-component
`d` - distance to origin
• #### distance

`public float distance(Vector3 point)`
Calculates the shortest signed distance between the plane and the given point.
Parameters:
`point` - The point
Returns:
the shortest signed distance between the plane and the point
• #### testPoint

`public Plane.PlaneSide testPoint(Vector3 point)`
Returns on which side the given point lies relative to the plane and its normal. PlaneSide.Front refers to the side the plane normal points to.
Parameters:
`point` - The point
Returns:
The side the point lies relative to the plane
• #### testPoint

```public Plane.PlaneSide testPoint(float x,
float y,
float z)```
Returns on which side the given point lies relative to the plane and its normal. PlaneSide.Front refers to the side the plane normal points to.
Parameters:
`x` -
`y` -
`z` -
Returns:
The side the point lies relative to the plane
• #### isFrontFacing

`public boolean isFrontFacing(Vector3 direction)`
Returns whether the plane is facing the direction vector. Think of the direction vector as the direction a camera looks in. This method will return true if the front side of the plane determined by its normal faces the camera.
Parameters:
`direction` - the direction
Returns:
whether the plane is front facing
• #### getNormal

`public Vector3 getNormal()`
Returns:
The normal
• #### getD

`public float getD()`
Returns:
The distance to the origin
• #### set

```public void set(Vector3 point,
Vector3 normal)```
Sets the plane to the given point and normal.
Parameters:
`point` - the point on the plane
`normal` - the normal of the plane
• #### set

```public void set(float pointX,
float pointY,
float pointZ,
float norX,
float norY,
float norZ)```
• #### set

`public void set(Plane plane)`
Sets this plane from the given plane
Parameters:
`plane` - the plane
• #### toString

`public java.lang.String toString()`
Overrides:
`toString` in class `java.lang.Object`