59 template < index_t DIMENSION >
90 bool get_dependent_entities( std::set< gmme_id >& mesh_entities,
91 std::set< gmge_id >& geological_entities )
const;
95 virtual bool create_mesh_entities(
98 void remove_mesh_entity_boundary_relation(
101 virtual void add_mesh_entity_boundary_relation(
102 const gmme_id& incident_entity_id,
106 virtual void set_mesh_entity_boundary(
const gmme_id& gmme,
111 void set_mesh_entity_incident_entity(
112 const gmme_id& gmme, index_t
id, index_t incident_entity_id );
114 void delete_mesh_entity(
const MeshEntityType& type, index_t index );
122 gmme_id find_or_create_corner( index_t geomodel_point_id );
136 const std::vector< index_t >& sorted_adjacent_surfaces,
138 const gmme_id& second_corner );
144 template <
template < index_t >
class ENTITY >
147 template <
template < index_t >
class ENTITY >
148 bool create_mesh_entities(
149 index_t nb_additionnal_entities,
const MeshType& type =
"" );
151 template <
template < index_t >
class ENTITY >
155 ENTITY< DIMENSION >::type_name_static();
159 [&type, &from,
this]( index_t i ) {
162 geomodel_access_.modifiable_mesh_entity(
id ) );
163 gmme_access.
copy( from.mesh_entity(
id ) );
167 index_t check_if_boundary_incident_entity_relation_already_exists(
170 virtual void copy_all_mesh_entity_topology(
181 template < index_t DIMENSION >
188 class RINGMESH_API GeoModelBuilderTopology< 2 >
195 void add_mesh_entity_boundary_relation(
196 const gmme_id& incident_entity_id,
198 bool side =
false )
override;
200 void set_mesh_entity_boundary(
const gmme_id& gmme,
203 bool side =
false )
override;
207 GeoModelBuilder2D& builder, GeoModel2D& geomodel )
214 class RINGMESH_API GeoModelBuilderTopology< 3 >
224 index_t nb_additional_entities )
override;
226 void add_mesh_entity_boundary_relation(
227 const gmme_id& incident_entity_id,
229 bool side =
false )
override;
231 void set_mesh_entity_boundary(
const gmme_id& gmme,
234 bool side =
false )
override;
238 GeoModelBuilder3D& builder, GeoModel3D& geomodel )
243 void copy_all_mesh_entity_topology(
const GeoModel3D& from )
override;
#define ringmesh_disable_copy_and_move(Class)
GeoModelAccess< DIMENSION > geomodel_access_
GEO::vecng< DIMENSION, double > vecn
GeoModelBuilder< DIMENSION > & builder_
Base class to build or edit a GeoModel.
GeoModel< DIMENSION > & geomodel_
GeoModelBuilderTopology(GeoModelBuilder3D &builder, GeoModel3D &geomodel)
#define ringmesh_template_assert_2d_or_3d(type)
void copy(const GeoModelMeshEntity< DIMENSION > &from)
The MeshEntityType described the type of the meshed entities There are 4 MeshEntityTypes correspondin...
Classes to build GeoModel from various inputs.
GeoModelBuilderTopology(GeoModelBuilder2D &builder, GeoModel2D &geomodel)
virtual index_t nb_mesh_entities(const MeshEntityType &type) const
Returns the number of mesh entities of the given type.
void copy_mesh_entity_topology(const GeoModel< DIMENSION > &from)
This template is a specialization of a gme_id to the GeoModelMeshEntity.
void parallel_for(index_t size, const ACTION &action)
FORWARD_DECLARATION_DIMENSION_CLASS(GeoModelMeshEntityAccess)