Skip to content

V18 - #190

Draft
BenPinet wants to merge 40 commits into
nextfrom
v18
Draft

V18#190
BenPinet wants to merge 40 commits into
nextfrom
v18

Conversation

@BenPinet

@BenPinet BenPinet commented Aug 4, 2026

Copy link
Copy Markdown
Member

No description provided.

@BenPinet
BenPinet requested a review from BotellaA August 4, 2026 09:36
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Cpp-Linter Report ⚠️

Some files did not pass the configured checks!

clang-tidy (v21.1.8) reports: 486 concern(s)
  • bindings/python/src/implicit/representation/builder/implicit_structural_model_builder.hpp:30:52: error: [clang-diagnostic-error]

    use of undeclared identifier 'pybind11'

       30 |     void define_implicit_structural_model_builder( pybind11::module& module )
          |                                                    ^
  • bindings/python/src/implicit/representation/builder/implicit_structural_model_builder.hpp:32:9: error: [clang-diagnostic-error]

    use of undeclared identifier 'pybind11'

       32 |         pybind11::class_< ImplicitStructuralModelBuilder,
          |         ^
  • bindings/python/src/implicit/representation/builder/implicit_structural_model_builder.hpp:32:27: error: [clang-diagnostic-error]

    'ImplicitStructuralModelBuilder' does not refer to a value

       32 |         pybind11::class_< ImplicitStructuralModelBuilder,
          |                           ^
    /__w/OpenGeode-Geosciences/OpenGeode-Geosciences/include/geode/geosciences/implicit/representation/builder/implicit_structural_model_builder.hpp:43:46: note: declared here
       43 |     class opengeode_geosciences_implicit_api ImplicitStructuralModelBuilder
          |                                              ^
  • bindings/python/src/implicit/representation/builder/stratigraphic_model_builder.hpp:30:46: error: [clang-diagnostic-error]

    use of undeclared identifier 'pybind11'

       30 |     void define_stratigraphic_model_builder( pybind11::module& module )
          |                                              ^
  • bindings/python/src/implicit/representation/builder/stratigraphic_model_builder.hpp:32:9: error: [clang-diagnostic-error]

    use of undeclared identifier 'pybind11'

       32 |         pybind11::class_< StratigraphicModelBuilder, StructuralModelBuilder >(
          |         ^
  • bindings/python/src/implicit/representation/builder/stratigraphic_model_builder.hpp:32:27: error: [clang-diagnostic-error]

    'StratigraphicModelBuilder' does not refer to a value

       32 |         pybind11::class_< StratigraphicModelBuilder, StructuralModelBuilder >(
          |                           ^
    /__w/OpenGeode-Geosciences/OpenGeode-Geosciences/include/geode/geosciences/implicit/representation/builder/stratigraphic_model_builder.hpp:43:46: note: declared here
       43 |     class opengeode_geosciences_implicit_api StratigraphicModelBuilder
          |                                              ^
  • bindings/python/src/implicit/representation/core/helpers.hpp:33:1: warning: [modernize-concat-nested-namespaces]

    nested namespaces can be concatenated

       33 | namespace geode
          | ^~~~~~~~~~~~~~~
       34 | {
          | ~
       35 |     namespace detail
          |     ~~~~~~~~~~~~~~~~
          |     namespace geode::detail
  • bindings/python/src/implicit/representation/core/helpers.hpp:37:45: error: [clang-diagnostic-error]

    use of undeclared identifier 'pybind11'

       37 |         void define_implicit_model_helpers( pybind11::module& module )
          |                                             ^
  • bindings/python/src/implicit/representation/core/stratigraphic_model.hpp:36:38: error: [clang-diagnostic-error]

    use of undeclared identifier 'pybind11'

       36 |     void define_stratigraphic_model( pybind11::module& module )
          |                                      ^
  • bindings/python/src/implicit/representation/core/stratigraphic_model.hpp:38:9: error: [clang-diagnostic-error]

    use of undeclared identifier 'pybind11'

       38 |         pybind11::class_< StratigraphicModel, ImplicitStructuralModel,
          |         ^
  • bindings/python/src/implicit/representation/core/stratigraphic_model.hpp:38:27: error: [clang-diagnostic-error]

    'StratigraphicModel' does not refer to a value

       38 |         pybind11::class_< StratigraphicModel, ImplicitStructuralModel,
          |                           ^
    /__w/OpenGeode-Geosciences/OpenGeode-Geosciences/include/geode/geosciences/implicit/representation/core/stratigraphic_model.hpp:50:46: note: declared here
       50 |     class opengeode_geosciences_implicit_api StratigraphicModel
          |                                              ^
  • include/geode/geosciences/explicit/geometry/geographic_coordinate_system.hpp:39:47: warning: [cppcoreguidelines-special-member-functions]

    class 'GeographicCoordinateSystemInfo' defines a destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator

       39 |     struct opengeode_geosciences_explicit_api GeographicCoordinateSystemInfo
          |                                               ^
  • include/geode/geosciences/explicit/geometry/geographic_coordinate_system.hpp:62:36: warning: [readability-identifier-length]

    parameter name 'a' is too short, expected at least 3 characters

       62 |                     { []( Archive& a, GeographicCoordinateSystemInfo& info ) {
          |                                    ^
  • include/geode/geosciences/explicit/geometry/geographic_coordinate_system.hpp:75:11: warning: [cppcoreguidelines-special-member-functions]

    class 'GeographicCoordinateSystem' defines a destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator

       75 |     class GeographicCoordinateSystem
          |           ^
  • include/geode/geosciences/explicit/mixin/core/fault.hpp:46:11: warning: [cppcoreguidelines-special-member-functions]

    class 'Fault' defines a destructor, a copy constructor, a copy assignment operator and a move constructor but does not define a move assignment operator

       46 |     class Fault final : public Component< dimension >
          |           ^
  • include/geode/geosciences/explicit/mixin/core/fault.hpp:55:21: warning: [performance-enum-size]

    enum 'FAULT_TYPE' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size

       55 |         enum struct FAULT_TYPE
          |                     ^
  • include/geode/geosciences/explicit/mixin/core/fault.hpp:85:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       85 |         Fault( FaultsKey ) : Fault() {}
          |         ^
          |         explicit 
  • include/geode/geosciences/explicit/mixin/core/fault.hpp:85:26: warning: [hicpp-named-parameter]

    all parameters should be named in a function

       85 |         Fault( FaultsKey ) : Fault() {}
          |                          ^
          |                           /*unused*/
  • include/geode/geosciences/explicit/mixin/core/fault.hpp:86:43: warning: [hicpp-named-parameter]

    all parameters should be named in a function

       86 |         Fault( FAULT_TYPE type, FaultsKey ) : Fault( type ) {}
          |                                           ^
          |                                            /*unused*/
  • include/geode/geosciences/explicit/mixin/core/fault.hpp:90:70: warning: [hicpp-named-parameter]

    all parameters should be named in a function

       90 |         void set_fault_name( std::string_view name, FaultsBuilderKey )
          |                                                                      ^
          |                                                                       /*unused*/
  • include/geode/geosciences/explicit/mixin/core/fault_block.hpp:44:11: warning: [cppcoreguidelines-special-member-functions]

    class 'FaultBlock' defines a destructor, a copy constructor, a copy assignment operator and a move constructor but does not define a move assignment operator

       44 |     class FaultBlock final : public Component< dimension >
          |           ^
  • include/geode/geosciences/explicit/mixin/core/fault_block.hpp:67:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       67 |         FaultBlock( FaultBlocksKey ) : FaultBlock() {};
          |         ^
          |         explicit 
  • include/geode/geosciences/explicit/mixin/core/fault_block.hpp:67:36: warning: [hicpp-named-parameter]

    all parameters should be named in a function

       67 |         FaultBlock( FaultBlocksKey ) : FaultBlock() {};
          |                                    ^
          |                                     /*unused*/
  • include/geode/geosciences/explicit/mixin/core/fault_block.hpp:70:58: warning: [hicpp-named-parameter]

    all parameters should be named in a function

       70 |             std::string_view name, FaultBlocksBuilderKey )
          |                                                          ^
          |                                                           /*unused*/
  • include/geode/geosciences/explicit/mixin/core/fault_blocks.hpp:51:50: warning: [cppcoreguidelines-special-member-functions]

    class 'FaultBlockRangeBase' defines a destructor, a copy constructor and a move constructor but does not define a copy assignment operator or a move assignment operator

       51 |         class opengeode_geosciences_explicit_api FaultBlockRangeBase
          |                                                  ^
  • include/geode/geosciences/explicit/mixin/core/fault_blocks.hpp:64:13: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       64 |             FaultBlockRangeBase( const FaultBlocks& fault_blocks );
          |             ^
          |             explicit 
  • include/geode/geosciences/explicit/mixin/core/fault_blocks.hpp:69:36: warning: [cppcoreguidelines-non-private-member-variables-in-classes]

    member variable 'impl_' has protected visibility

       69 |             IMPLEMENTATION_MEMBER( impl_ );
          |                                    ^
  • include/geode/geosciences/explicit/mixin/core/fault_blocks.hpp:76:13: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       76 |             FaultBlockRange( const FaultBlocks& fault_blocks );
          |             ^
          |             explicit 
  • include/geode/geosciences/explicit/mixin/core/fault_blocks.hpp:98:57: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

       98 |         [[nodiscard]] bool has_fault_block( const uuid& id ) const;
          |                                                         ^
  • include/geode/geosciences/explicit/mixin/core/fault_blocks.hpp:101:25: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

      101 |             const uuid& id ) const;
          |                         ^
  • include/geode/geosciences/explicit/mixin/core/fault_blocks.hpp:112:55: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

      112 |         [[nodiscard]] bool has_component( const uuid& id ) const
          |                                                       ^
  • include/geode/geosciences/explicit/mixin/core/fault_blocks.hpp:118:25: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

      118 |             const uuid& id ) const
          |                         ^
  • include/geode/geosciences/explicit/mixin/core/fault_blocks.hpp:136:13: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

      136 |             ModifiableFaultBlockRange( const FaultBlocks& fault_blocks );
          |             ^
          |             explicit 
  • include/geode/geosciences/explicit/mixin/core/fault_blocks.hpp:168:25: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

      168 |             const uuid& id, FaultBlocksBuilderKey key );
          |                         ^
  • include/geode/geosciences/explicit/mixin/core/faults.hpp:51:50: warning: [cppcoreguidelines-special-member-functions]

    class 'FaultRangeBase' defines a destructor, a copy constructor and a move constructor but does not define a copy assignment operator or a move assignment operator

       51 |         class opengeode_geosciences_explicit_api FaultRangeBase
          |                                                  ^
  • include/geode/geosciences/explicit/mixin/core/faults.hpp:64:13: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       64 |             FaultRangeBase( const Faults& faults );
          |             ^
          |             explicit 
  • include/geode/geosciences/explicit/mixin/core/faults.hpp:69:36: warning: [cppcoreguidelines-non-private-member-variables-in-classes]

    member variable 'impl_' has protected visibility

       69 |             IMPLEMENTATION_MEMBER( impl_ );
          |                                    ^
  • include/geode/geosciences/explicit/mixin/core/faults.hpp:76:13: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       76 |             FaultRange( const Faults& faults );
          |             ^
          |             explicit 
  • include/geode/geosciences/explicit/mixin/core/faults.hpp:98:51: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

       98 |         [[nodiscard]] bool has_fault( const uuid& id ) const;
          |                                                   ^
  • include/geode/geosciences/explicit/mixin/core/faults.hpp:100:68: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

      100 |         [[nodiscard]] const Fault< dimension >& fault( const uuid& id ) const;
          |                                                                    ^
  • include/geode/geosciences/explicit/mixin/core/faults.hpp:111:55: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

      111 |         [[nodiscard]] bool has_component( const uuid& id ) const
          |                                                       ^
  • include/geode/geosciences/explicit/mixin/core/faults.hpp:117:25: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

      117 |             const uuid& id ) const
          |                         ^
  • include/geode/geosciences/explicit/mixin/core/faults.hpp:135:13: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

      135 |             ModifiableFaultRange( const Faults& faults );
          |             ^
          |             explicit 
  • include/geode/geosciences/explicit/mixin/core/faults.hpp:172:25: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

      172 |             const uuid& id, FaultsBuilderKey key );
          |                         ^
  • include/geode/geosciences/explicit/mixin/core/horizon.hpp:46:11: warning: [cppcoreguidelines-special-member-functions]

    class 'Horizon' defines a destructor, a copy constructor, a copy assignment operator and a move constructor but does not define a move assignment operator

       46 |     class Horizon final : public Component< dimension >
          |           ^
  • include/geode/geosciences/explicit/mixin/core/horizon.hpp:55:21: warning: [performance-enum-size]

    enum 'CONTACT_TYPE' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size

       55 |         enum struct CONTACT_TYPE
          |                     ^
  • include/geode/geosciences/explicit/mixin/core/horizon.hpp:83:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       83 |         Horizon( HorizonsKey ) : Horizon() {}
          |         ^
          |         explicit 
  • include/geode/geosciences/explicit/mixin/core/horizon.hpp:83:30: warning: [hicpp-named-parameter]

    all parameters should be named in a function

       83 |         Horizon( HorizonsKey ) : Horizon() {}
          |                              ^
          |                               /*unused*/
  • include/geode/geosciences/explicit/mixin/core/horizon.hpp:84:49: warning: [hicpp-named-parameter]

    all parameters should be named in a function

       84 |         Horizon( CONTACT_TYPE type, HorizonsKey ) : Horizon( type ) {}
          |                                                 ^
          |                                                  /*unused*/
  • include/geode/geosciences/explicit/mixin/core/horizon.hpp:88:74: warning: [hicpp-named-parameter]

    all parameters should be named in a function

       88 |         void set_horizon_name( std::string_view name, HorizonsBuilderKey )
          |                                                                          ^
          |                                                                           /*unused*/
  • include/geode/geosciences/explicit/mixin/core/horizons.hpp:52:50: warning: [cppcoreguidelines-special-member-functions]

    class 'HorizonRangeBase' defines a destructor, a copy constructor and a move constructor but does not define a copy assignment operator or a move assignment operator

       52 |         class opengeode_geosciences_explicit_api HorizonRangeBase
          |                                                  ^
  • include/geode/geosciences/explicit/mixin/core/horizons.hpp:65:13: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       65 |             HorizonRangeBase( const Horizons& horizons );
          |             ^
          |             explicit 
  • include/geode/geosciences/explicit/mixin/core/horizons.hpp:70:36: warning: [cppcoreguidelines-non-private-member-variables-in-classes]

    member variable 'impl_' has protected visibility

       70 |             IMPLEMENTATION_MEMBER( impl_ );
          |                                    ^
  • include/geode/geosciences/explicit/mixin/core/horizons.hpp:77:13: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       77 |             HorizonRange( const Horizons& horizons );
          |             ^
          |             explicit 
  • include/geode/geosciences/explicit/mixin/core/horizons.hpp:99:53: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

       99 |         [[nodiscard]] bool has_horizon( const uuid& id ) const;
          |                                                     ^
  • include/geode/geosciences/explicit/mixin/core/horizons.hpp:102:25: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

      102 |             const uuid& id ) const;
          |                         ^
  • include/geode/geosciences/explicit/mixin/core/horizons.hpp:113:55: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

      113 |         [[nodiscard]] bool has_component( const uuid& id ) const
          |                                                       ^
  • include/geode/geosciences/explicit/mixin/core/horizons.hpp:119:25: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

      119 |             const uuid& id ) const
          |                         ^
  • include/geode/geosciences/explicit/mixin/core/horizons.hpp:137:13: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

      137 |             ModifiableHorizonRange( const Horizons& horizons );
          |             ^
          |             explicit 
  • include/geode/geosciences/explicit/mixin/core/horizons.hpp:174:25: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

      174 |             const uuid& id, HorizonsBuilderKey key );
          |                         ^
  • include/geode/geosciences/explicit/mixin/core/stratigraphic_unit.hpp:43:11: warning: [cppcoreguidelines-special-member-functions]

    class 'StratigraphicUnit' defines a destructor, a copy constructor, a copy assignment operator and a move constructor but does not define a move assignment operator

       43 |     class StratigraphicUnit final : public Component< dimension >
          |           ^
  • include/geode/geosciences/explicit/mixin/core/stratigraphic_unit.hpp:67:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       67 |         StratigraphicUnit( StratigraphicUnitsKey ) : StratigraphicUnit() {}
          |         ^
          |         explicit 
  • include/geode/geosciences/explicit/mixin/core/stratigraphic_unit.hpp:67:50: warning: [hicpp-named-parameter]

    all parameters should be named in a function

       67 |         StratigraphicUnit( StratigraphicUnitsKey ) : StratigraphicUnit() {}
          |                                                  ^
          |                                                   /*unused*/
  • include/geode/geosciences/explicit/mixin/core/stratigraphic_unit.hpp:70:65: warning: [hicpp-named-parameter]

    all parameters should be named in a function

       70 |             std::string_view name, StratigraphicUnitsBuilderKey )
          |                                                                 ^
          |                                                                  /*unused*/
  • include/geode/geosciences/explicit/mixin/core/stratigraphic_units.hpp:52:50: warning: [cppcoreguidelines-special-member-functions]

    class 'StratigraphicUnitRangeBase' defines a destructor, a copy constructor and a move constructor but does not define a copy assignment operator or a move assignment operator

       52 |         class opengeode_geosciences_explicit_api StratigraphicUnitRangeBase
          |                                                  ^
  • include/geode/geosciences/explicit/mixin/core/stratigraphic_units.hpp:65:13: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       65 |             StratigraphicUnitRangeBase(
          |             ^
          |             explicit 
  • include/geode/geosciences/explicit/mixin/core/stratigraphic_units.hpp:73:36: warning: [cppcoreguidelines-non-private-member-variables-in-classes]

    member variable 'impl_' has protected visibility

       73 |             IMPLEMENTATION_MEMBER( impl_ );
          |                                    ^
  • include/geode/geosciences/explicit/mixin/core/stratigraphic_units.hpp:80:13: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       80 |             StratigraphicUnitRange(
          |             ^
          |             explicit 
  • include/geode/geosciences/explicit/mixin/core/stratigraphic_units.hpp:104:64: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

      104 |         [[nodiscard]] bool has_stratigraphic_unit( const uuid& id ) const;
          |                                                                ^
  • include/geode/geosciences/explicit/mixin/core/stratigraphic_units.hpp:107:25: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

      107 |             const uuid& id ) const;
          |                         ^
  • include/geode/geosciences/explicit/mixin/core/stratigraphic_units.hpp:118:55: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

      118 |         [[nodiscard]] bool has_component( const uuid& id ) const
          |                                                       ^
  • include/geode/geosciences/explicit/mixin/core/stratigraphic_units.hpp:124:25: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

      124 |             const uuid& id ) const
          |                         ^
  • include/geode/geosciences/explicit/mixin/core/stratigraphic_units.hpp:143:13: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

      143 |             ModifiableStratigraphicUnitRange(
          |             ^
          |             explicit 
  • include/geode/geosciences/explicit/mixin/core/stratigraphic_units.hpp:178:29: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

      178 |                 const uuid& id, StratigraphicUnitsBuilderKey key );
          |                             ^
  • include/geode/geosciences/explicit/representation/builder/detail/copy.hpp:32:1: warning: [modernize-concat-nested-namespaces]

    nested namespaces can be concatenated

       32 | namespace geode
          | ^~~~~~~~~~~~~~~
       33 | {
          | ~
       34 |     namespace detail
          |     ~~~~~~~~~~~~~~~~
          |     namespace geode::detail
  • include/geode/geosciences/explicit/representation/builder/detail/copy.hpp:184:14: warning: [readability-function-size]

    function 'copy_collection_item_relationships' exceeds recommended size/complexity thresholds

      184 |         void copy_collection_item_relationships( const ModelFrom& from,
          |              ^
    /__w/OpenGeode-Geosciences/OpenGeode-Geosciences/include/geode/geosciences/explicit/representation/builder/detail/copy.hpp:184:14: note: 5 parameters (threshold 4)
  • include/geode/geosciences/explicit/representation/core/cross_section.hpp:55:46: warning: [cppcoreguidelines-special-member-functions]

    class 'CrossSection' defines a move constructor but does not define a destructor, a copy constructor, a copy assignment operator or a move assignment operator

       55 |     class opengeode_geosciences_explicit_api CrossSection
          |                                              ^
  • include/geode/geosciences/explicit/representation/core/cross_section.hpp:63:50: warning: [cppcoreguidelines-special-member-functions]

    class 'HorizonItemRange' defines a destructor and a copy constructor but does not define a copy assignment operator, a move constructor or a move assignment operator

       63 |         class opengeode_geosciences_explicit_api HorizonItemRange
          |                                                  ^
  • include/geode/geosciences/explicit/representation/core/cross_section.hpp:82:50: warning: [cppcoreguidelines-special-member-functions]

    class 'FaultItemRange' defines a destructor and a copy constructor but does not define a copy assignment operator, a move constructor or a move assignment operator

       82 |         class opengeode_geosciences_explicit_api FaultItemRange
          |                                                  ^
  • include/geode/geosciences/explicit/representation/core/cross_section.hpp:101:50: warning: [cppcoreguidelines-special-member-functions]

    class 'FaultBlockItemRange' defines a destructor and a copy constructor but does not define a copy assignment operator, a move constructor or a move assignment operator

      101 |         class opengeode_geosciences_explicit_api FaultBlockItemRange
          |                                                  ^
  • include/geode/geosciences/explicit/representation/core/cross_section.hpp:120:50: warning: [cppcoreguidelines-special-member-functions]

    class 'StratigraphicUnitItemRange' defines a destructor and a copy constructor but does not define a copy assignment operator, a move constructor or a move assignment operator

      120 |         class opengeode_geosciences_explicit_api StratigraphicUnitItemRange
          |                                                  ^
  • include/geode/geosciences/explicit/representation/core/cross_section.hpp:151:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

      151 |         CrossSection( BITSERY );
          |         ^
          |         explicit 
  • include/geode/geosciences/explicit/representation/core/cross_section.hpp:160:65: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

      160 |         [[nodiscard]] const Component2D& component( const uuid& id ) const;
          |                                                                 ^
  • include/geode/geosciences/explicit/representation/core/structural_model.hpp:58:46: warning: [cppcoreguidelines-special-member-functions]

    class 'StructuralModel' defines a move constructor but does not define a destructor, a copy constructor, a copy assignment operator or a move assignment operator

       58 |     class opengeode_geosciences_explicit_api StructuralModel
          |                                              ^
  • include/geode/geosciences/explicit/representation/core/structural_model.hpp:66:50: warning: [cppcoreguidelines-special-member-functions]

    class 'HorizonItemRange' defines a destructor and a copy constructor but does not define a copy assignment operator, a move constructor or a move assignment operator

       66 |         class opengeode_geosciences_explicit_api HorizonItemRange
          |                                                  ^
  • include/geode/geosciences/explicit/representation/core/structural_model.hpp:85:50: warning: [cppcoreguidelines-special-member-functions]

    class 'FaultItemRange' defines a destructor and a copy constructor but does not define a copy assignment operator, a move constructor or a move assignment operator

       85 |         class opengeode_geosciences_explicit_api FaultItemRange
          |                                                  ^
  • include/geode/geosciences/explicit/representation/core/structural_model.hpp:104:50: warning: [cppcoreguidelines-special-member-functions]

    class 'FaultBlockItemRange' defines a destructor and a copy constructor but does not define a copy assignment operator, a move constructor or a move assignment operator

      104 |         class opengeode_geosciences_explicit_api FaultBlockItemRange
          |                                                  ^
  • include/geode/geosciences/explicit/representation/core/structural_model.hpp:123:50: warning: [cppcoreguidelines-special-member-functions]

    class 'StratigraphicUnitItemRange' defines a destructor and a copy constructor but does not define a copy assignment operator, a move constructor or a move assignment operator

      123 |         class opengeode_geosciences_explicit_api StratigraphicUnitItemRange
          |                                                  ^
  • include/geode/geosciences/explicit/representation/core/structural_model.hpp:154:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

      154 |         StructuralModel( BITSERY );
          |         ^
          |         explicit 
  • include/geode/geosciences/explicit/representation/core/structural_model.hpp:163:65: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

      163 |         [[nodiscard]] const Component3D& component( const uuid& id ) const;
          |                                                                 ^
  • include/geode/geosciences/implicit/mixin/core/stratigraphic_relationships.hpp:50:46: warning: [cppcoreguidelines-special-member-functions]

    class 'StratigraphicRelationships' defines a destructor, a move constructor and a move assignment operator but does not define a copy constructor or a copy assignment operator

       50 |     class opengeode_geosciences_implicit_api StratigraphicRelationships
          |                                              ^
  • include/geode/geosciences/implicit/mixin/core/stratigraphic_relationships.hpp:58:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       58 |         StratigraphicRelationships( BITSERY );
          |         ^
          |         explicit 
  • include/geode/geosciences/implicit/mixin/core/stratigraphic_relationships.hpp:80:25: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

       80 |             const uuid& id, StratigraphicRelationshipsBuilderKey );
          |                         ^
  • include/geode/geosciences/implicit/representation/core/detail/helpers.hpp:49:1: warning: [modernize-concat-nested-namespaces]

    nested namespaces can be concatenated

       49 | namespace geode
          | ^~~~~~~~~~~~~~~
       50 | {
          | ~
       51 |     namespace detail
          |     ~~~~~~~~~~~~~~~~
          |     namespace geode::detail
  • include/geode/geosciences/implicit/representation/core/horizons_stack.hpp:52:11: warning: [cppcoreguidelines-special-member-functions]

    class 'HorizonsStack' defines a destructor, a move constructor and a move assignment operator but does not define a copy constructor or a copy assignment operator

       52 |     class HorizonsStack : public StratigraphicRelationships,
          |           ^
  • include/geode/geosciences/implicit/representation/core/horizons_stack.hpp:60:21: warning: [performance-enum-size]

    enum 'RANGEORDER' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size

       60 |         enum struct RANGEORDER
          |                     ^
  • include/geode/geosciences/implicit/representation/core/horizons_stack.hpp:65:50: warning: [cppcoreguidelines-special-member-functions]

    class 'HorizonOrderedRange' defines a destructor, a copy constructor and a move constructor but does not define a copy assignment operator or a move assignment operator

       65 |         class opengeode_geosciences_implicit_api HorizonOrderedRange
          |                                                  ^
  • include/geode/geosciences/implicit/representation/core/horizons_stack.hpp:92:36: warning: [cppcoreguidelines-non-private-member-variables-in-classes]

    member variable 'impl_' has protected visibility

       92 |             IMPLEMENTATION_MEMBER( impl_ );
          |                                    ^
  • include/geode/geosciences/implicit/representation/core/horizons_stack.hpp:95:50: warning: [cppcoreguidelines-special-member-functions]

    class 'StratigraphicUnitOrderedRange' defines a destructor, a copy constructor and a move constructor but does not define a copy assignment operator or a move assignment operator

       95 |         class opengeode_geosciences_implicit_api StratigraphicUnitOrderedRange
          |                                                  ^
  • include/geode/geosciences/implicit/representation/core/horizons_stack.hpp:125:36: warning: [cppcoreguidelines-non-private-member-variables-in-classes]

    member variable 'impl_' has protected visibility

      125 |             IMPLEMENTATION_MEMBER( impl_ );
          |                                    ^
  • include/geode/geosciences/implicit/representation/core/horizons_stack.hpp:138:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

      138 |         HorizonsStack( BITSERY );
          |         ^
          |         explicit 
  • include/geode/geosciences/implicit/representation/core/horizons_stack.hpp:148:25: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

      148 |             const uuid& id ) const;
          |                         ^
  • include/geode/geosciences/implicit/representation/core/horizons_stack.hpp:190:32: warning: [cppcoreguidelines-non-private-member-variables-in-classes]

    member variable 'impl_' has protected visibility

      190 |         IMPLEMENTATION_MEMBER( impl_ );
          |                                ^
  • include/geode/geosciences/implicit/representation/core/implicit_cross_section.hpp:51:46: warning: [cppcoreguidelines-special-member-functions]

    class 'ImplicitCrossSection' defines a destructor and a move constructor but does not define a copy constructor, a copy assignment operator or a move assignment operator

       51 |     class opengeode_geosciences_implicit_api ImplicitCrossSection
          |                                              ^
  • include/geode/geosciences/implicit/representation/core/implicit_cross_section.hpp:60:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       60 |         ImplicitCrossSection( BITSERY );
          |         ^
          |         explicit 
  • include/geode/geosciences/implicit/representation/core/implicit_cross_section.hpp:70:65: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

       70 |         [[nodiscard]] const Component2D& component( const uuid& id ) const;
          |                                                                 ^
  • include/geode/geosciences/implicit/representation/core/implicit_structural_model.hpp:56:46: warning: [cppcoreguidelines-special-member-functions]

    class 'ImplicitStructuralModel' defines a destructor and a move constructor but does not define a copy constructor, a copy assignment operator or a move assignment operator

       56 |     class opengeode_geosciences_implicit_api ImplicitStructuralModel
          |                                              ^
  • include/geode/geosciences/implicit/representation/core/implicit_structural_model.hpp:66:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       66 |         ImplicitStructuralModel( BITSERY );
          |         ^
          |         explicit 
  • include/geode/geosciences/implicit/representation/core/implicit_structural_model.hpp:78:65: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

       78 |         [[nodiscard]] const Component3D& component( const uuid& id ) const;
          |                                                                 ^
  • include/geode/geosciences/implicit/representation/core/stratigraphic_model.hpp:50:46: warning: [cppcoreguidelines-special-member-functions]

    class 'StratigraphicModel' defines a destructor and a move constructor but does not define a copy constructor, a copy assignment operator or a move assignment operator

       50 |     class opengeode_geosciences_implicit_api StratigraphicModel
          |                                              ^
  • include/geode/geosciences/implicit/representation/core/stratigraphic_model.hpp:62:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       62 |         StratigraphicModel( BITSERY );
          |         ^
          |         explicit 
  • include/geode/geosciences/implicit/representation/core/stratigraphic_model.hpp:71:9: warning: [cppcoreguidelines-explicit-virtual-functions]

    annotate this function with 'override' or (rarely) 'final'

       71 |         ~StratigraphicModel();
          |         ^                    
          |                               override
  • include/geode/geosciences/implicit/representation/core/stratigraphic_model.hpp:75:65: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

       75 |         [[nodiscard]] const Component3D& component( const uuid& id ) const;
          |                                                                 ^
  • include/geode/geosciences/implicit/representation/core/stratigraphic_section.hpp:53:46: warning: [cppcoreguidelines-special-member-functions]

    class 'StratigraphicSection' defines a destructor and a move constructor but does not define a copy constructor, a copy assignment operator or a move assignment operator

       53 |     class opengeode_geosciences_implicit_api StratigraphicSection
          |                                              ^
  • include/geode/geosciences/implicit/representation/core/stratigraphic_section.hpp:65:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       65 |         StratigraphicSection( BITSERY );
          |         ^
          |         explicit 
  • include/geode/geosciences/implicit/representation/core/stratigraphic_section.hpp:74:9: warning: [cppcoreguidelines-explicit-virtual-functions]

    annotate this function with 'override' or (rarely) 'final'

       74 |         ~StratigraphicSection();
          |         ^                      
          |                                 override
  • include/geode/geosciences/implicit/representation/core/stratigraphic_section.hpp:78:65: warning: [readability-identifier-length]

    parameter name 'id' is too short, expected at least 3 characters

       78 |         [[nodiscard]] const Component2D& component( const uuid& id ) const;
          |                                                                 ^
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system.cpp:55:9: warning: [google-explicit-constructor]

    single-argument constructors must be marked explicit to avoid unintentional implicit conversions

       55 |         Impl( GeographicCoordinateSystemInfo info ) : info_{ std::move( info ) }
          |         ^
          |         explicit 
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system.cpp:55:46: warning: [performance-unnecessary-value-param]

    the parameter 'info' is copied for each invocation but only used as a const reference; consider making it a const reference

       55 |         Impl( GeographicCoordinateSystemInfo info ) : info_{ std::move( info ) }
          |                                              ^
          |               const                         &
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system.cpp:55:62: warning: [hicpp-move-const-arg]

    passing result of std::move() as a const reference argument; no move will actually happen

       55 |         Impl( GeographicCoordinateSystemInfo info ) : info_{ std::move( info ) }
          |                                                              ^~~~~~~~~~      ~
    /__w/OpenGeode-Geosciences/OpenGeode-Geosciences/include/geode/geosciences/explicit/geometry/geographic_coordinate_system.hpp:39:47: note: 'GeographicCoordinateSystemInfo' is not move assignable/constructible
       39 |     struct opengeode_geosciences_explicit_api GeographicCoordinateSystemInfo
          |                                               ^
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system.cpp:61:9: warning: [modernize-use-nodiscard]

    function 'info' should be marked [[nodiscard]]

       61 |         const GeographicCoordinateSystemInfo& info() const
          |         ^
          |         [[nodiscard]] 
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system.cpp:68:54: warning: [readability-identifier-length]

    parameter name 'to' is too short, expected at least 3 characters

       68 |             GeographicCoordinateSystem< dimension >& to )
          |                                                      ^
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system.cpp:85:24: warning: [readability-container-data-pointer]

    'data' should be used for accessing the data pointer instead of taking the address of the 0-th element

       85 |                     1, &values[0], &values[1], &values[2] );
          |                        ^~~~~~~~~~
          |                        values.data()
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system.cpp:104:59: warning: [readability-identifier-length]

    parameter name 'a' is too short, expected at least 3 characters

      104 |                 Growable< Archive, Impl >{ { []( Archive& a, Impl& impl ) {
          |                                                           ^
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system.cpp:152:39: warning: [readability-identifier-length]

    parameter name 'a' is too short, expected at least 3 characters

      152 |                        { []( Archive& a, GeographicCoordinateSystem& crs ) {
          |                                       ^
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system.cpp:170:36: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

      170 |             const auto* gdal_crs = gdal_list[i];
          |                                    ^
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:55:47: warning: [performance-unnecessary-value-param]

    the parameter 'info' is copied for each invocation but only used as a const reference; consider making it a const reference

       55 |         geode::GeographicCoordinateSystemInfo info )
          |                                               ^
          |         const                                &
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:91:15: warning: [performance-unnecessary-value-param]

    the parameter 'range' is copied for each invocation but only used as a const reference; consider making it a const reference

       91 |         Range range,
          |               ^
          |         const  &
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:119:63: error: [clang-diagnostic-error]

    no member named 'VariableAttribute' in namespace 'geode'

      119 |             attribute_manager.template find_attribute< geode::VariableAttribute,
          |                                                               ^~~~~~~~~~~~~~~~~
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:139:15: warning: [performance-unnecessary-value-param]

    the parameter 'range' is copied for each invocation but only used as a const reference; consider making it a const reference

      139 |         Range range,
          |               ^
          |         const  &
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:159:40: warning: [performance-unnecessary-value-param]

    the parameter 'info' is copied for each invocation but only used as a const reference; consider making it a const reference

      159 |         GeographicCoordinateSystemInfo info )
          |                                        ^
          |         const                         &
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:170:40: warning: [performance-unnecessary-value-param]

    the parameter 'info' is copied for each invocation but only used as a const reference; consider making it a const reference

      170 |         GeographicCoordinateSystemInfo info )
          |                                        ^
          |         const                         &
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:181:40: warning: [performance-unnecessary-value-param]

    the parameter 'info' is copied for each invocation but only used as a const reference; consider making it a const reference

      181 |         GeographicCoordinateSystemInfo info )
          |                                        ^
          |         const                         &
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:192:40: warning: [performance-unnecessary-value-param]

    the parameter 'info' is copied for each invocation but only used as a const reference; consider making it a const reference

      192 |         GeographicCoordinateSystemInfo info )
          |                                        ^
          |         const                         &
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:253:40: warning: [performance-unnecessary-value-param]

    the parameter 'info' is copied for each invocation but only used as a const reference; consider making it a const reference

      253 |         GeographicCoordinateSystemInfo info )
          |                                        ^
          |         const                         &
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:264:40: warning: [performance-unnecessary-value-param]

    the parameter 'info' is copied for each invocation but only used as a const reference; consider making it a const reference

      264 |         GeographicCoordinateSystemInfo info )
          |                                        ^
          |         const                         &
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:275:40: warning: [performance-unnecessary-value-param]

    the parameter 'info' is copied for each invocation but only used as a const reference; consider making it a const reference

      275 |         GeographicCoordinateSystemInfo info )
          |                                        ^
          |         const                         &
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:286:40: warning: [performance-unnecessary-value-param]

    the parameter 'info' is copied for each invocation but only used as a const reference; consider making it a const reference

      286 |         GeographicCoordinateSystemInfo info )
          |                                        ^
          |         const                         &

Have any feedback or feature suggestions? Share it here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants