45 Boundary(
double x1,
double y1,
double x2,
double y2);
48 Boundary(
double x1,
double y1,
double z1,
double x2,
double y2,
double z2);
57 void add(
double x,
double y,
double z = 0);
137 void moveby(
double x,
double y,
double z = 0);
A class that stores a 2D geometrical boundary.
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.
void add(double x, double y, double z=0)
Makes the boundary include the given coordinate.
void moveby(double x, double y, double z=0)
Moves the boundary by the given amount.
void growHeight(double by)
Increases the height of the boundary (y-axis)
bool isInitialised() const
check if Boundary is Initialised
double ymin() const
Returns minimum y-coordinate.
void reset()
Resets the boundary.
double xmin() const
Returns minimum x-coordinate.
Boundary & grow(double by)
extends the boundary by the given amount
void flipY()
flips ymin and ymax
double distanceTo2D(const Position &p) const
returns the euclidean distance in the x-y-plane
double getHeight() const
Returns the height of the boundary (y-axis)
bool myWasInitialised
Information whether the boundary was initialised.
bool overlapsWith(const AbstractPoly &poly, double offset=0) const
Returns whether the boundary overlaps with the given polygon.
Boundary()
Constructor - the boundary is unset.
double getWidth() const
Returns the width of the boudary (x-axis)
bool operator!=(const Boundary &b) const
Comparison operator not equal.
void set(double xmin, double ymin, double xmax, double ymax)
Sets the boundary to the given values.
double zmin() const
Returns minimum z-coordinate.
void growWidth(double by)
Increases the width of the boundary (x-axis)
bool crosses(const Position &p1, const Position &p2) const
Returns whether the boundary crosses the given line.
bool around(const Position &p, double offset=0) const
Returns whether the AbstractPoly the given coordinate.
double ymax() const
Returns maximum y-coordinate.
double myXmin
The boundaries.
double xmax() const
Returns maximum x-coordinate.
double zmax() const
Returns maximum z-coordinate.
friend std::ostream & operator<<(std::ostream &os, const Boundary &b)
Output operator.
double getZRange() const
Returns the elevation range of the boundary (z-axis)
bool operator==(const Boundary &b) const
Comparison operator equal.
A point in 2D or 3D with translation and scaling methods.