library of assembled shared sources |
http://lass.cocamware.com |
#include <mesh_interpolator.h>
Public Types | |
typedef MeshInterpolator< T, TPI >::TPoint2D | TPoint2D |
typedef MeshInterpolator< T, TPI >::TAabb2D | TAabb2D |
typedef MeshInterpolator< T, TPI >::TPolyLine2D | TPolyLine2D |
typedef MeshInterpolator< T, TPI >::TPlanarMesh | TPlanarMesh |
Public Member Functions | |
LinearMeshInterpolator (const TAabb2D &iAabb, const TPI &iValueOutside) | |
virtual | ~LinearMeshInterpolator () |
virtual TPI | interpolate (const TPoint2D &iQuery) const |
template<typename OutputIterator > | |
OutputIterator | interpolate (const TPolyLine2D &iQuery, OutputIterator oOutput) const |
const TPlanarMesh & | mesh () const |
const TAabb2D & | aabb () const |
virtual void | insertSite (const TPoint2D &iPoint, const TPI &iPointInfo) |
virtual void | insertPolyLine (const TPolyLine2D &iPoly, const TPI &iPointInfo) |
template<typename OutputIterator > | |
OutputIterator | interpolate (const TPolyLine2D &iQuery, OutputIterator oOutput) const |
Protected Types | |
typedef std::deque< TPI > | TInfoList |
type must support stable iterators | |
Protected Member Functions | |
TInfoList & | info () |
Private Member Functions | |
LinearMeshInterpolator () | |
virtual TPI | interpolate (const TPoint2D &iQuery, typename TPlanarMesh::TEdge *iEdge) const |
Private Attributes | |
TPI | valueOutside_ |
Interpolation is done linearly by finding a triangle containing the point of interest. Via barycentric coordinates the linear weighted interpolation is performed and returned. Buildup of mesh is incremental so after querying for interpolation new points can be inserted. a linear interpolator using planar meshes
Definition at line 193 of file mesh_interpolator.h.
typedef MeshInterpolator<T,TPI>::TPoint2D lass::spat::LinearMeshInterpolator< T, TPI >::TPoint2D |
Reimplemented from lass::spat::MeshInterpolator< T, TPI >.
Definition at line 196 of file mesh_interpolator.h.
typedef MeshInterpolator<T,TPI>::TAabb2D lass::spat::LinearMeshInterpolator< T, TPI >::TAabb2D |
Reimplemented from lass::spat::MeshInterpolator< T, TPI >.
Definition at line 197 of file mesh_interpolator.h.
typedef MeshInterpolator<T,TPI>::TPolyLine2D lass::spat::LinearMeshInterpolator< T, TPI >::TPolyLine2D |
Reimplemented from lass::spat::MeshInterpolator< T, TPI >.
Definition at line 198 of file mesh_interpolator.h.
typedef MeshInterpolator<T,TPI>::TPlanarMesh lass::spat::LinearMeshInterpolator< T, TPI >::TPlanarMesh |
Reimplemented from lass::spat::MeshInterpolator< T, TPI >.
Definition at line 199 of file mesh_interpolator.h.
typedef std::deque<TPI> lass::spat::MeshInterpolator< T, TPI >::TInfoList [protected, inherited] |
lass::spat::LinearMeshInterpolator< T, TPI >::LinearMeshInterpolator | ( | const TAabb2D & | iAabb, | |
const TPI & | iValueOutside | |||
) | [inline] |
Definition at line 214 of file mesh_interpolator.h.
References lass::spat::MeshInterpolator< T, TPI >::info(), LASS_ASSERT, lass::spat::PlanarMesh::locate(), lass::prim::Aabb2D< T, MinMaxPolicy >::max(), lass::spat::MeshInterpolator< T, TPI >::mesh(), lass::prim::Aabb2D< T, MinMaxPolicy >::min(), lass::spat::PlanarMesh::org(), lass::spat::PlanarMesh::setPointHandle(), and lass::spat::LinearMeshInterpolator< T, TPI >::valueOutside_.
virtual lass::spat::LinearMeshInterpolator< T, TPI >::~LinearMeshInterpolator | ( | ) | [inline, virtual] |
Definition at line 202 of file mesh_interpolator.h.
lass::spat::LinearMeshInterpolator< T, TPI >::LinearMeshInterpolator | ( | ) | [inline, private] |
Definition at line 207 of file mesh_interpolator.h.
TPI lass::spat::LinearMeshInterpolator< T, TPI >::interpolate | ( | const TPoint2D & | iQuery | ) | const [inline, virtual] |
Implements lass::spat::MeshInterpolator< T, TPI >.
Definition at line 267 of file mesh_interpolator.h.
References lass::spat::PlanarMesh::fastOrg(), lass::spat::PlanarMesh::hasLeftFace(), lass::spat::PlanarMesh::locate(), lass::spat::MeshInterpolator< T, TPI >::mesh(), and lass::spat::QuadEdge< EdgeHandle >::Edge::sym().
Referenced by lass::spat::LinearMeshInterpolator< T, TPI >::interpolate().
OutputIterator lass::spat::LinearMeshInterpolator< T, TPI >::interpolate | ( | const TPolyLine2D & | iQuery, | |
OutputIterator | oOutput | |||
) | const [inline] |
Definition at line 277 of file mesh_interpolator.h.
References lass::spat::PlanarMesh::fastOrg(), lass::spat::PlanarMesh::hasLeftFace(), lass::spat::LinearMeshInterpolator< T, TPI >::interpolate(), lass::spat::PlanarMesh::isBoundingPoint(), LASS_ENFORCE, lass::spat::PlanarMesh::locate(), lass::spat::MeshInterpolator< T, TPI >::mesh(), lass::spat::QuadEdge< EdgeHandle >::Edge::sym(), and lass::spat::PlanarMesh::walkIntersections().
TPI lass::spat::LinearMeshInterpolator< T, TPI >::interpolate | ( | const TPoint2D & | iQuery, | |
typename TPlanarMesh::TEdge * | iEdge | |||
) | const [inline, private, virtual] |
Definition at line 245 of file mesh_interpolator.h.
References lass::spat::MeshInterpolator< T, TPI >::aabb(), lass::spat::barycenters(), lass::spat::PlanarMesh::fastDest(), lass::spat::PlanarMesh::fastOrg(), lass::spat::QuadEdge< EdgeHandle >::Edge::lNext(), lass::spat::PlanarMesh::pointHandle(), lass::stde::T, and lass::spat::LinearMeshInterpolator< T, TPI >::valueOutside_.
const TPlanarMesh& lass::spat::MeshInterpolator< T, TPI >::mesh | ( | ) | const [inline, inherited] |
Definition at line 105 of file mesh_interpolator.h.
References lass::spat::MeshInterpolator< T, TPI >::mesh_.
Referenced by lass::spat::LinearMeshInterpolator< T, TPI >::interpolate(), and lass::spat::LinearMeshInterpolator< T, TPI >::LinearMeshInterpolator().
const TAabb2D& lass::spat::MeshInterpolator< T, TPI >::aabb | ( | ) | const [inline, inherited] |
Definition at line 106 of file mesh_interpolator.h.
References lass::spat::MeshInterpolator< T, TPI >::aabb_.
Referenced by lass::spat::LinearMeshInterpolator< T, TPI >::interpolate().
void lass::spat::MeshInterpolator< T, TPI >::insertSite | ( | const TPoint2D & | iPoint, | |
const TPI & | iPointInfo | |||
) | [inline, virtual, inherited] |
Definition at line 133 of file mesh_interpolator.h.
References lass::spat::MeshInterpolator< T, TPI >::aabb_, lass::prim::Aabb2D< T, MinMaxPolicy >::contains(), lass::spat::MeshInterpolator< T, TPI >::info_, lass::spat::PlanarMesh::insertSite(), LASS_THROW, lass::spat::MeshInterpolator< T, TPI >::mesh_, and lass::spat::PlanarMesh::setPointHandle().
void lass::spat::MeshInterpolator< T, TPI >::insertPolyLine | ( | const TPolyLine2D & | iPoly, | |
const TPI & | iPointInfo | |||
) | [inline, virtual, inherited] |
Definition at line 149 of file mesh_interpolator.h.
References lass::spat::MeshInterpolator< T, TPI >::aabb_, lass::prim::Aabb2D< T, MinMaxPolicy >::contains(), lass::spat::MeshInterpolator< T, TPI >::info_, lass::spat::PlanarMesh::insertEdge(), LASS_THROW, and lass::spat::MeshInterpolator< T, TPI >::mesh_.
OutputIterator lass::spat::MeshInterpolator< T, TPI >::interpolate | ( | const TPolyLine2D & | iQuery, | |
OutputIterator | oOutput | |||
) | const [inline, inherited] |
TInfoList& lass::spat::MeshInterpolator< T, TPI >::info | ( | ) | [inline, protected, inherited] |
Definition at line 116 of file mesh_interpolator.h.
References lass::spat::MeshInterpolator< T, TPI >::info_.
Referenced by lass::spat::LinearMeshInterpolator< T, TPI >::LinearMeshInterpolator().
TPI lass::spat::LinearMeshInterpolator< T, TPI >::valueOutside_ [private] |
Definition at line 209 of file mesh_interpolator.h.
Referenced by lass::spat::LinearMeshInterpolator< T, TPI >::interpolate(), and lass::spat::LinearMeshInterpolator< T, TPI >::LinearMeshInterpolator().
Generated on Mon Nov 10 14:22:15 2008 for Library of Assembled Shared Sources by 1.5.7.1 |