PLaSK library

Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Functions
boundary.hpp File Reference

This file contains templates of base classes for mesh's boundaries. More...

`#include "../utils/iterators.hpp"`
`#include "../utils/xml/reader.hpp"`
`#include "../memory.hpp"`
`#include "../log/log.hpp"`
`#include "../exceptions.hpp"`
`#include "../geometry/space.hpp"`
`#include <vector>`
`#include <set>`
Include dependency graph for boundary.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Classes
struct | plask::BoundaryNodeSetImpl
| Base class for boundaries logic. More...
struct | plask::BoundaryNodeSetWithMeshImpl< MeshType >
| Template of base class for boundaries of mesh with given type which store reference to mesh. More...
struct | plask::BoundaryNodeSetWithMeshImpl< MeshType >::IteratorWithMeshImpl
| Base class for boundary iterator implementation which contains reference to boundary. More...
struct | plask::BoundaryNodeSet
| Holds BoundaryNodeSetImpl and delegate all calls to it. More...
struct | plask::EmptyBoundaryImpl
| Implementation of empty boundary logic. More...
struct | plask::EmptyBoundaryImpl::IteratorImpl
struct | plask::StdSetBoundaryImpl
| Implementation of boundary logic which holds a set of node indices in std::set. More...
struct | plask::Boundary< MeshT >
| Instance of this class represents predicate which chooses a subset of points (strictly: indices of points) from a mesh. More...
struct | plask::BoundaryOp< MeshType, OpNodeSetImplT >
| Boundary which represents union/intersection/difference (depending on OpNodeSetImplT) of boundaries. More...
struct | plask::UnionBoundarySetImpl
| This logic holds a list of boundaries and represent a set of indices which is an union of sets from this boundaries. More...
struct | plask::UnionBoundarySetImpl::IteratorImpl
struct | plask::UnionBoundarySetImpl::IteratorImpl::IteratorWithEnd
struct | plask::DiffBoundarySetImpl
| This logic holds two boundaries and represent a set difference of them. More...
struct | plask::DiffBoundarySetImpl::IteratorImpl
struct | plask::DiffBoundarySetImpl::IteratorImpl::IteratorWithEnd
struct | plask::IntersectionBoundarySetImpl
| This logic holds two boundaries and represent a set intersection of them. More...
struct | plask::IntersectionBoundarySetImpl::IteratorImpl
struct | plask::IntersectionBoundarySetImpl::IteratorImpl::IteratorWithEnd
struct | plask::PredicateBoundaryImpl< MeshT, Predicate >
| Boundary logic implementation which represents set of indexes which fulfill predicate. More...
struct | plask::PredicateBoundaryImpl< MeshT, Predicate >::PredicateIteratorImpl

## Namespaces
namespace | plask
| Patterson quadrature for complex function along specified line.

## Typedefs
template<typename MeshType >
using | plask::UnionBoundary = BoundaryOp< MeshType, UnionBoundarySetImpl >
| Boundary which represents union of boundaries.
template<typename MeshType >
using | plask::DiffBoundary = BoundaryOp< MeshType, DiffBoundarySetImpl >
| Boundary which represents difference of boundaries.
template<typename MeshType >
using | plask::IntersectionBoundary = BoundaryOp< MeshType, IntersectionBoundarySetImpl >
| Boundary which represents intersection of boundaries.

## Functions
BoundaryNodeSet | plask::operator+ (BoundaryNodeSet left, BoundaryNodeSet right)
| Return union of left and right sets of nodes.
BoundaryNodeSet | plask::operator| (BoundaryNodeSet left, BoundaryNodeSet right)
BoundaryNodeSet | plask::operator* (BoundaryNodeSet left, BoundaryNodeSet right)
| Return intersection of left and right sets of nodes.
BoundaryNodeSet | plask::operator& (BoundaryNodeSet left, BoundaryNodeSet right)
BoundaryNodeSet | plask::operator- (BoundaryNodeSet left, BoundaryNodeSet right)
| Return difference of left and right sets of nodes.
template<typename MeshType >
Boundary< MeshType > | plask::operator+ (Boundary< MeshType > left, Boundary< MeshType > right)
| Return boundary which produces the union of sets given by left and right boundaries.
template<typename MeshType >
Boundary< MeshType > | plask::operator| (Boundary< MeshType > left, Boundary< MeshType > right)
template<typename MeshType >
Boundary< MeshType > | plask::operator* (Boundary< MeshType > left, Boundary< MeshType > right)
| Return boundary which produces the intersection of sets given by left and right boundaries.
template<typename MeshType >
Boundary< MeshType > | plask::operator& (Boundary< MeshType > left, Boundary< MeshType > right)
template<typename MeshType >
Boundary< MeshType > | plask::operator- (Boundary< MeshType > left, Boundary< MeshType > right)
| Return boundary which produces the difference of sets given by left and right boundaries.
template<typename MeshType >
MeshType::Boundary | plask::makeEmptyBoundary ()
| Helper to create empty boundary.
template<typename Boundary , typename Predicate >
Boundary | plask::makePredicateBoundary (Predicate predicate)
| Helper to create boundary which represents set of indexes which fulfill given `predicate`.
template<typename Boundary >
Boundary | plask::parseBoundary (const std::string &PLASK_UNUSED(boundary_desc), Manager &PLASK_UNUSED(manager))
| Parse boundary of given type from string.
template<typename Boundary >
Boundary | plask::parseBoundary (XMLReader &PLASK_UNUSED(boundary_desc), Manager &PLASK_UNUSED(manager))
| Parse boundary from XML reader.

## Detailed Description

This file contains templates of base classes for mesh's boundaries.

See also
  Meshes

Definition in file boundary.hpp.