PLaSK library
|
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>
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 . | |
Periodic * | clone () 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 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 . | |
Strategy which moves point p by multiple of (bbox_hi - bbox_lo) to be in range [bbox_lo, bbox_hi].
|
overridevirtual |
Apply strategy to given point p
.
[in] | bbox_lo,bbox_hi | coordinates of geometry object bounding box in strategy working direction |
[in,out] | p | coordinate of point in strategy working direction, it's (must be) higher than bbox_hi , this method can move this point |
[out] | result_material | optionally, this method can assign to it material which should be used |
[in] | opposite | strategy at opposite side (if known) |
Implements plask::edge::Strategy.
|
overridevirtual |
Apply strategy to given point p
.
[in] | bbox_lo,bbox_hi | coordinates of geometry object bounding box in strategy working direction |
[in,out] | p | coordinate of point in strategy working direction, it's (must be) lower than bbox_lo , this method can move this point |
[out] | result_material | optionally, this method can assign to it material which should be used |
[in] | opposite | strategy at opposite side (if known) |
Implements plask::edge::Strategy.
|
overridevirtual |
Clone this strategy.
Implements plask::edge::Strategy.
|
overridevirtual |
Get string representation of this strategy.
Implements plask::edge::Strategy.
|
inlineoverridevirtual |