PLaSK library
|
Namespaces | |
namespace | details |
Classes | |
struct | Aligner |
struct | Aligner< _direction > |
Base class for one direction aligners (in 2D and 3D spaces). More... | |
struct | Aligner< _direction1, _direction2 > |
Two directions aligner in 3D space, compose and use two 1D aligners. More... | |
struct | Aligner< Primitive< 3 >::Direction(0), Primitive< 3 >::Direction(1), Primitive< 3 >::Direction(2)> |
Three directions aligner in 3D space, compose and use three 1D aligners. More... | |
struct | Aligner< Primitive< 3 >::DIRECTION_LONG > |
struct | Aligner< Primitive< 3 >::DIRECTION_TRAN, Primitive< 3 >::DIRECTION_VERT > |
Two directions aligner in 2D and 3D space, compose and use two 1D aligners. More... | |
struct | AlignerBase |
struct | AlignerBase2D |
Base class for two directions aligner in 3D space, compose and use two 2D aligners. More... | |
struct | AlignerImpl |
Helper which allow to implement base class for aligners which work in one direction. More... | |
struct | DictionaryFromXML |
Allow to use XMLReader as dictionary which is required by aligners parsing functions. More... | |
struct | DirectionTo2D |
Convert Direction to 2D vector direction. More... | |
struct | DirectionTo2D< Primitive< 3 >::DIRECTION_TRAN > |
struct | DirectionTo2D< Primitive< 3 >::DIRECTION_VERT > |
Typedefs | |
typedef Primitive< 3 >::Direction | Direction |
Directions of aligners activity, same as vec<3, T> directions. | |
typedef Aligner< Primitive< 3 >::DIRECTION_TRAN, Primitive< 3 >::DIRECTION_VERT > | Aligner2D |
typedef Aligner< Primitive< 3 >::Direction(0), Primitive< 3 >::Direction(1), Primitive< 3 >::Direction(2)> | Aligner3D |
template<int dim> | |
using | AlignerD = typename chooseType< dim-2, Aligner2D, Aligner3D >::type |
Aligner2D if dim == 2, Aligner3D if dim == 3. | |
template<Primitive< 3 >::Direction dir> | |
using | LowerBoundImpl = details::AlignerCustomImpl< dir, details::lowToCoordinate, typename chooseType< dir, details::BACK, details::LEFT, details::BOTTOM >::type > |
typedef std::function< plask::optional< double >(const std::string &name)> | Dictionary |
Functions | |
Aligner< Primitive< 3 >::Direction(0), Primitive< 3 >::Direction(1)> | operator& (const Aligner< Primitive< 3 >::Direction(0)> &dir1aligner, const Aligner< Primitive< 3 >::Direction(1)> &dir2aligner) |
Aligner< Primitive< 3 >::Direction(0), Primitive< 3 >::Direction(1)> | operator& (const Aligner< Primitive< 3 >::Direction(1)> &dir1aligner, const Aligner< Primitive< 3 >::Direction(0)> &dir2aligner) |
Aligner< Primitive< 3 >::Direction(0), Primitive< 3 >::Direction(2)> | operator& (const Aligner< Primitive< 3 >::Direction(0)> &dir1aligner, const Aligner< Primitive< 3 >::Direction(2)> &dir2aligner) |
Aligner< Primitive< 3 >::Direction(0), Primitive< 3 >::Direction(2)> | operator& (const Aligner< Primitive< 3 >::Direction(2)> &dir1aligner, const Aligner< Primitive< 3 >::Direction(0)> &dir2aligner) |
Aligner< Primitive< 3 >::Direction(1), Primitive< 3 >::Direction(2)> | operator& (const Aligner< Primitive< 3 >::Direction(1)> &dir1aligner, const Aligner< Primitive< 3 >::Direction(2)> &dir2aligner) |
Aligner< Primitive< 3 >::Direction(1), Primitive< 3 >::Direction(2)> | operator& (const Aligner< Primitive< 3 >::Direction(2)> &dir1aligner, const Aligner< Primitive< 3 >::Direction(1)> &dir2aligner) |
Aligner3D | operator& (const Aligner< Primitive< 3 >::Direction(1), Primitive< 3 >::Direction(2)> &dir12aligner, const Aligner< Primitive< 3 >::Direction(0)> &dir0aligner) |
Aligner3D | operator& (const Aligner< Primitive< 3 >::Direction(0)> &dir0aligner, const Aligner< Primitive< 3 >::Direction(1), Primitive< 3 >::Direction(2)> &dir12aligner) |
Aligner3D | operator& (const Aligner< Primitive< 3 >::Direction(0), Primitive< 3 >::Direction(2)> &dir02aligner, const Aligner< Primitive< 3 >::Direction(1)> &dir1aligner) |
Aligner3D | operator& (const Aligner< Primitive< 3 >::Direction(1)> &dir1aligner, const Aligner< Primitive< 3 >::Direction(0), Primitive< 3 >::Direction(2)> &dir02aligner) |
Aligner3D | operator& (const Aligner< Primitive< 3 >::Direction(0), Primitive< 3 >::Direction(1)> &dir01aligner, const Aligner< Primitive< 3 >::Direction(2)> &dir2aligner) |
Aligner3D | operator& (const Aligner< Primitive< 3 >::Direction(2)> &dir2aligner, const Aligner< Primitive< 3 >::Direction(0), Primitive< 3 >::Direction(1)> &dir01aligner) |
Aligner< Primitive< 3 >::DIRECTION_TRAN > | left (double coordinate) |
Aligner< Primitive< 3 >::DIRECTION_TRAN > | right (double coordinate) |
Aligner< Primitive< 3 >::DIRECTION_TRAN > | tranCenter (double coordinate) |
Aligner< Primitive< 3 >::DIRECTION_TRAN > | center (double coordinate) |
Aligner< Primitive< 3 >::DIRECTION_TRAN > | tran (double coordinate) |
Aligner< Primitive< 3 >::DIRECTION_LONG > | front (double coordinate) |
Aligner< Primitive< 3 >::DIRECTION_LONG > | back (double coordinate) |
Aligner< Primitive< 3 >::DIRECTION_LONG > | lonCenter (double coordinate) |
Aligner< Primitive< 3 >::DIRECTION_LONG > | lon (double coordinate) |
Aligner< Primitive< 3 >::DIRECTION_VERT > | bottom (double coordinate) |
Aligner< Primitive< 3 >::DIRECTION_VERT > | top (double coordinate) |
Aligner< Primitive< 3 >::DIRECTION_VERT > | vertCenter (double coordinate) |
Aligner< Primitive< 3 >::DIRECTION_VERT > | vert (double coordinate) |
Aligner2D | fromVector (const Vec< 2, double > &v) |
Aligner3D | fromVector (const Vec< 3, double > &v) |
template<Primitive< 3 >::Direction dir> | |
Aligner< dir > | lowerBoundZero () |
Get aligner with align in one direction to lower bound. | |
template<Primitive< 3 >::Direction dir1, Primitive< 3 >::Direction dir2> | |
Aligner< dir1, dir2 > | lowerBoundZero () |
template<Direction direction> | |
Aligner< direction > | fromDictionary (Dictionary dictionary, const std::string &axis_name) |
Construct aligner in given direction from dictionary. | |
template<Direction direction> | |
Aligner< direction > | fromDictionary (Dictionary dic, const AxisNames &axis_names) |
Construct aligner in given direction from dictionary. | |
template<Direction direction> | |
Aligner< direction > | fromDictionary (Dictionary dictionary, const AxisNames &axis_names, Aligner< direction > default_aligner) |
Construct aligner in given direction from dictionary. | |
template<Direction direction> | |
Aligner< direction > | fromXML (const XMLReader &reader, const std::string &axis_name) |
template<Direction direction> | |
Aligner< direction > | fromXML (const XMLReader &reader, const AxisNames &axis_names) |
template<Direction direction> | |
Aligner< direction > | fromXML (const XMLReader &reader, const AxisNames &axis_names, Aligner< direction > default_aligner) |
template<Direction direction1, Direction direction2> | |
Aligner< direction1, direction2 > | fromDictionary (Dictionary dic, const AxisNames &axes) |
Construct 2 directions aligner from dictionary. | |
template<Direction direction1, Direction direction2> | |
Aligner< direction1, direction2 > | fromXML (const XMLReader &reader, const AxisNames &axes) |
Construct 2 directions aligner from XML. | |
template<Direction direction1, Direction direction2> | |
Aligner< direction1, direction2 > | fromDictionary (Dictionary dictionary, const AxisNames &axes, Aligner< direction1, direction2 > default2D) |
Construct 2 direction aligner from dictionary. | |
template<Direction direction1, Direction direction2> | |
Aligner< direction1, direction2 > | fromXML (const XMLReader &reader, const AxisNames &axes, Aligner< direction1, direction2 > default2D) |
Construct 2 direction aligner from XML. | |
template<Direction direction1, Direction direction2, Direction direction3> | |
Aligner3D | fromDictionary (Dictionary dictionary, const AxisNames &axis_names) |
Construct 3 direction aligner from dictionary. | |
template<Direction direction1, Direction direction2, Direction direction3> | |
Aligner3D | fromXML (const XMLReader &reader, const AxisNames &axes) |
Construct 3 direction aligner from XML. | |
template<Direction direction1, Direction direction2, Direction direction3> | |
Aligner3D | fromDictionary (Dictionary dic, const AxisNames &axes, Aligner< direction1, direction2, direction3 > default3D) |
Construct 3 direction aligner from dictionary. | |
template<Direction direction1, Direction direction2, Direction direction3> | |
Aligner3D | fromXML (const XMLReader &reader, const AxisNames &axes, Aligner< direction1, direction2, direction3 > default3D) |
Construct 3 direction aligner from XML. | |
template<typename TranslationT , typename Aligner1T , typename Aligner2T > | |
void | align (TranslationT &toAlign, const Aligner1T &aligner1, const Aligner2T &aligner2) |
Align toAlign by aligner1 and aligner2. | |
typedef Aligner<Primitive<3>::DIRECTION_TRAN, Primitive<3>::DIRECTION_VERT> plask::align::Aligner2D |
typedef Aligner<Primitive<3>::Direction(0), Primitive<3>::Direction(1), Primitive<3>::Direction(2)> plask::align::Aligner3D |
using plask::align::AlignerD = typedef typename chooseType<dim-2, Aligner2D, Aligner3D>::type |
typedef std::function<plask::optional<double>(const std::string& name)> plask::align::Dictionary |
typedef Primitive<3>::Direction plask::align::Direction |
using plask::align::LowerBoundImpl = typedef details::AlignerCustomImpl<dir, details::lowToCoordinate, typename chooseType<dir, details::BACK, details::LEFT, details::BOTTOM>::type> |
void plask::align::align | ( | TranslationT & | toAlign, |
const Aligner1T & | aligner1, | ||
const Aligner2T & | aligner2 | ||
) |
Align toAlign
by aligner1 and aligner2.
It is equal to, but possibly faster than:
It calculates bounding box of toAlign only once and only if it is required by any aligner.
toAlign | object to align, translation in 2D or 3D |
aligner1,aligner2 | aligners |
|
inline |
Construct 2 directions aligner from dictionary.
Throw exception if there is no information about one of this direction in dic
, or when some direction is described multiple times.
dic | dictionary which describes required aligner in 2 directions |
axes | names of axes |
|
inline |
Construct 3 direction aligner from dictionary.
Throw exception if some direction is described multiple times.
dic | dictionary which describes required aligner in 3 directions |
axes | names of axes |
default3D | default aligner in all directions, used when there is no information about aligner in some direction in dictionary |
Aligner< direction > plask::align::fromDictionary | ( | Dictionary | dic, |
const AxisNames & | axis_names | ||
) |
Construct aligner in given direction from dictionary.
Throw exception if dic
contains information about multiple aligners in given direction
.
dictionary | dictionary which can describe aligner |
axis_names | names of axes |
nullptr
if no information about aligner was found in dictionary
direction | direction |
|
inline |
Construct 2 direction aligner from dictionary.
Throw exception if some direction is described multiple times.
dictionary | dictionary which describes required aligner in 2 directions |
axes | names of axes |
default2D | default aligners, used when there is no information about aligner in some direction in dictionary |
|
inline |
Construct 3 direction aligner from dictionary.
Throw exception if there is no information about one of this direction in dic
, or when some direction is described multiple times.
dictionary | dictionary which describes required aligner in 3 directions |
axis_names | names of axes |
Aligner< direction > plask::align::fromDictionary | ( | Dictionary | dictionary, |
const AxisNames & | axis_names, | ||
Aligner< direction > | default_aligner | ||
) |
Construct aligner in given direction from dictionary.
Throw exception if dic
contains information about multiple aligners in given direction
.
dictionary | dictionary which can describes 2D aligner |
axis_names | names of axes |
default_aligner | default aligners, returned when there is no information about aligner in dictionary |
default_aligner
if no information about aligner was found in dictionary
direction | direction |
Aligner< direction > plask::align::fromDictionary | ( | Dictionary | dictionary, |
const std::string & | axis_name | ||
) |
Construct aligner in given direction from dictionary.
Throw exception if dic
contains information about multiple aligners in given direction
.
dictionary | dictionary which can describe aligner |
axis_name | name of axis in given direction |
nullptr
if no information about aligner was found in dictionary
direction | direction |
|
inline |
Construct 2 directions aligner from XML.
Throw exception if there is no information about one of this direction in reader
, or when some direction is described multiple times.
reader | XML reader which point to tag which attributes describe required aligner in 2 directions |
axes | names of axes |
Construct 3 direction aligner from XML.
Throw exception if there is no information about one of this direction in reader
, or when some direction is described multiple times.
reader | XML reader which point to tag which attributes describe required aligner in 3 directions |
axes | names of axes |
|
inline |
Construct 2 direction aligner from XML.
Throw exception if some direction is described multiple times.
reader | XML reader which point to tag which attributes describe required aligner in 2 directions |
axes | names of axes |
default2D | default aligners, used when there is no information about aligner in some direction in reader |
|
inline |
Construct 3 direction aligner from XML.
Throw exception if some direction is described multiple times.
reader | XML reader which point to tag which attributes describe required aligner in 3 directions |
axes | names of axes |
default3D | default aligner in all directions, used when there is no information about aligner in some direction in reader |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |