Box2< T > Class Template Reference

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

#include <libmwaw_internal.hxx>

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...
 
Box2< T > getUnion (Box2< T > const &box) const
 returns the union between this and box More...
 
Box2< T > getIntersection (Box2< T > const &box) const
 returns the intersection between this and box 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>
int Box2< T >::cmp ( Box2< T > const &  p) const
inline

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

Referenced by MWAWPict::cmp(), MWAWGraphicShape::cmp(), Box2< int >::operator!=(), Box2< T >::PosSizeLt::operator()(), Box2< int >::operator<(), and Box2< int >::operator==().

template<class T>
void Box2< T >::extend ( val)
inline
template<class T>
Box2<T> Box2< T >::getIntersection ( Box2< T > const &  box) const
inline

returns the intersection between this and box

template<class T>
Vec2<T>& Box2< T >::max ( )
inline

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

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
cvalue 0 means the minimum
cvalue 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 ( 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

Referenced by MWAWPictMac::checkOrGet(), libmwaw_applepict1::Region::read(), and libmwaw_applepict1::OpCode::readRect().

template<class T>
void Box2< T >::setMax ( Vec2< T > const &  y)
inline
template<class T>
void Box2< T >::setMin ( Vec2< T > const &  x)
inline
template<class T>
Vec2<T> Box2< T >::size ( ) const
inline

the box size

Referenced by MWAWGraphicShape::addTo(), MWAWPictMac::checkOrGet(), MacDocParser::createZones(), RagTimeParser::createZones(), MWAWPictData::get(), HanMacWrdKGraphInternal::Frame::getBdBox(), MWAWGraphicShape::getBdBox(), ClarisWksGraphInternal::Zone::getBdBox(), HanMacWrdJGraphInternal::Frame::getBdBox(), MsWksGraph::getEntryPicture(), MsWksGraphInternal::Zone::getLocalBox(), MsWksGraphInternal::Zone::getPosition(), MacWrtProStructuresInternal::Block::getPosition(), MacWrtProStructuresInternal::Block::getRelativeYPos(), MWAWTableInternal::Compare::Point::getSize(), MWAWTextListener::insertPicture(), MWAWGraphicListener::MWAWGraphicListener(), MWAWSpreadsheetListener::MWAWSpreadsheetListener(), MWAWTableInternal::Compare::operator()(), NisusWrtTextInternal::operator<<(), BeagleWksDRParserInternal::operator<<(), MarinerWrtParserInternal::operator<<(), operator<<(), libmwaw_applepict1::Bitmap::read(), libmwaw_applepict1::Pixmap::read(), libmwaw_applepict1::Bitmap::readBitmapData(), GreatWksGraph::readFrameHeader(), MacWrtParser::readGraphic(), WriterPlsParser::readGraphic(), MsWksDocument::readGroupHeaderFooter(), NisusWrtParser::readPageLimit(), libmwaw_applepict1::Pixmap::readPixmapData(), SuperPaintParser::readShape(), ClarisWksGraph::readShape(), HanMacWrdJGraph::readShapeGraph(), HanMacWrdKGraph::readShapeGraph(), BeagleWksDRParser::readStyle(), libmwaw_applepict1::Bitmap::saveBitmap(), libmwaw_applepict1::Pixmap::savePixmap(), MsWksGraph::send(), RagTimeParser::send(), HanMacWrdJGraph::sendComment(), MWAWTable::sendExtraLines(), HanMacWrdJGraph::sendFrame(), HanMacWrdKGraph::sendFrame(), ActaText::sendGraphic(), FullWrtGraph::sendGraphic(), GreatWksGraph::sendGroup(), ClarisWksGraph::sendGroup(), HanMacWrdKGraph::sendGroup(), HanMacWrdJGraph::sendGroup(), MsWksGraph::sendGroup(), GreatWksGraph::sendGroupChild(), ClarisWksGraph::sendGroupChild(), HanMacWrdKGraph::sendGroupChild(), HanMacWrdJGraph::sendGroupChild(), MsWksGraph::sendGroupChild(), NisusWrtGraph::sendPageGraphics(), HanMacWrdKGraph::sendPageGraphics(), HanMacWrdJGraph::sendPageGraphics(), LightWayTxtGraph::sendPICT(), MacDocParser::sendPicture(), EDocParser::sendPicture(), NisusWrtGraph::sendPicture(), TeachTxtParser::sendPicture(), DocMkrParser::sendPicture(), WriteNowParser::sendPicture(), MsWrdParser::sendPicture(), ClarisWksGraph::sendPicture(), HanMacWrdKGraph::sendPictureFrame(), HanMacWrdJGraph::sendPictureFrame(), SuperPaintParser::sendPictures(), BeagleWksDRParser::sendPictures(), ClarisWksGraph::sendShape(), HanMacWrdKGraph::sendShapeGraph(), HanMacWrdJGraph::sendShapeGraph(), FullWrtGraph::sendSideBar(), NisusWrtText::sendText(), HanMacWrdKGraph::sendTextBox(), HanMacWrdJGraph::sendTextbox(), GreatWksGraph::sendTextboxAsGraphic(), and ClarisWksGraph::updateInformation().

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


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

Generated for libmwaw by doxygen 1.8.8