LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
|
A MeshDataSet that attaches data of type T
to every entity of a mesh that has a specified codimension.
More...
#include <lf/mesh/utils/codim_mesh_data_set.h>
Public Types | |
using | size_type = Mesh::size_type |
using | dim_t = base::RefEl::dim_t |
Public Member Functions | |
CodimMeshDataSet (std::shared_ptr< const Mesh > mesh, dim_t codim) | |
construct data vector indexed by entities of a particular co-dimension More... | |
template<class = typename std::enable_if< std::is_copy_constructible<T>::value>::type> | |
CodimMeshDataSet (std::shared_ptr< const Mesh > mesh, dim_t codim, T init) | |
construct and initialize data vector indexed by entities of a particula co-dimension More... | |
T & | operator() (const Entity &e) |
Get a (modifiable) reference to the data stored with entity e. More... | |
const T & | operator() (const Entity &e) const override |
Get the data stored with entity e. More... | |
bool | DefinedOn (const Entity &e) const override |
Does the dataset store information with this entity? More... | |
![]() | |
virtual const T & | operator() (const Entity &e) const =0 |
Get the data stored with entity e. More... | |
virtual bool | DefinedOn (const Entity &e) const =0 |
Does the dataset store information with this entity? More... | |
virtual | ~MeshDataSet ()=default |
Virtual destructor. More... | |
Private Attributes | |
std::shared_ptr< const Mesh > | mesh_ |
boost::container::vector< T > | data_ |
dim_t | codim_ |
Additional Inherited Members | |
![]() | |
MeshDataSet ()=default | |
MeshDataSet (const MeshDataSet &)=default | |
MeshDataSet (MeshDataSet &&) noexcept=default | |
MeshDataSet & | operator= (const MeshDataSet &)=default |
MeshDataSet & | operator= (MeshDataSet &&) noexcept=default |
A MeshDataSet that attaches data of type T
to every entity of a mesh that has a specified codimension.
T | The type of data that should be stored with the entities. |
Definition at line 18 of file codim_mesh_data_set.h.
using lf::mesh::utils::CodimMeshDataSet< T >::dim_t = base::RefEl::dim_t |
Definition at line 21 of file codim_mesh_data_set.h.
using lf::mesh::utils::CodimMeshDataSet< T >::size_type = Mesh::size_type |
Definition at line 20 of file codim_mesh_data_set.h.
|
inline |
construct data vector indexed by entities of a particular co-dimension
mesh | pointer to underlying mesh |
codim | co-dimension of indexing entities for the given mesh |
Definition at line 32 of file codim_mesh_data_set.h.
|
inline |
construct and initialize data vector indexed by entities of a particula co-dimension
mesh | pointer to underlying mesh |
codim | co-dimension of indexing entities for the given mesh |
init | value to be copied into all data elements |
Definition at line 47 of file codim_mesh_data_set.h.
|
inlineoverridevirtual |
Does the dataset store information with this entity?
e | The entity that should be tested. |
Implements lf::mesh::utils::MeshDataSet< T >.
Definition at line 69 of file codim_mesh_data_set.h.
References lf::mesh::Entity::Codim(), lf::mesh::utils::CodimMeshDataSet< T >::codim_, and lf::mesh::utils::CodimMeshDataSet< T >::mesh_.
Referenced by projects::dpg::PrescribedSignProvider::init(), lf::mesh::utils::CodimMeshDataSet< T >::operator()(), and projects::dpg::PrescribedSignProvider::PrescribedSign().
|
inline |
Get a (modifiable) reference to the data stored with entity e.
e | The entity whose data should be retrieved/modified |
DefinedOn(e) == false
! Definition at line 60 of file codim_mesh_data_set.h.
References lf::mesh::utils::CodimMeshDataSet< T >::data_, lf::mesh::utils::CodimMeshDataSet< T >::DefinedOn(), and lf::mesh::utils::CodimMeshDataSet< T >::mesh_.
|
inlineoverridevirtual |
Get the data stored with entity e.
e | The entity whose data should be retrieved. |
DefinedOn(e) == false
! Implements lf::mesh::utils::MeshDataSet< T >.
Definition at line 65 of file codim_mesh_data_set.h.
References lf::mesh::utils::CodimMeshDataSet< T >::data_, lf::mesh::utils::CodimMeshDataSet< T >::DefinedOn(), and lf::mesh::utils::CodimMeshDataSet< T >::mesh_.
|
private |
co-dimension
Definition at line 79 of file codim_mesh_data_set.h.
Referenced by lf::mesh::utils::CodimMeshDataSet< T >::DefinedOn().
|
private |
data vector
Definition at line 77 of file codim_mesh_data_set.h.
Referenced by lf::mesh::utils::CodimMeshDataSet< T >::operator()().
|
private |
pointer to underlying mesh. Owned by the data set !
Definition at line 75 of file codim_mesh_data_set.h.
Referenced by lf::mesh::utils::CodimMeshDataSet< T >::DefinedOn(), and lf::mesh::utils::CodimMeshDataSet< T >::operator()().