|
PLaSK library
|
Template of base class for containers which have aligners, one per child. More...
#include <plask/geometry/container.hpp>
Public Types | |
| typedef ChildAlignerType | ChildAligner |
| typedef ParentType::TranslationT | TranslationT |
Public Member Functions | |
| template<typename... Args> | |
| WithAligners (Args &&... args) | |
| Delegate all constructors to parent class. | |
| void | onChildChanged (const GeometryObject::Event &evt) override |
| Called by child.change signal. | |
| bool | removeIfTUnsafe (const std::function< bool(const shared_ptr< TranslationT > &c)> &predicate) override |
| void | removeAtUnsafe (std::size_t index) override |
| void | writeXMLChildAttr (XMLWriter::Element &dest_xml_child_tag, std::size_t child_index, const AxisNames &axes) const override |
| void | move (std::size_t index, ChildAligner aligner) |
Set new aligner for child at given index. | |
| void | move (shared_ptr< const TranslationT > child, ChildAligner aligner) |
Set new aligner for given child. | |
| void | move (const TranslationT &child, ChildAligner aligner) |
Set new aligner for given child. | |
| const std::vector< ChildAligner > & | getAligners () const |
| Get const reference to aligners. | |
Protected Member Functions | |
| PathHints::Hint | _insertUnsafe (const std::size_t pos, shared_ptr< TranslationT > to_insert, ChildAligner aligner) |
| Do everything, but align to_insert by aligner. | |
| PathHints::Hint | _insert (const std::size_t pos, shared_ptr< TranslationT > to_insert, ChildAligner aligner) |
| PathHints::Hint | _addUnsafe (shared_ptr< TranslationT > to_add, ChildAligner aligner) |
| ChildAligner | getAlignerFor (shared_ptr< const TranslationT > child) |
| ChildAligner | getAlignerFor (TranslationT &child) |
| void | align (shared_ptr< TranslationT > child) |
| void | align (TranslationT *child) |
| void | align (TranslationT &child) |
Protected Attributes | |
| std::vector< ChildAligner > | aligners |
Template of base class for containers which have aligners, one per child.
It define proper remove methods and some, protected, helpers.
| ParentType | container type to inherit from |
| ChildAlignerType | aligner type |
Definition at line 361 of file container.hpp.
| typedef ChildAlignerType plask::WithAligners< ParentType, ChildAlignerType >::ChildAligner |
Definition at line 362 of file container.hpp.
| typedef ParentType::TranslationT plask::WithAligners< ParentType, ChildAlignerType >::TranslationT |
Definition at line 363 of file container.hpp.
|
inline |
Delegate all constructors to parent class.
Definition at line 422 of file container.hpp.
|
inlineprotected |
Definition at line 385 of file container.hpp.
|
inlineprotected |
Definition at line 380 of file container.hpp.
|
inlineprotected |
Do everything, but align to_insert by aligner.
Definition at line 371 of file container.hpp.
|
inlineprotected |
Definition at line 410 of file container.hpp.
|
inlineprotected |
Definition at line 417 of file container.hpp.
|
inlineprotected |
Definition at line 415 of file container.hpp.
|
inlineprotected |
Definition at line 399 of file container.hpp.
|
inlineprotected |
Definition at line 404 of file container.hpp.
|
inline |
Get const reference to aligners.
Definition at line 495 of file container.hpp.
|
inline |
Set new aligner for given child.
| child | child to move |
| aligner | new position for given child |
Definition at line 488 of file container.hpp.
|
inline |
Set new aligner for given child.
| child | child to move |
| aligner | new position for given child |
Definition at line 478 of file container.hpp.
|
inline |
Set new aligner for child at given index.
| index | index of child to move |
| aligner | new position for child at given index |
Definition at line 466 of file container.hpp.
|
inlineoverride |
Called by child.change signal.
Definition at line 425 of file container.hpp.
|
inlineoverride |
Definition at line 450 of file container.hpp.
|
inlineoverride |
Definition at line 430 of file container.hpp.
|
inlineoverride |
Definition at line 455 of file container.hpp.
|
protected |
Definition at line 368 of file container.hpp.