libmspub::ShapeGroupElement Class Reference

#include <ShapeGroupElement.h>

Public Member Functions

 ~ShapeGroupElement ()
void setShapeInfo (const ShapeInfo &shapeInfo)
void setup (std::function< void(ShapeGroupElement &self)> visitor)
void visit (std::function< std::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 (std::function< std::function< void(void)>(const ShapeInfo &info, const Coordinate &relativeTo, const VectorTransformation2D &foldedTransform, bool isGroup, const VectorTransformation2D &thisTransform)> visitor) const
bool isGroup () const
std::shared_ptr< ShapeGroupElementgetParent () const
void setSeqNum (unsigned seqNum)
void setTransform (const VectorTransformation2D &transform)
unsigned getSeqNum () const

Static Public Member Functions

static std::shared_ptr< ShapeGroupElementcreate (const std::shared_ptr< ShapeGroupElement > &parent, unsigned seqNum=0)

Private Member Functions

ShapeGroupElementoperator= (const ShapeGroupElement &)=delete
 ShapeGroupElement (const ShapeGroupElement &)=delete
 ShapeGroupElement (const std::shared_ptr< ShapeGroupElement > &parent, unsigned seqNum)

Private Attributes

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

Constructor & Destructor Documentation

◆ ShapeGroupElement() [1/2]

libmspub::ShapeGroupElement::ShapeGroupElement ( const ShapeGroupElement & )
privatedelete

◆ ShapeGroupElement() [2/2]

libmspub::ShapeGroupElement::ShapeGroupElement ( const std::shared_ptr< ShapeGroupElement > & parent,
unsigned seqNum )
private

◆ ~ShapeGroupElement()

libmspub::ShapeGroupElement::~ShapeGroupElement ( )

Member Function Documentation

◆ create()

std::shared_ptr< ShapeGroupElement > libmspub::ShapeGroupElement::create ( const std::shared_ptr< ShapeGroupElement > & parent,
unsigned seqNum = 0 )
static

◆ getParent()

std::shared_ptr< ShapeGroupElement > libmspub::ShapeGroupElement::getParent ( ) const

◆ getSeqNum()

unsigned libmspub::ShapeGroupElement::getSeqNum ( ) const

◆ isGroup()

bool libmspub::ShapeGroupElement::isGroup ( ) const

Referenced by visit(), and visit().

◆ operator=()

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

◆ 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 ( std::function< void(ShapeGroupElement &self)> visitor)

◆ visit() [1/2]

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

◆ visit() [2/2]

void libmspub::ShapeGroupElement::visit ( std::function< std::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

Member Data Documentation

◆ m_children

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

Referenced by isGroup(), setup(), and ShapeGroupElement().

◆ m_parent

std::weak_ptr<ShapeGroupElement> libmspub::ShapeGroupElement::m_parent
private

Referenced by getParent(), and ShapeGroupElement().

◆ m_seqNum

unsigned libmspub::ShapeGroupElement::m_seqNum
private

◆ m_shapeInfo

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

Referenced by setShapeInfo(), and ShapeGroupElement().

◆ m_transform

VectorTransformation2D libmspub::ShapeGroupElement::m_transform
private

Referenced by setTransform(), and ShapeGroupElement().


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

Generated for libmspub by doxygen 1.14.0