libgdx API

com.badlogic.gdx.math
Class Plane

java.lang.Object
  extended by com.badlogic.gdx.math.Plane
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:
badlogicgames@gmail.com
See Also:
Serialized Form

Nested Class Summary
static class Plane.PlaneSide
          Enum specifying on which side a point lies respective to the plane and it's normal.
 
Field Summary
 float d
           
 Vector3 normal
           
 
Constructor Summary
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
 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(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(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(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

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(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

libgdx API

Copyright 2010 Mario Zechner (contact@badlogicgames.com), Nathan Sweet (admin@esotericsoftware.com)