|
PLaSK library
|
Base class for all universal strategies. More...
#include <plask/geometry/edge.hpp>
Public Member Functions | |
| UniversalStrategy * | clone () const override=0 |
| Clone this strategy. | |
Public Member Functions inherited from plask::geometry_edges::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::geometry_edges::Strategy | |
| enum | Type { DEFAULT , SIMPLE , EXTEND , PERIODIC , MIRROR } |
| Enum holding strategy types. More... | |
Static Public Member Functions inherited from plask::geometry_edges::Strategy | |
| static Strategy * | fromStr (const std::string &str, const MaterialsDB &materialsDB=MaterialsDB::getDefault()) |
Create new strategy (using operator new) described by string str. | |
| static std::unique_ptr< Strategy > | fromStrUnique (const std::string &str, const MaterialsDB &materialsDB=MaterialsDB::getDefault()) |
Create new strategy described by string str. | |
Base class for all universal strategies.
Universal strategies form subset of strategies, and could be required in some context.
|
overridepure virtual |
Clone this strategy.
Implements plask::geometry_edges::Strategy.
Implemented in plask::geometry_edges::Null, plask::geometry_edges::SimpleMaterial, and plask::geometry_edges::Extend.