PLaSK library
Loading...
Searching...
No Matches
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::IteratorImplclone () 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
inlineoverridevirtual

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
inlineoverridevirtual
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
inlineoverride

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 ( )
inlineoverridevirtual

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


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