org.osm2world.core.math
Class AxisAlignedBoundingBoxXZ

Object
  extended by AxisAlignedBoundingBoxXZ
All Implemented Interfaces:
Cloneable

public class AxisAlignedBoundingBoxXZ
extends Object
implements Cloneable

immutable representation of an axis-aligned bounding box with x and z dimensions


Field Summary
 double maxX
           
 double maxZ
           
 double minX
           
 double minZ
           
 
Constructor Summary
AxisAlignedBoundingBoxXZ(Collection<? extends Vector3D> boundedPoints)
           
AxisAlignedBoundingBoxXZ(double minX, double minZ, double maxX, double maxZ)
           
 
Method Summary
 VectorXZ bottomLeft()
           
 VectorXZ bottomRight()
           
 VectorXZ center()
           
 AxisAlignedBoundingBoxXZ clone()
           
 boolean contains(AxisAlignedBoundingBoxXZ otherBox)
           
 boolean contains(IntersectionTestObject object)
           
 boolean contains(VectorXZ v)
           
 boolean overlaps(AxisAlignedBoundingBoxXZ otherBox)
           
 AxisAlignedBoundingBoxXZ pad(double paddingSize)
          returns a bounding box that is a bit larger than this one
 SimplePolygonXZ polygonXZ()
           
 double sizeX()
           
 double sizeZ()
           
 VectorXZ topLeft()
           
 VectorXZ topRight()
           
static AxisAlignedBoundingBoxXZ union(AxisAlignedBoundingBoxXZ box1, AxisAlignedBoundingBoxXZ box2)
           
 
Methods inherited from class Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

minX

public final double minX

minZ

public final double minZ

maxX

public final double maxX

maxZ

public final double maxZ
Constructor Detail

AxisAlignedBoundingBoxXZ

public AxisAlignedBoundingBoxXZ(double minX,
                                double minZ,
                                double maxX,
                                double maxZ)

AxisAlignedBoundingBoxXZ

public AxisAlignedBoundingBoxXZ(Collection<? extends Vector3D> boundedPoints)
Parameters:
boundedPoints - must contain at least one point
Method Detail

sizeX

public double sizeX()

sizeZ

public double sizeZ()

center

public VectorXZ center()

polygonXZ

public SimplePolygonXZ polygonXZ()

bottomLeft

public VectorXZ bottomLeft()

bottomRight

public VectorXZ bottomRight()

topRight

public VectorXZ topRight()

topLeft

public VectorXZ topLeft()

pad

public AxisAlignedBoundingBoxXZ pad(double paddingSize)
returns a bounding box that is a bit larger than this one


overlaps

public boolean overlaps(AxisAlignedBoundingBoxXZ otherBox)

contains

public boolean contains(AxisAlignedBoundingBoxXZ otherBox)

contains

public boolean contains(IntersectionTestObject object)

contains

public boolean contains(VectorXZ v)

union

public static final AxisAlignedBoundingBoxXZ union(AxisAlignedBoundingBoxXZ box1,
                                                   AxisAlignedBoundingBoxXZ box2)

clone

public AxisAlignedBoundingBoxXZ clone()
Overrides:
clone in class Object