PLaSK library

Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
plask::BoundaryNodeSetImpl Struct Referenceabstract

Base class for boundaries logic. More...

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

Inheritance diagram for plask::BoundaryNodeSetImpl:
[legend]

## Public Types
typedef PolymorphicForwardIteratorImpl< std::size_t, std::size_t > | IteratorImpl
| Base class for boundary iterator implementation.
typedef PolymorphicForwardIterator< IteratorImpl > | Iterator
| Boundary iterator type.
typedef Iterator | const_iterator
| iterator over indexes of mesh
typedef const_iterator | iterator

## Public Member Functions
virtual | ~BoundaryNodeSetImpl ()
virtual bool | contains (std::size_t mesh_index) const =0
| Check if boundary contains point with given index.
virtual const_iterator | begin () const =0
| Get begin iterator over boundary points.
virtual const_iterator | end () const =0
| Get end iterator over boundary points.
virtual bool | empty () const
| Check if this represents empty set of indexes.
virtual std::size_t | size () const
| Get number of points in this boundary.

## Detailed Description

Base class for boundaries logic.

Reperesnt polymorphic set of mesh indexes.

See also
  Boundaries

Definition at line 101 of file boundary.hpp.

## Member Typedef Documentation

## ◆ const_iterator

typedef Iterator plask::BoundaryNodeSetImpl::const_iterator

iterator over indexes of mesh

Definition at line 110 of file boundary.hpp.

## ◆ Iterator

typedef PolymorphicForwardIterator<IteratorImpl> plask::BoundaryNodeSetImpl::Iterator

Boundary iterator type.

Definition at line 107 of file boundary.hpp.

## ◆ iterator

typedef const_iterator plask::BoundaryNodeSetImpl::iterator

Definition at line 111 of file boundary.hpp.

## ◆ IteratorImpl

typedef PolymorphicForwardIteratorImpl<std::size_t, std::size_t> plask::BoundaryNodeSetImpl::IteratorImpl

Base class for boundary iterator implementation.

Definition at line 104 of file boundary.hpp.

## Constructor & Destructor Documentation

## ◆ ~BoundaryNodeSetImpl()

virtual plask::BoundaryNodeSetImpl::~BoundaryNodeSetImpl | ( |  | ) |
| inline virtual

Definition at line 113 of file boundary.hpp.

## Member Function Documentation

## ◆ begin()

virtual const_iterator plask::BoundaryNodeSetImpl::begin | ( |  | ) | const
| pure virtual

Get begin iterator over boundary points.

Returns
  begin iterator over boundary points

Implemented in plask::EmptyBoundaryImpl, plask::StdSetBoundaryImpl, plask::UnionBoundarySetImpl, plask::DiffBoundarySetImpl, plask::IntersectionBoundarySetImpl, plask::PredicateBoundaryImpl< MeshT, Predicate >, plask::RectangularMaskedMesh2D::BoundaryNodeSetImpl< CHANGE_DIR >, and plask::RectangularMaskedMesh3D::BoundaryNodeSetImpl< CHANGE_DIR_SLOWER, CHANGE_DIR_FASTER >.

## ◆ contains()

virtual bool plask::BoundaryNodeSetImpl::contains | ( | std::size_t | mesh_index | ) | const
| pure virtual

Check if boundary contains point with given index.

Parameters

  mesh_index | valid index of point in `mesh`

Returns
  `true` only if point with index `mesh_index` in `mesh` lies on boundary

Implemented in plask::StdSetBoundaryImpl, plask::UnionBoundarySetImpl, plask::DiffBoundarySetImpl, plask::IntersectionBoundarySetImpl, plask::PredicateBoundaryImpl< MeshT, Predicate >, plask::RectangularMaskedMesh2D::BoundaryNodeSetImpl< CHANGE_DIR >, and plask::RectangularMaskedMesh3D::BoundaryNodeSetImpl< CHANGE_DIR_SLOWER, CHANGE_DIR_FASTER >.

## ◆ empty()

virtual bool plask::BoundaryNodeSetImpl::empty | ( |  | ) | const
| inline virtual

Check if this represents empty set of indexes.

Returns
  `true` only if this represents empty set of indexes

Reimplemented in plask::EmptyBoundaryImpl, plask::StdSetBoundaryImpl, plask::UnionBoundarySetImpl, plask::DiffBoundarySetImpl, and plask::IntersectionBoundarySetImpl.

Definition at line 138 of file boundary.hpp.

## ◆ end()

virtual const_iterator plask::BoundaryNodeSetImpl::end | ( |  | ) | const
| pure virtual

Get end iterator over boundary points.

Returns
  end iterator over boundary points

Implemented in plask::EmptyBoundaryImpl, plask::StdSetBoundaryImpl, plask::UnionBoundarySetImpl, plask::DiffBoundarySetImpl, plask::IntersectionBoundarySetImpl, plask::PredicateBoundaryImpl< MeshT, Predicate >, plask::RectangularMaskedMesh2D::BoundaryNodeSetImpl< CHANGE_DIR >, and plask::RectangularMaskedMesh3D::BoundaryNodeSetImpl< CHANGE_DIR_SLOWER, CHANGE_DIR_FASTER >.

## ◆ size()

virtual std::size_t plask::BoundaryNodeSetImpl::size | ( |  | ) | const
| inline virtual

Get number of points in this boundary.

Default implementation just use std::distance(begin(), end()) which iterates over all indexes and can be slow, so this is often reimplemented in subclasses.

Returns
  number of points in this boundary

Reimplemented in plask::EmptyBoundaryImpl, and plask::StdSetBoundaryImpl.

Definition at line 146 of file boundary.hpp.

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

- plask/mesh/boundary.hpp