From 988da86cd2128cedb66ad536a8df6321d095054b Mon Sep 17 00:00:00 2001 From: Arnaud Botella Date: Mon, 16 Oct 2023 11:24:44 +0200 Subject: [PATCH] fix(Output): is_saveable api (#95) * fix(Output): is_saveable api * Apply prepare changes * tidy --------- Co-authored-by: BotellaA --- bindings/python/requirements.txt | 2 +- .../representation/io/cross_section_input.h | 2 + .../representation/io/cross_section_output.h | 5 ++ .../io/structural_model_input.h | 2 + .../io/structural_model_output.h | 2 + .../representation/io/horizons_stack_input.h | 2 + .../representation/io/horizons_stack_output.h | 2 + .../io/implicit_cross_section_input.h | 2 + .../io/implicit_cross_section_output.h | 2 + .../io/implicit_structural_model_input.h | 2 + .../io/implicit_structural_model_output.h | 2 + .../io/stratigraphic_model_input.h | 2 + .../io/stratigraphic_model_output.h | 2 + .../io/stratigraphic_section_input.h | 2 + .../io/stratigraphic_section_output.h | 2 + .../representation/io/cross_section_input.cpp | 2 + .../io/cross_section_output.cpp | 35 +++++--------- .../io/structural_model_input.cpp | 2 + .../io/structural_model_output.cpp | 35 +++++--------- .../io/horizons_stack_input.cpp | 2 + .../io/horizons_stack_output.cpp | 35 ++++++++------ .../io/implicit_cross_section_input.cpp | 2 + .../io/implicit_cross_section_output.cpp | 40 +++++----------- .../io/implicit_structural_model_input.cpp | 2 + .../io/implicit_structural_model_output.cpp | 42 ++++++----------- .../io/stratigraphic_model_input.cpp | 2 + .../io/stratigraphic_model_output.cpp | 47 +++++-------------- .../io/stratigraphic_section_input.cpp | 2 + .../io/stratigraphic_section_output.cpp | 47 ++++++------------- tests/explicit/test-cross-section.cpp | 1 - tests/explicit/test-structural-model.cpp | 1 - 31 files changed, 146 insertions(+), 184 deletions(-) diff --git a/bindings/python/requirements.txt b/bindings/python/requirements.txt index 09baf5e8..1b94aa20 100644 --- a/bindings/python/requirements.txt +++ b/bindings/python/requirements.txt @@ -4,5 +4,5 @@ # # pip-compile --pre bindings/python/requirements.in # -opengeode-core==14.*,>=14.9.1rc8 +opengeode-core==14.*,>=14.9.1rc9 # via -r bindings/python/requirements.in diff --git a/include/geode/geosciences/explicit/representation/io/cross_section_input.h b/include/geode/geosciences/explicit/representation/io/cross_section_input.h index d4ea56b0..dbe1b085 100644 --- a/include/geode/geosciences/explicit/representation/io/cross_section_input.h +++ b/include/geode/geosciences/explicit/representation/io/cross_section_input.h @@ -23,6 +23,8 @@ #pragma once +#include + #include #include diff --git a/include/geode/geosciences/explicit/representation/io/cross_section_output.h b/include/geode/geosciences/explicit/representation/io/cross_section_output.h index 14a1cb85..8077b84b 100644 --- a/include/geode/geosciences/explicit/representation/io/cross_section_output.h +++ b/include/geode/geosciences/explicit/representation/io/cross_section_output.h @@ -23,6 +23,8 @@ #pragma once +#include + #include #include @@ -57,6 +59,9 @@ namespace geode } }; + bool opengeode_geosciences_explicit_api is_cross_section_saveable( + const CrossSection& cross_section, absl::string_view filename ); + using CrossSectionOutputFactory = Factory< std::string, CrossSectionOutput, absl::string_view >; } // namespace geode diff --git a/include/geode/geosciences/explicit/representation/io/structural_model_input.h b/include/geode/geosciences/explicit/representation/io/structural_model_input.h index c7746ad6..cf79e2fa 100644 --- a/include/geode/geosciences/explicit/representation/io/structural_model_input.h +++ b/include/geode/geosciences/explicit/representation/io/structural_model_input.h @@ -23,6 +23,8 @@ #pragma once +#include + #include #include diff --git a/include/geode/geosciences/explicit/representation/io/structural_model_output.h b/include/geode/geosciences/explicit/representation/io/structural_model_output.h index 21694638..fb2d463a 100644 --- a/include/geode/geosciences/explicit/representation/io/structural_model_output.h +++ b/include/geode/geosciences/explicit/representation/io/structural_model_output.h @@ -23,6 +23,8 @@ #pragma once +#include + #include #include diff --git a/include/geode/geosciences/implicit/representation/io/horizons_stack_input.h b/include/geode/geosciences/implicit/representation/io/horizons_stack_input.h index fa959db9..4d68fe5d 100644 --- a/include/geode/geosciences/implicit/representation/io/horizons_stack_input.h +++ b/include/geode/geosciences/implicit/representation/io/horizons_stack_input.h @@ -23,6 +23,8 @@ #pragma once +#include + #include #include diff --git a/include/geode/geosciences/implicit/representation/io/horizons_stack_output.h b/include/geode/geosciences/implicit/representation/io/horizons_stack_output.h index 4c913d04..71899e3c 100644 --- a/include/geode/geosciences/implicit/representation/io/horizons_stack_output.h +++ b/include/geode/geosciences/implicit/representation/io/horizons_stack_output.h @@ -23,6 +23,8 @@ #pragma once +#include + #include #include diff --git a/include/geode/geosciences/implicit/representation/io/implicit_cross_section_input.h b/include/geode/geosciences/implicit/representation/io/implicit_cross_section_input.h index 1bb1dfd1..c4103964 100644 --- a/include/geode/geosciences/implicit/representation/io/implicit_cross_section_input.h +++ b/include/geode/geosciences/implicit/representation/io/implicit_cross_section_input.h @@ -23,6 +23,8 @@ #pragma once +#include + #include #include diff --git a/include/geode/geosciences/implicit/representation/io/implicit_cross_section_output.h b/include/geode/geosciences/implicit/representation/io/implicit_cross_section_output.h index 1a6e9eac..45cfe00d 100644 --- a/include/geode/geosciences/implicit/representation/io/implicit_cross_section_output.h +++ b/include/geode/geosciences/implicit/representation/io/implicit_cross_section_output.h @@ -23,6 +23,8 @@ #pragma once +#include + #include #include diff --git a/include/geode/geosciences/implicit/representation/io/implicit_structural_model_input.h b/include/geode/geosciences/implicit/representation/io/implicit_structural_model_input.h index 9bae8da5..263e0757 100644 --- a/include/geode/geosciences/implicit/representation/io/implicit_structural_model_input.h +++ b/include/geode/geosciences/implicit/representation/io/implicit_structural_model_input.h @@ -23,6 +23,8 @@ #pragma once +#include + #include #include diff --git a/include/geode/geosciences/implicit/representation/io/implicit_structural_model_output.h b/include/geode/geosciences/implicit/representation/io/implicit_structural_model_output.h index 78618c77..33b11b23 100644 --- a/include/geode/geosciences/implicit/representation/io/implicit_structural_model_output.h +++ b/include/geode/geosciences/implicit/representation/io/implicit_structural_model_output.h @@ -23,6 +23,8 @@ #pragma once +#include + #include #include diff --git a/include/geode/geosciences/implicit/representation/io/stratigraphic_model_input.h b/include/geode/geosciences/implicit/representation/io/stratigraphic_model_input.h index 3f922ec3..1ab2e802 100644 --- a/include/geode/geosciences/implicit/representation/io/stratigraphic_model_input.h +++ b/include/geode/geosciences/implicit/representation/io/stratigraphic_model_input.h @@ -23,6 +23,8 @@ #pragma once +#include + #include #include diff --git a/include/geode/geosciences/implicit/representation/io/stratigraphic_model_output.h b/include/geode/geosciences/implicit/representation/io/stratigraphic_model_output.h index dc4aa3a8..366f37a1 100644 --- a/include/geode/geosciences/implicit/representation/io/stratigraphic_model_output.h +++ b/include/geode/geosciences/implicit/representation/io/stratigraphic_model_output.h @@ -23,6 +23,8 @@ #pragma once +#include + #include #include diff --git a/include/geode/geosciences/implicit/representation/io/stratigraphic_section_input.h b/include/geode/geosciences/implicit/representation/io/stratigraphic_section_input.h index 54baa9ae..682fdb35 100644 --- a/include/geode/geosciences/implicit/representation/io/stratigraphic_section_input.h +++ b/include/geode/geosciences/implicit/representation/io/stratigraphic_section_input.h @@ -23,6 +23,8 @@ #pragma once +#include + #include #include diff --git a/include/geode/geosciences/implicit/representation/io/stratigraphic_section_output.h b/include/geode/geosciences/implicit/representation/io/stratigraphic_section_output.h index 854944d3..836d0d30 100644 --- a/include/geode/geosciences/implicit/representation/io/stratigraphic_section_output.h +++ b/include/geode/geosciences/implicit/representation/io/stratigraphic_section_output.h @@ -23,6 +23,8 @@ #pragma once +#include + #include #include diff --git a/src/geode/geosciences/explicit/representation/io/cross_section_input.cpp b/src/geode/geosciences/explicit/representation/io/cross_section_input.cpp index 08fe7c94..ba6f5b6a 100644 --- a/src/geode/geosciences/explicit/representation/io/cross_section_input.cpp +++ b/src/geode/geosciences/explicit/representation/io/cross_section_input.cpp @@ -23,6 +23,8 @@ #include +#include + #include #include diff --git a/src/geode/geosciences/explicit/representation/io/cross_section_output.cpp b/src/geode/geosciences/explicit/representation/io/cross_section_output.cpp index d7d0b7d7..b317a9d7 100644 --- a/src/geode/geosciences/explicit/representation/io/cross_section_output.cpp +++ b/src/geode/geosciences/explicit/representation/io/cross_section_output.cpp @@ -23,10 +23,9 @@ #include -#include +#include -#include -#include +#include #include @@ -37,25 +36,8 @@ namespace geode { try { - Timer timer; - const auto extension = - absl::AsciiStrToLower( extension_from_filename( filename ) ); - if( CrossSectionOutputFactory::has_creator( extension ) ) - { - CrossSectionOutputFactory::create( extension, filename ) - ->write( cross_section ); - } - else if( SectionOutputFactory::has_creator( extension ) ) - { - SectionOutputFactory::create( extension, filename ) - ->write( cross_section ); - } - else - { - throw OpenGeodeException{ "Unknown extension: ", extension }; - } - Logger::info( - "CrossSection saved in ", filename, " in ", timer.duration() ); + detail::geode_object_output_impl< CrossSectionOutputFactory >( + "CrossSection", cross_section, filename ); } catch( const OpenGeodeException& e ) { @@ -64,4 +46,13 @@ namespace geode filename }; } } + + bool is_cross_section_saveable( + const CrossSection& cross_section, absl::string_view filename ) + { + const auto output = + detail::geode_object_output_writer< CrossSectionOutputFactory >( + filename ); + return output->is_saveable( cross_section ); + } } // namespace geode diff --git a/src/geode/geosciences/explicit/representation/io/structural_model_input.cpp b/src/geode/geosciences/explicit/representation/io/structural_model_input.cpp index 95c952ac..e6b54f6f 100644 --- a/src/geode/geosciences/explicit/representation/io/structural_model_input.cpp +++ b/src/geode/geosciences/explicit/representation/io/structural_model_input.cpp @@ -23,6 +23,8 @@ #include +#include + #include #include diff --git a/src/geode/geosciences/explicit/representation/io/structural_model_output.cpp b/src/geode/geosciences/explicit/representation/io/structural_model_output.cpp index aa5abced..39b02074 100644 --- a/src/geode/geosciences/explicit/representation/io/structural_model_output.cpp +++ b/src/geode/geosciences/explicit/representation/io/structural_model_output.cpp @@ -23,10 +23,9 @@ #include -#include +#include -#include -#include +#include #include @@ -37,25 +36,8 @@ namespace geode { try { - Timer timer; - const auto extension = - absl::AsciiStrToLower( extension_from_filename( filename ) ); - if( StructuralModelOutputFactory::has_creator( extension ) ) - { - StructuralModelOutputFactory::create( extension, filename ) - ->write( structural_model ); - } - else if( BRepOutputFactory::has_creator( extension ) ) - { - BRepOutputFactory::create( extension, filename ) - ->write( structural_model ); - } - else - { - throw OpenGeodeException{ "Unknown extension: ", extension }; - } - Logger::info( "StructuralModel saved in ", filename, " in ", - timer.duration() ); + detail::geode_object_output_impl< StructuralModelOutputFactory >( + "StructuralModel", structural_model, filename ); } catch( const OpenGeodeException& e ) { @@ -64,4 +46,13 @@ namespace geode filename }; } } + + bool is_structural_model_saveable( + const StructuralModel& structural_model, absl::string_view filename ) + { + const auto output = + detail::geode_object_output_writer< StructuralModelOutputFactory >( + filename ); + return output->is_saveable( structural_model ); + } } // namespace geode diff --git a/src/geode/geosciences/implicit/representation/io/horizons_stack_input.cpp b/src/geode/geosciences/implicit/representation/io/horizons_stack_input.cpp index 0e88bfbe..06354d70 100644 --- a/src/geode/geosciences/implicit/representation/io/horizons_stack_input.cpp +++ b/src/geode/geosciences/implicit/representation/io/horizons_stack_input.cpp @@ -23,6 +23,8 @@ #include +#include + #include #include diff --git a/src/geode/geosciences/implicit/representation/io/horizons_stack_output.cpp b/src/geode/geosciences/implicit/representation/io/horizons_stack_output.cpp index 920b20c4..f9bcc538 100644 --- a/src/geode/geosciences/implicit/representation/io/horizons_stack_output.cpp +++ b/src/geode/geosciences/implicit/representation/io/horizons_stack_output.cpp @@ -23,10 +23,9 @@ #include -#include +#include -#include -#include +#include #include @@ -38,18 +37,9 @@ namespace geode { try { - Timer timer; - const auto extension = - absl::AsciiStrToLower( extension_from_filename( filename ) ); - OPENGEODE_EXCEPTION( - HorizonsStackOutputFactory< dimension >::has_creator( - extension ), - "Unknown extension: ", extension ); - HorizonsStackOutputFactory< dimension >::create( - extension, filename ) - ->write( horizons_stack ); - Logger::info( - "HorizonsStack saved in ", filename, " in ", timer.duration() ); + detail::geode_object_output_impl< + HorizonsStackOutputFactory< dimension > >( + "HorizonsStack", horizons_stack, filename ); } catch( const OpenGeodeException& e ) { @@ -59,8 +49,23 @@ namespace geode } } + template < index_t dimension > + bool is_horizons_stack_saveable( + const HorizonsStack< dimension >& horizons_stack, + absl::string_view filename ) + { + const auto output = detail::geode_object_output_writer< + HorizonsStackOutputFactory< dimension > >( filename ); + return output->is_saveable( horizons_stack ); + } + template void opengeode_geosciences_implicit_api save_horizons_stack( const HorizonsStack< 2 >&, absl::string_view ); template void opengeode_geosciences_implicit_api save_horizons_stack( const HorizonsStack< 3 >&, absl::string_view ); + + template bool opengeode_geosciences_implicit_api is_horizons_stack_saveable( + const HorizonsStack< 2 >&, absl::string_view ); + template bool opengeode_geosciences_implicit_api is_horizons_stack_saveable( + const HorizonsStack< 3 >&, absl::string_view ); } // namespace geode diff --git a/src/geode/geosciences/implicit/representation/io/implicit_cross_section_input.cpp b/src/geode/geosciences/implicit/representation/io/implicit_cross_section_input.cpp index 195faf5e..7559d00f 100644 --- a/src/geode/geosciences/implicit/representation/io/implicit_cross_section_input.cpp +++ b/src/geode/geosciences/implicit/representation/io/implicit_cross_section_input.cpp @@ -23,6 +23,8 @@ #include +#include + #include #include diff --git a/src/geode/geosciences/implicit/representation/io/implicit_cross_section_output.cpp b/src/geode/geosciences/implicit/representation/io/implicit_cross_section_output.cpp index e7ef83ca..5718dd91 100644 --- a/src/geode/geosciences/implicit/representation/io/implicit_cross_section_output.cpp +++ b/src/geode/geosciences/implicit/representation/io/implicit_cross_section_output.cpp @@ -23,10 +23,9 @@ #include -#include +#include -#include -#include +#include #include @@ -41,30 +40,9 @@ namespace geode { try { - Timer timer; - const auto extension = - absl::AsciiStrToLower( extension_from_filename( filename ) ); - if( ImplicitCrossSectionOutputFactory::has_creator( extension ) ) - { - ImplicitCrossSectionOutputFactory::create( extension, filename ) - ->write( section ); - } - else if( CrossSectionOutputFactory::has_creator( extension ) ) - { - CrossSectionOutputFactory::create( extension, filename ) - ->write( section ); - } - else if( SectionOutputFactory::has_creator( extension ) ) - { - SectionOutputFactory::create( extension, filename ) - ->write( section ); - } - else - { - throw OpenGeodeException{ "Unknown extension: ", extension }; - } - Logger::info( "ImplicitCrossSection saved in ", filename, " in ", - timer.duration() ); + detail::geode_object_output_impl< + ImplicitCrossSectionOutputFactory >( + "ImplicitCrossSection", section, filename ); } catch( const OpenGeodeException& e ) { @@ -74,4 +52,12 @@ namespace geode }; } } + + bool is_implicit_cross_section_saveable( + const ImplicitCrossSection& section, absl::string_view filename ) + { + const auto output = detail::geode_object_output_writer< + ImplicitCrossSectionOutputFactory >( filename ); + return output->is_saveable( section ); + } } // namespace geode diff --git a/src/geode/geosciences/implicit/representation/io/implicit_structural_model_input.cpp b/src/geode/geosciences/implicit/representation/io/implicit_structural_model_input.cpp index 75e92661..02f01798 100644 --- a/src/geode/geosciences/implicit/representation/io/implicit_structural_model_input.cpp +++ b/src/geode/geosciences/implicit/representation/io/implicit_structural_model_input.cpp @@ -23,6 +23,8 @@ #include +#include + #include #include diff --git a/src/geode/geosciences/implicit/representation/io/implicit_structural_model_output.cpp b/src/geode/geosciences/implicit/representation/io/implicit_structural_model_output.cpp index 37c5d35b..4d2788de 100644 --- a/src/geode/geosciences/implicit/representation/io/implicit_structural_model_output.cpp +++ b/src/geode/geosciences/implicit/representation/io/implicit_structural_model_output.cpp @@ -23,10 +23,9 @@ #include -#include +#include -#include -#include +#include #include @@ -42,31 +41,9 @@ namespace geode { try { - Timer timer; - const auto extension = - absl::AsciiStrToLower( extension_from_filename( filename ) ); - if( ImplicitStructuralModelOutputFactory::has_creator( extension ) ) - { - ImplicitStructuralModelOutputFactory::create( - extension, filename ) - ->write( implicit_model ); - } - else if( StructuralModelOutputFactory::has_creator( extension ) ) - { - StructuralModelOutputFactory::create( extension, filename ) - ->write( implicit_model ); - } - else if( BRepOutputFactory::has_creator( extension ) ) - { - BRepOutputFactory::create( extension, filename ) - ->write( implicit_model ); - } - else - { - throw OpenGeodeException{ "Unknown extension: ", extension }; - } - Logger::info( "ImplicitStructuralModel saved in ", filename, " in ", - timer.duration() ); + detail::geode_object_output_impl< + ImplicitStructuralModelOutputFactory >( + "ImplicitStructuralModel", implicit_model, filename ); } catch( const OpenGeodeException& e ) { @@ -76,4 +53,13 @@ namespace geode }; } } + + bool is_implicit_structural_model_saveable( + const ImplicitStructuralModel& implicit_model, + absl::string_view filename ) + { + const auto output = detail::geode_object_output_writer< + ImplicitStructuralModelOutputFactory >( filename ); + return output->is_saveable( implicit_model ); + } } // namespace geode diff --git a/src/geode/geosciences/implicit/representation/io/stratigraphic_model_input.cpp b/src/geode/geosciences/implicit/representation/io/stratigraphic_model_input.cpp index 6fc7cebf..5ba538f6 100644 --- a/src/geode/geosciences/implicit/representation/io/stratigraphic_model_input.cpp +++ b/src/geode/geosciences/implicit/representation/io/stratigraphic_model_input.cpp @@ -23,6 +23,8 @@ #include +#include + #include #include diff --git a/src/geode/geosciences/implicit/representation/io/stratigraphic_model_output.cpp b/src/geode/geosciences/implicit/representation/io/stratigraphic_model_output.cpp index 7c5d702a..943295e6 100644 --- a/src/geode/geosciences/implicit/representation/io/stratigraphic_model_output.cpp +++ b/src/geode/geosciences/implicit/representation/io/stratigraphic_model_output.cpp @@ -23,10 +23,9 @@ #include -#include +#include -#include -#include +#include #include @@ -43,37 +42,8 @@ namespace geode { try { - Timer timer; - const auto extension = - absl::AsciiStrToLower( extension_from_filename( filename ) ); - if( StratigraphicModelOutputFactory::has_creator( extension ) ) - { - StratigraphicModelOutputFactory::create( extension, filename ) - ->write( stratigraphic_model ); - } - else if( ImplicitStructuralModelOutputFactory::has_creator( - extension ) ) - { - ImplicitStructuralModelOutputFactory::create( - extension, filename ) - ->write( stratigraphic_model ); - } - else if( StructuralModelOutputFactory::has_creator( extension ) ) - { - StructuralModelOutputFactory::create( extension, filename ) - ->write( stratigraphic_model ); - } - else if( BRepOutputFactory::has_creator( extension ) ) - { - BRepOutputFactory::create( extension, filename ) - ->write( stratigraphic_model ); - } - else - { - throw OpenGeodeException{ "Unknown extension: ", extension }; - } - Logger::info( "StratigraphicModel saved in ", filename, " in ", - timer.duration() ); + detail::geode_object_output_impl< StratigraphicModelOutputFactory >( + "StratigraphicModel", stratigraphic_model, filename ); } catch( const OpenGeodeException& e ) { @@ -83,4 +53,13 @@ namespace geode }; } } + + bool is_stratigraphic_model_saveable( + const StratigraphicModel& stratigraphic_model, + absl::string_view filename ) + { + const auto output = detail::geode_object_output_writer< + StratigraphicModelOutputFactory >( filename ); + return output->is_saveable( stratigraphic_model ); + } } // namespace geode diff --git a/src/geode/geosciences/implicit/representation/io/stratigraphic_section_input.cpp b/src/geode/geosciences/implicit/representation/io/stratigraphic_section_input.cpp index 967a4a11..6ba2c3bd 100644 --- a/src/geode/geosciences/implicit/representation/io/stratigraphic_section_input.cpp +++ b/src/geode/geosciences/implicit/representation/io/stratigraphic_section_input.cpp @@ -23,6 +23,8 @@ #include +#include + #include #include diff --git a/src/geode/geosciences/implicit/representation/io/stratigraphic_section_output.cpp b/src/geode/geosciences/implicit/representation/io/stratigraphic_section_output.cpp index bde44b76..19727bb9 100644 --- a/src/geode/geosciences/implicit/representation/io/stratigraphic_section_output.cpp +++ b/src/geode/geosciences/implicit/representation/io/stratigraphic_section_output.cpp @@ -23,10 +23,9 @@ #include -#include +#include -#include -#include +#include #include @@ -43,36 +42,9 @@ namespace geode { try { - Timer timer; - const auto extension = - absl::AsciiStrToLower( extension_from_filename( filename ) ); - if( StratigraphicSectionOutputFactory::has_creator( extension ) ) - { - StratigraphicSectionOutputFactory::create( extension, filename ) - ->write( stratigraphic_section ); - } - else if( ImplicitCrossSectionOutputFactory::has_creator( - extension ) ) - { - ImplicitCrossSectionOutputFactory::create( extension, filename ) - ->write( stratigraphic_section ); - } - else if( CrossSectionOutputFactory::has_creator( extension ) ) - { - CrossSectionOutputFactory::create( extension, filename ) - ->write( stratigraphic_section ); - } - else if( SectionOutputFactory::has_creator( extension ) ) - { - SectionOutputFactory::create( extension, filename ) - ->write( stratigraphic_section ); - } - else - { - throw OpenGeodeException{ "Unknown extension: ", extension }; - } - Logger::info( "StratigraphicSection saved in ", filename, " in ", - timer.duration() ); + detail::geode_object_output_impl< + StratigraphicSectionOutputFactory >( + "StratigraphicSection", stratigraphic_section, filename ); } catch( const OpenGeodeException& e ) { @@ -82,4 +54,13 @@ namespace geode }; } } + + bool is_stratigraphic_section_saveable( + const StratigraphicSection& stratigraphic_section, + absl::string_view filename ) + { + const auto output = detail::geode_object_output_writer< + StratigraphicSectionOutputFactory >( filename ); + return output->is_saveable( stratigraphic_section ); + } } // namespace geode diff --git a/tests/explicit/test-cross-section.cpp b/tests/explicit/test-cross-section.cpp index bb1fcb7e..7016c084 100644 --- a/tests/explicit/test-cross-section.cpp +++ b/tests/explicit/test-cross-section.cpp @@ -325,7 +325,6 @@ void test_io( const geode::CrossSection& model ) { const auto file_io = absl::StrCat( "test.", model.native_extension() ); geode::save_cross_section( model, file_io ); - geode::save_cross_section( model, "test.og_sctn" ); geode::CrossSection reloaded_model = geode::load_cross_section( file_io ); check_reloaded_model( reloaded_model ); diff --git a/tests/explicit/test-structural-model.cpp b/tests/explicit/test-structural-model.cpp index 658d22f4..7c1e59c0 100644 --- a/tests/explicit/test-structural-model.cpp +++ b/tests/explicit/test-structural-model.cpp @@ -241,7 +241,6 @@ void test_io( const geode::StructuralModel& model ) { const auto file_io = absl::StrCat( "test.", model.native_extension() ); geode::save_structural_model( model, file_io ); - geode::save_structural_model( model, "test.og_brep" ); geode::StructuralModel reloaded_model = geode::load_structural_model( file_io );