public final class Rectangle extends java.lang.Object implements Savable, java.lang.Cloneable, java.io.Serializable
Rectangle defines a finite plane within three-dimensional space
 that is specified via three points (A, B, C). These three points define a
 triangle with the fourth point defining the rectangle (B + C) - A.
 The corner points are named as follows:
     C +---+ D
       |   |
       |   |
       |   |
       |   |
     A +---+ B
 
 If angle BAC isn't exactly 90 degrees, then the resulting shape is actually parallelogram, not a rectangle.
| Constructor and Description | 
|---|
| Rectangle()Constructor creates a new  Rectanglewith no defined corners. | 
| Rectangle(Vector3f a,
         Vector3f b,
         Vector3f c)Constructor creates a new  Rectanglewith defined A, B, and C
 points that define the area of the rectangle. | 
| Modifier and Type | Method and Description | 
|---|---|
| Vector3f | calculateD()Returns the coordinates of the 4th corner, calculated by the formula
 D = (B + C) - A . | 
| Vector3f | calculateNormal(Vector3f normal)Returns a normal vector, calculated by the formula | 
| Rectangle | clone()Create a copy of this rectangle. | 
| Vector3f | getA()getAreturns the first point of the rectangle. | 
| Vector3f | getB()getBreturns the second point of the rectangle. | 
| Vector3f | getC()getCreturns the third point of the rectangle. | 
| Vector3f | random()randomreturns a random point within the plane defined by:
 A, B, C, and (B + C) - A. | 
| Vector3f | random(Vector3f result)randomreturns a random point within the plane defined by:
 A, B, C, and (B + C) - A. | 
| void | read(JmeImporter importer)De-serialize this rectangle from the specified importer, for example
 when loading from a J3O file. | 
| void | setA(Vector3f a)setAsets the first point of the rectangle. | 
| void | setB(Vector3f b)setBsets the second point of the rectangle. | 
| void | setC(Vector3f c)setCsets the third point of the rectangle. | 
| void | write(JmeExporter e)Serialize this rectangle to the specified exporter, for example when
 saving to a J3O file. | 
public Rectangle()
Rectangle with no defined corners.
 A, B, and C must be set to define a valid rectangle.public Vector3f getA()
getA returns the first point of the rectangle.public void setA(Vector3f a)
setA sets the first point of the rectangle.a - the first point of the rectangle.public Vector3f getB()
getB returns the second point of the rectangle.public void setB(Vector3f b)
setB sets the second point of the rectangle.b - the second point of the rectangle.public Vector3f getC()
getC returns the third point of the rectangle.public void setC(Vector3f c)
setC sets the third point of the rectangle.c - the third point of the rectangle.public Vector3f calculateD()
public Vector3f calculateNormal(Vector3f normal)
      (C - B) x (B - A)
 N = -------------------
     |(C - B) x (B - A)|
 normal - storage for the normal, or null for a new Vector3fnormal or a new Vector3f)public Vector3f random()
random returns a random point within the plane defined by:
 A, B, C, and (B + C) - A.public Vector3f random(Vector3f result)
random returns a random point within the plane defined by:
 A, B, C, and (B + C) - A.result - Vector to store result inpublic void write(JmeExporter e) throws java.io.IOException
public void read(JmeImporter importer) throws java.io.IOException
public Rectangle clone()
clone in class java.lang.Object