libmspub::ShapeGroupElement Class Reference

#include <ShapeGroupElement.h>

Public Member Functions

 ShapeGroupElement (ShapeGroupElement *parent)
 
 ShapeGroupElement (ShapeGroupElement *parent, unsigned seqNum)
 
 ~ShapeGroupElement ()
 
void setShapeInfo (const ShapeInfo &shapeInfo)
 
void setup (boost::function< void(ShapeGroupElement &self)> visitor)
 
void visit (boost::function< boost::function< void(void)>(const ShapeInfo &info, const Coordinate &relativeTo, const VectorTransformation2D &foldedTransform, bool isGroup, const VectorTransformation2D &thisTransform)> visitor, const Coordinate &relativeTo, const VectorTransformation2D &foldedTransform) const
 
void visit (boost::function< boost::function< void(void)>(const ShapeInfo &info, const Coordinate &relativeTo, const VectorTransformation2D &foldedTransform, bool isGroup, const VectorTransformation2D &thisTransform)> visitor) const
 
bool isGroup () const
 
ShapeGroupElementgetParent ()
 
const ShapeGroupElementgetParent () const
 
void setSeqNum (unsigned seqNum)
 
void setTransform (const VectorTransformation2D &transform)
 
unsigned getSeqNum () const
 

Private Member Functions

ShapeGroupElementoperator= (const ShapeGroupElement &)
 
 ShapeGroupElement (const ShapeGroupElement &)
 

Private Attributes

boost::optional< ShapeInfom_shapeInfo
 
ShapeGroupElementm_parent
 
std::vector< ShapeGroupElement * > m_children
 
unsigned m_seqNum
 
VectorTransformation2D m_transform
 

Constructor & Destructor Documentation

◆ ShapeGroupElement() [1/3]

libmspub::ShapeGroupElement::ShapeGroupElement ( const ShapeGroupElement )
private

◆ ShapeGroupElement() [2/3]

libmspub::ShapeGroupElement::ShapeGroupElement ( ShapeGroupElement parent)

◆ ShapeGroupElement() [3/3]

libmspub::ShapeGroupElement::ShapeGroupElement ( ShapeGroupElement parent,
unsigned  seqNum 
)

◆ ~ShapeGroupElement()

libmspub::ShapeGroupElement::~ShapeGroupElement ( )

Member Function Documentation

◆ getParent() [1/2]

ShapeGroupElement * libmspub::ShapeGroupElement::getParent ( )

◆ getParent() [2/2]

const ShapeGroupElement * libmspub::ShapeGroupElement::getParent ( ) const

◆ getSeqNum()

unsigned libmspub::ShapeGroupElement::getSeqNum ( ) const

◆ isGroup()

bool libmspub::ShapeGroupElement::isGroup ( ) const

Referenced by setup().

◆ operator=()

ShapeGroupElement& libmspub::ShapeGroupElement::operator= ( const ShapeGroupElement )
private

◆ setSeqNum()

void libmspub::ShapeGroupElement::setSeqNum ( unsigned  seqNum)

◆ setShapeInfo()

void libmspub::ShapeGroupElement::setShapeInfo ( const ShapeInfo shapeInfo)

◆ setTransform()

void libmspub::ShapeGroupElement::setTransform ( const VectorTransformation2D transform)

◆ setup()

void libmspub::ShapeGroupElement::setup ( boost::function< void(ShapeGroupElement &self)>  visitor)

◆ visit() [1/2]

void libmspub::ShapeGroupElement::visit ( boost::function< boost::function< void(void)>(const ShapeInfo &info, const Coordinate &relativeTo, const VectorTransformation2D &foldedTransform, bool isGroup, const VectorTransformation2D &thisTransform)>  visitor,
const Coordinate relativeTo,
const VectorTransformation2D foldedTransform 
) const

◆ visit() [2/2]

void libmspub::ShapeGroupElement::visit ( boost::function< boost::function< void(void)>(const ShapeInfo &info, const Coordinate &relativeTo, const VectorTransformation2D &foldedTransform, bool isGroup, const VectorTransformation2D &thisTransform)>  visitor) const

Member Data Documentation

◆ m_children

std::vector<ShapeGroupElement *> libmspub::ShapeGroupElement::m_children
private

◆ m_parent

ShapeGroupElement* libmspub::ShapeGroupElement::m_parent
private

Referenced by getParent(), and ShapeGroupElement().

◆ m_seqNum

unsigned libmspub::ShapeGroupElement::m_seqNum
private

Referenced by getSeqNum(), and setSeqNum().

◆ m_shapeInfo

boost::optional<ShapeInfo> libmspub::ShapeGroupElement::m_shapeInfo
private

Referenced by setShapeInfo(), and setup().

◆ m_transform

VectorTransformation2D libmspub::ShapeGroupElement::m_transform
private

Referenced by setTransform(), and setup().


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

Generated for libmspub by doxygen 1.8.13