com.esri.core.geometry
Class Envelope

java.lang.Object
  extended by com.esri.core.geometry.Geometry
      extended by com.esri.core.geometry.Envelope
All Implemented Interfaces:
Serializable

public final class Envelope
extends Geometry
implements Serializable

Envelopes are the rectangular window that contain a specific element.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class com.esri.core.geometry.Geometry
Geometry.Type
 
Constructor Summary
Envelope()
          Constructs an empty envelope.
Envelope(double xmin, double ymin, double xmax, double ymax)
          Constructs an envelope with the specified X and Y extents.
Envelope(Point point)
          Constructs an envelope that covers the given point.
Envelope(Point center, double width, double height)
          Creates an envelope by defining its center, width, and height.
 
Method Summary
 void applyTransformation(Transformation2D transform)
          Applies 2D affine transformation in XY plane.
 double calculateArea2D()
          Calculates the area of the geometry.
 double calculateLength2D()
          Calculates the length of the geometry.
 void centerAt(Point c)
          Centers the envelope around the specified point preserving the envelope's width and height.
 void centerAt(Point c, double w, double h)
          Sets the envelope's corners to be centered around the specified point, using it's center, width, and height.
 boolean contains(Envelope env)
          Checks if this envelope contains (covers) other envelope.
 boolean contains(Point p)
          Checks if this envelope contains (covers) the specified point.
 void copyTo(Geometry dst)
          Copies this geometry to another geometry of the same type.
 Geometry createInstance()
          Creates an instance of an empty geometry of the same type.
 boolean equals(Object _other)
          Returns TRUE when this geometry has exactly same type, properties, and coordinates as the other geometry.
 Point getCenter()
          Returns the center point of the envelope.
 double getCenterX()
          The X coordinate of center of the envelope.
 double getCenterY()
          The Y coordinate fo the center of the envelope.
 int getDimension()
          Returns the topological dimension of the geometry object based on the geometry's type.
 double getHeight()
          The height of the envelope.
 Point getLowerLeft()
          Returns the envelope's lower left corner point.
 Point getLowerRight()
          Returns the envelope's lower right corner point.
 Geometry.Type getType()
          Returns the geometry type.
 Point getUpperLeft()
          Returns the envelope's upper left corner point.
 Point getUpperRight()
          Returns the envelope's upper right corner point.
 double getWidth()
          The width of the envelope.
 double getXMax()
          Returns the X coordinate of the right corners of the envelope.
 double getXMin()
          Returns the X coordinate of the left corners of the envelope.
 double getYMax()
          Returns the Y coordinate of the top corners of the envelope.
 double getYMin()
          Returns the Y coordinate of the bottom corners of the envelope.
 int hashCode()
          Returns a hash code value for this envelope.
 void inflate(double dx, double dy)
          Changes the dimensions of the envelope, preserving the center.
 boolean intersect(Envelope other)
          Changes this envelope to be the intersection of itself with the other envelope.
 boolean isEmpty()
          Indicates whether this envelope contains any points.
 boolean isIntersecting(Envelope other)
          Returns true if the envelope and the other given envelope intersect.
 void merge(Envelope other)
          Merges this envelope with the extent of the given envelope.
 void merge(Point point)
          Merges this envelope with the point.
 void normalize()
          Normalizes envelopes if the minimum dimension is larger then then the maximum dimension.
 void offset(double dx, double dy)
          Offsets the envelope by the specified distances along x and y coordinates.
 void queryCornerByVal(int index, Point ptDst)
          Sets the point's coordinates to the coordinates of the envelope at the given corner.
 void queryEnvelope(Envelope env)
          Gets the axis aligned bounding box of the geometry.
 void reaspect(double arWidth, double arHeight)
          Re-aspects this envelope to fit within the specified width and height.
 void setCoords(double xmin, double ymin, double xmax, double ymax)
          Sets the 2 dimensional extents of the envelope.
 void setEmpty()
          Removes all points from this geometry.
 void setXMax(double x)
          Sets the right X coordinate.
 void setXMin(double x)
          Sets the left X coordinate.
 void setYMax(double y)
          Sets the top Y coordinate.
 void setYMin(double y)
          Sets the bottom Y coordinate.
 
Methods inherited from class com.esri.core.geometry.Geometry
copy, getDimensionFromType, getStateFlag, isArea, isLinear, isMultiPath, isMultiVertex, isPoint, isSegment
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Envelope

public Envelope(Point center,
                double width,
                double height)
Creates an envelope by defining its center, width, and height.

