RINGMesh  Version 5.0.0
A programming library for geological model meshes
RINGMesh::MeshBase< DIMENSION > Class Template Referenceabstract

encapsulate adimensional mesh functionalities in order to provide an API on which we base the RINGMesh algorithms More...

#include <mesh.h>

Inheritance diagram for RINGMesh::MeshBase< DIMENSION >:
RINGMesh::LineMesh< DIMENSION > RINGMesh::PointSetMesh< DIMENSION > RINGMesh::SurfaceMeshBase< DIMENSION > RINGMesh::VolumeMesh< DIMENSION > RINGMesh::SurfaceMeshBase< 2 > RINGMesh::SurfaceMeshBase< 3 > RINGMesh::GeogramLineMesh< DIMENSION > RINGMesh::GeogramPointSetMesh< DIMENSION > RINGMesh::SurfaceMesh< DIMENSION > RINGMesh::GeogramVolumeMesh< DIMENSION > RINGMesh::SurfaceMesh< 2 > RINGMesh::SurfaceMesh< 3 > RINGMesh::GeogramSurfaceMesh< DIMENSION >

Public Member Functions

virtual ~MeshBase ()=default
 
virtual void save_mesh (const std::string &filename) const =0
 
virtual std::tuple< index_t, std::vector< index_t > > connected_components () const =0
 
virtual void print_mesh_bounded_attributes () const =0
 
Vertex methods
virtual const vecn< DIMENSION > & vertex (index_t v_id) const =0
 Gets a point. More...
 
virtual index_t nb_vertices () const =0
 
virtual GEO::AttributesManager & vertex_attribute_manager () const =0
 
const NNSearch< DIMENSION > & vertex_nn_search () const
 return the NNSearch at vertices More...
 
virtual MeshType type_name () const =0
 
virtual std::string default_extension () const =0
 
virtual bool is_mesh_valid () const =0
 

Protected Member Functions

 MeshBase ()=default
 

Protected Attributes

std::unique_ptr< NNSearch< DIMENSION > > vertex_nn_search_ {}
 

Private Member Functions

 ringmesh_disable_copy_and_move (MeshBase)
 
 ringmesh_template_assert_2d_or_3d (DIMENSION)
 

Friends

class MeshBaseBuilder< DIMENSION >
 

Detailed Description

template<index_t DIMENSION>
class RINGMesh::MeshBase< DIMENSION >

encapsulate adimensional mesh functionalities in order to provide an API on which we base the RINGMesh algorithms

class base class for encapsulating Mesh structure

Note
For now, we encapsulate the GEO::Mesh class.

Definition at line 138 of file mesh.h.

Constructor & Destructor Documentation

◆ ~MeshBase()

template<index_t DIMENSION>
virtual RINGMesh::MeshBase< DIMENSION >::~MeshBase ( )
virtualdefault

◆ MeshBase()

template<index_t DIMENSION>
RINGMesh::MeshBase< DIMENSION >::MeshBase ( )
protecteddefault

Member Function Documentation

◆ connected_components()

template<index_t DIMENSION>
virtual std::tuple< index_t, std::vector< index_t > > RINGMesh::MeshBase< DIMENSION >::connected_components ( ) const
pure virtual

◆ default_extension()

template<index_t DIMENSION>
virtual std::string RINGMesh::MeshBase< DIMENSION >::default_extension ( ) const
pure virtual

◆ is_mesh_valid()

◆ nb_vertices()

template<index_t DIMENSION>
virtual index_t RINGMesh::MeshBase< DIMENSION >::nb_vertices ( ) const
pure virtual

◆ print_mesh_bounded_attributes()

template<index_t DIMENSION>
virtual void RINGMesh::MeshBase< DIMENSION >::print_mesh_bounded_attributes ( ) const
pure virtual

◆ ringmesh_disable_copy_and_move()

template<index_t DIMENSION>
RINGMesh::MeshBase< DIMENSION >::ringmesh_disable_copy_and_move ( MeshBase< DIMENSION >  )
private

◆ ringmesh_template_assert_2d_or_3d()

template<index_t DIMENSION>
RINGMesh::MeshBase< DIMENSION >::ringmesh_template_assert_2d_or_3d ( DIMENSION  )
private

◆ save_mesh()

template<index_t DIMENSION>
virtual void RINGMesh::MeshBase< DIMENSION >::save_mesh ( const std::string &  filename) const
pure virtual

◆ type_name()

template<index_t DIMENSION>
virtual MeshType RINGMesh::MeshBase< DIMENSION >::type_name ( ) const
pure virtual

◆ vertex()

template<index_t DIMENSION>
virtual const vecn< DIMENSION >& RINGMesh::MeshBase< DIMENSION >::vertex ( index_t  v_id) const
pure virtual

Gets a point.

Parameters
[in]v_idthe vertex, in 0.. nb_vetices()-1.
Returns
const reference to the point that corresponds to the vertex.

◆ vertex_attribute_manager()

template<index_t DIMENSION>
virtual GEO::AttributesManager& RINGMesh::MeshBase< DIMENSION >::vertex_attribute_manager ( ) const
pure virtual

◆ vertex_nn_search()

template<index_t DIMENSION>
const NNSearch< DIMENSION >& RINGMesh::MeshBase< DIMENSION >::vertex_nn_search ( ) const
inline

return the NNSearch at vertices

Warning
the NNSearch is destroyed when calling the Mesh::polygons_aabb() and Mesh::cells_aabb()

Definition at line 177 of file mesh.h.

Friends And Related Function Documentation

◆ MeshBaseBuilder< DIMENSION >

template<index_t DIMENSION>
friend class MeshBaseBuilder< DIMENSION >
friend

Definition at line 142 of file mesh.h.

Member Data Documentation

◆ vertex_nn_search_

template<index_t DIMENSION>
std::unique_ptr< NNSearch< DIMENSION > > RINGMesh::MeshBase< DIMENSION >::vertex_nn_search_ {}
mutableprotected

Definition at line 205 of file mesh.h.


The documentation for this class was generated from the following file: