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
Nested ClassesModifier and TypeClassDescriptionstatic enumDescribe the relationship between a point and a plane. -
Field Summary
Fields -
Constructor Summary
Constructors -
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.floatgetConstantreturns the constant of the plane.getNormalretrieves the normal of the plane.booleanfloatpseudoDistance(Vector3f point) pseudoDistancecalculates the distance from this plane to a provided point.voidread(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.voidsetConstant(float constant) setConstantsets the constant value that helps define the plane.voidsetNormal(float x, float y, float z) setNormalsets the normal of the plane.voidsetNormalsets the normal of the plane.voidsetOriginNormal(Vector3f origin, Vector3f normal) Initialize this plane using a point of origin and a normal.voidInitialize this plane using the three points of the given triangle.voidsetPlanePoints(Vector3f v1, Vector3f v2, Vector3f v3) Initialize the Plane using the given 3 points as coplanar.toString()toStringreturns a string representation of this plane.whichSidereturns the side at which a point lies on the plane.voidwrite(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 newPlaneobject. This is the default object and contains a normal of (0,0,0) and a constant of 0. -
Plane
Constructor instantiates a newPlaneobject. 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 newPlaneobject.- Parameters:
normal- The normal of the plane.displacement- A vector representing a point on the plane.
-
-
Method Details
-
setNormal
setNormalsets the normal of the plane.- Parameters:
normal- the new normal of the plane.
-
setNormal
public void setNormal(float x, float y, float z) setNormalsets 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
getNormalretrieves the normal of the plane.- Returns:
- the normal of the plane.
-
setConstant
public void setConstant(float constant) setConstantsets the constant value that helps define the plane.- Parameters:
constant- the new constant value.
-
getConstant
public float getConstant()getConstantreturns 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
pseudoDistancecalculates 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
whichSidereturns 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
toStringreturns 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:
writein 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:
readin interfaceSavable- Parameters:
importer- (not null)- Throws:
IOException- from the importer
-
clone
Create a copy of this plane.
-