Parameters:
center - The center point of the envelope.
width - The width of the envelope.
height - The height of the envelope.

Envelope

public Envelope()
Constructs an empty envelope.


Envelope

public Envelope(Point point)
Constructs an envelope that covers the given point. The coordinates of the point are used to set the envelope's extent.

Parameters:
point - - The point that the envelope covers.

Envelope

public Envelope(double xmin,
                double ymin,
                double xmax,
                double ymax)
Constructs an envelope with the specified X and Y extents.

Parameters:
xmin - The minimum X coordinate of the envelope.
ymin - The minimum Y coordinate of the envelope.
xmax - The maximum X coordinate of the envelope.
ymax - The maximum Y coordinate of the envelope.
Method Detail

setCoords

public void setCoords(double xmin,
                      double ymin,
                      double xmax,
                      double ymax)
Sets the 2 dimensional extents of the envelope.

Parameters:
xmin - The minimum X coordinate of the envelope.
ymin - The minimum Y coordinate of the envelope.
xmax - The maximum X coordinate of the envelope.
ymax - The maximum Y coordinate of the envelope.

setEmpty

public void setEmpty()
Removes all points from this geometry.

Specified by:
setEmpty in class Geometry

isEmpty

public boolean isEmpty()
Indicates whether this envelope contains any points.

Specified by:
isEmpty in class Geometry
Returns:
boolean Returns true if the envelope is empty.

getWidth

public double getWidth()
The width of the envelope.

Returns:
The width of the envelope.

getHeight

public double getHeight()
The height of the envelope.

Returns:
The height of the envelope.

getCenterX

public double getCenterX()
The X coordinate of center of the envelope.

Returns:
The center's X coordinate of the envelope.

getCenterY

public double getCenterY()
The Y coordinate fo the center of the envelope.

Returns:
The center's Y coordinate of the envelope.

merge

public void merge(Envelope other)
Merges this envelope with the extent of the given envelope. If the original envelope is empty, the coordinates of the envelope to merge with are assigned. If the envelope to merge with is empty, the original envelope stays unchanged.

Parameters:
other - The envelope to merge with.

merge

public void merge(Point point)
Merges this envelope with the point. The boundary of the envelope is increased to include the point. If the envelope is empty, the coordinates of the point to merge are assigned. If the point is empty, the original envelope stays unchanged.

Parameters:
point - The point to be merged with.

reaspect

public void reaspect(double arWidth,
                     double arHeight)
Re-aspects this envelope to fit within the specified width and height.

Parameters:
arWidth - The width within which to fit the envelope.
arHeight - The height within which to fit the envelope.

inflate

public void inflate(double dx,
                    double dy)
Changes the dimensions of the envelope, preserving the center. New width is Width + 2 * dx, new height is Height + 2 * dy. If the result envelope width or height becomes negative, the envelope is set to be empty.

Parameters:
dx - The inflation along the X axis.
dy - The inflation along the Y axis.

applyTransformation

public void applyTransformation(Transformation2D transform)
Description copied from class: Geometry
Applies 2D affine transformation in XY plane.

Specified by:
applyTransformation in class Geometry
Parameters:
transform - The affine transformation to be applied to this geometry.

copyTo

public void copyTo(Geometry dst)
Description copied from class: Geometry
Copies this geometry to another geometry of the same type. The result geometry is an exact copy.

Specified by:
copyTo in class Geometry

createInstance

public Geometry createInstance()
Description copied from class: Geometry
Creates an instance of an empty geometry of the same type.


calculateArea2D

public double calculateArea2D()
Description copied from class: Geometry
Calculates the area of the geometry. If the spatial reference is a Geographic Coordinate System (WGS84) then the 2D area calculation is defined in angular units.

Overrides:
calculateArea2D in class Geometry
Returns:
A double value representing the 2D area of the geometry.

calculateLength2D

public double calculateLength2D()
Description copied from class: Geometry
Calculates the length of the geometry. If the spatial reference is a Geographic Coordinate System (a system where coordinates are defined using angular units such as longitude and latitude) then the 2D distance calculation is returned in angular units. In cases where length must be calculated on a Geographic Coordinate System consider the using the geodeticLength method in GeometryEngine.

Overrides:
calculateLength2D in class Geometry
Returns:
A double value representing the 2D length of the geometry.

getType

public Geometry.Type getType()
Description copied from class: Geometry
Returns the geometry type.

Specified by:
getType in class Geometry
Returns:
Returns the geometry type.

getDimension

public int getDimension()
Description copied from class: Geometry
Returns the topological dimension of the geometry object based on the geometry's type.

