|
| Rectangle (T x=0, T y=0, T x2=0, T y2=0) |
| Basic constructor.
|
|
| Rectangle (const Rectangle &r) |
| Copy constructor.
|
|
| Rectangle (const Point2D< T > &ll, const Point2D< T > &ur) |
| Constructor with corner points.
|
|
Rectangle< T > & | operator= (const Rectangle< T > &rect) |
| Assign rectangle of the same type.
|
|
T | getWidth () const |
| Return the difference of X coordinates.
|
|
T | getHeight () const |
| Return the difference of Y coordinates.
|
|
T | getArea () const |
|
bool | empty () const |
| Return true if the area is zero.
|
|
void | getCenter (drain::Point2D< T > &p) const |
| Return the center point.
|
|
bool | crop (const Rectangle< T > &r) |
| This becomes the intersection of r and this. More...
|
|
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 T &x, const T &y) const |
|
bool | isOverLapping (const Rectangle &r) const |
|
std::vector< T > | toVector () const |
| Write corner points to a vector [llX, llY, urX, urY].
|
|
| UniTuple (const TT &... args) |
|
| UniTuple (const UniTuple< T, N > &t) |
| Copy constructor.
|
|
| UniTuple (std::initializer_list< S > l) |
|
tuple_t & | operator= (const tuple_t &t) |
|
tuple_t & | operator= (const value_type &value) |
|
tuple_t & | operator= (std::initializer_list< S > l) |
|
virtual const_iterator | begin () const override final |
|
virtual iterator | begin () override final |
|
virtual const_iterator | end () const override final |
|
virtual iterator | end () override final |
|
tuple_t & | tuple () |
|
const tuple_t & | tuple () const |
|
void | debug (std::ostream &ostr) const |
|
const S & | at (size_t i) const |
| Return const reference to element i. More...
|
|
const S & | operator[] (size_t i) const |
|
S & | at (size_t i) |
| Return reference to element i. More...
|
|
S & | operator[] (size_t i) |
|
bool | operator== (const tuplebase_t &t) const |
| Equality operator.
|
|
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. More...
|
|
void | fill (S i) |
| Set all the elements to i.
|
|
void | clear () |
|
virtual std::ostream & | toStream (std::ostream &ostr, char separator=',') const |
|
std::string | toStr (char separator=',') const |
|
virtual void | updateTuple () |
|
|
bool | limit (const T &lowerBound, const T &upperBound, T &x) |
| Limits x between interval [lowerBound, upperBound].
|
|
| UniTuple (UniTuple< T, N2 > &tuple, size_t i) |
|
T & | next () |
|
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, ...)
|
|
template<class T>
struct drain::Rectangle< T >
Rectange defined through lower left and upper right coordinates.
- See also
- drain::Range<T>