65 template < index_t DIMENSION >
112 static GEOL_FEATURE determine_geological_type(
const std::string& in );
121 return feature == GEOL_FEATURE::STRATI
122 || feature == GEOL_FEATURE::UNCONFORMITY;
127 return geological_feature() != GEOL_FEATURE::NO_GEOL;
132 return geol_feature_;
135 static void initialize();
139 return gmge_id( type_name(), this->index() );
144 return gmge().type();
148 virtual bool is_on_voi()
const;
149 virtual bool is_connectivity_valid()
const;
150 virtual bool is_valid()
const;
157 return type_name_static();
161 return static_cast< index_t
>( children_.size() );
163 const gmme_id& child_gmme( index_t x )
const;
166 virtual bool is_identification_valid()
const;
175 virtual bool is_index_valid()
const;
181 this->copy_name( from );
188 std::vector< index_t > children_{};
196 template < index_t DIMENSION >
203 template < index_t DIMENSION >
214 return GeologicalEntityType(
"Contact" );
218 return type_name_static();
225 template < index_t DIMENSION >
236 return GeologicalEntityType(
"Interface" );
240 return type_name_static();
247 template < index_t DIMENSION >
258 return GeologicalEntityType(
"Layer" );
262 return type_name_static();
269 template < index_t DIMENSION >
280 GeoModelGeologicalEntity< DIMENSION >& gmge )
299 return gmge_.geol_feature_;
304 return gmge_.children_;
307 static std::unique_ptr< GeoModelGeologicalEntity< DIMENSION > >
308 create_geological_entity(
const GeologicalEntityType& type,
310 index_t index_in_geomodel );
312 void copy(
const GeoModelGeologicalEntity< DIMENSION >& from )
314 gmge_.copy_geological_entity( from );
318 GeoModelGeologicalEntity< DIMENSION >&
gmge_;
GeoModelGeologicalEntity< DIMENSION > & gmge_
#define ringmesh_disable_copy_and_move(Class)
Abstract base class for GeoModelMeshEntity.
GeologicalEntityType entity_type() const
bool has_geological_feature() const
static GeologicalEntityType type_name_static()
virtual GeologicalEntityType type_name() const
The GeologicalEntityType described the type of the Geological entities User can defined there own Geo...
GeoModelGeologicalEntity< DIMENSION >::GEOL_FEATURE & modifiable_geol_feature()
static GeologicalEntityType type_name_static()
GEOL_FEATURE geological_feature() const
static ForbiddenGeologicalEntityType & type_name_static()
GeologicalEntityType type_name() const override
GeoModelGeologicalEntityAccess(GeoModelGeologicalEntity< DIMENSION > &gmge)
Interface(const GeoModel< DIMENSION > &geomodel)
std::vector< index_t > & modifiable_children()
static bool is_stratigraphic_limit(GEOL_FEATURE feature)
index_t & modifiable_index()
GEOL_FEATURE
Geological feature types for GeoModelEntity.
void copy_geological_entity(const GeoModelGeologicalEntity< DIMENSION > &from)
void copy(const GeoModelGeologicalEntity< DIMENSION > &from)
GeologicalEntityType type_name() const override
Builder tools to remove entities from a GeoModel.
index_t nb_children() const
std::string & modifiable_name()
The MeshEntityType described the type of the meshed entities There are 4 MeshEntityTypes correspondin...
This template is a specialization of a gme_id to the GeoModelGeologicalEntity.
Classes to build GeoModel from various inputs.
GEOL_FEATURE geol_feature_
Geological feature of this object - default is NO_GEOL.
Abstract base class describing one entity of a GeoModel.
GeoModelGeologicalEntity(const GeoModel< DIMENSION > &geomodel)
This template is a specialization of a gme_id to the GeoModelMeshEntity.
FORWARD_DECLARATION_DIMENSION_CLASS(GeoModelMeshEntityAccess)
std::vector< index_t > children_
Children relations of this entity.
Layer(const GeoModel< DIMENSION > &geomodel)
static GeologicalEntityType type_name_static()