PLaSK library

Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Functions
align.hpp File Reference

This file contains aligners. More...

`#include "transform.hpp"`
`#include <boost/lexical_cast.hpp>`
`#include "../utils/xml.hpp"`
`#include "../memory.hpp"`
`#include "../utils/metaprog.hpp"`
Include dependency graph for align.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Classes
struct | plask::align::DirectionTo2D< direction >
| Convert Direction to 2D vector direction. More...
struct | plask::align::DirectionTo2D< Primitive< 3 >::DIRECTION_TRAN >
struct | plask::align::DirectionTo2D< Primitive< 3 >::DIRECTION_VERT >
struct | plask::align::AlignerImpl< _direction >
| Helper which allow to implement base class for aligners which work in one direction. More...
struct | plask::align::AlignerBase< _direction >
struct | plask::align::Aligner< _direction >
| Base class for one direction aligners (in 2D and 3D spaces). More...
struct | plask::align::Aligner< Primitive< 3 >::DIRECTION_LONG >
struct | plask::align::details::PositionAlignerImpl< direction >
| Alginer which place zero of object in constant, chosen place. More...
struct | plask::align::AlignerBase2D< _direction1, _direction2 >
| Base class for two directions aligner in 3D space, compose and use two 2D aligners. More...
struct | plask::align::Aligner< _direction1, _direction2 >
| Two directions aligner in 3D space, compose and use two 1D aligners. More...
struct | plask::align::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 | plask::align::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 | plask::align::details::LEFT
struct | plask::align::details::RIGHT
struct | plask::align::details::FRONT
struct | plask::align::details::BACK
struct | plask::align::details::TOP
struct | plask::align::details::BOTTOM
struct | plask::align::details::TRAN_CENTER
struct | plask::align::details::LON_CENTER
struct | plask::align::details::VERT_CENTER
struct | plask::align::details::AlignerCustomImpl< direction, strategy, name_tag >
struct | plask::align::DictionaryFromXML
| Allow to use XMLReader as dictionary which is required by aligners parsing functions. More...

## Namespaces
namespace | plask
| Patterson quadrature for complex function along specified line.
namespace | plask::align
namespace | plask::align::details

## Typedefs
typedef Primitive< 3 >::Direction | plask::align::Direction
| Directions of aligners activity, same as vec<3, T> directions.
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
template<int dim>
using | plask::align::AlignerD = typename chooseType< dim-2, Aligner2D, Aligner3D >::type
| Aligner2D if dim == 2, Aligner3D if dim == 3.
typedef double | plask::align::details::alignStrategy(double lo, double hi, double coordinate)
template<Primitive< 3 >::Direction dir>
using | plask::align::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)> | plask::align::Dictionary

