geos::Envelope Class Reference

An Envelope defines a rectangulare region of the 2D coordinate plane. More...

#include <geos.h>

List of all members.

Public Member Functions

 Envelope (void)
 Envelope (double x1, double x2, double y1, double y2)
 Envelope (const Coordinate &p1, const Coordinate &p2)
 Envelope (const Coordinate &p)
 Envelope (const Envelope &env)
virtual ~Envelope (void)
 Default destructor.
void init (void)
void init (double x1, double x2, double y1, double y2)
void init (const Coordinate &p1, const Coordinate &p2)
void init (const Coordinate &p)
void init (Envelope env)
void setToNull (void)
bool isNull (void) const
double getWidth (void) const
double getHeight (void) const
double getMaxY () const
double getMaxX () const
double getMinY () const
double getMinX () const
void expandToInclude (const Coordinate &p)
void expandToInclude (double x, double y)
void expandToInclude (const Envelope *other)
bool contains (const Coordinate &p) const
bool contains (double x, double y) const
bool contains (const Envelope *other) const
bool overlaps (const Coordinate &p) const
bool overlaps (double x, double y) const
bool overlaps (const Envelope *other) const
bool intersects (const Coordinate &p) const
bool intersects (double x, double y) const
bool intersects (const Envelope *other) const
string toString (void) const
double distance (const Envelope *env) const

Static Public Member Functions

static bool intersects (const Coordinate &p1, const Coordinate &p2, const Coordinate &q)
static bool intersects (const Coordinate &p1, const Coordinate &p2, const Coordinate &q1, const Coordinate &q2)


Detailed Description

An Envelope defines a rectangulare region of the 2D coordinate plane.

It is often used to represent the bounding box of a Geometry, e.g. the minimum and maximum x and y values of the Coordinates.

Note that Envelopes support infinite or half-infinite regions, by using the values of Double_POSITIVE_INFINITY and Double_NEGATIVE_INFINITY.

When Envelope objects are created or initialized, the supplies extent values are automatically sorted into the correct order.


Constructor & Destructor Documentation

geos::Envelope::Envelope void   ) 
 

Creates a null Envelope.

geos::Envelope::Envelope double  x1,
double  x2,
double  y1,
double  y2
 

Creates an Envelope for a region defined by maximum and minimum values.

Parameters:
x1 the first x-value
x2 the second x-value
y1 the first y-value
y2 the second y-value

geos::Envelope::Envelope const Coordinate p1,
const Coordinate p2
 

Creates an Envelope for a region defined by two Coordinates.

Parameters:
p1 the first Coordinate
p2 the second Coordinate

geos::Envelope::Envelope const Coordinate p  ) 
 

Creates an Envelope for a region defined by a single Coordinate.

Parameters:
p the Coordinate

geos::Envelope::Envelope const Envelope env  ) 
 

Create an Envelope from an existing Envelope.

Parameters:
env the Envelope to initialize from


Member Function Documentation

bool geos::Envelope::contains const Envelope other  )  const
 

Returns true if the Envelope other lies wholely inside this Envelope (inclusive of the boundary).

Parameters:
other the Envelope which this Envelope is being checked for containing
Returns:
true if other is contained in this Envelope

bool geos::Envelope::contains double  x,
double  y
const
 

Returns true if the given point lies in or on the envelope.

Parameters:
x the x-coordinate of the point which this Envelope is being checked for containing
y the y-coordinate of the point which this Envelope is being checked for containing
Returns:
true if (x, y) lies in the interior or on the boundary of this Envelope.

bool geos::Envelope::contains const Coordinate p  )  const
 

Returns true if the given point lies in or on the envelope.

Parameters:
p the point which this Envelope is being checked for containing
Returns:
true if the point lies in the interior or on the boundary of this Envelope.

double geos::Envelope::distance const Envelope env  )  const
 

Computes the distance between this and another Envelope. The distance between overlapping Envelopes is 0. Otherwise, the distance is the Euclidean distance between the closest points.

void geos::Envelope::expandToInclude const Envelope other  ) 
 

Enlarges the boundary of the Envelope so that it contains other. Does nothing if other is wholly on or within the boundaries.

Parameters:
other the Envelope to merge with

void geos::Envelope::expandToInclude double  x,
double  y
 

Enlarges the boundary of the Envelope so that it contains (x,y). Does nothing if (x,y) is already on or within the boundaries.

Parameters:
x the value to lower the minimum x to or to raise the maximum x to
y the value to lower the minimum y to or to raise the maximum y to

void geos::Envelope::expandToInclude const Coordinate p  ) 
 

