PLaSK library
Loading...
Searching...
No Matches
plask::edge::UniversalStrategy Struct Referenceabstract

Base class for all universal strategies. More...

#include <plask/geometry/edge.hpp>

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

Public Member Functions

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

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

Base class for all universal strategies.

Universal strategies form subset of strategies, and could be required in some context.

Definition at line 124 of file edge.hpp.

Member Function Documentation

◆ clone()

UniversalStrategy * plask::edge::UniversalStrategy::clone ( ) const
overridepure virtual

Clone this strategy.

Returns
strategy identical to this one, constructed using operator new

Implements plask::edge::Strategy.

Implemented in plask::edge::Null, plask::edge::SimpleMaterial, and plask::edge::Extend.


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