RINGMesh
Version 5.0.0
A programming library for geological model meshes
|
#include <mesh_builder.h>
Public Member Functions | |
void | create_edge (index_t v1_id, index_t v2_id) |
Create a new edge. More... | |
index_t | create_edges (index_t nb_edges) |
Creates a contiguous chunk of edges. More... | |
void | set_edge_vertex (const EdgeLocalVertex &edge_local_vertex, index_t vertex_id) |
Sets a vertex of a edge by local vertex index. More... | |
void | delete_edges (const std::vector< bool > &to_delete, bool remove_isolated_vertices) |
Deletes a set of edges. More... | |
void | clear_edges (bool keep_attributes, bool keep_memory) |
Removes all the edges and attributes. More... | |
void | permute_edges (const std::vector< index_t > &permutation) |
void | remove_isolated_vertices () |
Remove vertices not connected to any mesh element. More... | |
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) |
Static Public Member Functions | |
static std::unique_ptr< LineMeshBuilder > | create_builder (LineMesh< 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 | |
LineMeshBuilder (LineMesh< DIMENSION > &mesh) | |
Protected Member Functions inherited from RINGMesh::MeshBaseBuilder< DIMENSION > | |
MeshBaseBuilder (MeshBase< DIMENSION > &mesh) | |
void | delete_vertex_nn_search () |
Protected Attributes | |
LineMesh< DIMENSION > & | line_mesh_ |
Protected Attributes inherited from RINGMesh::MeshBaseBuilder< DIMENSION > | |
MeshBase< DIMENSION > & | mesh_base_ |
Private Member Functions | |
void | delete_edge_nn_search () |
Deletes the NNSearch on edges. More... | |
void | clear_vertex_linked_objects () override |
Deletes the NNSearch on vertices. More... | |
void | clear_edge_linked_objects () |
virtual void | do_create_edge (index_t v1_id, index_t v2_id)=0 |
Create a new edge. More... | |
virtual index_t | do_create_edges (index_t nb_edges)=0 |
Creates a contiguous chunk of edges. More... | |
virtual void | do_set_edge_vertex (const EdgeLocalVertex &edge_local_vertex, index_t vertex_id)=0 |
Sets a vertex of a edge by local vertex index. More... | |
virtual void | do_delete_edges (const std::vector< bool > &to_delete)=0 |
Deletes a set of edges. More... | |
virtual void | do_clear_edges (bool keep_attributes, bool keep_memory)=0 |
Removes all the edges and attributes. More... | |
virtual void | do_permute_edges (const std::vector< index_t > &permutation)=0 |
Definition at line 334 of file mesh_builder.h.
|
inlineexplicitprotected |
Definition at line 432 of file mesh_builder.h.
|
inlineprivate |
Definition at line 452 of file mesh_builder.h.
|
inline |
Removes all the edges 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. |
Definition at line 402 of file mesh_builder.h.
|
inlineoverrideprivatevirtual |
Deletes the NNSearch on vertices.
Implements RINGMesh::MeshBaseBuilder< DIMENSION >.
Definition at line 446 of file mesh_builder.h.
|
static |
Definition at line 163 of file mesh_builder.cpp.
|
inline |
Create a new edge.
[in] | v1_id | index of the starting vertex. |
[in] | v2_id | index of the ending vertex. |
Definition at line 345 of file mesh_builder.h.
|
inline |
Creates a contiguous chunk of edges.
[in] | nb_edges | number of edges to create |
Definition at line 355 of file mesh_builder.h.
|
inlineprivate |
Deletes the NNSearch on edges.
Definition at line 441 of file mesh_builder.h.
|
inline |
Deletes a set of edges.
[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. |
[in] | remove_isolated_vertices | if true, then the vertices that are no longer incident to any entity are deleted. |
Definition at line 384 of file mesh_builder.h.
|
privatepure virtual |
Removes all the edges 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. |
Implemented in RINGMesh::GeogramLineMeshBuilder< DIMENSION >.
|
privatepure virtual |
Create a new edge.
[in] | v1_id | index of the starting vertex. |
[in] | v2_id | index of the ending vertex. |
Implemented in RINGMesh::GeogramLineMeshBuilder< DIMENSION >.
|
privatepure virtual |
Creates a contiguous chunk of edges.
[in] | nb_edges | number of edges to create |
Implemented in RINGMesh::GeogramLineMeshBuilder< DIMENSION >.
|
privatepure virtual |
Deletes a set of edges.
[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. |
Implemented in RINGMesh::GeogramLineMeshBuilder< DIMENSION >.
|
privatepure virtual |
Implemented in RINGMesh::GeogramLineMeshBuilder< DIMENSION >.
|
privatepure virtual |
Sets a vertex of a edge by local vertex index.
[in] | edge_local_vertex | index of the edge and local index of the vertex in the edge. Local index between 0 and nb_vertices(cell_id) - 1. |
[in] | vertex_id | specifies the vertex |
local_vertex_id | of edge | |
edge_id. | Index between 0 and nb() - 1. |
Implemented in RINGMesh::GeogramLineMeshBuilder< DIMENSION >.
|
inline |
Definition at line 407 of file mesh_builder.h.
|
inline |
Remove vertices not connected to any mesh element.
Definition at line 416 of file mesh_builder.h.
|
inline |
Sets a vertex of a edge by local vertex index.
[in] | edge_local_vertex | index of the edge and local index of the vertex in the edge. Local index between 0 and nb_vertices(cell_id) - 1. |
[in] | vertex_id | specifies the vertex |
local_vertex_id | of edge | |
edge_id. | Index between 0 and nb() - 1. |
Definition at line 370 of file mesh_builder.h.
|
protected |
Definition at line 502 of file mesh_builder.h.