RINGMesh
Version 5.0.0
A programming library for geological model meshes
|
#include <mesh.h>
Public Member Functions | |
virtual index_t | cell_vertex (const ElementLocalVertex &cell_local_vertex) const =0 |
Gets a vertex index by cell and local vertex index. More... | |
virtual index_t | cell_edge_vertex (index_t cell_id, index_t edge_id, index_t vertex_id) const =0 |
Gets a vertex index by cell and local edge and local vertex index. More... | |
virtual index_t | cell_facet_vertex (const CellLocalFacet &cell_local_facet, index_t vertex_id) const =0 |
Gets a vertex by cell facet and local vertex index. More... | |
virtual index_t | cell_facet (const CellLocalFacet &cell_local_facet) const =0 |
Gets a facet index by cell and local facet index. More... | |
double | cell_edge_length (index_t cell_id, index_t edge_id) const |
vecn< DIMENSION > | cell_edge_barycenter (index_t cell_id, index_t edge_id) const |
virtual index_t | nb_cell_facets (index_t cell_id) const =0 |
Gets the number of facet in a cell. More... | |
virtual index_t | nb_cell_facets () const =0 |
Gets the total number of facet in a all cells. More... | |
virtual index_t | nb_cell_edges (index_t cell_id) const =0 |
Gets the number of edges in a cell. More... | |
virtual index_t | nb_cell_facet_vertices (const CellLocalFacet &cell_local_facet) const =0 |
Gets the number of vertices of a facet in a cell. More... | |
virtual index_t | nb_cell_vertices (index_t cell_id) const =0 |
Gets the number of vertices of a cell. More... | |
virtual index_t | nb_cells () const =0 |
Gets the number of cells in the Mesh. More... | |
virtual index_t | cell_begin (index_t cell_id) const =0 |
virtual index_t | cell_end (index_t cell_id) const =0 |
virtual index_t | cell_adjacent (const CellLocalFacet &cell_local_facet) const =0 |
virtual GEO::AttributesManager & | cell_attribute_manager () const =0 |
virtual GEO::AttributesManager & | cell_facet_attribute_manager () const =0 |
virtual CellType | cell_type (index_t cell_id) const =0 |
Gets the type of a cell. More... | |
virtual bool | cells_are_simplicies () const =0 |
Tests whether all the cells are tetrahedra. When all the cells are tetrahedra, storage and access is optimized. More... | |
vecn< DIMENSION > | cell_facet_barycenter (const CellLocalFacet &cell_local_facet) const |
vecn< DIMENSION > | cell_barycenter (index_t cell_id) const |
vecn< DIMENSION > | cell_facet_normal (const CellLocalFacet &cell_local_facet) const |
virtual double | cell_volume (index_t cell_id) const =0 |
compute the volume of the cell More... | |
std::vector< index_t > | cells_around_vertex (index_t vertex_id, index_t cell_hint) const |
index_t | find_cell_corner (index_t cell_id, index_t vertex_id) const |
bool | find_cell_from_colocated_vertex_within_distance_if_any (const vecn< DIMENSION > &vertex_vec, double distance, index_t &cell_id, index_t &cell_vertex_id) const |
const NNSearch< DIMENSION > & | cell_facet_nn_search () const |
return the NNSearch at cell facets More... | |
const NNSearch< DIMENSION > & | cell_nn_search () const |
return the NNSearch at cells More... | |
const VolumeAABBTree< DIMENSION > & | cell_aabb () const |
Creates an AABB tree for a Mesh cells. More... | |
bool | is_mesh_valid () const override |
std::tuple< index_t, std::vector< index_t > > | connected_components () const final |
Public Member Functions inherited from RINGMesh::MeshBase< DIMENSION > | |
virtual | ~MeshBase ()=default |
virtual void | save_mesh (const std::string &filename) const =0 |
virtual void | print_mesh_bounded_attributes () const =0 |
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 |
Static Public Member Functions | |
static std::unique_ptr< VolumeMesh< DIMENSION > > | create_mesh (const MeshType type="") |
Protected Member Functions | |
VolumeMesh ()=default | |
Protected Member Functions inherited from RINGMesh::MeshBase< DIMENSION > | |
MeshBase ()=default | |
Protected Attributes | |
std::unique_ptr< NNSearch< DIMENSION > > | cell_facet_nn_search_ {} |
std::unique_ptr< NNSearch< DIMENSION > > | cell_nn_search_ {} |
std::unique_ptr< VolumeAABBTree< DIMENSION > > | cell_aabb_ {} |
Protected Attributes inherited from RINGMesh::MeshBase< DIMENSION > | |
std::unique_ptr< NNSearch< DIMENSION > > | vertex_nn_search_ {} |
Private Member Functions | |
ringmesh_template_assert_3d (DIMENSION) | |
Friends | |
class | VolumeMeshBuilder< DIMENSION > |
class for encapsulating volume mesh component
|
protecteddefault |
|
inline |
|
pure virtual |
cell_local_facet |
Implemented in RINGMesh::GeogramVolumeMesh< DIMENSION >.
|
pure virtual |
Implemented in RINGMesh::GeogramVolumeMesh< DIMENSION >.
|
inline |
|
pure virtual |
Implemented in RINGMesh::GeogramVolumeMesh< DIMENSION >.
|
inline |
|
inline |
|
pure virtual |
Gets a vertex index by cell and local edge and local vertex index.
[in] | cell_id | the cell index. |
[in] | edge_id | the local edge index in |
cell_id. | ||
[in] | vertex_id | the local vertex index in |
cell_id. |
Implemented in RINGMesh::GeogramVolumeMesh< DIMENSION >.
|
pure virtual |
Implemented in RINGMesh::GeogramVolumeMesh< DIMENSION >.
|
pure virtual |
Gets a facet index by cell and local facet index.
[in] | cell_local_facet | index of the cell and the local index of the facet in the cell |
Implemented in RINGMesh::GeogramVolumeMesh< DIMENSION >.
|
pure virtual |
Implemented in RINGMesh::GeogramVolumeMesh< DIMENSION >.
|
inline |
|
inline |
|
inline |
|
pure virtual |
Gets a vertex by cell facet and local vertex index.
[in] | cell_local_facet | index of the cell and the local index of the facet in the cell |
[in] | vertex_id | index of the vertex in the facet |
facet_id |
facet_id | and facet_id number of facet in th cell |
cell_id |
Implemented in RINGMesh::GeogramVolumeMesh< DIMENSION >.
|
inline |
|
pure virtual |
Gets the type of a cell.
[in] | cell_id | the cell index, in 0..nb()-1 |
Implemented in RINGMesh::GeogramVolumeMesh< DIMENSION >.
|
pure virtual |
Gets a vertex index by cell and local vertex index.
[in] | cell_id | the cell index. |
[in] | vertex_id | the local vertex index in |
cell_id. |
Implemented in RINGMesh::GeogramVolumeMesh< DIMENSION >.
|
pure virtual |
compute the volume of the cell
cell_id. |
Implemented in RINGMesh::GeogramVolumeMesh< DIMENSION >.
|
pure virtual |
Tests whether all the cells are tetrahedra. When all the cells are tetrahedra, storage and access is optimized.
Implemented in RINGMesh::GeogramVolumeMesh< DIMENSION >.
std::vector< index_t > RINGMesh::VolumeMesh< DIMENSION >::cells_around_vertex | ( | index_t | vertex_id, |
index_t | cell_hint | ||
) | const |
|
finalvirtual |
Implements RINGMesh::MeshBase< DIMENSION >.
|
static |
|
inline |
bool RINGMesh::VolumeMesh< DIMENSION >::find_cell_from_colocated_vertex_within_distance_if_any | ( | const vecn< DIMENSION > & | vertex_vec, |
double | distance, | ||
index_t & | cell_id, | ||
index_t & | cell_vertex_id | ||
) | const |
|
inlineoverridevirtual |
Implements RINGMesh::MeshBase< DIMENSION >.
|
pure virtual |
Gets the number of edges in a cell.
[in] | cell_id | index of the cell |
cell_id |
Implemented in RINGMesh::GeogramVolumeMesh< DIMENSION >.
|
pure virtual |
Gets the number of vertices of a facet in a cell.
[in] | cell_local_facet | index of the cell and the local index of the facet in the cell |
facet_id | in the cell |
cell_id |
Implemented in RINGMesh::GeogramVolumeMesh< DIMENSION >.
|
pure virtual |
Gets the number of facet in a cell.
[in] | cell_id | index of the cell |
cell_id |
Implemented in RINGMesh::GeogramVolumeMesh< DIMENSION >.
|
pure virtual |
Gets the total number of facet in a all cells.
Implemented in RINGMesh::GeogramVolumeMesh< DIMENSION >.
|
pure virtual |
Gets the number of vertices of a cell.
[in] | cell_id | index of the cell |
cell_id |
Implemented in RINGMesh::GeogramVolumeMesh< DIMENSION >.
|
pure virtual |
Gets the number of cells in the Mesh.
Implemented in RINGMesh::GeogramVolumeMesh< DIMENSION >.
|
private |
|
friend |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |