#include <geos.h>
Public Types | |
| typedef std::auto_ptr< Envelope > | AutoPtr |
Public Member Functions | |
| Envelope (void) | |
Creates a null Envelope. | |
| Envelope (double x1, double x2, double y1, double y2) | |
Creates an Envelope for a region defined by maximum and minimum values. | |
| Envelope (const Coordinate &p1, const Coordinate &p2) | |
Creates an Envelope for a region defined by two Coordinates. | |
| Envelope (const Coordinate &p) | |
| Creates an Envelope for a region defined by a single Coordinate. | |
| Envelope (const Envelope &env) | |
| Copy constructor. | |
| Envelope & | operator= (const Envelope &e) |
| Assignment operator. | |
| Envelope (const std::string &str) | |
Create an Envelope from an Envelope string representation produced by Envelope.toString(). | |
| void | init (void) |
Initialize to a null Envelope. | |
| void | init (double x1, double x2, double y1, double y2) |
Initialize an Envelope for a region defined by maximum and minimum values. | |
| void | init (const Coordinate &p1, const Coordinate &p2) |
Initialize an Envelope to a region defined by two Coordinates. | |
| void | init (const Coordinate &p) |
Initialize an Envelope to a region defined by a single Coordinate. | |
| void | setToNull (void) |
Makes this Envelope a "null" envelope, that is, the envelope of the empty geometry. | |
| bool | isNull (void) const |
Returns true if this Envelope is a "null" envelope. | |
| double | getWidth (void) const |
| Returns the difference between the maximum and minimum x values. | |
| double | getHeight (void) const |
| Returns the difference between the maximum and minimum y values. | |
| double | getMaxY () const |
| double | getMaxX () const |
| double | getMinY () const |
| double | getMinX () const |
| bool | centre (Coordinate ¢re) const |
| bool | intersection (const Envelope &env, Envelope &result) |
| void | translate (double transX, double transY) |
| Translates this envelope by given amounts in the X and Y direction. | |
| void | expandBy (double deltaX, double deltaY) |
| Expands this envelope by a given distance in all directions. Both positive and negative distances are supported. | |
| void | expandBy (double distance) |
| Expands this envelope by a given distance in all directions. Both positive and negative distances are supported. | |
| void | 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. | |
| void | 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. | |
| void | 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. | |
| bool | contains (const Coordinate &p) const |
Returns true if the given point lies in or on the envelope. | |
| bool | contains (double x, double y) const |
Returns true if the given point lies in or on the envelope. | |
| bool | contains (const Envelope *other) const |
Returns true if the Envelope other lies wholely inside this Envelope (inclusive of the boundary). | |
| bool | contains (const Envelope &other) const |
| bool | intersects (const Coordinate &p) const |
| bool | intersects (double x, double y) const |
| bool | intersects (const Envelope *other) const |
| bool | intersects (const Envelope &other) const |
| bool | equals (const Envelope *other) const |
Returns true if the Envelope other spatially equals this Envelope. | |
| std::string | toString (void) const |
Returns a string of the form Env[minx:maxx,miny:maxy] . | |
| double | distance (const Envelope *env) const |
Computes the distance between this and another Envelope. | |
| int | hashCode () const |
Static Public Member Functions | |
| static bool | intersects (const Coordinate &p1, const Coordinate &p2, const Coordinate &q) |
| Test the point q to see whether it intersects the Envelope defined by p1-p2. | |
| static bool | intersects (const Coordinate &p1, const Coordinate &p2, const Coordinate &q1, const Coordinate &q2) |
| Test the envelope defined by p1-p2 for intersection with the envelope defined by q1-q2. | |
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.
| geos::geom::Envelope::Envelope | ( | double | x1, | |
| double | x2, | |||
| double | y1, | |||
| double | y2 | |||
| ) |
Creates an Envelope for a region defined by maximum and minimum values.
| x1 | the first x-value | |
| x2 | the second x-value | |
| y1 | the first y-value | |
| y2 | the second y-value |
| geos::geom::Envelope::Envelope | ( | const Coordinate & | p1, | |
| const Coordinate & | p2 | |||
| ) |
Creates an Envelope for a region defined by two Coordinates.
| p1 | the first Coordinate | |
| p2 | the second Coordinate |
| geos::geom::Envelope::Envelope | ( | const Coordinate & | p | ) |
| static bool geos::geom::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.
| p1 | one extremal point of the envelope | |
| p2 | another extremal point of the envelope | |
| q | the point to test for intersection |
true if q intersects the envelope p1-p2 | static bool geos::geom::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.
| 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 |
true if Q intersects P | void geos::geom::Envelope::init | ( | double | x1, | |
| double | x2, | |||
| double | y1, | |||
| double | y2 | |||
| ) |
Initialize an Envelope for a region defined by maximum and minimum values.
| x1 | the first x-value | |
| x2 | the second x-value | |
| y1 | the first y-value | |
| y2 | the second y-value |
| void geos::geom::Envelope::init | ( | const Coordinate & | p1, | |
| const Coordinate & | p2 | |||
| ) |
Initialize an Envelope to a region defined by two Coordinates.
| p1 | the first Coordinate | |
| p2 | the second Coordinate |
| void geos::geom::Envelope::init | ( | const Coordinate & | p | ) |
| bool geos::geom::Envelope::isNull | ( | void | ) | const |
| double geos::geom::Envelope::getWidth | ( | void | ) | const |
Returns the difference between the maximum and minimum x values.
| double geos::geom::Envelope::getHeight | ( | void | ) | const |
Returns the difference between the maximum and minimum y values.
| double geos::geom::Envelope::getMaxY | ( | ) | const |
| double geos::geom::Envelope::getMaxX | ( | ) | const |
| double geos::geom::Envelope::getMinY | ( | ) | const |
| double geos::geom::Envelope::getMinX | ( | ) | const |
| bool geos::geom::Envelope::centre | ( | Coordinate & | centre | ) | const |
Computes the coordinate of the centre of this envelope (as long as it is non-null)
| centre | The coordinate to write results into |
Computes the intersection of two Envelopes
| env | the envelope to intersect with | |
| result | the envelope representing the intersection of the envelopes (this will be the null envelope if either argument is null, or they do not intersect) |
| void geos::geom::Envelope::translate | ( | double | transX, | |
| double | transY | |||
| ) |
Translates this envelope by given amounts in the X and Y direction.
| transX | the amount to translate along the X axis | |
| transY | the amount to translate along the Y axis |
| void geos::geom::Envelope::expandBy | ( | double | deltaX, | |
| double | deltaY | |||
| ) |
Expands this envelope by a given distance in all directions. Both positive and negative distances are supported.
| deltaX | the distance to expand the envelope along the X axis | |
| deltaY | the distance to expand the envelope along the Y axis |
| void geos::geom::Envelope::expandBy | ( | double | distance | ) | [inline] |
Expands this envelope by a given distance in all directions. Both positive and negative distances are supported.
| distance | the distance to expand the envelope |
| void geos::geom::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.
| p | the Coordinate to include |
| void geos::geom::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.
| 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::geom::Envelope::expandToInclude | ( | const Envelope * | other | ) |
| bool geos::geom::Envelope::contains | ( | const Coordinate & | p | ) | const |
| bool geos::geom::Envelope::contains | ( | double | x, | |
| double | y | |||
| ) | const |
Returns true if the given point lies in or on the envelope.
| 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 |
true if (x, y) lies in the interior or on the boundary of this Envelope. | bool geos::geom::Envelope::contains | ( | const Envelope * | other | ) | const |
| bool geos::geom::Envelope::intersects | ( | const Coordinate & | p | ) | const |
Check if the point p intersects (lies inside) the region of this Envelope.
| p | the Coordinate to be tested |
| bool geos::geom::Envelope::intersects | ( | double | x, | |
| double | y | |||
| ) | const |
| bool geos::geom::Envelope::intersects | ( | const Envelope * | other | ) | const |
| bool geos::geom::Envelope::equals | ( | const Envelope * | other | ) | const |
| std::string geos::geom::Envelope::toString | ( | void | ) | const |
Returns a string of the form Env[minx:maxx,miny:maxy] .
string of the form Env[minx:maxx,miny:maxy] | double geos::geom::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.
1.5.4