RINGMesh
Version 5.0.0
A programming library for geological model meshes
|
Public Member Functions | |
GeoModelVertexMapper (GeoModelMeshVerticesBase &geomodel_vertices, const GeoModel< DIMENSION > &geomodel) | |
~GeoModelVertexMapper ()=default | |
template<> | |
GeoModelVertexMapper (GeoModelMeshVerticesBase &geomodel_vertices, const GeoModel3D &geomodel) | |
Query | |
index_t | geomodel_vertex_index (const gmme_id &mesh_entity_id, index_t mesh_entity_vertex_index) const |
Returns the index of a GeoModelMeshEntity vertex in the geomodel global indexing. More... | |
const std::vector< GMEVertex > & | mesh_entity_vertex_indices (index_t v) const |
Returns all the corresponding vertices in GeoModelMeshEntities to a given geomodel vertex. More... | |
std::vector< GMEVertex > | mesh_entity_vertex_indices (index_t v, const MeshEntityType &mesh_entity_type) const |
Returns all the corresponding vertices in GeoModelMeshEntities of a specific type to a given geomodel vertex. More... | |
std::vector< index_t > | mesh_entity_vertex_indices (index_t v, const gmme_id &mesh_entity_id) const |
Returns all the corresponding vertices to a geomodel vertex in a specific GeoModelMeshEntities. More... | |
const std::vector< index_t > & | vertex_map (const gmme_id &mesh_entity_id) const |
std::vector< index_t > & | vertex_map (const gmme_id &mesh_entity_id) |
Updating | |
void | set_vertex_map_value (const gmme_id &mesh_entity_id, index_t mesh_entity_vertex_index, index_t geomodel_entity_vertex_index) |
Sets the geomodel vertex mapping value of a given vertex in a GeoModelMeshEntity. More... | |
void | add_to_gme_vertices (const GMEVertex &gme_vertex, index_t geomodel_vertex_index) |
void | update_mesh_entity_maps_and_gmes (const std::vector< index_t > &old2new) |
Updates all the vertex maps with regards to the global indexing changes. More... | |
Initialization | |
void | resize_geomodel_vertex_gmes (const index_t nb) |
Resizes the GME_Vertex vectors. More... | |
void | clear_and_resize_geomodel_vertex_gmes (const index_t nb) |
Clears and resizes the GME_Vertex vectors. More... | |
void | bind_all_mesh_entity_vertex_maps () |
Clearing | |
void | clear () |
Clears all the information about vertex mapping (vector maps and vectors of GME_Vertices. More... | |
void | clear_geomodel_vertex_gmes (index_t v) |
Clears the GME_Vertices about one geomodel vertex. More... | |
void | clear_vertex_map (const gmme_id &mesh_entity_id) |
std::vector< index_t > & | resize_vertex_map (const gmme_id &mesh_entity_id) |
Private Member Functions | |
ringmesh_disable_copy_and_move (GeoModelVertexMapper) | |
void | initialize_mesh_entity_vertex_map (const gmme_id &mesh_entity_id) |
Initializes the given GeoModelMeshEntity vertex map. More... | |
bool | test_and_initialize_mesh_entity_vertex_map (const gmme_id &mesh_entity_id) |
Tests if the given GeoModelMeshEntity vertex map is initialized. If not, initializes it. More... | |
bool | is_mesh_entity_vertex_map_initialized (const gmme_id &mesh_entity_id) const |
Tests if the given GeoModelMeshEntity vertex map exists. More... | |
void | clear_all_mesh_entity_vertex_map () |
Unbinds all the GeoModelMeshEntity vertex maps. More... | |
void | resize_all_mesh_entity_vertex_maps (const MeshEntityType &type) |
GEO::AttributesManager & | mesh_entity_vertex_attribute_manager (const gmme_id &mesh_entity_id) const |
Returns the vertex attribute of a GeoModelMeshEntity. More... | |
Private Attributes | |
GeoModelMeshVerticesBase< DIMENSION > & | geomodel_vertices_ |
const GeoModel< DIMENSION > & | geomodel_ |
std::vector< std::vector< index_t > > | corner_vertex_maps_ |
Vertex maps. More... | |
std::vector< std::vector< index_t > > | line_vertex_maps_ |
std::vector< std::vector< index_t > > | surface_vertex_maps_ |
std::vector< std::vector< index_t > > | region_vertex_maps_ |
std::map< MeshEntityType, std::vector< std::vector< index_t > > *> | vertex_maps_ |
std::vector< std::vector< GMEVertex > > | gme_vertices_ |
GeoModelEntity Vertices for each geomodel vertex. More... | |
Class which manages the mapping informations between vertices of GeoModelMeshEntites (entity_index) and GeoModelMeshVerticesBase (global index)
Definition at line 290 of file geomodel_mesh.h.
RINGMesh::GeoModelMeshVerticesBase< DIMENSION >::GeoModelVertexMapper::GeoModelVertexMapper | ( | GeoModelMeshVerticesBase & | geomodel_vertices, |
const GeoModel< DIMENSION > & | geomodel | ||
) |
Definition at line 165 of file geomodel_mesh.cpp.
|
default |
RINGMesh::GeoModelMeshVerticesBase::GeoModelVertexMapper< 3 >::GeoModelVertexMapper | ( | GeoModelMeshVerticesBase & | geomodel_vertices, |
const GeoModel3D & | geomodel | ||
) |
Definition at line 833 of file geomodel_mesh.cpp.
void RINGMesh::GeoModelMeshVerticesBase< DIMENSION >::GeoModelVertexMapper::add_to_gme_vertices | ( | const GMEVertex & | gme_vertex, |
index_t | geomodel_vertex_index | ||
) |
Definition at line 269 of file geomodel_mesh.cpp.
void RINGMesh::GeoModelMeshVerticesBase< DIMENSION >::GeoModelVertexMapper::bind_all_mesh_entity_vertex_maps | ( | ) |
Definition at line 277 of file geomodel_mesh.cpp.
void RINGMesh::GeoModelMeshVerticesBase< DIMENSION >::GeoModelVertexMapper::clear | ( | ) |
Clears all the information about vertex mapping (vector maps and vectors of GME_Vertices.
Definition at line 178 of file geomodel_mesh.cpp.
|
private |
Unbinds all the GeoModelMeshEntity vertex maps.
Definition at line 398 of file geomodel_mesh.cpp.
|
inline |
Clears and resizes the GME_Vertex vectors.
[in] | nb | Size of the vector |
Definition at line 407 of file geomodel_mesh.h.
|
inline |
Clears the GME_Vertices about one geomodel vertex.
Definition at line 430 of file geomodel_mesh.h.
void RINGMesh::GeoModelMeshVerticesBase< DIMENSION >::GeoModelVertexMapper::clear_vertex_map | ( | const gmme_id & | mesh_entity_id | ) |
Definition at line 345 of file geomodel_mesh.cpp.
index_t RINGMesh::GeoModelMeshVerticesBase< DIMENSION >::GeoModelVertexMapper::geomodel_vertex_index | ( | const gmme_id & | mesh_entity_id, |
index_t | mesh_entity_vertex_index | ||
) | const |
Returns the index of a GeoModelMeshEntity vertex in the geomodel global indexing.
[in] | mesh_entity_id | Unique id to a GeoModelMeshEntity |
[in] | mesh_entity_vertex_index | Index of query vertex in the GeoModelMeshEntity indexing |
Definition at line 186 of file geomodel_mesh.cpp.
|
private |
Initializes the given GeoModelMeshEntity vertex map.
[in] | mesh_entity_id | Unique id to a GeoModelMeshEntity |
Definition at line 360 of file geomodel_mesh.cpp.
|
private |
Tests if the given GeoModelMeshEntity vertex map exists.
[in] | mesh_entity_id | Unique id to a GeoModelMeshEntity |
Definition at line 388 of file geomodel_mesh.cpp.
|
private |
Returns the vertex attribute of a GeoModelMeshEntity.
[in] | mesh_entity_id | Unique id to a GeoModelMeshEntity |
Definition at line 419 of file geomodel_mesh.cpp.
const std::vector< GMEVertex > & RINGMesh::GeoModelMeshVerticesBase< DIMENSION >::GeoModelVertexMapper::mesh_entity_vertex_indices | ( | index_t | v | ) | const |
Returns all the corresponding vertices in GeoModelMeshEntities to a given geomodel vertex.
[in] | vertex | Model vertex index |
Definition at line 198 of file geomodel_mesh.cpp.
std::vector< GMEVertex > RINGMesh::GeoModelMeshVerticesBase< DIMENSION >::GeoModelVertexMapper::mesh_entity_vertex_indices | ( | index_t | v, |
const MeshEntityType & | mesh_entity_type | ||
) | const |
Returns all the corresponding vertices in GeoModelMeshEntities of a specific type to a given geomodel vertex.
[in] | vertex | Model vertex index |
[in] | mesh_entity_type | Type of GeoModelMeshEntity |
Definition at line 206 of file geomodel_mesh.cpp.
std::vector< index_t > RINGMesh::GeoModelMeshVerticesBase< DIMENSION >::GeoModelVertexMapper::mesh_entity_vertex_indices | ( | index_t | v, |
const gmme_id & | mesh_entity_id | ||
) | const |
Returns all the corresponding vertices to a geomodel vertex in a specific GeoModelMeshEntities.
[in] | vertex | Model vertex index |
[in] | mesh_entity_id | Unique id to a GeoModelMeshEntity |
Definition at line 224 of file geomodel_mesh.cpp.
|
private |
Definition at line 412 of file geomodel_mesh.cpp.
|
inline |
Resizes the GME_Vertex vectors.
[in] | nb | Size of the vector |
Definition at line 398 of file geomodel_mesh.h.
std::vector< index_t > & RINGMesh::GeoModelMeshVerticesBase< DIMENSION >::GeoModelVertexMapper::resize_vertex_map | ( | const gmme_id & | mesh_entity_id | ) |
Definition at line 297 of file geomodel_mesh.cpp.
|
private |
void RINGMesh::GeoModelMeshVerticesBase< DIMENSION >::GeoModelVertexMapper::set_vertex_map_value | ( | const gmme_id & | mesh_entity_id, |
index_t | mesh_entity_vertex_index, | ||
index_t | geomodel_entity_vertex_index | ||
) |
Sets the geomodel vertex mapping value of a given vertex in a GeoModelMeshEntity.
[in] | mesh_entity_id | Unique id to a GeoModelMeshEntity |
[in] | mesh_entity_vertex_index | Index of query vertex in the GeoModelMeshEntity indexing |
[in] | geomodel_entity_vertex_index | Model vertex index to map with |
Definition at line 258 of file geomodel_mesh.cpp.
|
private |
Tests if the given GeoModelMeshEntity vertex map is initialized. If not, initializes it.
[in] | mesh_entity_id | Unique id to a GeoModelMeshEntity |
Definition at line 374 of file geomodel_mesh.cpp.
void RINGMesh::GeoModelMeshVerticesBase< DIMENSION >::GeoModelVertexMapper::update_mesh_entity_maps_and_gmes | ( | const std::vector< index_t > & | old2new | ) |
Updates all the vertex maps with regards to the global indexing changes.
[in] | old2new | Map between actual geomodel indexing and wanted geomodel indexing. Its size is equal to the number of geomodel vertices. |
Definition at line 313 of file geomodel_mesh.cpp.
const std::vector< index_t > & RINGMesh::GeoModelMeshVerticesBase< DIMENSION >::GeoModelVertexMapper::vertex_map | ( | const gmme_id & | mesh_entity_id | ) | const |
Definition at line 241 of file geomodel_mesh.cpp.
std::vector< index_t > & RINGMesh::GeoModelMeshVerticesBase< DIMENSION >::GeoModelVertexMapper::vertex_map | ( | const gmme_id & | mesh_entity_id | ) |
Definition at line 250 of file geomodel_mesh.cpp.
|
private |
Vertex maps.
Definition at line 491 of file geomodel_mesh.h.
|
private |
Definition at line 488 of file geomodel_mesh.h.
|
private |
Definition at line 487 of file geomodel_mesh.h.
|
private |
GeoModelEntity Vertices for each geomodel vertex.
Definition at line 499 of file geomodel_mesh.h.
|
private |
Definition at line 492 of file geomodel_mesh.h.
|
private |
Definition at line 494 of file geomodel_mesh.h.
|
private |
Definition at line 493 of file geomodel_mesh.h.
|
private |
Definition at line 496 of file geomodel_mesh.h.