Returns 0 for point and multipoint.

Returns 1 for lines and polylines.

Returns 2 for polygons and envelopes

Returns 3 for objects with volume

Specified by:
getDimension in class Geometry
Returns:
Returns the integer value of the dimension of geometry.

queryEnvelope

public void queryEnvelope(Envelope env)
Description copied from class: Geometry
Gets the axis aligned bounding box of the geometry.

Specified by:
queryEnvelope in class Geometry
Parameters:
env - The envelope to return the result in.

queryCornerByVal

public void queryCornerByVal(int index,
                             Point ptDst)
Sets the point's coordinates to the coordinates of the envelope at the given corner.

Parameters:
index - The index of the envlope's corners from 0 to 3.

0 = lower left corner

1 = top-left corner

2 = top right corner

3 = bottom right corner

ptDst - The point whose coordinates are used to set the envelope's coordinate at a specified corner.

intersect

public boolean intersect(Envelope other)
Changes this envelope to be the intersection of itself with the other envelope.

Parameters:
other - The envelope to intersect with.
Returns:
Returns true if the result is not empty.

isIntersecting

public boolean isIntersecting(Envelope other)
Returns true if the envelope and the other given envelope intersect.

Parameters:
other - The envelope to test intersection with.
Returns:
Returns true if the two envelopes are intersecting.

centerAt

public void centerAt(Point c,
                     double w,
                     double h)
Sets the envelope's corners to be centered around the specified point, using it's center, width, and height.

Parameters:
c - The point around which to center the envelope.
w - The width to be set for the envelope.
h - The height to be set for this envelope.

offset

public void offset(double dx,
                   double dy)
Offsets the envelope by the specified distances along x and y coordinates.

Parameters:
dx - The X offset to be applied.
dy - The Y offset to be applied.

normalize

public void normalize()
Normalizes envelopes if the minimum dimension is larger then then the maximum dimension.


getCenter

public Point getCenter()
Returns the center point of the envelope.

Returns:
The center point of the envelope.

centerAt

public void centerAt(Point c)
Centers the envelope around the specified point preserving the envelope's width and height.

Parameters:
c - The new center point.

getLowerLeft

public Point getLowerLeft()
Returns the envelope's lower left corner point.

Returns:
Returns the lower left corner point.

getUpperRight

public Point getUpperRight()
Returns the envelope's upper right corner point.

Returns:
Returns the upper right corner point.

getLowerRight

public Point getLowerRight()
Returns the envelope's lower right corner point.

Returns:
Returns the lower right corner point.

getUpperLeft

public Point getUpperLeft()
Returns the envelope's upper left corner point.

Returns:
Returns the upper left corner point.

contains

public boolean contains(Point p)
Checks if this envelope contains (covers) the specified point.

Parameters:
p - The Point to be tested for coverage.
Returns:
TRUE if this envelope contains (covers) the specified point.

contains

public boolean contains(Envelope env)
Checks if this envelope contains (covers) other envelope.

Parameters:
env - The envelope to be tested for coverage.
Returns:
TRUE if this envelope contains (covers) the specified envelope.

equals

public boolean equals(Object _other)
Returns TRUE when this geometry has exactly same type, properties, and coordinates as the other geometry.

Overrides:
equals in class Object

hashCode

public int hashCode()
Returns a hash code value for this envelope.

Overrides:
hashCode in class Object
Returns:
A hash code value for this envelope.

getXMin

public final double getXMin()
Returns the X coordinate of the left corners of the envelope.

Returns:
The X coordinate of the left corners.

getYMin

public final double getYMin()
Returns the Y coordinate of the bottom corners of the envelope.

Returns:
The Y coordinate of the bottom corners.

getXMax

public final double getXMax()
Returns the X coordinate of the right corners of the envelope.

Returns:
The X coordinate of the right corners.

getYMax

public final double getYMax()
Returns the Y coordinate of the top corners of the envelope.

Returns:
The Y coordinate of the top corners.

setXMin

public void setXMin(double x)
Sets the left X coordinate.

Parameters:
x - The X coordinate of the left corner

setXMax

public void setXMax(double x)
Sets the right X coordinate.

Parameters:
x - The X coordinate of the right corner.

setYMin

public void setYMin(double y)
Sets the bottom Y coordinate.

Parameters:
y - the Y coordinate of the bottom corner.

setYMax

public void setYMax(double y)
Sets the top Y coordinate.

Parameters:
y - The Y coordinate of the top corner.


Copyright © 2012. All Rights Reserved.