Feel++ 0.111.0-preview.14
Finite Element Embedded Library in C++
Feel::MeshInverse< MeshType > Class Template Reference
+ Inheritance diagram for Feel::MeshInverse< MeshType >:
+ Collaboration diagram for Feel::MeshInverse< MeshType >:

Public Types

using gic1_type = typename super1::gic_type
 
using gic_type = typename super::gic_type
 
using gm1_type = typename super1::gm_type
 
using gm_type = typename super::gm_type
 
using mesh_ptr_t = std::shared_ptr< mesh_t >
 
using mesh_t = decay_type< MeshType >
 
using size_type = typename mesh_t::size_type
 
using super = boost::mp11::mp_if_c< MeshType::shape_type::is_simplex, GeoMapInverse< MeshType::nDim, MeshType::nOrder, MeshType::nRealDim, typename MeshType::value_type, Simplex >, GeoMapInverse< MeshType::nDim, MeshType::nOrder, MeshType::nRealDim, typename MeshType::value_type, Hypercube > >
 
using super1 = boost::mp11::mp_if_c< MeshType::shape_type::is_simplex, GeoMapInverse< MeshType::nDim, 1, MeshType::nRealDim, typename MeshType::value_type, Simplex >, GeoMapInverse< MeshType::nDim, 1, MeshType::nRealDim, typename MeshType::value_type, Hypercube > >
 
using value_type = typename mesh_t::value_type
 

Public Member Functions

void distribute (bool extrapolation=false)
 distribute the points of the mesh in a kdtree More...
 
 MeshInverse (std::shared_ptr< mesh_t > const &m)
 
size_type nPointsInConvex (size_type i) const
 
void pointsInConvex (size_type i, std::vector< boost::tuple< size_type, uint16_type > > &itab) const
 
const boost::unordered_map< size_type, node_type > & referenceCoords (void)
 

Member Function Documentation

◆ distribute()

template<typename MeshType >
void Feel::MeshInverse< MeshType >::distribute ( bool  extrapolation = false)

distribute the points of the mesh in a kdtree

extrapolation = false : Only the points inside the mesh are distributed. extrapolation = true : Try to project the exterior points.

Todo:
: for extrapolation, verify that all the points have been taken into account, else test them on the frontiere convexes.