RINGMesh  Version 5.0.0
A programming library for geological model meshes
RINGMesh::Corner< DIMENSION > Class Template Referencefinal

A GeoModelEntity of type CORNER. More...

#include <geomodel_mesh_entity.h>

Inheritance diagram for RINGMesh::Corner< DIMENSION >:
RINGMesh::GeoModelMeshEntity< DIMENSION > RINGMesh::GeoModelEntity< DIMENSION >

Public Member Functions

virtual ~Corner ()
 
MeshEntityType type_name () const final
 
bool is_on_voi () const final
 Checks if this entity define the geomodel external boundary. More...
 
index_t nb_mesh_elements () const final
 
index_t nb_mesh_element_vertices (index_t mesh_element=0) const final
 
const Line< DIMENSION > & incident_entity (index_t x) 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...
 
virtual bool is_connectivity_valid () const
 
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_idboundary_gmme (index_t x) const
 
const GeoModelMeshEntity< DIMENSION > & boundary (index_t x) const
 
index_t nb_incident_entities () const
 
const gmme_idincident_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_idparent_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
 
- 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 ()
 

Private Member Functions

 ringmesh_disable_copy_and_move (Corner)
 
 ringmesh_template_assert_2d_or_3d (DIMENSION)
 

Friends

class GeoModelMeshEntityAccess< DIMENSION >
 
class GeoModelMeshEntityConstAccess< DIMENSION >
 

Geometrical request on Corner

std::shared_ptr< PointSetMesh< DIMENSION > > point_set_mesh_ {}
 
void update_mesh_storage_type (std::unique_ptr< PointSetMesh< DIMENSION > > mesh)
 
void change_mesh_data_structure (const MeshType &type) final
 
double mesh_element_size (index_t mesh_element=0) const final
 
double size () const final
 
vecn< DIMENSION > mesh_element_barycenter (index_t mesh_element=0) const final
 
const PointSetMesh< DIMENSION > & mesh () const
 Get the low level mesh data structure. More...
 
 Corner (const GeoModel< DIMENSION > &geomodel, index_t id, const MeshType &type)
 Creates a Corner. A point is added to its Mesh. More...
 
index_t mesh_element_vertex_index (const ElementLocalVertex &element_local_vertex=ElementLocalVertex(0, 0)) const final
 Get the index of the unique vertex constituting of the Corner. More...
 
bool is_mesh_valid () const final
 Check that the Corner mesh is a unique point. More...
 

Additional Inherited Members

- 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)
 
- 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...
 

Detailed Description

template<index_t DIMENSION>
class RINGMesh::Corner< DIMENSION >

A GeoModelEntity of type CORNER.

It is a unique point.

Definition at line 382 of file geomodel_mesh_entity.h.

Constructor & Destructor Documentation

◆ ~Corner()

template<index_t DIMENSION>
virtual RINGMesh::Corner< DIMENSION >::~Corner ( )
inlinevirtual

Definition at line 391 of file geomodel_mesh_entity.h.

◆ Corner()

template<index_t DIMENSION>
RINGMesh::Corner< DIMENSION >::Corner ( const GeoModel< DIMENSION > &  geomodel,
index_t  id,
const MeshType type 
)
inlineprotected

Creates a Corner. A point is added to its Mesh.

Definition at line 467 of file geomodel_mesh_entity.h.

Member Function Documentation

◆ change_mesh_data_structure()

template<index_t DIMENSION>
void RINGMesh::Corner< DIMENSION >::change_mesh_data_structure ( const MeshType type)
finalprivatevirtual

◆ incident_entity()

template<index_t DIMENSION>
const Line< DIMENSION > & RINGMesh::Corner< DIMENSION >::incident_entity ( index_t  x) const

Definition at line 595 of file geomodel_mesh_entity.cpp.

◆ is_mesh_valid()

template<index_t DIMENSION>
bool RINGMesh::Corner< DIMENSION >::is_mesh_valid ( ) const
finalprotectedvirtual

Check that the Corner mesh is a unique point.

Reimplemented from RINGMesh::GeoModelMeshEntity< DIMENSION >.

Definition at line 577 of file geomodel_mesh_entity.cpp.

◆ is_on_voi()

template<index_t DIMENSION>
bool RINGMesh::Corner< DIMENSION >::is_on_voi ( ) const
finalvirtual

Checks if this entity define the geomodel external boundary.

Test if the entity is in the Surfaces defining the universe

Implements RINGMesh::GeoModelEntity< DIMENSION >.

Definition at line 563 of file geomodel_mesh_entity.cpp.

◆ mesh()

