org.jzy3d.maths
Class BoundingBox2d

java.lang.Object
  extended by org.jzy3d.maths.BoundingBox2d

public class BoundingBox2d
extends java.lang.Object

A BoundingBox2d stores a couple of maximal and minimal limit on each dimension (x, y). It provides functions for enlarging the box by adding coordinates or an other BoundingBox2d (that is equivalent to computing the union of the current BoundingBox and another one).

Author:
Martin Pernollet

Constructor Summary
BoundingBox2d()
          Initialize a BoundingBox by calling its reset method.
BoundingBox2d(float xmin, float xmax, float ymin, float ymax)
          Initialize a BoundingBox with raw values.
BoundingBox2d(java.util.List<Coord2d> list)
           
 
Method Summary
 void add(BoundingBox2d b)
          Add a BoundingBox2d volume to the current one.
 void add(Coord2d p)
          Add a Point3d to the BoundingBox3d.
 void add(float x, float y)
          Adds an x,y point to the bounding box, and enlarge the bounding box if this points lies outside of it.
 boolean contains(BoundingBox2d b2)
          Return true if b2 is contained by this box.
 boolean contains(Coord2d c)
          Return true if coordinates is contained by this box.
 Coord2d getCenter()
          Compute and return the center point of the BoundingBox3d
 double getRadius()
          Return the radius of the Sphere containing the Bounding Box, i.e., the distance between the center and the point (xmin, ymin, zmin).
 java.util.List<Coord2d> getVertices()
           
 Range getXRange()
           
 Range getYRange()
           
 boolean intersect(BoundingBox2d b2)
          Return true if intersect b2.
 void reset()
          Initialize the bounding box with Float.MAX_VALUE as minimum value, and -Float.MAX_VALUE as maximum value for each dimension.
 BoundingBox2d scale(Coord2d scale)
          Return a copy of the current bounding box after scaling.
 java.lang.String toString()
           
 java.lang.String toString(int depth)
           
 float xmax()
          Return the maximum x value.
 float xmin()
          Return the minimum x value.
 float ymax()
          Return the maximum y value.
 float ymin()
          Return the minimum y value.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BoundingBox2d

public BoundingBox2d()
Initialize a BoundingBox by calling its reset method.


BoundingBox2d

public BoundingBox2d(java.util.List<Coord2d> list)

BoundingBox2d

public BoundingBox2d(float xmin,
                     float xmax,
                     float ymin,
                     float ymax)
Initialize a BoundingBox with raw values.

Method Detail

reset

public void reset()
Initialize the bounding box with Float.MAX_VALUE as minimum value, and -Float.MAX_VALUE as maximum value for each dimension.


add

public void add(float x,
                float y)
Adds an x,y point to the bounding box, and enlarge the bounding box if this points lies outside of it.

Parameters:
x -
y -

add

public void add(Coord2d p)
Add a Point3d to the BoundingBox3d. A shortcut for: add(p.x, p.y);

Parameters:
p -

add

public void add(BoundingBox2d b)
Add a BoundingBox2d volume to the current one. A convenient shortcut for: add(b.xmin, b.ymin); add(b.xmax, b.ymax);

Parameters:
p -

getXRange

public Range getXRange()

getYRange

public Range getYRange()

getCenter

public Coord2d getCenter()
Compute and return the center point of the BoundingBox3d

Returns:
the center.

getRadius

public double getRadius()
Return the radius of the Sphere containing the Bounding Box, i.e., the distance between the center and the point (xmin, ymin, zmin).

Returns:
the box radius.

scale

public BoundingBox2d scale(Coord2d scale)
Return a copy of the current bounding box after scaling. Scaling does not modify the current bounding box.

Returns:
the scaled bounding box

contains

public boolean contains(BoundingBox2d b2)
Return true if b2 is contained by this box. Note: if b1.contains(b2), then b1.intersect(b2) as well.


contains

public boolean contains(Coord2d c)
Return true if coordinates is contained by this box.


intersect

public boolean intersect(BoundingBox2d b2)
Return true if intersect b2.


xmin

public float xmin()
Return the minimum x value.

Returns:

xmax

public float xmax()
Return the maximum x value.

Returns:

ymin

public float ymin()
Return the minimum y value.

Returns:

ymax

public float ymax()
Return the maximum y value.

Returns:

getVertices

public java.util.List<Coord2d> getVertices()

toString

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

toString

public java.lang.String toString(int depth)