PLaSK library
|
Base class for boundaries logic. More...
#include <plask/mesh/boundary.hpp>
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. | |
Base class for boundaries logic.
Reperesnt polymorphic set of mesh indexes.
Definition at line 101 of file boundary.hpp.
iterator over indexes of mesh
Definition at line 110 of file boundary.hpp.
Boundary iterator type.
Definition at line 107 of file boundary.hpp.
Definition at line 111 of file boundary.hpp.
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.
|
inlinevirtual |
Definition at line 113 of file boundary.hpp.
|
pure virtual |
Get 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 >.
Check if boundary contains point with given index.
mesh_index | valid index of point in mesh |
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 >.
Check if this represents empty set of indexes.
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.
|
pure virtual |
Get 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 >.
|
inlinevirtual |
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.
Reimplemented in plask::EmptyBoundaryImpl, and plask::StdSetBoundaryImpl.
Definition at line 146 of file boundary.hpp.