44 : myXmin(10000000000.0), myXmax(-10000000000.0),
45 myYmin(10000000000.0), myYmax(-10000000000.0),
46 myZmin(10000000000.0), myZmax(-10000000000.0),
47 myWasInitialised(false) {}
double xmax() const
Returns maximum x-coordinate.
double z() const
Returns the z-position.
double zmax() const
Returns maximum z-coordinate.
Position getCenter() const
Returns the center of the boundary.
bool partialWithin(const AbstractPoly &poly, double offset=0) const
Returns whether the boundary is partially within the given polygon.
virtual bool around(const Position &p, double offset=0) const =0
double ymax() const
Returns maximum y-coordinate.
double x() const
Returns the x-position.
void moveby(double x, double y, double z=0)
Moves the boundary by the given amount.
bool intersects(const Position &p1, const Position &p2) const
Returns the information whether this list of points interesects the given line.
void set(double xmin, double ymin, double xmax, double ymax)
Sets the boundary to the given values.
friend std::ostream & operator<<(std::ostream &os, const Boundary &b)
Output operator.
A class that stores a 2D geometrical boundary.
double myXmin
The boundaries.
double getWidth() const
Returns the width of the boudary (x-axis)
double getHeight() const
Returns the height of the boundary (y-axis)
A point in 2D or 3D with translation and scaling methods.
bool overlapsWith(const AbstractPoly &poly, double offset=0) const
Returns whether the boundary overlaps with the given polygon.
double y() const
Returns the y-position.
virtual bool crosses(const Position &p1, const Position &p2) const =0
bool myWasInitialised
Information whether the boundary was initialised.
Boundary & grow(double by)
extends the boundary by the given amount
void growHeight(double by)
Increases the height of the boundary (y-axis)
bool around(const Position &p, double offset=0) const
Returns whether the boundary contains the given coordinate.
void reset()
Resets the boundary.
void flipY()
flips ymin and ymax
double xmin() const
Returns minimum x-coordinate.
void growWidth(double by)
Increases the width of the boundary (x-axis)
double ymin() const
Returns minimum y-coordinate.
virtual bool partialWithin(const AbstractPoly &poly, double offset=0) const =0
void add(double x, double y, double z=0)
Makes the boundary include the given coordinate.
bool crosses(const Position &p1, const Position &p2) const
Returns whether the boundary crosses the given line.
double getZRange() const
Returns the elevation range of the boundary (z-axis)
Boundary()
Constructor - the boundary is unset.
double zmin() const
Returns minimum z-coordinate.