RINGMesh
Version 5.0.0
A programming library for geological model meshes
|
A GeoModelEntity of type REGION. More...
#include <geomodel_mesh_entity.h>
Public Member Functions | |
virtual | ~Region () |
MeshEntityType | type_name () const final |
bool | is_on_voi () const final |
const Surface< DIMENSION > & | boundary (index_t x) const |
bool | is_connectivity_valid () const final |
bool | is_meshed () const |
bool | is_simplicial () const |
const VolumeAABBTree< DIMENSION > & | cell_aabb () const |
const NNSearch< DIMENSION > & | cell_nn_search () const |
Return the NNSearch for the cells of the region. More... | |
GEO::AttributesManager & | cell_attribute_manager () const |
const VolumeMesh< DIMENSION > & | mesh () const |
Get the low level mesh data structure. More... | |
Accessors to Region cells, facets, edges and vertices | |
index_t | nb_mesh_elements () const final |
index_t | nb_mesh_element_vertices (index_t cell_index) const final |
index_t | mesh_element_vertex_index (const ElementLocalVertex &element_local_vertex) const final |
Index of a vertex in the Region from its index in a cell. More... | |
CellType | cell_type (index_t cell_index) const |
index_t | nb_cell_edges (index_t cell_index) const |
index_t | nb_cell_facets (index_t cell_index) const |
index_t | nb_cell_facet_vertices (index_t cell_index, index_t facet_index) const |
index_t | cell_edge_vertex_index (index_t cell_index, index_t edge_index, index_t vertex_index) const |
index_t | cell_facet_vertex_index (index_t cell_index, index_t facet_index, index_t vertex_index) const |
index_t | cell_adjacent_index (index_t cell_index, index_t facet_index) const |
ElementLocalVertex | find_cell_from_colocated_vertex_if_any (const vecn< DIMENSION > &vertex_vec) const |
Geometrical request on Region Entity | |
double | mesh_element_size (index_t cell_index) const final |
Volume of a cell. More... | |
double | size () const final |
Compute the volume of the Region. More... | |
vecn< DIMENSION > | mesh_element_barycenter (index_t cell_index) const final |
Get the center of the cell. More... | |
std::vector< index_t > | cells_around_vertex (index_t vertex_id, index_t cell_hint) const |
bool | side (index_t i) const |
Public Member Functions inherited from RINGMesh::GeoModelMeshEntity< DIMENSION > | |
virtual | ~GeoModelMeshEntity () |
gmme_id | gmme () const |
MeshEntityType | mesh_entity_type () const |
bool | is_valid () const final |
Global validity of the entity. More... | |
bool | is_parent_connectivity_valid () const |
void | save (const std::string &filename) const |
const NNSearch< DIMENSION > & | vertex_nn_search () const |
Return the NNSearch for the Entity vertices. More... | |
GEO::AttributesManager & | vertex_attribute_manager () const |
index_t | nb_boundaries () const |
const gmme_id & | boundary_gmme (index_t x) const |
const GeoModelMeshEntity< DIMENSION > & | boundary (index_t x) const |
index_t | nb_incident_entities () const |
const gmme_id & | incident_entity_gmme (index_t x) const |
const GeoModelMeshEntity< DIMENSION > & | incident_entity (index_t x) const |
bool | has_inside_border () const |
Check if one entity is twice in the boundary. More... | |
bool | is_inside_border (const GeoModelMeshEntity &rhs) const |
Check if this entity is an inside border of rhs. More... | |
bool | has_parent () const |
bool | has_parent (const GeologicalEntityType &parent_type) const |
Check if the entity has a parent of the given type. More... | |
index_t | nb_parents () const |
const gmge_id & | parent_gmge (index_t id) const |
const gmge_id | parent_gmge (const GeologicalEntityType &parent_type) const |
Returns the gmge_id of the parent of the given type. More... | |
const GeoModelGeologicalEntity< DIMENSION > & | parent (index_t parent_index) const |
const GeoModelGeologicalEntity< DIMENSION > & | parent (const GeologicalEntityType &parent_type) const |
index_t | nb_vertices () const |
const vecn< DIMENSION > & | vertex (index_t vertex_index) const |
Coordinates of the vertex_index . More... | |
const vecn< DIMENSION > & | mesh_element_vertex (const ElementLocalVertex &element_local_vertex) const |
Coordinates of a vertex of a mesh element. More... | |
vecn< DIMENSION > | entity_barycenter () const |
Public Member Functions inherited from RINGMesh::GeoModelEntity< DIMENSION > | |
virtual | ~GeoModelEntity ()=default |
const GeoModel< DIMENSION > & | geomodel () const |
const std::string & | name () const |
index_t | index () const |
Static Public Member Functions | |
static MeshEntityType | type_name_static () |
Protected Attributes | |
std::vector< bool > | sides_ {} |
Protected Attributes inherited from RINGMesh::GeoModelMeshEntity< DIMENSION > | |
std::vector< index_t > | boundaries_ {} |
Boundary relations of this entity. More... | |
std::vector< index_t > | incident_entities_ {} |
Incident-entity relations of this entity. More... | |
std::vector< index_t > | parents_ {} |
Parents relations of this entity. More... | |
Protected Attributes inherited from RINGMesh::GeoModelEntity< DIMENSION > | |
const GeoModel< DIMENSION > & | geomodel_ |
Reference to the GeoModel owning this entity. More... | |
std::string | name_ = std::string{ "Unnamed" } |
Name of the entity - default is "Unnamed". More... | |
index_t | id_ { NO_ID } |
Index of the entity. More... | |
Private Member Functions | |
ringmesh_disable_copy_and_move (Region) | |
ringmesh_template_assert_3d (DIMENSION) | |
Region (const GeoModel< DIMENSION > &geomodel, index_t id, const MeshType type) | |
bool | is_mesh_valid () const final |
void | update_mesh_storage_type (std::unique_ptr< VolumeMesh< DIMENSION > > mesh) |
void | change_mesh_data_structure (const MeshType &type) final |
void | copy_mesh_entity (const GeoModelMeshEntity< DIMENSION > &from) final |
Private Attributes | |
std::shared_ptr< VolumeMesh< DIMENSION > > | volume_mesh_ {} |
Friends | |
class | GeoModelMeshEntityAccess< DIMENSION > |
Additional Inherited Members | |
Protected Member Functions inherited from RINGMesh::GeoModelMeshEntity< DIMENSION > | |
GeoModelMeshEntity (const GeoModel< DIMENSION > &geomodel, index_t id) | |
virtual bool | is_index_valid () const final |
void | set_mesh (std::shared_ptr< MeshBase< DIMENSION > > mesh) |
bool | is_boundary_connectivity_valid () const |
bool | is_incident_entity_connectivity_valid () const |
bool | are_geomodel_vertex_indices_valid () const |
Check that geomodel vertex indices are consistent with what is stored at the GeoModel level. More... | |
void | unbind_vertex_mapping_attribute () const |
void | bind_vertex_mapping_attribute () const |
Protected Member Functions inherited from RINGMesh::GeoModelEntity< DIMENSION > | |
GeoModelEntity (const GeoModel< DIMENSION > &geomodel, index_t id) | |
void | copy_name (const GeoModelEntity< DIMENSION > &from) |
A GeoModelEntity of type REGION.
A Region a volumetric connected component of the geomodel defined by a set of surfaces. The Region can be only defined by its boundary Surfaces. Its volumetric mesh is optional.
Definition at line 930 of file geomodel_mesh_entity.h.
|
inlinevirtual |
Definition at line 938 of file geomodel_mesh_entity.h.
|
inlineprivate |
Definition at line 1218 of file geomodel_mesh_entity.h.
const Surface< DIMENSION > & RINGMesh::Region< DIMENSION >::boundary | ( | index_t | x | ) | const |
Definition at line 831 of file geomodel_mesh_entity.cpp.
|
inline |
Definition at line 969 of file geomodel_mesh_entity.h.
|
inline |
Definition at line 1118 of file geomodel_mesh_entity.h.
|
inline |
Definition at line 983 of file geomodel_mesh_entity.h.
|
inline |
Definition at line 1085 of file geomodel_mesh_entity.h.
|
inline |
Definition at line 1101 of file geomodel_mesh_entity.h.
|
inline |
Return the NNSearch for the cells of the region.
The barycenter of the cells is used.
Definition at line 978 of file geomodel_mesh_entity.h.
|
inline |
Get the type of a given cell.
Definition at line 1038 of file geomodel_mesh_entity.h.
|
inline |
Definition at line 1197 of file geomodel_mesh_entity.h.
|
finalprivatevirtual |
Implements RINGMesh::GeoModelMeshEntity< DIMENSION >.
Definition at line 962 of file geomodel_mesh_entity.cpp.
|
inlinefinalprivatevirtual |
Reimplemented from RINGMesh::GeoModelMeshEntity< DIMENSION >.
Definition at line 1238 of file geomodel_mesh_entity.h.
ElementLocalVertex RINGMesh::Region< DIMENSION >::find_cell_from_colocated_vertex_if_any | ( | const vecn< DIMENSION > & | vertex_vec | ) | const |
Definition at line 951 of file geomodel_mesh_entity.cpp.
|
finalvirtual |
Check that required information for the TYPE is defined and that reverse information is stored by the corresponding entities
Reimplemented from RINGMesh::GeoModelMeshEntity< DIMENSION >.
Definition at line 844 of file geomodel_mesh_entity.cpp.
|
finalprivatevirtual |
Reimplemented from RINGMesh::GeoModelMeshEntity< DIMENSION >.
Definition at line 864 of file geomodel_mesh_entity.cpp.
|
inline |
Definition at line 959 of file geomodel_mesh_entity.h.
|
finalvirtual |
Implements RINGMesh::GeoModelEntity< DIMENSION >.
Definition at line 838 of file geomodel_mesh_entity.cpp.
|
inline |
Definition at line 964 of file geomodel_mesh_entity.h.
|
inline |
Get the low level mesh data structure.
Definition at line 1212 of file geomodel_mesh_entity.h.
|
inlinefinalvirtual |
Get the center of the cell.
cell_index |
Implements RINGMesh::GeoModelMeshEntity< DIMENSION >.
Definition at line 1185 of file geomodel_mesh_entity.h.
|
inlinefinalvirtual |
Volume of a cell.
Implements RINGMesh::GeoModelMeshEntity< DIMENSION >.
Definition at line 1143 of file geomodel_mesh_entity.h.
|
inlinefinalvirtual |
Index of a vertex in the Region from its index in a cell.
Implements RINGMesh::GeoModelMeshEntity< DIMENSION >.
Definition at line 1018 of file geomodel_mesh_entity.h.
|
inline |
Definition at line 1049 of file geomodel_mesh_entity.h.
|
inline |
Definition at line 1071 of file geomodel_mesh_entity.h.
|
inline |
Definition at line 1060 of file geomodel_mesh_entity.h.
|
inlinefinalvirtual |
Get the number of vertex in the cell
cell_index | of the Region. |
Implements RINGMesh::GeoModelMeshEntity< DIMENSION >.
Definition at line 1004 of file geomodel_mesh_entity.h.
|
inlinefinalvirtual |
Get the number of cells of the Region.
Implements RINGMesh::GeoModelMeshEntity< DIMENSION >.
Definition at line 996 of file geomodel_mesh_entity.h.
|
private |
|
private |
|
inline |
Definition at line 1203 of file geomodel_mesh_entity.h.
|
inlinefinalvirtual |
Compute the volume of the Region.
Reimplemented from RINGMesh::GeoModelMeshEntity< DIMENSION >.
Definition at line 1156 of file geomodel_mesh_entity.h.
|
inlinefinalvirtual |
Implements RINGMesh::GeoModelMeshEntity< DIMENSION >.
Definition at line 948 of file geomodel_mesh_entity.h.
|
inlinestatic |
Definition at line 943 of file geomodel_mesh_entity.h.
|
inlineprivate |
Definition at line 1229 of file geomodel_mesh_entity.h.
|
friend |
Definition at line 936 of file geomodel_mesh_entity.h.
|
protected |
Additional information to store oriented boundary Surfaces Side: + (true) or - (false) The size of this vector must be the same than boundary_
Definition at line 1252 of file geomodel_mesh_entity.h.
|
private |
Definition at line 1255 of file geomodel_mesh_entity.h.