PLaSK library
Loading...
Searching...
No Matches
plask::edge::Periodic Struct Reference

Strategy which moves point p by multiple of (bbox_hi - bbox_lo) to be in range [bbox_lo, bbox_hi]. More...

#include <plask/geometry/edge.hpp>

Inheritance diagram for plask::edge::Periodic:
[legend]
Collaboration diagram for plask::edge::Periodic:
[legend]

Public Member Functions

Type type () const override
 
void applyLo (double bbox_lo, double bbox_hi, double &p, shared_ptr< Material > &result_material, const Strategy *opposite) const override
 Apply strategy to given point p.
 
void applyHi (double bbox_lo, double bbox_hi, double &p, shared_ptr< Material > &result_material, const Strategy *opposite) const override
 Apply strategy to given point p.
 
Periodicclone () const override
 Clone this strategy.
 
std::string str () const override
 Get string representation of this strategy.
 
- Public Member Functions inherited from plask::edge::Strategy
virtual ~Strategy ()
 
virtual bool canMoveOutsideBoundingBox () const
 Check if this strategy can move point p to place outside bounding box.
 

Additional Inherited Members

- Public Types inherited from plask::edge::Strategy
enum  Type {
  DEFAULT , SIMPLE , EXTEND , PERIODIC ,
  MIRROR
}
 Enum holding strategy types. More...
 
- Static Public Member Functions inherited from plask::edge::Strategy
static StrategyfromStr (const std::string &str, const MaterialsDB &materialsDB=MaterialsDB::getDefault())
 Create new strategy (using operator new) described by string str.
 
static std::unique_ptr< StrategyfromStrUnique (const std::string &str, const MaterialsDB &materialsDB=MaterialsDB::getDefault())
 Create new strategy described by string str.
 

Detailed Description

Strategy which moves point p by multiple of (bbox_hi - bbox_lo) to be in range [bbox_lo, bbox_hi].

Definition at line 185 of file edge.hpp.

Member Function Documentation

◆ applyHi()

void plask::edge::Periodic::applyHi ( double  bbox_lo,
double  bbox_hi,
double p,
shared_ptr< Material > &  result_material,
const Strategy opposite 
) const
overridevirtual

Apply strategy to given point p.

Parameters
[in]bbox_lo,bbox_hicoordinates of geometry object bounding box in strategy working direction
[in,out]pcoordinate of point in strategy working direction, it's (must be) higher than bbox_hi, this method can move this point
[out]result_materialoptionally, this method can assign to it material which should be used
[in]oppositestrategy at opposite side (if known)

Implements plask::edge::Strategy.

Definition at line 92 of file edge.cpp.

◆ applyLo()

void plask::edge::Periodic::applyLo ( double  bbox_lo,
double  bbox_hi,
double p,
shared_ptr< Material > &  result_material,
const Strategy opposite 
) const
overridevirtual

Apply strategy to given point p.

Parameters
[in]bbox_lo,bbox_hicoordinates of geometry object bounding box in strategy working direction
[in,out]pcoordinate of point in strategy working direction, it's (must be) lower than bbox_lo, this method can move this point
[out]result_materialoptionally, this method can assign to it material which should be used
[in]oppositestrategy at opposite side (if known)

Implements plask::edge::Strategy.

Definition at line 81 of file edge.cpp.

◆ clone()

Periodic * plask::edge::Periodic::clone ( ) const
overridevirtual

Clone this strategy.

Returns
strategy identical to this one, constructed using operator new

Implements plask::edge::Strategy.

Definition at line 104 of file edge.cpp.

◆ str()

std::string plask::edge::Periodic::str ( ) const
overridevirtual

Get string representation of this strategy.

Returns
string representation of this strategy

Implements plask::edge::Strategy.

Definition at line 108 of file edge.cpp.

◆ type()

Type plask::edge::Periodic::type ( ) const
inlineoverridevirtual
Returns
strategy type

Implements plask::edge::Strategy.

Definition at line 187 of file edge.hpp.


The documentation for this struct was generated from the following files: