RINGMesh
Version 5.0.0
A programming library for geological model meshes
|
#include <geomodel_mesh.h>
Public Member Functions | |
virtual | ~GeoModelMeshEdges () |
GEO::AttributesManager & | attribute_manager () const |
bool | is_initialized () const |
void | test_and_initialize () const |
index_t | nb () const |
Number of edges stored. More... | |
index_t | vertex (const ElementLocalVertex &edge_local_vertex) const |
index_t | line (index_t edge) const |
index_t | index_in_line (index_t edge) const |
index_t | nb_edges (index_t line) const |
index_t | edge (index_t line, index_t edge) const |
void | clear () |
vecn< DIMENSION > | center (index_t edge) const |
double | length (index_t edge) const |
const NNSearch< DIMENSION > & | nn_search () const |
const LineAABBTree< DIMENSION > & | aabb () const |
return the AABB tree for the edges of the mesh More... | |
Protected Member Functions | |
GeoModelMeshEdges (GeoModelMesh< DIMENSION > &gmm, GeoModel< DIMENSION > &gm, std::unique_ptr< LineMesh< DIMENSION > > &mesh) | |
Protected Member Functions inherited from RINGMesh::GeoModelMeshCommon< DIMENSION > | |
GeoModelMeshCommon (GeoModelMesh< DIMENSION > &gmm, GeoModel< DIMENSION > &geomodel) | |
virtual | ~GeoModelMeshCommon ()=default |
void | set_mesh (MeshBase< DIMENSION > *mesh) |
void | save_mesh (const std::string &filename) const |
Protected Attributes | |
std::unique_ptr< LineMesh< DIMENSION > > & | mesh_ |
Attached Mesh. More... | |
std::vector< index_t > | line_id_ |
Vector storing the line index per edge. More... | |
std::vector< index_t > | edge_id_ |
Vector storing the edge index in line per edge. More... | |
std::vector< index_t > | line_edge_ptr_ |
index_t | nb_edges_ { 0 } |
Number of edges in the GeoModelMesh. More... | |
Protected Attributes inherited from RINGMesh::GeoModelMeshCommon< DIMENSION > | |
GeoModelMesh< DIMENSION > & | gmm_ |
Attached GeoModelMesh. More... | |
GeoModel< DIMENSION > & | geomodel_ |
Attached GeoModel. More... | |
MeshBase< DIMENSION > * | mesh_base_ |
Attached MeshBase. More... | |
Private Member Functions | |
ringmesh_disable_copy_and_move (GeoModelMeshEdges) | |
void | initialize () |
void | resize_edge_data () |
void | clear_edge_data () |
Static Private Attributes | |
static const std::string | line_att_name = "line" |
static const std::string | edge_line_att_name |
Friends | |
class | GeoModelMeshBase< DIMENSION > |
class | GeoModelMesh< DIMENSION > |
Definition at line 836 of file geomodel_mesh.h.
|
virtual |
Definition at line 1835 of file geomodel_mesh.cpp.
|
protected |
Definition at line 1825 of file geomodel_mesh.cpp.
const LineAABBTree< DIMENSION > & RINGMesh::GeoModelMeshEdges< DIMENSION >::aabb | ( | ) | const |
return the AABB tree for the edges of the mesh
Definition at line 1990 of file geomodel_mesh.cpp.
|
inline |
Definition at line 849 of file geomodel_mesh.h.
vecn< DIMENSION > RINGMesh::GeoModelMeshEdges< DIMENSION >::center | ( | index_t | edge | ) | const |
Get the center of the given edge
[in] | p | the edge index |
Definition at line 1975 of file geomodel_mesh.cpp.
void RINGMesh::GeoModelMeshEdges< DIMENSION >::clear | ( | ) |
Clear the edges of the GeoModelMesh
Definition at line 1910 of file geomodel_mesh.cpp.
|
private |
Clear edge data: line_id_ and edge_id_
Definition at line 1848 of file geomodel_mesh.cpp.
index_t RINGMesh::GeoModelMeshEdges< DIMENSION >::edge | ( | index_t | line, |
index_t | edge | ||
) | const |
Get the edge index in the GeoModelMesh corresponding to the asked edge in the line
[in] | l | the line index |
[in] | edge | the eth edge index varying from 0 to nb_edges( l ) |
Definition at line 1902 of file geomodel_mesh.cpp.
index_t RINGMesh::GeoModelMeshEdges< DIMENSION >::index_in_line | ( | index_t | edge | ) | const |
Get the edge index in the GeoModelMesh restricted to the line owing the edge
[in] | edge | the edge index |
e
Definition at line 1886 of file geomodel_mesh.cpp.
|
private |
Initialize the edges of the GeoModelMesh and sort them per line Example for a mesh with two lines [EDGE, EDGE, ... ,EDGE , EDGE, EDGE, ... , EDGE] | line 0 | line 1 |
Definition at line 1929 of file geomodel_mesh.cpp.
bool RINGMesh::GeoModelMeshEdges< DIMENSION >::is_initialized | ( | ) | const |
Test if the mesh edges are initialized
Definition at line 1855 of file geomodel_mesh.cpp.
double RINGMesh::GeoModelMeshEdges< DIMENSION >::length | ( | index_t | edge | ) | const |
Get the length of the edge
[in] | p | the edge index |
Definition at line 1982 of file geomodel_mesh.cpp.
index_t RINGMesh::GeoModelMeshEdges< DIMENSION >::line | ( | index_t | edge | ) | const |
Get the line index in the GeoModel according the edge index in the GeoModelMesh
[in] | edge | the edge index |
Definition at line 1878 of file geomodel_mesh.cpp.
index_t RINGMesh::GeoModelMeshEdges< DIMENSION >::nb | ( | ) | const |
Number of edges stored.
Definition at line 1861 of file geomodel_mesh.cpp.
index_t RINGMesh::GeoModelMeshEdges< DIMENSION >::nb_edges | ( | index_t | line | ) | const |
Get the number of edges in the given line
[in] | edge | the edge index |
Definition at line 1894 of file geomodel_mesh.cpp.
|
inline |
Definition at line 920 of file geomodel_mesh.h.
|
private |
Resize edge data: line_id_ and edge_id_
Definition at line 1841 of file geomodel_mesh.cpp.
|
private |
void RINGMesh::GeoModelMeshEdges< DIMENSION >::test_and_initialize | ( | ) | const |
Definition at line 1920 of file geomodel_mesh.cpp.
index_t RINGMesh::GeoModelMeshEdges< DIMENSION >::vertex | ( | const ElementLocalVertex & | edge_local_vertex | ) | const |
Get the vertex index of a vertex in a edge in the GeoModelMesh
[in] | edge | the edge index |
[in] | vertex | the local vertex index |
Definition at line 1868 of file geomodel_mesh.cpp.
|
friend |
Definition at line 845 of file geomodel_mesh.h.
|
friend |
Definition at line 844 of file geomodel_mesh.h.
|
protected |
Vector storing the edge index in line per edge.
Definition at line 961 of file geomodel_mesh.h.
|
staticprivate |
Definition at line 841 of file geomodel_mesh.h.
|
staticprivate |
Definition at line 840 of file geomodel_mesh.h.
|
protected |
Vector storing the index of the starting edge index for a given line and a given edge type. For example: the 2nd edge index of the line index L will be found here: line_edge_ptr_[L] + 2
Definition at line 970 of file geomodel_mesh.h.
|
protected |
Vector storing the line index per edge.
Definition at line 959 of file geomodel_mesh.h.
|
protected |
Attached Mesh.
Definition at line 956 of file geomodel_mesh.h.
|
protected |
Number of edges in the GeoModelMesh.
Definition at line 973 of file geomodel_mesh.h.