template<index_t DIMENSION>
const PointSetMesh< DIMENSION >& RINGMesh::Corner< DIMENSION >::mesh ( ) const
inline

Get the low level mesh data structure.

Definition at line 458 of file geomodel_mesh_entity.h.

◆ mesh_element_barycenter()

template<index_t DIMENSION>
vecn< DIMENSION > RINGMesh::Corner< DIMENSION >::mesh_element_barycenter ( index_t  mesh_element = 0) const
inlinefinalvirtual

Implements RINGMesh::GeoModelMeshEntity< DIMENSION >.

Definition at line 448 of file geomodel_mesh_entity.h.

◆ mesh_element_size()

template<index_t DIMENSION>
double RINGMesh::Corner< DIMENSION >::mesh_element_size ( index_t  mesh_element = 0) const
inlinefinalvirtual

Implements RINGMesh::GeoModelMeshEntity< DIMENSION >.

Definition at line 437 of file geomodel_mesh_entity.h.

◆ mesh_element_vertex_index()

template<index_t DIMENSION>
index_t RINGMesh::Corner< DIMENSION >::mesh_element_vertex_index ( const ElementLocalVertex element_local_vertex = ElementLocalVertex(                0, 0 )) const
inlinefinalprotectedvirtual

Get the index of the unique vertex constituting of the Corner.

Returns
0.

Implements RINGMesh::GeoModelMeshEntity< DIMENSION >.

Definition at line 480 of file geomodel_mesh_entity.h.

◆ nb_mesh_element_vertices()

template<index_t DIMENSION>
index_t RINGMesh::Corner< DIMENSION >::nb_mesh_element_vertices ( index_t  mesh_element = 0) const
inlinefinalvirtual
Returns
the number of vertices of the Corner

Implements RINGMesh::GeoModelMeshEntity< DIMENSION >.

Definition at line 423 of file geomodel_mesh_entity.h.

◆ nb_mesh_elements()

template<index_t DIMENSION>
index_t RINGMesh::Corner< DIMENSION >::nb_mesh_elements ( ) const
inlinefinalvirtual
Returns
0, no mesh_element are defined for corners.

Implements RINGMesh::GeoModelMeshEntity< DIMENSION >.

Definition at line 415 of file geomodel_mesh_entity.h.

◆ ringmesh_disable_copy_and_move()

template<index_t DIMENSION>
RINGMesh::Corner< DIMENSION >::ringmesh_disable_copy_and_move ( Corner< DIMENSION >  )
private

◆ ringmesh_template_assert_2d_or_3d()

template<index_t DIMENSION>
RINGMesh::Corner< DIMENSION >::ringmesh_template_assert_2d_or_3d ( DIMENSION  )
private

◆ size()

template<index_t DIMENSION>
double RINGMesh::Corner< DIMENSION >::size ( ) const
inlinefinalvirtual

Reimplemented from RINGMesh::GeoModelMeshEntity< DIMENSION >.

Definition at line 443 of file geomodel_mesh_entity.h.

◆ type_name()

template<index_t DIMENSION>
MeshEntityType RINGMesh::Corner< DIMENSION >::type_name ( ) const
inlinefinalvirtual

Implements RINGMesh::GeoModelMeshEntity< DIMENSION >.

Definition at line 401 of file geomodel_mesh_entity.h.

◆ type_name_static()

template<index_t DIMENSION>
static MeshEntityType RINGMesh::Corner< DIMENSION >::type_name_static ( )
inlinestatic

Definition at line 396 of file geomodel_mesh_entity.h.

◆ update_mesh_storage_type()

template<index_t DIMENSION>
void RINGMesh::Corner< DIMENSION >::update_mesh_storage_type ( std::unique_ptr< PointSetMesh< DIMENSION > >  mesh)
inlineprivate

Definition at line 494 of file geomodel_mesh_entity.h.

Friends And Related Function Documentation

◆ GeoModelMeshEntityAccess< DIMENSION >

template<index_t DIMENSION>
friend class GeoModelMeshEntityAccess< DIMENSION >
friend

Definition at line 388 of file geomodel_mesh_entity.h.

◆ GeoModelMeshEntityConstAccess< DIMENSION >

template<index_t DIMENSION>
friend class GeoModelMeshEntityConstAccess< DIMENSION >
friend

Definition at line 389 of file geomodel_mesh_entity.h.

Member Data Documentation

◆ point_set_mesh_

template<index_t DIMENSION>
std::shared_ptr< PointSetMesh< DIMENSION > > RINGMesh::Corner< DIMENSION >::point_set_mesh_ {}
private

Definition at line 504 of file geomodel_mesh_entity.h.


The documentation for this class was generated from the following files: