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