PLaSK library

Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
plask::RectangularMaskedMesh3D::BoundaryIteratorImpl< CHANGE_DIR_SLOWER, CHANGE_DIR_FASTER > Struct Template Reference

Iterator over plane CHANGE_DIR_SLOWER, CHANGE_DIR_FASTER (an index if the remain coordinate is constant). More...

`#include <plask/mesh/rectangular_masked3d.hpp>`

Inheritance diagram for plask::RectangularMaskedMesh3D::BoundaryIteratorImpl< CHANGE_DIR_SLOWER, CHANGE_DIR_FASTER >:
[legend]
Collaboration diagram for plask::RectangularMaskedMesh3D::BoundaryIteratorImpl< CHANGE_DIR_SLOWER, CHANGE_DIR_FASTER >:
[legend]

## Public Member Functions
| BoundaryIteratorImpl (const RectangularMaskedMeshBase< 3 > &mesh, Vec< 3, std::size_t > index, std::size_t indexSlowerEnd, std::size_t indexFasterEnd)
void | increment () override
| Iterate to next value.
bool | equal (const plask::BoundaryNodeSetImpl::IteratorImpl &other) const override
std::size_t | dereference () const override
std::unique_ptr< plask::BoundaryNodeSetImpl::IteratorImpl > | clone () const override
| Clone this iterator.
Public Member Functions inherited from plask::PolymorphicForwardIteratorImpl< ValueT, ReferenceT >
virtual | ~PolymorphicForwardIteratorImpl ()
| Virtual destructor, do nothing.
virtual bool | equal (const PolymorphicForwardIteratorImpl &other) const =0
| Check if this is equal to `other`.

## Public Attributes
const RectangularMaskedMeshBase< 3 > & | mesh
Vec< 3, std::size_t > | index
| current indexes
const std::size_t | indexFasterBegin
| past the last index of change direction
const std::size_t | indexFasterEnd
const std::size_t | indexSlowerEnd

## Additional Inherited Members
Public Types inherited from plask::PolymorphicForwardIteratorImpl< ValueT, ReferenceT >
typedef ValueT | value_type
| Type of objects pointed by the iterator.
typedef ReferenceT | reference
| Type to represent a reference to an object pointed by the iterator.

## Detailed Description

template<int CHANGE_DIR_SLOWER, int CHANGE_DIR_FASTER>
struct plask::RectangularMaskedMesh3D::BoundaryIteratorImpl< CHANGE_DIR_SLOWER, CHANGE_DIR_FASTER >

Iterator over plane CHANGE_DIR_SLOWER, CHANGE_DIR_FASTER (an index if the remain coordinate is constant).

Each increment() changes CHANGE_DIR_FASTER index.

Common code for: left, right, bottom, top boundaries.

Definition at line 654 of file rectangular_masked3d.hpp.

## Constructor & Destructor Documentation

## ◆ BoundaryIteratorImpl()

template<int CHANGE_DIR_SLOWER, int CHANGE_DIR_FASTER>

plask::RectangularMaskedMesh3D::BoundaryIteratorImpl< CHANGE_DIR_SLOWER, CHANGE_DIR_FASTER >::BoundaryIteratorImpl | ( | const RectangularMaskedMeshBase< 3 > & | mesh,
|  | Vec< 3, std::size_t > | index,
|  | std::size_t | indexSlowerEnd,
|  | std::size_t | indexFasterEnd
| ) |  |
| inline

Definition at line 674 of file rectangular_masked3d.hpp.

## Member Function Documentation

## ◆ clone()

template<int CHANGE_DIR_SLOWER, int CHANGE_DIR_FASTER>

std::unique_ptr< plask::BoundaryNodeSetImpl::IteratorImpl > plask::RectangularMaskedMesh3D::BoundaryIteratorImpl< CHANGE_DIR_SLOWER, CHANGE_DIR_FASTER >::clone | ( |  | ) | const
| inline override virtual

Clone this iterator.

Returns
  clone of `*this`, allocated with new operator (caller is responsible for deleting it)

Implements plask::PolymorphicForwardIteratorImpl< ValueT, ReferenceT >.

Definition at line 696 of file rectangular_masked3d.hpp.

## ◆ dereference()

template<int CHANGE_DIR_SLOWER, int CHANGE_DIR_FASTER>

std::size_t plask::RectangularMaskedMesh3D::BoundaryIteratorImpl< CHANGE_DIR_SLOWER, CHANGE_DIR_FASTER >::dereference | ( |  | ) | const
| inline override virtual

Returns
  current value

Implements plask::PolymorphicForwardIteratorImpl< ValueT, ReferenceT >.

Definition at line 692 of file rectangular_masked3d.hpp.

## ◆ equal()

template<int CHANGE_DIR_SLOWER, int CHANGE_DIR_FASTER>

bool plask::RectangularMaskedMesh3D::BoundaryIteratorImpl< CHANGE_DIR_SLOWER, CHANGE_DIR_FASTER >::equal | ( | const plask::BoundaryNodeSetImpl::IteratorImpl & | other | ) | const
| inline override

Definition at line 688 of file rectangular_masked3d.hpp.

## ◆ increment()

template<int CHANGE_DIR_SLOWER, int CHANGE_DIR_FASTER>

void plask::RectangularMaskedMesh3D::BoundaryIteratorImpl< CHANGE_DIR_SLOWER, CHANGE_DIR_FASTER >::increment | ( |  | ) |
| inline override virtual

Iterate to next value.

Implements plask::PolymorphicForwardIteratorImpl< ValueT, ReferenceT >.

Definition at line 682 of file rectangular_masked3d.hpp.

## Member Data Documentation

## ◆ index

template<int CHANGE_DIR_SLOWER, int CHANGE_DIR_FASTER>

Vec<3, std::size_t> plask::RectangularMaskedMesh3D::BoundaryIteratorImpl< CHANGE_DIR_SLOWER, CHANGE_DIR_FASTER >::index

current indexes

Definition at line 659 of file rectangular_masked3d.hpp.

## ◆ indexFasterBegin

template<int CHANGE_DIR_SLOWER, int CHANGE_DIR_FASTER>

const std::size_t plask::RectangularMaskedMesh3D::BoundaryIteratorImpl< CHANGE_DIR_SLOWER, CHANGE_DIR_FASTER >::indexFasterBegin

past the last index of change direction

Definition at line 662 of file rectangular_masked3d.hpp.

## ◆ indexFasterEnd

template<int CHANGE_DIR_SLOWER, int CHANGE_DIR_FASTER>

const std::size_t plask::RectangularMaskedMesh3D::BoundaryIteratorImpl< CHANGE_DIR_SLOWER, CHANGE_DIR_FASTER >::indexFasterEnd

Definition at line 662 of file rectangular_masked3d.hpp.

## ◆ indexSlowerEnd

template<int CHANGE_DIR_SLOWER, int CHANGE_DIR_FASTER>

const std::size_t plask::RectangularMaskedMesh3D::BoundaryIteratorImpl< CHANGE_DIR_SLOWER, CHANGE_DIR_FASTER >::indexSlowerEnd

Definition at line 662 of file rectangular_masked3d.hpp.

## ◆ mesh

template<int CHANGE_DIR_SLOWER, int CHANGE_DIR_FASTER>

const RectangularMaskedMeshBase<3>& plask::RectangularMaskedMesh3D::BoundaryIteratorImpl< CHANGE_DIR_SLOWER, CHANGE_DIR_FASTER >::mesh

Definition at line 656 of file rectangular_masked3d.hpp.

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

- plask/mesh/rectangular_masked3d.hpp