GEOS: geos::Envelope Class Reference

- Main Page
- Namespaces
- Classes
- Files
- Related Pages

- Class List
- Class Hierarchy
- Class Members

# 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::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::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

void geos::Envelope::init | ( | void |  | ) |

Initialize to a null `Envelope`.

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 | ( | 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 | ( | const Coordinate & | p | ) |

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

Parameters:

  | p | the Coordinate

void geos::Envelope::init | ( | Envelope | env | ) |

Initialize an `Envelope` from an existing Envelope.

Parameters:

  | env | the Envelope to initialize from

void geos::Envelope::setToNull | ( | void |  | ) |

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

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.

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`

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::getMaxY | ( |  | ) | const

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

Returns:
  the maximum y-coordinate

double geos::Envelope::getMaxX | ( |  | ) | const

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

Returns:
  the maximum x-coordinate

double geos::Envelope::getMinY | ( |  | ) | const

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

Returns:
  the minimum y-coordinate

double geos::Envelope::getMinX | ( |  | ) | const

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

Returns:
  the minimum x-coordinate

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

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 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

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`.

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 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::overlaps | ( | const Coordinate & | p | ) | const

Deprecated:
  Use intersects instead.

bool geos::Envelope::overlaps | ( | double | x,
|  | double | y |
| ) |  |  | const

Deprecated:
  Use intersects instead.

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::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 | ( | 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 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 `Envelope`s overlap

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]

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.

The documentation for this class was generated from the following files:

- geom.h
- Envelope.cpp