PLaSK library
Loading...
Searching...
No Matches
plask::edge::StrategyHolder< direction, StrategyType > Class Template Reference

Held edge strategy with given type and: More...

#include <plask/geometry/edge.hpp>

Public Member Functions

 StrategyHolder (const StrategyType &strategy=Null())
 
template<int adirection>
 StrategyHolder (const StrategyHolder< adirection, StrategyType > &strategyHolder)
 
 ~StrategyHolder ()
 
const StrategyTypegetStrategy () const
 
void setStrategy (const StrategyType &strategy)
 
std::string str () const
 
StrategyHolder< direction, StrategyType > & operator= (const StrategyType &strategy)
 
template<int adirection>
StrategyHolder< direction, StrategyType > & operator= (const StrategyHolder< adirection, StrategyType > &strategyHolder)
 
template<int dims>
void applyLo (const typename Primitive< dims >::Box &bbox, Vec< dims, double > &p, shared_ptr< Material > &result_material, const Strategy *opposite) const
 
template<int dims>
void applyHi (const typename Primitive< dims >::Box &bbox, Vec< dims, double > &p, shared_ptr< Material > &result_material, const Strategy *opposite) const
 
template<int dims>
void applyIfLo (const typename Primitive< dims >::Box &bbox, Vec< dims, double > &p, shared_ptr< Material > &result_material, const Strategy *opposite) const
 
template<int dims>
void applyIfHi (const typename Primitive< dims >::Box &bbox, Vec< dims, double > &p, shared_ptr< Material > &result_material, const Strategy *opposite) const
 

Detailed Description

template<int direction, typename StrategyType = Strategy>
class plask::edge::StrategyHolder< direction, StrategyType >

Held edge strategy with given type and:

  • delegate apply methods to held strategy,
  • allow to assign strategy to self (using operator=).
    Template Parameters
    directionheld strategy working direction (coordinate of vector component)
    StrategyType(base) type of held strategy, typically Strategy or UniversalStrategy

Definition at line 224 of file edge.hpp.

Constructor & Destructor Documentation

◆ StrategyHolder() [1/2]

template<int direction, typename StrategyType = Strategy>
plask::edge::StrategyHolder< direction, StrategyType >::StrategyHolder ( const StrategyType strategy = Null())
inline

Definition at line 229 of file edge.hpp.

◆ StrategyHolder() [2/2]

template<int direction, typename StrategyType = Strategy>
template<int adirection>
plask::edge::StrategyHolder< direction, StrategyType >::StrategyHolder ( const StrategyHolder< adirection, StrategyType > &  strategyHolder)
inline

Definition at line 232 of file edge.hpp.

◆ ~StrategyHolder()

template<int direction, typename StrategyType = Strategy>
plask::edge::StrategyHolder< direction, StrategyType >::~StrategyHolder ( )
inline

Definition at line 234 of file edge.hpp.

Member Function Documentation

◆ applyHi()

template<int direction, typename StrategyType = Strategy>
template<int dims>
void plask::edge::StrategyHolder< direction, StrategyType >::applyHi ( const typename Primitive< dims >::Box &  bbox,
Vec< dims, double > &  p,
shared_ptr< Material > &  result_material,
const Strategy opposite 
) const
inline

Definition at line 264 of file edge.hpp.

◆ applyIfHi()

template<int direction, typename StrategyType = Strategy>
template<int dims>
void plask::edge::StrategyHolder< direction, StrategyType >::applyIfHi ( const typename Primitive< dims >::Box &  bbox,
Vec< dims, double > &  p,
shared_ptr< Material > &  result_material,
const Strategy opposite 
) const
inline

Definition at line 275 of file edge.hpp.

◆ applyIfLo()

template<int direction, typename StrategyType = Strategy>
template<int dims>
void plask::edge::StrategyHolder< direction, StrategyType >::applyIfLo ( const typename Primitive< dims >::Box &  bbox,
Vec< dims, double > &  p,
shared_ptr< Material > &  result_material,
const Strategy opposite 
) const
inline

Definition at line 269 of file edge.hpp.

◆ applyLo()

template<int direction, typename StrategyType = Strategy>
template<int dims>
void plask::edge::StrategyHolder< direction, StrategyType >::applyLo ( const typename Primitive< dims >::Box &  bbox,
Vec< dims, double > &  p,
shared_ptr< Material > &  result_material,
const Strategy opposite 
) const
inline

Definition at line 259 of file edge.hpp.

◆ getStrategy()

template<int direction, typename StrategyType = Strategy>
const StrategyType & plask::edge::StrategyHolder< direction, StrategyType >::getStrategy ( ) const
inline

Definition at line 236 of file edge.hpp.

◆ operator=() [1/2]

template<int direction, typename StrategyType = Strategy>
template<int adirection>
StrategyHolder< direction, StrategyType > & plask::edge::StrategyHolder< direction, StrategyType >::operator= ( const StrategyHolder< adirection, StrategyType > &  strategyHolder)
inline

Definition at line 249 of file edge.hpp.

◆ operator=() [2/2]

template<int direction, typename StrategyType = Strategy>
StrategyHolder< direction, StrategyType > & plask::edge::StrategyHolder< direction, StrategyType >::operator= ( const StrategyType strategy)
inline

Definition at line 246 of file edge.hpp.

◆ setStrategy()

template<int direction, typename StrategyType = Strategy>
void plask::edge::StrategyHolder< direction, StrategyType >::setStrategy ( const StrategyType strategy)
inline

Definition at line 238 of file edge.hpp.

◆ str()

template<int direction, typename StrategyType = Strategy>
std::string plask::edge::StrategyHolder< direction, StrategyType >::str ( ) const
inline

Definition at line 244 of file edge.hpp.


The documentation for this class was generated from the following file: