36 #include <ringmesh/ringmesh_tests_config.h> 55 const GeoModel3D& from,
const std::string& name, GeoModel3D& to )
57 GeoModelBuilder3D geomodel_breaker2( to );
58 geomodel_breaker2.copy.copy_geomodel( from );
59 geomodel_breaker2.info.set_geomodel_name( name );
62 void verdict(
const GeoModel3D& invalid_model,
const std::string& feature )
80 std::vector< std::future< void > > futures;
82 futures.emplace_back( std::async( std::launch::async, [] {
83 std::string input_model_file_name{ ringmesh_test_data_path
87 in, input_model_file_name ) };
89 if( !loaded_model_is_valid )
92 "RINGMesh Test",
"Failed when loading model " + in.name()
93 +
": the loaded model is not valid." );
98 GeoModel3D invalid_model;
100 GeoModelBuilder3D geomodel_breaker( invalid_model );
101 geomodel_breaker.geology.create_geological_entity(
102 RINGMesh::Interface3D::type_name_static() );
104 "detect addition of an isolated GeoModelGeologicalEntity" );
107 futures.emplace_back( std::async( std::launch::async, [] {
108 GeoModel3D cloudspin;
110 cloudspin, ringmesh_test_data_path +
"CloudSpin.ml" );
115 "Fail to SURFACE_LINE_MESH_CONFORMITY on CloudSpin" );
119 for(
auto& future : futures )
129 catch(
const std::exception& e )
bool is_geomodel_valid(const GeoModel< DIMENSION > &geomodel, ValidityCheckMode validity_check_mode=ValidityCheckMode::ALL)
Check global geomodel validity.
bool geomodel_load(GeoModel< DIMENSION > &geomodel, const std::string &filename)
static void err(const std::string &feature, const Args &... args)
static void out(const std::string &feature, const Args &... args)
void make_geomodel_copy(const GeoModel3D &from, const std::string &name, GeoModel3D &to)
void verdict(const GeoModel3D &invalid_model, const std::string &feature)
const std::string & category() const
Classes to build GeoModel from various inputs.
void RINGMESH_API default_configure()