Package com.jme3.math
Class Plane
java.lang.Object
com.jme3.math.Plane
- All Implemented Interfaces:
Savable
,Serializable
,Cloneable
Plane
defines a plane where Normal dot (x,y,z) = Constant.
This provides methods for calculating a "distance" of a point from this
plane. The distance is pseudo due to the fact that it can be negative if the
point is on the non-normal side of the plane.- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic enum
Describe the relationship between a point and a plane. -
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionclone()
Create a copy of this plane.getClosestPoint
(Vector3f point) Find the point in this plane that's nearest to the specified point.getClosestPoint
(Vector3f point, Vector3f store) Find the point in this plane that's nearest to the specified point.float
getConstant
returns the constant of the plane.getNormal
retrieves the normal of the plane.boolean
float
pseudoDistance
(Vector3f point) pseudoDistance
calculates the distance from this plane to a provided point.void
read
(JmeImporter importer) De-serialize this plane from the specified importer, for example when loading from a J3O file.Reflect the specified point in this plane.void
setConstant
(float constant) setConstant
sets the constant value that helps define the plane.void
setNormal
(float x, float y, float z) setNormal
sets the normal of the plane.void
setNormal
sets the normal of the plane.void
setOriginNormal
(Vector3f origin, Vector3f normal) Initialize this plane using a point of origin and a normal.void
Initialize this plane using the three points of the given triangle.void
setPlanePoints
(Vector3f v1, Vector3f v2, Vector3f v3) Initialize the Plane using the given 3 points as coplanar.toString()
toString
returns a string representation of this plane.whichSide
returns the side at which a point lies on the plane.void
write
(JmeExporter e) Serialize this plane to the specified exporter, for example when saving to a J3O file.
-
Field Details
-
normal
Vector normal to the plane. -
constant
protected float constantConstant of the plane. See formula in class definition.
-
-
Constructor Details
-
Plane
public Plane()Constructor instantiates a newPlane
object. This is the default object and contains a normal of (0,0,0) and a constant of 0. -
Plane
Constructor instantiates a newPlane
object. The normal and constant values are set at creation.- Parameters:
normal
- the normal of the plane.constant
- the constant of the plane.
-
Plane
Constructor instantiates a newPlane
object.- Parameters:
normal
- The normal of the plane.displacement
- A vector representing a point on the plane.
-
-
Method Details
-
setNormal
setNormal
sets the normal of the plane.- Parameters:
normal
- the new normal of the plane.
-
setNormal
public void setNormal(float x, float y, float z) setNormal
sets the normal of the plane.- Parameters:
x
- the desired X component for the normal vectory
- the desired Y component for the normal vectorz
- the desired Z component for the normal vector
-
getNormal
getNormal
retrieves the normal of the plane.- Returns:
- the normal of the plane.
-
setConstant
public void setConstant(float constant) setConstant
sets the constant value that helps define the plane.- Parameters:
constant
- the new constant value.
-
getConstant
public float getConstant()getConstant
returns the constant of the plane.- Returns:
- the constant of the plane.
-
getClosestPoint
Find the point in this plane that's nearest to the specified point.- Parameters:
point
- the location of the input point (not null, unaffected)store
- storage for the result (not null, modified)- Returns:
- the location of the nearest point (store)
-
getClosestPoint
Find the point in this plane that's nearest to the specified point.- Parameters:
point
- location vector of the input point (not null, unaffected)- Returns:
- a new location vector in this plane
-
reflect
Reflect the specified point in this plane.- Parameters:
point
- location vector of the input point (not null, unaffected)store
- storage for the result (modified if not null)- Returns:
- a location vector for the reflected point (either store or a new vector)
-
pseudoDistance
pseudoDistance
calculates the distance from this plane to a provided point. If the point is on the negative side of the plane the distance returned is negative, otherwise it is positive. If the point is on the plane, it is zero.- Parameters:
point
- the point to check.- Returns:
- the signed distance from the plane to a point.
-
whichSide
whichSide
returns the side at which a point lies on the plane. The positive values returned are: NEGATIVE_SIDE, POSITIVE_SIDE and NO_SIDE.- Parameters:
point
- the point to check.- Returns:
- the side at which the point lies.
-
isOnPlane
-
setPlanePoints
Initialize this plane using the three points of the given triangle.- Parameters:
t
- the triangle
-
setOriginNormal
Initialize this plane using a point of origin and a normal.- Parameters:
origin
- the desired origin location (not null, unaffected)normal
- the desired normal vector (not null, unaffected)
-
setPlanePoints
Initialize the Plane using the given 3 points as coplanar.- Parameters:
v1
- the first pointv2
- the second pointv3
- the third point
-
toString
toString
returns a string representation of this plane. It represents the normal as aVector3f
, so the format is: Plane [Normal: (X.XXXX, Y.YYYY, Z.ZZZZ) - Constant: C.CCCC] -
write
Serialize this plane to the specified exporter, for example when saving to a J3O file.- Specified by:
write
in interfaceSavable
- Parameters:
e
- (not null)- Throws:
IOException
- from the exporter
-
read
De-serialize this plane from the specified importer, for example when loading from a J3O file.- Specified by:
read
in interfaceSavable
- Parameters:
importer
- (not null)- Throws:
IOException
- from the importer
-
clone
Create a copy of this plane.
-