Skip to content

feat(Attribute): add uuid to attributes changes#185

Open
BenPinet wants to merge 4 commits into
v18from
feat/add_uuid_to_attribute
Open

feat(Attribute): add uuid to attributes changes#185
BenPinet wants to merge 4 commits into
v18from
feat/add_uuid_to_attribute

Conversation

@BenPinet

Copy link
Copy Markdown
Member

No description provided.

@BenPinet BenPinet requested a review from BotellaA June 23, 2026 10:39
return native_extension_static();
}

[[nodiscard]] uuid block_implicit_function_attribute_id(

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

const uuid& ?


[[nodiscard]] BoundingBox3D stratigraphic_bounding_box() const;

[[nodiscard]] uuid block_stratigraphic_location_attribute_id(

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

const& ?


[[nodiscard]] BoundingBox2D stratigraphic_bounding_box() const;

[[nodiscard]] uuid surface_stratigraphic_location_attribute_id(

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

const& ?

@github-actions

github-actions Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Cpp-Linter Report ⚠️

Some files did not pass the configured checks!

clang-tidy (v20.1.8) reports: 307 concern(s)
  • 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 )
          |                                             ^
  • 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/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:57:9: warning: [google-explicit-constructor]

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

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

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

       79 |             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:50: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

       50 |     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:67:9: warning: [google-explicit-constructor]

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

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

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

       79 |         [[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:63:9: warning: [google-explicit-constructor]

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

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

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

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

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

       76 |         [[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:66:9: warning: [google-explicit-constructor]

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

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

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

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

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

       79 |         [[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:204:74: warning: [readability-identifier-length]

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

      204 |             3 >( info, crs_name, brep.corners(), [&builder]( const uuid& id ) {
          |                                                                          ^
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:208:72: warning: [readability-identifier-length]

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

      208 |             3 >( info, crs_name, brep.lines(), [&builder]( const uuid& id ) {
          |                                                                        ^
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:212:75: warning: [readability-identifier-length]

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

      212 |             3 >( info, crs_name, brep.surfaces(), [&builder]( const uuid& id ) {
          |                                                                           ^
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:216:73: warning: [readability-identifier-length]

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

      216 |             3 >( info, crs_name, brep.blocks(), [&builder]( const uuid& id ) {
          |                                                                         ^
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:229:72: warning: [readability-identifier-length]

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

      229 |             info, crs_name, section.corners(), [&builder]( const uuid& id ) {
          |                                                                        ^
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:233:75: warning: [readability-identifier-length]

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

      233 |             2 >( info, crs_name, section.lines(), [&builder]( const uuid& id ) {
          |                                                                           ^
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:238:73: warning: [readability-identifier-length]

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

      238 |             info, crs_name, section.surfaces(), [&builder]( const uuid& id ) {
          |                                                                         ^
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:248: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

      248 |         GeographicCoordinateSystemInfo info )
          |                                        ^
          |         const                         &
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:259: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

      259 |         GeographicCoordinateSystemInfo info )
          |                                        ^
          |         const                         &
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:270: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

      270 |         GeographicCoordinateSystemInfo info )
          |                                        ^
          |         const                         &
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:281: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

      281 |         GeographicCoordinateSystemInfo info )
          |                                        ^
          |         const                         &
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:293:69: warning: [readability-identifier-length]

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

      293 |             info, crs_name, brep.corners(), [&builder]( const uuid& id ) {
          |                                                                     ^
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:297:67: warning: [readability-identifier-length]

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

      297 |             info, crs_name, brep.lines(), [&builder]( const uuid& id ) {
          |                                                                   ^
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:301:70: warning: [readability-identifier-length]

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

      301 |             info, crs_name, brep.surfaces(), [&builder]( const uuid& id ) {
          |                                                                      ^
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:305:68: warning: [readability-identifier-length]

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

      305 |             info, crs_name, brep.blocks(), [&builder]( const uuid& id ) {
          |                                                                    ^
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:316:72: warning: [readability-identifier-length]

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

      316 |             info, crs_name, section.corners(), [&builder]( const uuid& id ) {
          |                                                                        ^
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:320:70: warning: [readability-identifier-length]

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

      320 |             info, crs_name, section.lines(), [&builder]( const uuid& id ) {
          |                                                                      ^
  • src/geode/geosciences/explicit/geometry/geographic_coordinate_system_helper.cpp:324:73: warning: [readability-identifier-length]

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

      324 |             info, crs_name, section.surfaces(), [&builder]( const uuid& id ) {
          |                                                                         ^
  • src/geode/geosciences/explicit/representation/core/cross_section.cpp:41:37: warning: [hicpp-use-equals-default]

    use '= default' to define a trivial copy constructor

       41 |     CrossSection::HorizonItemRange::HorizonItemRange(
          |                                     ^
       42 |         const HorizonItemRange& range )
       43 |         : Relationships::ItemRangeIterator{ range },
          |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       44 |           cross_section_( range.cross_section_ )
          |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       45 |     {
          |     ~
          |     = default;
       46 |     }
          |     ~
  • src/geode/geosciences/explicit/representation/core/cross_section.cpp:80:35: warning: [hicpp-use-equals-default]

    use '= default' to define a trivial copy constructor

       80 |     CrossSection::FaultItemRange::FaultItemRange( const FaultItemRange& range )
          |                                   ^
       81 |         : Relationships::ItemRangeIterator{ range },
          |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       82 |           cross_section_( range.cross_section_ )
          |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       83 |     {
          |     ~
          |     = default;
       84 |     }
          |     ~
  • src/geode/geosciences/explicit/representation/core/cross_section.cpp:117:40: warning: [hicpp-use-equals-default]

    use '= default' to define a trivial copy constructor

      117 |     CrossSection::FaultBlockItemRange::FaultBlockItemRange(
          |                                        ^
      118 |         const FaultBlockItemRange& range )
      119 |         : Relationships::ItemRangeIterator{ range },
          |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      120 |           cross_section_( range.cross_section_ )
          |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      121 |     {
          |     ~
          |     = default;
      122 |     }
          |     ~
  • src/geode/geosciences/explicit/representation/core/cross_section.cpp:159:47: warning: [hicpp-use-equals-default]

    use '= default' to define a trivial copy constructor

      159 |     CrossSection::StratigraphicUnitItemRange::StratigraphicUnitItemRange(
          |                                               ^
      160 |         const StratigraphicUnitItemRange& range )
      161 |         : Relationships::ItemRangeIterator{ range },
          |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      162 |           cross_section_( range.cross_section_ )
          |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      163 |     {
          |     ~
          |     = default;
      164 |     }
          |     ~
  • src/geode/geosciences/explicit/representation/core/cross_section.cpp:211:61: warning: [readability-identifier-length]

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

      211 |     const Component2D& CrossSection::component( const uuid& id ) const
          |                                                             ^
  • src/geode/geosciences/explicit/representation/core/structural_model.cpp:42:40: warning: [hicpp-use-equals-default]

    use '= default' to define a trivial copy constructor

       42 |     StructuralModel::HorizonItemRange::HorizonItemRange(
          |                                        ^
       43 |         const HorizonItemRange& range )
       44 |         : Relationships::ItemRangeIterator{ range },
          |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       45 |           structural_model_( range.structural_model_ )
          |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       46 |     {
          |     ~
          |     = default;
       47 |     }
          |     ~
  • src/geode/geosciences/explicit/representation/core/structural_model.cpp:82:38: warning: [hicpp-use-equals-default]

    use '= default' to define a trivial copy constructor

       82 |     StructuralModel::FaultItemRange::FaultItemRange(
          |                                      ^
       83 |         const FaultItemRange& range )
       84 |         : Relationships::ItemRangeIterator{ range },
          |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       85 |           structural_model_( range.structural_model_ )
          |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       86 |     {
          |     ~
          |     = default;
       87 |     }
          |     ~
  • src/geode/geosciences/explicit/representation/core/structural_model.cpp:122:43: warning: [hicpp-use-equals-default]

    use '= default' to define a trivial copy constructor

      122 |     StructuralModel::FaultBlockItemRange::FaultBlockItemRange(
          |                                           ^
      123 |         const FaultBlockItemRange& range )
      124 |         : Relationships::ItemRangeIterator{ range },
          |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      125 |           structural_model_( range.structural_model_ )
          |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      126 |     {
          |     ~
          |     = default;
      127 |     }
          |     ~
  • src/geode/geosciences/explicit/representation/core/structural_model.cpp:164:50: warning: [hicpp-use-equals-default]

    use '= default' to define a trivial copy constructor

      164 |     StructuralModel::StratigraphicUnitItemRange::StratigraphicUnitItemRange(
          |                                                  ^
      165 |         const StratigraphicUnitItemRange& range )
      166 |         : Relationships::ItemRangeIterator{ range },
          |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      167 |           structural_model_( range.structural_model_ )
          |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      168 |     {
          |     ~
          |     = default;
      169 |     }
          |     ~
  • src/geode/geosciences/explicit/representation/core/structural_model.cpp:217:64: warning: [readability-identifier-length]

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

      217 |     const Component3D& StructuralModel::component( const uuid& id ) const
          |                                                                ^
  • src/geode/geosciences/implicit/mixin/core/stratigraphic_relationships.cpp:52:18: warning: [readability-redundant-member-init]

    initializer for base class 'detail::RelationshipsImpl' is redundant

       52 |         Impl() : RelationshipsImpl()
          |                  ^~~~~~~~~~~~~~~~~~~
  • src/geode/geosciences/implicit/mixin/core/stratigraphic_relationships.cpp:57:9: warning: [google-explicit-constructor]

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

       57 |         Impl( BITSERY bitsery ) : RelationshipsImpl( bitsery ) {}
          |         ^
          |         explicit 
  • src/geode/geosciences/implicit/mixin/core/stratigraphic_relationships.cpp:59:9: warning: [modernize-use-nodiscard]

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

       59 |         bool is_above( const uuid& above_id, const uuid& under_id ) const
          |         ^
          |         [[nodiscard]] 
  • src/geode/geosciences/implicit/mixin/core/stratigraphic_relationships.cpp:59:24: warning: [bugprone-easily-swappable-parameters]

    2 adjacent parameters of 'is_above' of similar type ('const uuid &') are easily swapped by mistake

       59 |         bool is_above( const uuid& above_id, const uuid& under_id ) const
          |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /__w/OpenGeode-Geosciences/OpenGeode-Geosciences/src/geode/geosciences/implicit/mixin/core/stratigraphic_relationships.cpp:59:36: note: the first parameter in the range is 'above_id'
       59 |         bool is_above( const uuid& above_id, const uuid& under_id ) const
          |                                    ^~~~~~~~
    /__w/OpenGeode-Geosciences/OpenGeode-Geosciences/src/geode/geosciences/implicit/mixin/core/stratigraphic_relationships.cpp:59:58: note: the last parameter in the range is 'under_id'
       59 |         bool is_above( const uuid& above_id, const uuid& under_id ) const
          |                                                          ^~~~~~~~
  • src/geode/geosciences/implicit/mixin/core/stratigraphic_relationships.cpp:73:9: warning: [modernize-use-nodiscard]

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

       73 |         bool is_directly_above( const uuid& above, const uuid& under ) const
          |         ^
          |         [[nodiscard]] 
  • src/geode/geosciences/implicit/mixin/core/stratigraphic_relationships.cpp:89:9: warning: [modernize-use-nodiscard]

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

       89 |         std::optional< uuid > above( const uuid& element ) const
          |         ^
          |         [[nodiscard]] 
  • src/geode/geosciences/implicit/mixin/core/stratigraphic_relationships.cpp:112:9: warning: [modernize-use-nodiscard]

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

      112 |         std::optional< uuid > under( const uuid& element ) const
          |         ^
          |         [[nodiscard]] 
  • src/geode/geosciences/implicit/mixin/core/stratigraphic_relationships.cpp:138:28: warning: [readability-identifier-length]

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

      138 |             if( const auto id = relation_edge( above.id(), under.id() ) )
          |                            ^
  • src/geode/geosciences/implicit/mixin/core/stratigraphic_relationships.cpp:150:18: warning: [readability-identifier-length]

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

      150 |             auto id = relation_edge( id1, id2 );
          |                  ^
  • src/geode/geosciences/implicit/mixin/core/stratigraphic_relationships.cpp:227:9: warning: [modernize-use-nodiscard]

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

      227 |         std::optional< index_t > relation_edge(
          |         ^
          |         [[nodiscard]] 
  • src/geode/geosciences/implicit/mixin/core/stratigraphic_relationships.cpp:228:43: warning: [readability-identifier-length]

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

      228 |             const uuid& from, const uuid& to ) const
          |                                           ^
  • src/geode/geosciences/implicit/mixin/core/stratigraphic_relationships.cpp:314:21: warning: [readability-identifier-length]

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

      314 |         const uuid& id, StratigraphicRelationshipsBuilderKey )
          |                     ^
  • src/geode/geosciences/implicit/mixin/core/stratigraphic_relationships.cpp:314:62: warning: [hicpp-named-parameter]

    all parameters should be named in a function

      314 |         const uuid& id, StratigraphicRelationshipsBuilderKey )
          |                                                              ^
          |                                                               /*unused*/
  • src/geode/geosciences/implicit/mixin/core/stratigraphic_relationships.cpp:346:46: warning: [hicpp-named-parameter]

    all parameters should be named in a function

      346 |         StratigraphicRelationshipsBuilderKey )
          |                                              ^
          |                                               /*unused*/
  • src/geode/geosciences/implicit/mixin/core/stratigraphic_relationships.cpp:352:80: warning: [hicpp-named-parameter]

    all parameters should be named in a function

      352 |         const uuid& id1, const uuid& id2, StratigraphicRelationshipsBuilderKey )
          |                                                                                ^
          |                                                                                 /*unused*/
  • src/geode/geosciences/implicit/mixin/core/stratigraphic_relationships.cpp:358:80: warning: [hicpp-named-parameter]

    all parameters should be named in a function

      358 |         const uuid& id1, const uuid& id2, StratigraphicRelationshipsBuilderKey )
          |                                                                                ^
          |                                                                                 /*unused*/
  • src/geode/geosciences/implicit/mixin/core/stratigraphic_relationships.cpp:372:46: warning: [hicpp-named-parameter]

    all parameters should be named in a function

      372 |         StratigraphicRelationshipsBuilderKey )
          |                                              ^
          |                                               /*unused*/
  • src/geode/geosciences/implicit/mixin/core/stratigraphic_relationships.cpp:378:74: warning: [hicpp-named-parameter]

    all parameters should be named in a function

      378 |         std::string_view directory, StratigraphicRelationshipsBuilderKey )
          |                                                                          ^
          |                                                                           /*unused*/
  • src/geode/geosciences/implicit/mixin/core/stratigraphic_relationships.cpp:380:9: warning: [readability-avoid-return-with-void-value]

    return statement within a void function should not have a specified return value

      380 |         return impl_->load( directory );
          |         ^~~~~~
  • src/geode/geosciences/implicit/representation/core/detail/helpers.cpp:78:1: warning: [modernize-concat-nested-namespaces]

    nested namespaces can be concatenated

       78 | namespace geode
          | ^~~~~~~~~~~~~~~
       79 | {
          | ~
       80 |     namespace detail
          |     ~~~~~~~~~~~~~~~~
          |     namespace geode::detail
  • src/geode/geosciences/implicit/representation/core/detail/helpers.cpp:425:41: warning: [bugprone-unchecked-optional-access]

    unchecked access to optional value

      425 |             const auto bottom_horizon = horizon_stack.bottom_horizon().value();
          |                                         ^
  • src/geode/geosciences/implicit/representation/core/horizons_stack.cpp:40:9: warning: [modernize-use-nodiscard]

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

       40 |         std::optional< uuid > top_horizon() const
          |         ^
          |         [[nodiscard]] 
  • src/geode/geosciences/implicit/representation/core/horizons_stack.cpp:45:9: warning: [modernize-use-nodiscard]

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

       45 |         std::optional< uuid > bottom_horizon() const
          |         ^
          |         [[nodiscard]] 
  • src/geode/geosciences/implicit/representation/core/horizons_stack.cpp:108:21: warning: [readability-identifier-length]

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

      108 |         const uuid& id ) const
          |                     ^
  • src/geode/geosciences/implicit/representation/core/horizons_stack.cpp:198:9: warning: [llvm-else-after-return]

    do not use 'else' after 'return'

      198 |         else
          |         ^~~~
      199 |         {
          |         ~
      200 |             const auto& horizon_above = this->above( component );
          |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      201 |             OpenGeodeGeosciencesImplicitException::check_exception(
          |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      202 |                 horizon_above.has_value(), nullptr,
          |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      203 |                 OpenGeodeException::TYPE::data,
          |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      204 |                 "[HorizonsStack::is_conformal_above] No horizon above given "
          |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      205 |                 "stratigraphic unit with id ",
          |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      206 |                 component.string() );
          |                 ~~~~~~~~~~~~~~~~~~~~~
      207 |             const auto contact_type =
          |             ~~~~~~~~~~~~~~~~~~~~~~~~~
      208 |                 this->horizon( horizon_above.value() ).contact_type();
          |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      209 |             return contact_type == Horizon< dimension >::CONTACT_TYPE::conformal
          |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      210 |                    || contact_type
          |                    ~~~~~~~~~~~~~~~
      211 |                           == Horizon< dimension >::CONTACT_TYPE::baselap;
          |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      212 |         }
          |         ~
  • src/geode/geosciences/implicit/representation/core/horizons_stack.cpp:208:32: warning: [bugprone-unchecked-optional-access]

    unchecked access to optional value

      208 |                 this->horizon( horizon_above.value() ).contact_type();
          |                                ^
  • src/geode/geosciences/implicit/representation/core/horizons_stack.cpp:232:9: warning: [llvm-else-after-return]

    do not use 'else' after 'return'

      232 |         else
          |         ^~~~
      233 |         {
          |         ~
      234 |             const auto& horizon_under = this->under( component );
          |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      235 |             OpenGeodeGeosciencesImplicitException::check_exception(
          |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      236 |                 horizon_under.has_value(), nullptr,
          |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      237 |                 OpenGeodeException::TYPE::data,
          |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      238 |                 "[HorizonsStack::is_conformal_under] No horizon under given "
          |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      239 |                 "stratigraphic unit with id ",
          |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      240 |                 component.string() );
          |                 ~~~~~~~~~~~~~~~~~~~~~
      241 |             const auto contact_type =
          |             ~~~~~~~~~~~~~~~~~~~~~~~~~
      242 |                 this->horizon( horizon_under.value() ).contact_type();
          |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      243 |             return contact_type == Horizon< dimension >::CONTACT_TYPE::conformal
          |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      244 |                    || contact_type
          |                    ~~~~~~~~~~~~~~~
      245 |                           == Horizon< dimension >::CONTACT_TYPE::erosion;
          |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      246 |         }
          |         ~
  • src/geode/geosciences/implicit/representation/core/horizons_stack.cpp:242:32: warning: [bugprone-unchecked-optional-access]

    unchecked access to optional value

      242 |                 this->horizon( horizon_under.value() ).contact_type();
          |                                ^
  • src/geode/geosciences/implicit/representation/core/horizons_stack.cpp:256:13: warning: [bugprone-unchecked-optional-access]

    unchecked access to optional value

      256 |             this->above( this->top_horizon().value() ).value() );
          |             ^
  • src/geode/geosciences/implicit/representation/core/horizons_stack.cpp:256:26: warning: [bugprone-unchecked-optional-access]

    unchecked access to optional value

      256 |             this->above( this->top_horizon().value() ).value() );
          |                          ^
  • src/geode/geosciences/implicit/representation/core/horizons_stack.cpp:266:28: warning: [performance-unnecessary-copy-initialization]

    the const qualified variable 'name' is copy-constructed from a const reference; consider making it a const reference

      266 |             if( const auto name = horizon.name() )
          |                            ^
          |                           &

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