Box2< T > Class Template Reference

small class which defines a 2D Box More...

`#include <libwps_internal.h>`

## Classes

struct | PosSizeLt
| internal struct used to create sorted map, sorted first min then max More...

## Public Types

typedef std::map< Box2< T >, T, struct PosSizeLt > | Map
| map of Box2 More...

## Public Member Functions

| Box2 (Vec2< T > minPt=Vec2< T >(), Vec2< T > maxPt=Vec2< T >())
| constructor More...
template<class U >
| Box2 (Box2< U > const &p)
| generic constructor More...
Vec2< T > const & | min () const
| the minimum 2D point (in x and in y) More...
Vec2< T > const & | max () const
| the maximum 2D point (in x and in y) More...
Vec2< T > & | min ()
| the minimum 2D point (in x and in y) More...
Vec2< T > & | max ()
| the maximum 2D point (in x and in y) More...
Vec2< T > const & | operator[] (int c) const
| the two extremum points which defined the box More...
Vec2< T > | size () const
| the box size More...
Vec2< T > | center () const
| the box center More...
void | set (Vec2< T > const &x, Vec2< T > const &y)
| resets the data to minimum x and maximum y More...
void | setMin (Vec2< T > const &x)
| resets the minimum point More...
void | setMax (Vec2< T > const &y)
| resets the maximum point More...
void | resizeFromMin (Vec2< T > const &sz)
| resize the box keeping the minimum More...
void | resizeFromMax (Vec2< T > const &sz)
| resize the box keeping the maximum More...
void | resizeFromCenter (Vec2< T > const &sz)
| resize the box keeping the center More...
template<class U >
void | scale (U factor)
| scales all points of the box by factor More...
void | extend (T val)
| extends the bdbox by (val, val) keeping the center More...
bool | operator== (Box2< T > const &p) const
| comparison operator== More...
bool | operator!= (Box2< T > const &p) const
| comparison operator!= More...
bool | operator< (Box2< T > const &p) const
| comparison operator< : fist sorts min by Y,X values then max extremity More...
int | cmp (Box2< T > const &p) const
| comparison function : fist sorts min by Y,X values then max extremity More...

## Protected Attributes

Vec2< T > | m_pt [2]
| the two extremities More...

## Friends

std::ostream & | operator<< (std::ostream &o, Box2< T > const &f)
| print data in form X0xY0<->X1xY1 More...

## Detailed Description

### template<class T>
class Box2< T >

small class which defines a 2D Box

## Member Typedef Documentation

template<class T>

Box2< T >::Map

map of Box2

## Constructor & Destructor Documentation

template<class T>

Box2< T >::Box2 | ( | Vec2< T > | minPt = `Vec2<T>()`,
|  | Vec2< T > | maxPt = `Vec2<T>()`
| ) |  |

inline

constructor

template<class T>
template<class U >

Box2< T >::Box2 | ( | Box2< U > const & | p | ) |

inline

generic constructor

## Member Function Documentation

template<class T>

Vec2<T> Box2< T >::center | ( |  | ) | const

inline

the box center

template<class T>

int Box2< T >::cmp | ( | Box2< T > const & | p | ) | const

inline

comparison function : fist sorts min by Y,X values then max extremity

Referenced by Box2< float >::operator!=(), Box2< T >::PosSizeLt::operator()(), Box2< float >::operator<(), and Box2< float >::operator==().

template<class T>

void Box2< T >::extend | ( | T | val | ) |

inline

extends the bdbox by (val, val) keeping the center

template<class T>

Vec2<T> const& Box2< T >::max | ( |  | ) | const

inline

the maximum 2D point (in x and in y)

Referenced by WPSCell::Compare::Point::getPos().

template<class T>

Vec2<T>& Box2< T >::max | ( |  | ) |

inline

the maximum 2D point (in x and in y)

template<class T>

Vec2<T> const& Box2< T >::min | ( |  | ) | const

inline

the minimum 2D point (in x and in y)

Referenced by WPSCell::Compare::Point::getPos().

template<class T>

Vec2<T>& Box2< T >::min | ( |  | ) |

inline

the minimum 2D point (in x and in y)

template<class T>

bool Box2< T >::operator!= | ( | Box2< T > const & | p | ) | const

inline

comparison operator!=

template<class T>

bool Box2< T >::operator< | ( | Box2< T > const & | p | ) | const

inline

comparison operator< : fist sorts min by Y,X values then max extremity

template<class T>

bool Box2< T >::operator== | ( | Box2< T > const & | p | ) | const

inline

comparison operator==

template<class T>

Vec2<T> const& Box2< T >::operator[] | ( | int | c | ) | const

inline

the two extremum points which defined the box

Parameters

  c | value 0 means the minimum
  c | value 1 means the maximum

template<class T>

void Box2< T >::resizeFromCenter | ( | Vec2< T > const & | sz | ) |

inline

resize the box keeping the center

template<class T>

void Box2< T >::resizeFromMax | ( | Vec2< T > const & | sz | ) |

inline

resize the box keeping the maximum

template<class T>

void Box2< T >::resizeFromMin | ( | Vec2< T > const & | sz | ) |

inline

resize the box keeping the minimum

template<class T>
template<class U >

void Box2< T >::scale | ( | U | factor | ) |

inline

scales all points of the box by factor

template<class T>

void Box2< T >::set | ( | Vec2< T > const & | x,
|  | Vec2< T > const & | y
| ) |  |

inline

resets the data to minimum x and maximum y

template<class T>

void Box2< T >::setMax | ( | Vec2< T > const & | y | ) |

inline

resets the maximum point

template<class T>

void Box2< T >::setMin | ( | Vec2< T > const & | x | ) |

inline

resets the minimum point

template<class T>

Vec2<T> Box2< T >::size | ( |  | ) | const

inline

the box size

Referenced by WPSCell::Compare::Point::getSize(), and WPSCell::Compare::operator()().

## Friends And Related Function Documentation

template<class T>

std::ostream& operator<< | ( | std::ostream & | o,
|  | Box2< T > const & | f
| ) |  |

friend

print data in form X0xY0<->X1xY1

## Member Data Documentation

template<class T>

Vec2<T> Box2< T >::m_pt[2]

protected

the two extremities

Referenced by Box2< float >::Box2(), Box2< float >::center(), Box2< float >::cmp(), Box2< float >::extend(), Box2< float >::max(), Box2< float >::min(), Box2< float >::operator[](), Box2< float >::resizeFromCenter(), Box2< float >::resizeFromMax(), Box2< float >::resizeFromMin(), Box2< float >::scale(), Box2< float >::set(), Box2< float >::setMax(), Box2< float >::setMin(), and Box2< float >::size().

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

- libwps_internal.h