Container for geographical extent spanned by lowerLeft(x,y) and upperRight(x,y). Assumes longitude=x and latitude=y .
More...
|
|
| BBox (const BBox &bbox) |
| |
|
| BBox (const Rectangle< double > &bbox) |
| |
|
bool | isMetric () const |
| | Check if this Bounding Box has metric coordinates, instead of degrees.
|
| |
|
| Rectangle (double x=0, double y=0, double x2=0, double y2=0) |
| | Basic constructor.
|
| |
|
| Rectangle (const Rectangle &r) |
| | Copy constructor.
|
| |
|
| Rectangle (const Point2D< double > &ll, const Point2D< double > &ur) |
| | Constructor with corner points.
|
| |
|
Rectangle< double > & | operator= (const Rectangle< double > &rect) |
| | Assign rectangle of the same type.
|
| |
|
double | getWidth () const |
| | Return the difference of X coordinates.
|
| |
|
double | getHeight () const |
| | Return the difference of Y coordinates.
|
| |
|
double | getArea () const |
| |
|
bool | empty () const |
| | Return true if the area is zero.
|
| |
|
void | getCenter (drain::Point2D< double > &p) const |
| | Return the center point.
|
| |
| bool | crop (const Rectangle< double > &r) |
| | This becomes the intersection of r and this.
|
| |
|
void | extend (const Rectangle &r) |
| | The instance extends to its union with r.
|
| |
|
void | contract (const Rectangle &r) |
| | The instance reduces to itse intersection with r.
|
| |
|
bool | isInside (const double &x, const double &y) const |
| |
|
bool | isOverLapping (const Rectangle &r) const |
| |
|
std::vector< double > | toVector () const |
| | Write corner points to a vector [llX, llY, urX, urY].
|
| |
|
template<typename ... TT> |
| | UniTuple (const TT &... args) |
| |
|
| UniTuple (const UniTuple< T, N > &t) |
| | Copy constructor.
|
| |
|
template<typename S > |
| | UniTuple (std::initializer_list< S > l) |
| |
|
tuple_t & | operator= (const tuple_t &t) |
| |
|
tuple_t & | operator= (const value_type &value) |
| |
|
template<typename S > |
| tuple_t & | operator= (std::initializer_list< S > l) |
| |
| virtual const_iterator | begin () const override final |
| |
| virtual const_iterator | end () const override final |
| |
| virtual iterator | begin () override final |
| |
| virtual iterator | end () override final |
| |
|
const tuple_t & | tuple () const |
| |
|
tuple_t & | tuple () |
| |
|
template<typename ... TT> |
| tuple_t & | tuple (const TT &... args) |
| |
|
void | debug (std::ostream &ostr) const |
| |
| const S & | at (size_t i) const |
| | Return const reference to element i.
|
| |
|
const S & | operator[] (size_t i) const |
| |
| S & | at (size_t i) |
| | Return reference to element i.
|
| |
|
S & | operator[] (size_t i) |
| |
|
bool | operator== (const tuplebase_t &t) const |
| | Equality operator.
|
| |
| bool | operator== (const value_type &t) const |
| | Equality operator against single value.
|
| |
|
bool | operator!= (const tuplebase_t &t) const |
| | Inequality operator.
|
| |
|
template<class T > |
| T & | toSequence (T &sequence) const |
| | Copy elements to a Sequence, like stl::list, stl::set or stl::vector.
|
| |
|
void | set (const tuplebase_t &t) |
| |
|
template<class T2 , size_t N2 = 2> |
| void | set (const TupleBase< T2, N2 > &t) |
| | Assign tuple of different type and/or size.
|
| |
|
void | set (const S &arg) |
| |
|
template<typename ... SS> |
| void | set (const S &arg, const SS &... rest) |
| | Set element(s).
|
| |
|
template<typename T > |
| void | set (std::initializer_list< T > l) |
| |
| template<class T > |
| tuplebase_t & | assignSequence (T &sequence, bool LENIENT=false) |
| | Proposed for tuples only; derived classes should not shadow this.
|
| |
|
void | fill (S i) |
| | Set all the elements to i.
|
| |
|
void | clear () |
| |
| virtual void | toStreamFormatted (std::ostream &ostr, char separator=',') const |
| |
|
virtual void | toStream (std::ostream &ostr) const |
| |
|
std::string | toStr (char separator=',') const |
| |
|
virtual void | updateTuple () |
| |
|
|
typedef T | value_type |
| |
|
typedef UniTuple< T, N > | tuple_t |
| |
|
typedef T * | iterator |
| |
|
typedef const T * | const_iterator |
| |
|
typedef TupleBase< S, N > | tuplebase_t |
| |
|
typedef S | value_type |
| |
|
typedef S * | iterator |
| |
|
typedef S const * | const_iterator |
| |
|
Point2D< double > | lowerLeft |
| |
|
Point2D< double > | upperRight |
| |
|
static const size_t | tuple_size = N |
| |
|
static const size_t | storageTypeSize = sizeof(S) |
| |
|
bool | limit (const double &lowerBound, const double &upperBound, double &x) |
| | Limits x between interval [lowerBound, upperBound].
|
| |
|
T & | next () |
| |
|
template<size_t N2> |
| | UniTuple (UniTuple< T, N2 > &tuple, size_t i) |
| |
|
void | setIndexed (size_t i) |
| | Argument stack endpoint function; final step of variadic argument set(arg, ...) .
|
| |
|
template<typename T2 , typename ... TT> |
| void | setIndexed (size_t i, T2 arg, const TT &... rest) |
| | Worker called by set(T2 arg, T2 arg2, ...)
|
| |
|
const iterator | start |
| |
Container for geographical extent spanned by lowerLeft(x,y) and upperRight(x,y). Assumes longitude=x and latitude=y .