RINGMesh
Version 5.0.0
A programming library for geological model meshes
|
A GeoModelEntity of type SURFACE. More...
#include <geomodel_mesh_entity.h>
Public Member Functions | |
virtual | ~SurfaceBase () |
MeshEntityType | type_name () const final |
const Line< DIMENSION > & | boundary (index_t x) const |
const Region< DIMENSION > & | incident_entity (index_t x) const |
bool | is_simplicial () const |
const SurfaceAABBTree< DIMENSION > & | polygon_aabb () const |
const NNSearch< DIMENSION > & | polygon_nn_search () const |
Return the NNSearch for the polygons of the surface. More... | |
GEO::AttributesManager & | polygon_attribute_manager () const |
Accessors to Surface polygons, edges and vertices | |
index_t | nb_mesh_elements () const final |
index_t | nb_mesh_element_vertices (index_t polygon_index) const final |
index_t | mesh_element_vertex_index (const ElementLocalVertex &element_local_vertex) const final |
Index of the vertex in the Surface from its index in a polygon of the mesh. More... | |
index_t | polygon_adjacent_index (const PolygonLocalEdge &polygon_local_edge) const |
Gets the polygon adjacent along an edge of a polygon. More... | |
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... | |
virtual bool | is_connectivity_valid () const |
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 |
virtual double | size () const |
Public Member Functions inherited from RINGMesh::GeoModelEntity< DIMENSION > | |
virtual | ~GeoModelEntity ()=default |
virtual bool | is_on_voi () const =0 |
const GeoModel< DIMENSION > & | geomodel () const |
const std::string & | name () const |
index_t | index () const |
Static Public Member Functions | |
static MeshEntityType | type_name_static () |
Private Member Functions | |
ringmesh_disable_copy_and_move (SurfaceBase) | |
ringmesh_template_assert_2d_or_3d (DIMENSION) | |
Friends | |
class | GeoModelMeshEntityAccess< DIMENSION > |
std::shared_ptr< SurfaceMesh< DIMENSION > > | surface_mesh_ {} |
void | update_mesh_storage_type (std::unique_ptr< SurfaceMesh< DIMENSION > > mesh) |
void | change_mesh_data_structure (const MeshType &type) final |
vecn< DIMENSION > | mesh_element_barycenter (index_t polygon_index) const final |
double | mesh_element_size (index_t polygon_index) const final |
const SurfaceMesh< DIMENSION > & | mesh () const |
Get the low level mesh data structure. More... | |
SurfaceBase (const GeoModel< DIMENSION > &geomodel, index_t id, const MeshType type) | |
bool | is_mesh_valid () const final |
Check that the mesh of the Surface is valid. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from RINGMesh::GeoModelMeshEntity< DIMENSION > | |
GeoModelMeshEntity (const GeoModel< DIMENSION > &geomodel, index_t id) | |
virtual void | copy_mesh_entity (const GeoModelMeshEntity< DIMENSION > &from) |
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) |
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... | |
A GeoModelEntity of type SURFACE.
One connected component (part) of a 2-manifold surface (all edges of the polygons are in at most 2 polygons)
Definition at line 682 of file geomodel_mesh_entity.h.
|
inlinevirtual |
Definition at line 690 of file geomodel_mesh_entity.h.
|
inlineprotected |
Definition at line 818 of file geomodel_mesh_entity.h.
const Line< DIMENSION > & RINGMesh::SurfaceBase< DIMENSION >::boundary | ( | index_t | x | ) | const |
Definition at line 803 of file geomodel_mesh_entity.cpp.
|
finalprivatevirtual |
Implements RINGMesh::GeoModelMeshEntity< DIMENSION >.
Definition at line 939 of file geomodel_mesh_entity.cpp.
const Region< DIMENSION >& RINGMesh::SurfaceBase< DIMENSION >::incident_entity | ( | index_t | x | ) | const |
|
finalprotectedvirtual |
Check that the mesh of the Surface is valid.
Check that
Some tests are not performed here but globally on the GeoModel
Some tests are not performed
Reimplemented from RINGMesh::GeoModelMeshEntity< DIMENSION >.
Definition at line 763 of file geomodel_mesh_entity.cpp.
|
inline |
Definition at line 709 of file geomodel_mesh_entity.h.
|
inline |
Get the low level mesh data structure.
Definition at line 812 of file geomodel_mesh_entity.h.
|
inlinefinalvirtual |
Implements RINGMesh::GeoModelMeshEntity< DIMENSION >.
Definition at line 793 of file geomodel_mesh_entity.h.
|
inlinefinalvirtual |
Implements RINGMesh::GeoModelMeshEntity< DIMENSION >.
Definition at line 803 of file geomodel_mesh_entity.h.
|
inlinefinalvirtual |
Index of the vertex in the Surface from its index in a polygon of the mesh.
Implements RINGMesh::GeoModelMeshEntity< DIMENSION >.
Definition at line 758 of file geomodel_mesh_entity.h.
|
inlinefinalvirtual |
Number of vertices of a polygon
Implements RINGMesh::GeoModelMeshEntity< DIMENSION >.
Definition at line 748 of file geomodel_mesh_entity.h.
|
inlinefinalvirtual |
Number of polygons of the Surface.
Implements RINGMesh::GeoModelMeshEntity< DIMENSION >.
Definition at line 740 of file geomodel_mesh_entity.h.
|
inline |
Definition at line 714 of file geomodel_mesh_entity.h.
|
inline |
Gets the polygon adjacent along an edge of a polygon.
polygon_index | in the polygon |
edge_index | in the edge |
Definition at line 776 of file geomodel_mesh_entity.h.
|
inline |
Definition at line 728 of file geomodel_mesh_entity.h.
|
inline |
Return the NNSearch for the polygons of the surface.
The barycenter of the polygons is used.
Definition at line 723 of file geomodel_mesh_entity.h.
|
private |
|
private |
|
inlinefinalvirtual |
Implements RINGMesh::GeoModelMeshEntity< DIMENSION >.
Definition at line 695 of file geomodel_mesh_entity.h.
|
inlinestatic |
Definition at line 700 of file geomodel_mesh_entity.h.
|
inlineprivate |
Definition at line 852 of file geomodel_mesh_entity.h.
|
friend |
Definition at line 688 of file geomodel_mesh_entity.h.
|
private |
Definition at line 862 of file geomodel_mesh_entity.h.