Enlarges the boundary of the Envelope so that it contains p. Does nothing if p is already on or within the boundaries.

Parameters:
p the Coordinate to include

double geos::Envelope::getHeight void   )  const
 

Returns the difference between the maximum and minimum y values.

Returns:
max y - min y, or 0 if this is a null Envelope

double geos::Envelope::getMaxX  )  const
 

Returns the Envelopes maximum x-value. min x > max x indicates that this is a null Envelope.

Returns:
the maximum x-coordinate

double geos::Envelope::getMaxY  )  const
 

Returns the Envelopes maximum y-value. min y > max y indicates that this is a null Envelope.

Returns:
the maximum y-coordinate

double geos::Envelope::getMinX  )  const
 

Returns the Envelopes minimum x-value. min x > max x indicates that this is a null Envelope.

Returns:
the minimum x-coordinate

double geos::Envelope::getMinY  )  const
 

Returns the Envelopes minimum y-value. min y > max y indicates that this is a null Envelope.

Returns:
the minimum y-coordinate

double geos::Envelope::getWidth void   )  const
 

Returns the difference between the maximum and minimum x values.

Returns:
max x - min x, or 0 if this is a null Envelope

void geos::Envelope::init Envelope  env  ) 
 

Initialize an Envelope from an existing Envelope.

Parameters:
env the Envelope to initialize from

void geos::Envelope::init const Coordinate p  ) 
 

Initialize an Envelope to a region defined by a single Coordinate.

Parameters:
p the Coordinate

void geos::Envelope::init const Coordinate p1,
const Coordinate p2
 

Initialize an Envelope to a region defined by two Coordinates.

Parameters:
p1 the first Coordinate
p2 the second Coordinate

void geos::Envelope::init double  x1,
double  x2,
double  y1,
double  y2
 

Initialize an Envelope for a region defined by maximum and minimum values.

Parameters:
x1 the first x-value
x2 the second x-value
y1 the first y-value
y2 the second y-value

void geos::Envelope::init void   ) 
 

Initialize to a null Envelope.

bool geos::Envelope::intersects const Envelope other  )  const
 

Check if the region defined by other overlaps (intersects) the region of this Envelope.

Parameters:
other the Envelope which this Envelope is being checked for overlapping
Returns:
true if the Envelopes overlap

bool geos::Envelope::intersects double  x,
double  y
const
 

Check if the point (x, y) overlaps (lies inside) the region of this Envelope.

Parameters:
x the x-ordinate of the point
y the y-ordinate of the point
Returns:
true if the point overlaps this Envelope

bool geos::Envelope::intersects const Coordinate other  )  const
 

Check if the point other overlaps (lies inside) the region of this Envelope.

Parameters:
other the Coordinate to be tested
Returns:
true if the point overlaps this Envelope

bool geos::Envelope::intersects const Coordinate p1,
const Coordinate p2,
const Coordinate q1,
const Coordinate q2
[static]
 

Test the envelope defined by p1-p2 for intersection with the envelope defined by q1-q2

Parameters:
p1 one extremal point of the envelope P
p2 another extremal point of the envelope P
q1 one extremal point of the envelope Q
q2 another extremal point of the envelope Q
Returns:
true if Q intersects P

bool geos::Envelope::intersects const Coordinate p1,
const Coordinate p2,
const Coordinate q
[static]
 

Test the point q to see whether it intersects the Envelope defined by p1-p2

Parameters:
p1 one extremal point of the envelope
p2 another extremal point of the envelope
q the point to test for intersection
Returns:
true if q intersects the envelope p1-p2

bool geos::Envelope::isNull void   )  const
 

Returns true if this Envelope is a "null" envelope.

Returns:
true if this Envelope is uninitialized or is the envelope of the empty geometry.

bool geos::Envelope::overlaps const Envelope other  )  const
 

Deprecated:
Use intersects instead. In the future, overlaps may be changed to be a true overlap check; that is, whether the intersection is two-dimensional.

bool geos::Envelope::overlaps double  x,
double  y
const
 

Deprecated:
Use intersects instead.

bool geos::Envelope::overlaps const Coordinate p  )  const
 

Deprecated:
Use intersects instead.

void geos::Envelope::setToNull void   ) 
 

Makes this Envelope a "null" envelope, that is, the envelope of the empty geometry.

string geos::Envelope::toString void   )  const
 

Returns a string of the form Env[minx:maxx,miny:maxy] .

Returns:
a string of the form Env[minx:maxx,miny:maxy]


The documentation for this class was generated from the following files:
Generated on Sun Dec 11 18:28:29 2005 for GEOS by  doxygen 1.4.5