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

Abstract base class describing one entity of a GeoModel. More...

#include <geomodel_entity.h>

Inheritance diagram for RINGMesh::GeoModelEntity< DIMENSION >:
RINGMesh::GeoModelGeologicalEntity< DIMENSION > RINGMesh::GeoModelMeshEntity< DIMENSION > RINGMesh::Contact< DIMENSION > RINGMesh::Interface< DIMENSION > RINGMesh::Layer< DIMENSION > RINGMesh::Corner< DIMENSION > RINGMesh::Line< DIMENSION > RINGMesh::Region< DIMENSION > RINGMesh::SurfaceBase< DIMENSION > RINGMesh::SurfaceBase< 2 > RINGMesh::SurfaceBase< 3 >

Public Member Functions

virtual ~GeoModelEntity ()=default
 
virtual bool is_on_voi () const =0
 
virtual bool is_valid () const =0
 
const GeoModel< DIMENSION > & geomodel () const
 
const std::string & name () const
 
index_t index () const
 

Protected Member Functions

 GeoModelEntity (const GeoModel< DIMENSION > &geomodel, index_t id)
 
void copy_name (const GeoModelEntity< DIMENSION > &from)
 
virtual bool is_index_valid () const =0
 

Protected Attributes

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

Private Member Functions

 ringmesh_disable_copy_and_move (GeoModelEntity)
 
 ringmesh_template_assert_2d_or_3d (DIMENSION)
 

Detailed Description

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

Abstract base class describing one entity of a GeoModel.

Definition at line 62 of file geomodel_entity.h.

Constructor & Destructor Documentation

◆ ~GeoModelEntity()

template<index_t DIMENSION>
virtual RINGMesh::GeoModelEntity< DIMENSION >::~GeoModelEntity ( )
virtualdefault

◆ GeoModelEntity()

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

Client code should only create GeoModelEntities through GeoModelBuilderTopology class.

Parameters
[in]geomodelGeomodel owning the Entity to create
[in]idIndex of the entity in the corresponding vector in the geomodel
[in]nameName of the entity
[in]geological_featureGeological feature of the entity, none by default.

Definition at line 98 of file geomodel_entity.h.

Member Function Documentation

◆ copy_name()

template<index_t DIMENSION>
void RINGMesh::GeoModelEntity< DIMENSION >::copy_name ( const GeoModelEntity< DIMENSION > &  from)
inlineprotected

Definition at line 103 of file geomodel_entity.h.

◆ geomodel()

template<index_t DIMENSION>
const GeoModel< DIMENSION >& RINGMesh::GeoModelEntity< DIMENSION >::geomodel ( ) const
inline

Definition at line 73 of file geomodel_entity.h.

◆ index()

template<index_t DIMENSION>
index_t RINGMesh::GeoModelEntity< DIMENSION >::index ( ) const
inline

Definition at line 81 of file geomodel_entity.h.

◆ is_index_valid()

template<index_t DIMENSION>
virtual bool RINGMesh::GeoModelEntity< DIMENSION >::is_index_valid ( ) const
protectedpure virtual

◆ is_on_voi()

◆ is_valid()

template<index_t DIMENSION>
virtual bool RINGMesh::GeoModelEntity< DIMENSION >::is_valid ( ) const
pure virtual

◆ name()

template<index_t DIMENSION>
const std::string& RINGMesh::GeoModelEntity< DIMENSION >::name ( ) const
inline

Definition at line 77 of file geomodel_entity.h.

◆ ringmesh_disable_copy_and_move()

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

◆ ringmesh_template_assert_2d_or_3d()

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

Member Data Documentation

◆ geomodel_

template<index_t DIMENSION>
const GeoModel< DIMENSION >& RINGMesh::GeoModelEntity< DIMENSION >::geomodel_
protected

Reference to the GeoModel owning this entity.

Definition at line 111 of file geomodel_entity.h.

◆ id_

template<index_t DIMENSION>
index_t RINGMesh::GeoModelEntity< DIMENSION >::id_ { NO_ID }
protected

Index of the entity.

Definition at line 116 of file geomodel_entity.h.

◆ name_

template<index_t DIMENSION>
std::string RINGMesh::GeoModelEntity< DIMENSION >::name_ = std::string{ "Unnamed" }
protected

Name of the entity - default is "Unnamed".

Definition at line 113 of file geomodel_entity.h.


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