PLaSK library

Loading...
Searching...
No Matches
Classes | Namespaces | Enumerations | Functions
interpolation.hpp File Reference
`#include <typeinfo>`
`#include "mesh.hpp"`
`#include "../exceptions.hpp"`
`#include "../memory.hpp"`
`#include "../lazydata.hpp"`
`#include "../log/log.hpp"`
`#include <plask/geometry/space.hpp>`
Include dependency graph for interpolation.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Classes
class | plask::InterpolationFlags
| Interpolation flags that give information how to interpolate fields on periodic and symmetric geometries. More...
struct | plask::InterpolationAlgorithm< SrcMeshT, SrcT, DstT, method >
| Specialization of this class are used for interpolation and can depend on source mesh type, data type and the interpolation method. More...
struct | plask::InterpolationAlgorithm< SrcMeshT, SrcT, DstT, INTERPOLATION_DEFAULT >
| Specialization of InterpolationAlgorithm showing elegant message if algorithm default is used. More...
struct | plask::__InterpolateMeta__< SrcMeshT, SrcT, DstT, iter >
struct | plask::__InterpolateMeta__< SrcMeshT, SrcT, DstT, __ILLEGAL_INTERPOLATION_METHOD__ >
struct | plask::InterpolatedLazyDataImpl< DstT, SrcMeshType, SrcT >
| Base class for lazy data (vector) that perform interpolation. More...
struct | plask::LinearInterpolatedLazyDataImpl< DstT, SrcMeshType, SrcT >
| Implementation of InterpolatedLazyDataImpl which calls src_mesh.interpolateLinear(src_vec, dst_mesh). More...
struct | plask::NearestNeighborInterpolatedLazyDataImpl< DstT, SrcMeshType, SrcT >
| Implementation of InterpolatedLazyDataImpl which calls src_mesh.interpolateNearestNeighbor(src_vec, dst_mesh). More...

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

## Enumerations
enum | plask::InterpolationMethod : unsigned { plask::INTERPOLATION_DEFAULT = 0 , plask::INTERPOLATION_NEAREST , plask::INTERPOLATION_LINEAR , plask::INTERPOLATION_SPLINE , plask::INTERPOLATION_SMOOTH_SPLINE , plask::INTERPOLATION_PERIODIC_SPLINE , plask::INTERPOLATION_FOURIER , plask::__ILLEGAL_INTERPOLATION_METHOD__ }
| Supported interpolation methods. More...

## Functions
template<InterpolationMethod default_method>
InterpolationMethod | plask::getInterpolationMethod (InterpolationMethod method)
| Helper utility that replaces INTERPOLATION_DEFAULT with particular method.
template<typename SrcMeshT , typename SrcT , typename DstT = SrcT>
LazyData< typename std::remove_const< DstT >::type > | plask::interpolate (shared_ptr< const SrcMeshT > src_mesh, DataVector< const SrcT > src_vec, shared_ptr< const MeshD< SrcMeshT::DIM > > dst_mesh, InterpolationMethod method=INTERPOLATION_DEFAULT, const InterpolationFlags &flags=InterpolationFlags(), bool verbose=true)
| Calculate (interpolate when needed) a field of some physical properties in requested points of (dst_mesh) if values of this field in points of (src_mesh) are known.
template<typename SrcMeshT , typename SrcT , typename DstT = SrcT, typename DstMeshT >
LazyData< typename std::remove_const< DstT >::type > | plask::interpolate (shared_ptr< SrcMeshT > src_mesh, DataVector< SrcT > src_vec, shared_ptr< DstMeshT > dst_mesh, InterpolationMethod method=INTERPOLATION_DEFAULT, const InterpolationFlags &flags=InterpolationFlags(), bool verbose=true)
template<>
plask::InterpolationMethod | boost::lexical_cast< plask::InterpolationMethod, std::string > (const std::string &arg)