RINGMesh
Version 5.0.0
A programming library for geological model meshes
|
#include <geogram_mesh_builder.h>
Public Member Functions | |
GeogramVolumeMeshBuilder (VolumeMesh< DIMENSION > &mesh) | |
index_t | do_create_cells (index_t nb_cells, CellType type) override |
Creates a contiguous chunk of cells of the same type. More... | |
void | do_assign_cell_tet_mesh (const std::vector< index_t > &tets) override |
void | do_set_cell_vertex (const ElementLocalVertex &cell_local_vertex, index_t vertex_id) override |
Sets a vertex of a cell by local vertex index. More... | |
void | do_set_cell_corner_vertex_index (index_t corner_index, index_t vertex_index) override |
Sets the vertex that a corner is incident to. More... | |
void | do_set_cell_adjacent (const CellLocalFacet &cell_local_facet, index_t cell_adjacent) override |
Sets the cell adjacent. More... | |
void | connect_cells () override |
Retrieve the adjacencies. More... | |
void | do_clear_cells (bool keep_attributes, bool keep_memory) override |
Removes all the cells and attributes. More... | |
void | do_permute_cells (const std::vector< index_t > &permutation) override |
Applies a permutation to the entities and their attributes. On exit, permutation is modified (used for internal bookkeeping). Applying a permutation permutation is equivalent to: for( i = 0 ; i < permutation.size() ; i++) { data2[i] = data[permutation[i]] } data = data2 ; More... | |
void | do_delete_cells (const std::vector< bool > &to_delete) override |
Deletes a set of cells. More... | |
Public Member Functions inherited from RINGMesh::VolumeMeshBuilder< DIMENSION > | |
index_t | create_cells (index_t nb_cells, CellType type) |
Creates a contiguous chunk of cells of the same type. More... | |
void | assign_cell_tet_mesh (const std::vector< index_t > &tets) |
void | set_cell_vertex (const ElementLocalVertex &cell_local_vertex, index_t vertex_id) |
Sets a vertex of a cell by local vertex index. More... | |
void | set_cell_corner_vertex_index (index_t corner_index, index_t vertex_index) |
Sets the vertex that a corner is incident to. More... | |
void | set_cell_adjacent (const CellLocalFacet &cell_local_facet, index_t cell_adjacent) |
Sets the cell adjacent. More... | |
void | clear_cells (bool keep_attributes, bool keep_memory) |
Removes all the cells and attributes. More... | |
void | permute_cells (const std::vector< index_t > &permutation) |
Applies a permutation to the entities and their attributes. On exit, permutation is modified (used for internal bookkeeping). Applying a permutation permutation is equivalent to: for( i = 0 ; i < permutation.size() ; i++) { data2[i] = data[permutation[i]] } data = data2 ; More... | |
void | delete_cells (const std::vector< bool > &to_delete, bool remove_isolated_vertices) |
Deletes a set of cells. More... | |
void | remove_isolated_vertices () |
Public Member Functions inherited from RINGMesh::MeshBaseBuilder< DIMENSION > | |
virtual | ~MeshBaseBuilder ()=default |
template<> | |
std::unique_ptr< MeshBaseBuilder< 2 > > RINGMESH_API | create_builder (MeshBase< 2 > &mesh) |
template<> | |
std::unique_ptr< MeshBaseBuilder< 3 > > RINGMESH_API | create_builder (MeshBase< 3 > &mesh) |
void | copy (const MeshBase< DIMENSION > &rhs, bool copy_attributes) |
Copy a mesh into this one. More... | |
virtual void | load_mesh (const std::string &filename)=0 |
void | clear (bool keep_attributes, bool keep_memory) |
Removes all the entities and attributes of this mesh. More... | |
void | repair (GEO::MeshRepairMode mode, double colocate_epsilon) |
Fixes some defaults in a mesh. More... | |
void | set_vertex (index_t v_id, const vecn< DIMENSION > &vertex) |
Sets a point. More... | |
index_t | create_vertex () |
Creates a new vertex. More... | |
index_t | create_vertex (const vecn< DIMENSION > &vertex) |
Creates a new vertex. More... | |
index_t | create_vertices (index_t nb) |
Creates a contiguous chunk of vertices. More... | |
void | assign_vertices (const std::vector< double > &point_coordinates) |
set vertex coordinates from a std::vector of coordinates More... | |
void | delete_vertices (const std::vector< bool > &to_delete) |
Deletes a set of vertices. More... | |
void | clear_vertices (bool keep_attributes, bool keep_memory) |
Removes all the vertices and attributes. More... | |
void | permute_vertices (const std::vector< index_t > &permutation) |
Private Member Functions | |
COMMON_GEOGRAM_MESH_BUILDER_IMPLEMENTATION (GeogramVolumeMesh) | |
ringmesh_template_assert_3d (DIMENSION) | |
Additional Inherited Members | |
Static Public Member Functions inherited from RINGMesh::VolumeMeshBuilder< DIMENSION > | |
static std::unique_ptr< VolumeMeshBuilder< DIMENSION > > | create_builder (VolumeMesh< DIMENSION > &mesh) |
Static Public Member Functions inherited from RINGMesh::MeshBaseBuilder< DIMENSION > | |
static std::unique_ptr< MeshBaseBuilder< DIMENSION > > | create_builder (MeshBase< DIMENSION > &mesh) |
Protected Member Functions inherited from RINGMesh::VolumeMeshBuilder< DIMENSION > | |
VolumeMeshBuilder (VolumeMesh< DIMENSION > &mesh) | |
Protected Member Functions inherited from RINGMesh::MeshBaseBuilder< DIMENSION > | |
MeshBaseBuilder (MeshBase< DIMENSION > &mesh) | |
void | delete_vertex_nn_search () |
Protected Attributes inherited from RINGMesh::VolumeMeshBuilder< DIMENSION > | |
VolumeMesh< DIMENSION > & | volume_mesh_ |
Protected Attributes inherited from RINGMesh::MeshBaseBuilder< DIMENSION > | |
MeshBase< DIMENSION > & | mesh_base_ |
Definition at line 294 of file geogram_mesh_builder.h.
|
inlineexplicit |
Definition at line 300 of file geogram_mesh_builder.h.
|
private |
|
inlineoverridevirtual |
Retrieve the adjacencies.
Implements RINGMesh::VolumeMeshBuilder< DIMENSION >.
Definition at line 339 of file geogram_mesh_builder.h.
|
inlineoverridevirtual |
Implements RINGMesh::VolumeMeshBuilder< DIMENSION >.
Definition at line 312 of file geogram_mesh_builder.h.
|
inlineoverridevirtual |
Removes all the cells and attributes.
[in] | keep_attributes | if true, then all the existing attribute names / bindings are kept (but they are cleared). If false, they are destroyed. |
[in] | keep_memory | if true, then memory is kept and can be reused by subsequent mesh entity creations. |
Implements RINGMesh::VolumeMeshBuilder< DIMENSION >.
Definition at line 344 of file geogram_mesh_builder.h.
|
inlineoverridevirtual |
Creates a contiguous chunk of cells of the same type.
[in] | nb_cells | number of cells to create |
[in] | type | type of the cells to create, one of TETRAEDRON, HEXAEDRON, CellType::PRISM, CellType::PYRAMID, CellType::UNCLASSIFIED. |
Implements RINGMesh::VolumeMeshBuilder< DIMENSION >.
Definition at line 306 of file geogram_mesh_builder.h.
|
inlineoverridevirtual |
Deletes a set of cells.
[in] | to_delete | a vector of size nb(). If to_delete[e] is true, then entity e will be destroyed, else it will be kept. |
Implements RINGMesh::VolumeMeshBuilder< DIMENSION >.
Definition at line 357 of file geogram_mesh_builder.h.
|
inlineoverridevirtual |
Applies a permutation to the entities and their attributes. On exit, permutation is modified (used for internal bookkeeping). Applying a permutation permutation is equivalent to: for( i = 0 ; i < permutation.size() ; i++) { data2[i] = data[permutation[i]] } data = data2 ;
Implements RINGMesh::VolumeMeshBuilder< DIMENSION >.
Definition at line 349 of file geogram_mesh_builder.h.
|
inlineoverridevirtual |
Sets the cell adjacent.
[in] | cell_local_facet | index of the cell, and local index of the cell facet |
[in] | cell_adjacent | adjacent value to set |
Implements RINGMesh::VolumeMeshBuilder< DIMENSION >.
Definition at line 332 of file geogram_mesh_builder.h.
|
inlineoverridevirtual |
Sets the vertex that a corner is incident to.
[in] | corner_index | the corner, in 0.. nb() - 1 |
[in] | vertex_index | specifies the vertex that corner |
corner_index | is incident to |
Implements RINGMesh::VolumeMeshBuilder< DIMENSION >.
Definition at line 326 of file geogram_mesh_builder.h.
|
inlineoverridevirtual |
Sets a vertex of a cell by local vertex index.
[in] | cell_local_vertex | index of the cell,and local index of the vertex in the cell. Local index between 0 and nb_vertices(cell_id) - 1. |
[in] | vertex_id | specifies the global index of the vertex |
local_vertex_id | in the cell | |
cell_id. | Index between 0 and nb() - 1. |
Implements RINGMesh::VolumeMeshBuilder< DIMENSION >.
Definition at line 319 of file geogram_mesh_builder.h.
|
private |