## Functions
Aligner< Primitive< 3 >::Direction(0), Primitive< 3 >::Direction(1)> | plask::align::operator& (const Aligner< Primitive< 3 >::Direction(0)> &dir1aligner, const Aligner< Primitive< 3 >::Direction(1)> &dir2aligner)
Aligner< Primitive< 3 >::Direction(0), Primitive< 3 >::Direction(1)> | plask::align::operator& (const Aligner< Primitive< 3 >::Direction(1)> &dir1aligner, const Aligner< Primitive< 3 >::Direction(0)> &dir2aligner)
Aligner< Primitive< 3 >::Direction(0), Primitive< 3 >::Direction(2)> | plask::align::operator& (const Aligner< Primitive< 3 >::Direction(0)> &dir1aligner, const Aligner< Primitive< 3 >::Direction(2)> &dir2aligner)
Aligner< Primitive< 3 >::Direction(0), Primitive< 3 >::Direction(2)> | plask::align::operator& (const Aligner< Primitive< 3 >::Direction(2)> &dir1aligner, const Aligner< Primitive< 3 >::Direction(0)> &dir2aligner)
Aligner< Primitive< 3 >::Direction(1), Primitive< 3 >::Direction(2)> | plask::align::operator& (const Aligner< Primitive< 3 >::Direction(1)> &dir1aligner, const Aligner< Primitive< 3 >::Direction(2)> &dir2aligner)
Aligner< Primitive< 3 >::Direction(1), Primitive< 3 >::Direction(2)> | plask::align::operator& (const Aligner< Primitive< 3 >::Direction(2)> &dir1aligner, const Aligner< Primitive< 3 >::Direction(1)> &dir2aligner)
Aligner3D | plask::align::operator& (const Aligner< Primitive< 3 >::Direction(1), Primitive< 3 >::Direction(2)> &dir12aligner, const Aligner< Primitive< 3 >::Direction(0)> &dir0aligner)
Aligner3D | plask::align::operator& (const Aligner< Primitive< 3 >::Direction(0)> &dir0aligner, const Aligner< Primitive< 3 >::Direction(1), Primitive< 3 >::Direction(2)> &dir12aligner)
Aligner3D | plask::align::operator& (const Aligner< Primitive< 3 >::Direction(0), Primitive< 3 >::Direction(2)> &dir02aligner, const Aligner< Primitive< 3 >::Direction(1)> &dir1aligner)
Aligner3D | plask::align::operator& (const Aligner< Primitive< 3 >::Direction(1)> &dir1aligner, const Aligner< Primitive< 3 >::Direction(0), Primitive< 3 >::Direction(2)> &dir02aligner)
Aligner3D | plask::align::operator& (const Aligner< Primitive< 3 >::Direction(0), Primitive< 3 >::Direction(1)> &dir01aligner, const Aligner< Primitive< 3 >::Direction(2)> &dir2aligner)
Aligner3D | plask::align::operator& (const Aligner< Primitive< 3 >::Direction(2)> &dir2aligner, const Aligner< Primitive< 3 >::Direction(0), Primitive< 3 >::Direction(1)> &dir01aligner)
double | plask::align::details::lowToCoordinate (double lo, double, double coordinate)
double | plask::align::details::hiToCoordinate (double, double hi, double coordinate)
double | plask::align::details::centerToCoordinate (double lo, double hi, double coordinate)
Aligner< Primitive< 3 >::DIRECTION_TRAN > | plask::align::left (double coordinate)
Aligner< Primitive< 3 >::DIRECTION_TRAN > | plask::align::right (double coordinate)
Aligner< Primitive< 3 >::DIRECTION_TRAN > | plask::align::tranCenter (double coordinate)
Aligner< Primitive< 3 >::DIRECTION_TRAN > | plask::align::center (double coordinate)
Aligner< Primitive< 3 >::DIRECTION_TRAN > | plask::align::tran (double coordinate)
Aligner< Primitive< 3 >::DIRECTION_LONG > | plask::align::front (double coordinate)
Aligner< Primitive< 3 >::DIRECTION_LONG > | plask::align::back (double coordinate)
Aligner< Primitive< 3 >::DIRECTION_LONG > | plask::align::lonCenter (double coordinate)
Aligner< Primitive< 3 >::DIRECTION_LONG > | plask::align::lon (double coordinate)
Aligner< Primitive< 3 >::DIRECTION_VERT > | plask::align::bottom (double coordinate)
Aligner< Primitive< 3 >::DIRECTION_VERT > | plask::align::top (double coordinate)
Aligner< Primitive< 3 >::DIRECTION_VERT > | plask::align::vertCenter (double coordinate)
Aligner< Primitive< 3 >::DIRECTION_VERT > | plask::align::vert (double coordinate)
Aligner2D | plask::align::fromVector (const Vec< 2, double > &v)
Aligner3D | plask::align::fromVector (const Vec< 3, double > &v)
template<Primitive< 3 >::Direction dir>
Aligner< dir > | plask::align::lowerBoundZero ()
| Get aligner with align in one direction to lower bound.
template<Primitive< 3 >::Direction dir1, Primitive< 3 >::Direction dir2>
Aligner< dir1, dir2 > | plask::align::lowerBoundZero ()
Aligner< Primitive< 3 >::DIRECTION_TRAN > | plask::align::details::transAlignerFromDictionary (Dictionary dic, const std::string &axis_name)
Aligner< Primitive< 3 >::DIRECTION_LONG > | plask::align::details::lonAlignerFromDictionary (Dictionary dic, const std::string &axis_name)
Aligner< Primitive< 3 >::DIRECTION_VERT > | plask::align::details::vertAlignerFromDictionary (Dictionary dic, const std::string &axis_name)
template<Direction direction>
Aligner< direction > | plask::align::fromDictionary (Dictionary dictionary, const std::string &axis_name)
| Construct aligner in given direction from dictionary.
template<Direction direction>
Aligner< direction > | plask::align::fromDictionary (Dictionary dic, const AxisNames &axis_names)
| Construct aligner in given direction from dictionary.
template<Direction direction>
Aligner< direction > | plask::align::fromDictionary (Dictionary dictionary, const AxisNames &axis_names, Aligner< direction > default_aligner)
| Construct aligner in given direction from dictionary.
template<Direction direction>
Aligner< direction > | plask::align::fromXML (const XMLReader &reader, const std::string &axis_name)
template<Direction direction>
Aligner< direction > | plask::align::fromXML (const XMLReader &reader, const AxisNames &axis_names)
template<Direction direction>
Aligner< direction > | plask::align::fromXML (const XMLReader &reader, const AxisNames &axis_names, Aligner< direction > default_aligner)
template<Direction direction1, Direction direction2>
Aligner< direction1, direction2 > | plask::align::fromDictionary (Dictionary dic, const AxisNames &axes)
| Construct 2 directions aligner from dictionary.
template<Direction direction1, Direction direction2>
Aligner< direction1, direction2 > | plask::align::fromXML (const XMLReader &reader, const AxisNames &axes)
| Construct 2 directions aligner from XML.
template<Direction direction1, Direction direction2>
Aligner< direction1, direction2 > | plask::align::fromDictionary (Dictionary dictionary, const AxisNames &axes, Aligner< direction1, direction2 > default2D)
| Construct 2 direction aligner from dictionary.
template<Direction direction1, Direction direction2>
Aligner< direction1, direction2 > | plask::align::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 | plask::align::fromDictionary (Dictionary dictionary, const AxisNames &axis_names)
| Construct 3 direction aligner from dictionary.
template<Direction direction1, Direction direction2, Direction direction3>
Aligner3D | plask::align::fromXML (const XMLReader &reader, const AxisNames &axes)
| Construct 3 direction aligner from XML.
template<Direction direction1, Direction direction2, Direction direction3>
Aligner3D | plask::align::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 | plask::align::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 | plask::align::align (TranslationT &toAlign, const Aligner1T &aligner1, const Aligner2T &aligner2)
| Align `toAlign` by aligner1 and aligner2.

## Detailed Description

This file contains aligners.

Definition in file align.hpp.