PLaSK library

Loading...
Searching...
No Matches
Public Member Functions | List of all members
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`.
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`.

## 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
| override virtual

Apply strategy to given point `p`.

Parameters

  [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.

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
| override virtual

Apply strategy to given point `p`.

Parameters

  [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.

Definition at line 81 of file edge.cpp.

## ◆ clone()

Periodic * plask::edge::Periodic::clone | ( |  | ) | const
| override virtual

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
| override virtual

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
| inline override virtual

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:

- plask/geometry/edge.hpp
- plask/geometry/edge.cpp