STOFFBox2< T > Class Template Reference

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

#include <libstaroffice_internal.hxx>

List of all members.

Classes

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

Public Types

typedef std::map< STOFFBox2< T >
, T, struct PosSizeLt
Map
 map of STOFFBox2

Public Member Functions

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

Protected Attributes

STOFFVec2< T > m_pt [2]
 the two extremities

Friends

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

Detailed Description

template<class T>
class STOFFBox2< T >

small class which defines a 2D Box


Member Typedef Documentation

template<class T>
STOFFBox2< T >::Map

map of STOFFBox2


Constructor & Destructor Documentation

template<class T>
STOFFBox2< T >::STOFFBox2 ( STOFFVec2< T >  minPt = STOFFVec2<T>(),
STOFFVec2< T >  maxPt = STOFFVec2<T>() 
) [inline]

constructor

template<class T>
template<class U >
STOFFBox2< T >::STOFFBox2 ( STOFFBox2< U > const &  p) [inline]

generic constructor


Member Function Documentation

template<class T>
STOFFVec2<T> STOFFBox2< T >::center ( ) const [inline]

the box center

Referenced by libstoff::rotateBoxFromCenter().

template<class T>
int STOFFBox2< T >::cmp ( STOFFBox2< T > const &  p) const [inline]

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

Referenced by STOFFBox2< int >::operator!=(), STOFFBox2< T >::PosSizeLt::operator()(), STOFFBox2< int >::operator<(), and STOFFBox2< int >::operator==().

template<class T>
void STOFFBox2< T >::extend ( val) [inline]

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

template<class T>
STOFFBox2<T> STOFFBox2< T >::getIntersection ( STOFFBox2< T > const &  box) const [inline]

returns the intersection between this and box

template<class T>
STOFFBox2<T> STOFFBox2< T >::getUnion ( STOFFBox2< T > const &  box) const [inline]

returns the union between this and box

template<class T>
STOFFVec2<T> const& STOFFBox2< T >::max ( ) const [inline]

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

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

template<class T>
STOFFVec2<T>& STOFFBox2< T >::max ( ) [inline]

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

template<class T>
STOFFVec2<T> const& STOFFBox2< T >::min ( ) const [inline]

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

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

template<class T>
STOFFVec2<T>& STOFFBox2< T >::min ( ) [inline]

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

template<class T>
bool STOFFBox2< T >::operator!= ( STOFFBox2< T > const &  p) const [inline]

comparison operator!=

template<class T>
bool STOFFBox2< T >::operator< ( STOFFBox2< T > const &  p) const [inline]

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

template<class T>
bool STOFFBox2< T >::operator== ( STOFFBox2< T > const &  p) const [inline]

comparison operator==

template<class T>
STOFFVec2<T> const& STOFFBox2< T >::operator[] ( int  c) const [inline]

the two extremum points which defined the box

Parameters:
c0 means the minimum and 1 the maximum
template<class T>
void STOFFBox2< T >::resizeFromCenter ( STOFFVec2< T > const &  sz) [inline]

resize the box keeping the center

template<class T>
void STOFFBox2< T >::resizeFromMax ( STOFFVec2< T > const &  sz) [inline]

resize the box keeping the maximum

template<class T>
void STOFFBox2< T >::resizeFromMin ( STOFFVec2< T > const &  sz) [inline]

resize the box keeping the minimum

template<class T>
template<class U >
void STOFFBox2< T >::scale ( factor) [inline]

scales all points of the box by factor

template<class T>
void STOFFBox2< T >::set ( STOFFVec2< T > const &  x,
STOFFVec2< T > const &  y 
) [inline]

resets the data to minimum x and maximum y

template<class T>
void STOFFBox2< T >::setMax ( STOFFVec2< T > const &  y) [inline]

resets the maximum point

template<class T>
void STOFFBox2< T >::setMin ( STOFFVec2< T > const &  x) [inline]

resets the minimum point


Friends And Related Function Documentation

template<class T>
std::ostream& operator<< ( std::ostream &  o,
STOFFBox2< T > const &  f 
) [friend]

print data in form X0xY0<->X1xY1


Member Data Documentation


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