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< ShapeGroupElement > | getParent () const
void | setSeqNum (unsigned seqNum)
void | setTransform (const VectorTransformation2D &transform)
unsigned | getSeqNum () const

## Static Public Member Functions
static std::shared_ptr< ShapeGroupElement > | create (const std::shared_ptr< ShapeGroupElement > &parent, unsigned seqNum=0)

## Private Member Functions
ShapeGroupElement & | operator= (const ShapeGroupElement &)=delete
| ShapeGroupElement (const ShapeGroupElement &)=delete
| ShapeGroupElement (const std::shared_ptr< ShapeGroupElement > &parent, unsigned seqNum)

## Private Attributes
boost::optional< ShapeInfo > | m_shapeInfo
std::weak_ptr< ShapeGroupElement > | m_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 & |  | ) |
| private delete

Referenced by create(), operator=(), setup(), and ShapeGroupElement().

## ◆ 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

Referenced by libmspub::MSPUBCollector::beginGroup(), and libmspub::MSPUBCollector::setShapeOrder().

## ◆ getParent()

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

## ◆ getSeqNum()

unsigned libmspub::ShapeGroupElement::getSeqNum | ( |  | ) | const

Referenced by libmspub::MSPUBCollector::setupShapeStructures().

## ◆ isGroup()

bool libmspub::ShapeGroupElement::isGroup | ( |  | ) | const

Referenced by visit(), and visit().

## ◆ operator=()

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

## ◆ setSeqNum()

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

## ◆ setShapeInfo()

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

Referenced by libmspub::MSPUBCollector::setupShapeStructures().

## ◆ setTransform()

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

Referenced by libmspub::MSPUBCollector::setupShapeStructures().

## ◆ 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

Referenced by getSeqNum(), setSeqNum(), and ShapeGroupElement().

## ◆ 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:

- ShapeGroupElement.h
- ShapeGroupElement.cpp