RINGMesh
Version 5.0.0
A programming library for geological model meshes
|
A GeoModelEntity of type LINE. More...
#include <geomodel_mesh_entity.h>
Public Member Functions | |
virtual | ~Line () |
MeshEntityType | type_name () const final |
bool | is_on_voi () const final |
const Corner< DIMENSION > & | boundary (index_t x) const |
const Surface< DIMENSION > & | incident_entity (index_t x) const |
bool | is_connectivity_valid () const final |
const LineAABBTree< DIMENSION > & | edge_aabb () const |
const NNSearch< DIMENSION > & | edge_nn_search () const |
Return the NNSearch for the edges of the line. More... | |
index_t | nb_mesh_elements () const final |
index_t | nb_mesh_element_vertices (index_t mesh_element=0) const final |
index_t | mesh_element_vertex_index (const ElementLocalVertex &element_local_vertex) const final |
Get the index of a vertex in the Line from the. More... | |
bool | is_closed () const |
A Line is closed if its two extremities are identitical. More... | |
double | mesh_element_size (index_t edge_index) const final |
Gets the length of an edge. More... | |
vecn< DIMENSION > | mesh_element_barycenter (index_t edge_index) const final |
Gets the barycenter of an edge. More... | |
bool | is_first_corner_first_vertex () const |
const LineMesh< DIMENSION > & | mesh () const |
Get the low level mesh data structure. More... | |
template<> | |
bool | is_on_voi () const |
template<> | |
bool | is_on_voi () const |
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... | |
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 |
const GeoModel< DIMENSION > & | geomodel () const |
const std::string & | name () const |
index_t | index () const |
Static Public Member Functions | |
static MeshEntityType | type_name_static () |
Protected Member Functions | |
Line (const GeoModel< DIMENSION > &geomodel, index_t id, const MeshType &type) | |
bool | is_mesh_valid () const final |
Check that the mesh of the Line is valid. More... | |
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) |
Private Member Functions | |
ringmesh_disable_copy_and_move (Line) | |
ringmesh_template_assert_2d_or_3d (DIMENSION) | |
void | update_mesh_storage_type (std::unique_ptr< LineMesh< DIMENSION > > mesh) |
void | change_mesh_data_structure (const MeshType &type) final |
Private Attributes | |
std::shared_ptr< LineMesh< DIMENSION > > | line_mesh_ {} |
Friends | |
class | GeoModelMeshEntityAccess< DIMENSION > |
Additional Inherited Members | |
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 LINE.
This must be one connected component (one part) of a 1-manifold (Line with no T intersections).
Definition at line 515 of file geomodel_mesh_entity.h.
|
inlinevirtual |
Definition at line 523 of file geomodel_mesh_entity.h.
|
inlineprotected |
Definition at line 634 of file geomodel_mesh_entity.h.
const Corner< DIMENSION > & RINGMesh::Line< DIMENSION >::boundary | ( | index_t | x | ) | const |
Definition at line 732 of file geomodel_mesh_entity.cpp.
|
finalprivatevirtual |
Implements RINGMesh::GeoModelMeshEntity< DIMENSION >.
Definition at line 929 of file geomodel_mesh_entity.cpp.
|
inline |
Definition at line 550 of file geomodel_mesh_entity.h.
|
inline |
Return the NNSearch for the edges of the line.
The barycenter of the edges is used.
Definition at line 559 of file geomodel_mesh_entity.h.
|
inline |
Definition at line 542 of file geomodel_mesh_entity.h.
|
inline |
A Line is closed if its two extremities are identitical.
Definition at line 597 of file geomodel_mesh_entity.h.
|
finalvirtual |
Check that required information for the TYPE is defined and that reverse information is stored by the corresponding entities
Reimplemented from RINGMesh::GeoModelMeshEntity< DIMENSION >.
Definition at line 702 of file geomodel_mesh_entity.cpp.
bool RINGMesh::Line< DIMENSION >::is_first_corner_first_vertex | ( | ) | const |
Definition at line 719 of file geomodel_mesh_entity.cpp.
|
finalprotectedvirtual |
Check that the mesh of the Line is valid.
Check that
Does not check:
Reimplemented from RINGMesh::GeoModelMeshEntity< DIMENSION >.
Definition at line 605 of file geomodel_mesh_entity.cpp.
|
finalvirtual |
Implements RINGMesh::GeoModelEntity< DIMENSION >.
|
virtual |
Implements RINGMesh::GeoModelEntity< DIMENSION >.
Definition at line 739 of file geomodel_mesh_entity.cpp.
|
virtual |
Implements RINGMesh::GeoModelEntity< DIMENSION >.
Definition at line 747 of file geomodel_mesh_entity.cpp.
|
inline |
Get the low level mesh data structure.
Definition at line 628 of file geomodel_mesh_entity.h.
|
inlinefinalvirtual |
Gets the barycenter of an edge.
Implements RINGMesh::GeoModelMeshEntity< DIMENSION >.
Definition at line 616 of file geomodel_mesh_entity.h.
|
inlinefinalvirtual |
Gets the length of an edge.
Implements RINGMesh::GeoModelMeshEntity< DIMENSION >.
Definition at line 607 of file geomodel_mesh_entity.h.
|
inlinefinalvirtual |
Get the index of a vertex in the Line from the.
vertex_index | in a given edge |
edge_index. |
Implements RINGMesh::GeoModelMeshEntity< DIMENSION >.
Definition at line 585 of file geomodel_mesh_entity.h.
|
inlinefinalvirtual |
Implements RINGMesh::GeoModelMeshEntity< DIMENSION >.
Definition at line 575 of file geomodel_mesh_entity.h.
|
inlinefinalvirtual |
Get the number of edges of the Line
Implements RINGMesh::GeoModelMeshEntity< DIMENSION >.
Definition at line 567 of file geomodel_mesh_entity.h.
|
private |
|
private |
|
inlinefinalvirtual |
Implements RINGMesh::GeoModelMeshEntity< DIMENSION >.
Definition at line 533 of file geomodel_mesh_entity.h.
|
inlinestatic |
Definition at line 528 of file geomodel_mesh_entity.h.
|
inlineprivate |
Definition at line 661 of file geomodel_mesh_entity.h.
|
friend |
Definition at line 521 of file geomodel_mesh_entity.h.
|
private |
Definition at line 671 of file geomodel_mesh_entity.h.