RINGMesh
Version 5.0.0
A programming library for geological model meshes
|
#include <geogram_mesh.h>
Public Member Functions | |
index_t | cell_vertex (const ElementLocalVertex &cell_local_vertex) const override |
Gets a vertex index by cell and local vertex index. More... | |
index_t | cell_edge_vertex (index_t cell_id, index_t edge_id, index_t vertex_id) const override |
Gets a vertex index by cell and local edge and local vertex index. More... | |
index_t | cell_facet_vertex (const CellLocalFacet &cell_local_facet, index_t vertex_id) const override |
Gets a vertex by cell facet and local vertex index. More... | |
index_t | cell_facet (const CellLocalFacet &cell_local_facet) const override |
Gets a facet index by cell and local facet index. More... | |
index_t | nb_cell_facets (index_t cell_id) const override |
Gets the number of facet in a cell. More... | |
index_t | nb_cell_facets () const override |
Gets the total number of facet in a all cells. More... | |
index_t | nb_cell_edges (index_t cell_id) const override |
Gets the number of edges in a cell. More... | |
index_t | nb_cell_facet_vertices (const CellLocalFacet &cell_local_facet) const override |
Gets the number of vertices of a facet in a cell. More... | |
index_t | nb_cell_vertices (index_t cell_id) const override |
Gets the number of vertices of a cell. More... | |
index_t | nb_cells () const override |
Gets the number of cells in the Mesh. More... | |
index_t | cell_begin (index_t cell_id) const override |
index_t | cell_end (index_t cell_id) const override |
index_t | cell_adjacent (const CellLocalFacet &cell_local_facet) const override |
GEO::AttributesManager & | cell_attribute_manager () const override |
GEO::AttributesManager & | cell_facet_attribute_manager () const override |
CellType | cell_type (index_t cell_id) const override |
Gets the type of a cell. More... | |
bool | cells_are_simplicies () const override |
Tests whether all the cells are tetrahedra. When all the cells are tetrahedra, storage and access is optimized. More... | |
double | cell_volume (index_t cell_id) const override |
compute the volume of the cell More... | |
Public Member Functions inherited from RINGMesh::VolumeMesh< DIMENSION > | |
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 |
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 |
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 |
Private Member Functions | |
COMMON_GEOGRAM_MESH_IMPLEMENTATION (GeogramVolumeMesh) | |
Additional Inherited Members | |
Static Public Member Functions inherited from RINGMesh::VolumeMesh< DIMENSION > | |
static std::unique_ptr< VolumeMesh< DIMENSION > > | create_mesh (const MeshType type="") |
Protected Member Functions inherited from RINGMesh::VolumeMesh< DIMENSION > | |
VolumeMesh ()=default | |
Protected Member Functions inherited from RINGMesh::MeshBase< DIMENSION > | |
MeshBase ()=default | |
Protected Attributes inherited from RINGMesh::VolumeMesh< DIMENSION > | |
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_ {} |
Definition at line 198 of file geogram_mesh.h.
|
inlineoverridevirtual |
cell_local_facet |
Implements RINGMesh::VolumeMesh< DIMENSION >.
Definition at line 272 of file geogram_mesh.h.
|
inlineoverridevirtual |
Implements RINGMesh::VolumeMesh< DIMENSION >.
Definition at line 279 of file geogram_mesh.h.
|
inlineoverridevirtual |
Implements RINGMesh::VolumeMesh< DIMENSION >.
Definition at line 262 of file geogram_mesh.h.
|
inlineoverridevirtual |
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. |
Implements RINGMesh::VolumeMesh< DIMENSION >.
Definition at line 210 of file geogram_mesh.h.
|
inlineoverridevirtual |
Implements RINGMesh::VolumeMesh< DIMENSION >.
Definition at line 267 of file geogram_mesh.h.
|
inlineoverridevirtual |
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 |
Implements RINGMesh::VolumeMesh< DIMENSION >.
Definition at line 223 of file geogram_mesh.h.
|
inlineoverridevirtual |
Implements RINGMesh::VolumeMesh< DIMENSION >.
Definition at line 284 of file geogram_mesh.h.
|
inlineoverridevirtual |
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 |
Implements RINGMesh::VolumeMesh< DIMENSION >.
Definition at line 216 of file geogram_mesh.h.
|
inlineoverridevirtual |
Gets the type of a cell.
[in] | cell_id | the cell index, in 0..nb()-1 |
Implements RINGMesh::VolumeMesh< DIMENSION >.
Definition at line 289 of file geogram_mesh.h.
|
inlineoverridevirtual |
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. |
Implements RINGMesh::VolumeMesh< DIMENSION >.
Definition at line 203 of file geogram_mesh.h.
|
inlineoverridevirtual |
compute the volume of the cell
cell_id. |
Implements RINGMesh::VolumeMesh< DIMENSION >.
Definition at line 299 of file geogram_mesh.h.
|
inlineoverridevirtual |
Tests whether all the cells are tetrahedra. When all the cells are tetrahedra, storage and access is optimized.
Implements RINGMesh::VolumeMesh< DIMENSION >.
Definition at line 294 of file geogram_mesh.h.
|
private |
|
inlineoverridevirtual |
Gets the number of edges in a cell.
[in] | cell_id | index of the cell |
cell_id |
Implements RINGMesh::VolumeMesh< DIMENSION >.
Definition at line 240 of file geogram_mesh.h.
|
inlineoverridevirtual |
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 |
Implements RINGMesh::VolumeMesh< DIMENSION >.
Definition at line 245 of file geogram_mesh.h.
|
inlineoverridevirtual |
Gets the number of facet in a cell.
[in] | cell_id | index of the cell |
cell_id |
Implements RINGMesh::VolumeMesh< DIMENSION >.
Definition at line 230 of file geogram_mesh.h.
|
inlineoverridevirtual |
Gets the total number of facet in a all cells.
Implements RINGMesh::VolumeMesh< DIMENSION >.
Definition at line 235 of file geogram_mesh.h.
|
inlineoverridevirtual |
Gets the number of vertices of a cell.
[in] | cell_id | index of the cell |
cell_id |
Implements RINGMesh::VolumeMesh< DIMENSION >.
Definition at line 252 of file geogram_mesh.h.
|
inlineoverridevirtual |
Gets the number of cells in the Mesh.
Implements RINGMesh::VolumeMesh< DIMENSION >.
Definition at line 257 of file geogram_mesh.h.