Skip to content

V18 - #174

Draft
BenPinet wants to merge 12 commits into
nextfrom
v18
Draft

V18#174
BenPinet wants to merge 12 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:37
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

Cpp-Linter Report ⚠️

Some files did not pass the configured checks!

clang-tidy (v20.1.8) reports: 318 concern(s)
  • include/geode/geosciences_io/model/internal/ml_output_impl.hpp:48:1: warning: [modernize-concat-nested-namespaces]

    nested namespaces can be concatenated

       48 | namespace geode
          | ^~~~~~~~~~~~~~~
       49 | {
          | ~
       50 |     namespace internal
          |     ~~~~~~~~~~~~~~~~~~
          |     namespace geode::internal
  • include/geode/geosciences_io/model/internal/ml_output_impl.hpp:95:15: warning: [cppcoreguidelines-special-member-functions]

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

       95 |         class MLOutputImpl
          |               ^
  • include/geode/geosciences_io/model/internal/ml_output_impl.hpp:230:39: warning: [cppcoreguidelines-avoid-magic-numbers]

    5 is a magic number; consider replacing it with a named constant

      230 |                         if( counter % 5 == 0 )
          |                                       ^
  • include/geode/geosciences_io/model/internal/ml_output_impl.hpp:240:18: warning: [readability-function-cognitive-complexity]

    function 'write_regions' has cognitive complexity of 17 (threshold 10)

      240 |             void write_regions()
          |                  ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/include/geode/geosciences_io/model/internal/ml_output_impl.hpp:243:17: note: +1, including nesting penalty of 0, nesting level increased to 1
      243 |                 for( const auto& region : model_.blocks() )
          |                 ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/include/geode/geosciences_io/model/internal/ml_output_impl.hpp:248:21: note: +2, including nesting penalty of 1, nesting level increased to 2
      248 |                     for( const auto& surface : model_.boundaries( region ) )
          |                     ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/include/geode/geosciences_io/model/internal/ml_output_impl.hpp:252:47: note: +3, including nesting penalty of 2, nesting level increased to 3
      252 |                                               ? '+'
          |                                               ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/include/geode/geosciences_io/model/internal/ml_output_impl.hpp:257:25: note: +3, including nesting penalty of 2, nesting level increased to 3
      257 |                         if( counter % 5 == 0 )
          |                         ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/include/geode/geosciences_io/model/internal/ml_output_impl.hpp:262:21: note: +2, including nesting penalty of 1, nesting level increased to 2
      262 |                     for( const auto& surface :
          |                     ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/include/geode/geosciences_io/model/internal/ml_output_impl.hpp:268:25: note: +3, including nesting penalty of 2, nesting level increased to 3
      268 |                         if( counter % 5 == 0 )
          |                         ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/include/geode/geosciences_io/model/internal/ml_output_impl.hpp:275:25: note: +3, including nesting penalty of 2, nesting level increased to 3
      275 |                         if( counter % 5 == 0 )
          |                         ^
  • include/geode/geosciences_io/model/internal/ml_output_impl.hpp:257:39: warning: [cppcoreguidelines-avoid-magic-numbers]

    5 is a magic number; consider replacing it with a named constant

      257 |                         if( counter % 5 == 0 )
          |                                       ^
  • include/geode/geosciences_io/model/internal/ml_output_impl.hpp:268:39: warning: [cppcoreguidelines-avoid-magic-numbers]

    5 is a magic number; consider replacing it with a named constant

      268 |                         if( counter % 5 == 0 )
          |                                       ^
  • include/geode/geosciences_io/model/internal/ml_output_impl.hpp:275:39: warning: [cppcoreguidelines-avoid-magic-numbers]

    5 is a magic number; consider replacing it with a named constant

      275 |                         if( counter % 5 == 0 )
          |                                       ^
  • include/geode/geosciences_io/model/internal/ml_output_impl.hpp:324:28: warning: [readability-identifier-length]

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

      324 |                 const auto v0 = mesh.polygon_vertex( PolygonVertex{ edge } );
          |                            ^
  • include/geode/geosciences_io/model/internal/ml_output_impl.hpp:325:28: warning: [readability-identifier-length]

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

      325 |                 const auto v1 = mesh.polygon_vertex(
          |                            ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:43:27: warning: [readability-static-definition-in-anonymous-namespace]

    'EOL' is a static definition in anonymous namespace; static is redundant here

       43 |     static constexpr char EOL{ '\n' };
          |     ~~~~~~                ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:44:27: warning: [readability-static-definition-in-anonymous-namespace]

    'SPACE' is a static definition in anonymous namespace; static is redundant here

       44 |     static constexpr char SPACE{ ' ' };
          |     ~~~~~~                ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:45:37: warning: [readability-static-definition-in-anonymous-namespace]

    'CHUNK_SIZE' is a static definition in anonymous namespace; static is redundant here

       45 |     static constexpr geode::index_t CHUNK_SIZE{ 1500 };
          |     ~~~~~~                          ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:47:32: warning: [readability-function-cognitive-complexity]

    function 'format_range_chunks' has cognitive complexity of 12 (threshold 10)

       47 |     std::vector< std::string > format_range_chunks(
          |                                ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:52:9: note: +1, including nesting penalty of 0, nesting level increased to 1
       52 |         if( elements.empty() )
          |         ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:59:29: note: nesting level increased to 1
       59 |         auto append_value = [&]( geode::index_t s, geode::index_t p ) {
          |                             ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:61:13: note: +2, including nesting penalty of 1, nesting level increased to 2
       61 |             if( s == p )
          |             ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:65:13: note: +1, nesting level increased to 2
       65 |             else
          |             ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:69:13: note: +2, including nesting penalty of 1, nesting level increased to 2
       69 |             if( current.size() + tmp.size() + 1 > max_chunk_size )
          |             ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:75:13: note: +2, including nesting penalty of 1, nesting level increased to 2
       75 |             if( !current.empty() )
          |             ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:81:9: note: +1, including nesting penalty of 0, nesting level increased to 1
       81 |         for( const auto i : geode::Range{ 1, elements.size() } )
          |         ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:83:13: note: +2, including nesting penalty of 1, nesting level increased to 2
       83 |             if( elements[i] == prev + 1 )
          |             ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:92:9: note: +1, including nesting penalty of 0, nesting level increased to 1
       92 |         if( !current.empty() )
          |         ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:59:49: warning: [readability-identifier-length]

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

       59 |         auto append_value = [&]( geode::index_t s, geode::index_t p ) {
          |                                                 ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:59:67: warning: [readability-identifier-length]

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

       59 |         auto append_value = [&]( geode::index_t s, geode::index_t p ) {
          |                                                                   ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:101:16: warning: [modernize-return-braced-init-list]

    avoid repeating the return type from the declaration; use a braced initializer list instead

      101 |         return std::string( n, SPACE );
          |                ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:114:31: warning: [clang-diagnostic-unused-const-variable]

    unused variable 'SURFACE_NAME_ATTRIBUTE'

      114 |         static constexpr auto SURFACE_NAME_ATTRIBUTE = "surface_name";
          |                               ^~~~~~~~~~~~~~~~~~~~~~
  • src/geode/geosciences_io/mesh/fem_output.cpp:115:31: warning: [clang-diagnostic-unused-const-variable]

    unused variable 'LINE_NAME_ATTRIBUTE'

      115 |         static constexpr auto LINE_NAME_ATTRIBUTE = "line_name";
          |                               ^~~~~~~~~~~~~~~~~~~
  • src/geode/geosciences_io/mesh/fem_output.cpp:118:41: warning: [clang-diagnostic-unused-const-variable]

    unused variable 'OFFSET_START'

      118 |         static constexpr geode::index_t OFFSET_START{ 1 };
          |                                         ^~~~~~~~~~~~
  • src/geode/geosciences_io/mesh/fem_output.cpp:163:25: warning: [bugprone-unused-local-non-trivial-variable]

    unused local variable 'four_spaces' of type 'std::string' (aka 'basic_string')

      163 |             std::string four_spaces = "    ";
          |                         ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:210:25: warning: [performance-unnecessary-value-param]

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

      210 |             std::string attribute_value,
          |                         ^
          |             const      &
  • src/geode/geosciences_io/mesh/fem_output.cpp:216:29: warning: [readability-redundant-string-init]

    redundant string initialization

      216 |                 std::string line = "";
          |                             ^~~~~~~~~
          |                             line
  • src/geode/geosciences_io/mesh/fem_output.cpp:232:22: warning: [bugprone-unchecked-optional-access]

    unchecked access to optional value

      232 |             file_ << attribute.name().value() << EOL;
          |                      ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:238:23: warning: [performance-for-range-copy]

    loop variable is copied but only used as const reference; consider making it a const reference

      238 |             for( auto val : attribute_distribution )
          |                       ^
          |                  const  &
  • src/geode/geosciences_io/mesh/fem_output.cpp:276:29: warning: [readability-identifier-length]

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

      276 |             for( const auto id :
          |                             ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:283:24: warning: [bugprone-unchecked-optional-access]

    unchecked access to optional value

      283 |                     || attribute->name().value() == "points" )
          |                        ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:391:36: warning: [bugprone-narrowing-conversions]

    narrowing conversion from 'geode::index_t' (aka 'unsigned int') to signed type 'int' is implementation-defined

      391 |                 create_coord_dist( dim );
          |                                    ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:394:13: warning: [modernize-loop-convert]

    use range-based for loop instead

      394 |             for( auto val = dist.begin(); val != dist.end(); ++val )
          |             ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |                (auto & val : dist)
      395 |             {
      396 |                 values.push_back( val->first );
          |                                   ~~~~~
          |                                   val.
  • src/geode/geosciences_io/mesh/fem_output.cpp:401:29: warning: [readability-redundant-string-init]

    redundant string initialization

      401 |                 std::string line = "";
          |                             ^~~~~~~~~
          |                             line
  • src/geode/geosciences_io/mesh/fem_output.cpp:422:17: warning: [bugprone-narrowing-conversions]

    narrowing conversion from 'size_type' (aka 'unsigned long') to signed type 'int' is implementation-defined

      422 |                 solid_.polyhedron_attribute_manager().attribute_ids().size()
          |                 ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:427:29: warning: [readability-identifier-length]

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

      427 |             for( const auto id :
          |                             ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:433:24: warning: [bugprone-unchecked-optional-access]

    unchecked access to optional value

      433 |                     || attribute->name().value() == "tetrahedron_vertices"
          |                        ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:434:24: warning: [bugprone-unchecked-optional-access]

    unchecked access to optional value

      434 |                     || attribute->name().value() == "tetrahedron_adjacents"
          |                        ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:435:24: warning: [bugprone-unchecked-optional-access]

    unchecked access to optional value

      435 |                     || attribute->name().value() == "geode_active" )
          |                        ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:500:28: warning: [performance-unnecessary-copy-initialization]

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

      500 |                 const auto value = attribute.value( obj );
          |                            ^
          |                           &
  • src/geode/geosciences_io/mesh/fem_output.cpp:522:26: warning: [bugprone-narrowing-conversions]

    narrowing conversion from 'index_t' (aka 'unsigned int') to signed type 'int' is implementation-defined

      522 |             int nb_obj = ( create_element_region ? solid_.nb_polyhedra()
          |                          ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:584:13: warning: [google-explicit-constructor]

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

      584 |             FeatureGroup( std::string group_name ) : name( group_name ) {}
          |             ^
          |             explicit 
  • src/geode/geosciences_io/mesh/fem_output.cpp:584:27: warning: [modernize-pass-by-value]

    pass by value and use std::move

      584 |             FeatureGroup( std::string group_name ) : name( group_name ) {}
          |                           ^
          |                                                           std::move(  )
  • src/geode/geosciences_io/mesh/fem_output.cpp:584:60: warning: [performance-unnecessary-value-param]

    parameter 'group_name' is passed by value and only copied once; consider moving it to avoid unnecessary copies

      584 |             FeatureGroup( std::string group_name ) : name( group_name ) {}
          |                                                            ^
          |                                                            std::move()
  • src/geode/geosciences_io/mesh/fem_output.cpp:586:13: warning: [modernize-use-nodiscard]

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

      586 |             geode::index_t nb_features() const
          |             ^
          |             [[nodiscard]] 
  • src/geode/geosciences_io/mesh/fem_output.cpp:614:13: warning: [modernize-use-nodiscard]

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

      614 |             geode::index_t nb_features() const
          |             ^
          |             [[nodiscard]] 
  • src/geode/geosciences_io/mesh/fem_output.cpp:617:34: warning: [readability-identifier-naming]

    invalid case style for variable 'feature1D_group'

      617 |                 for( const auto& feature1D_group : features1D_groups )
          |                                  ^~~~~~~~~~~~~~~
          |                                  feature1_d_group
      618 |                 {
      619 |                     nb_features += feature1D_group.nb_features();
          |                                    ~~~~~~~~~~~~~~~
          |                                    feature1_d_group
  • src/geode/geosciences_io/mesh/fem_output.cpp:621:34: warning: [readability-identifier-naming]

    invalid case style for variable 'feature2D_group'

      621 |                 for( const auto& feature2D_group : features2D_groups )
          |                                  ^~~~~~~~~~~~~~~
          |                                  feature2_d_group
      622 |                 {
      623 |                     nb_features += feature2D_group.nb_features();
          |                                    ~~~~~~~~~~~~~~~
          |                                    feature2_d_group
  • src/geode/geosciences_io/mesh/fem_output.cpp:628:13: warning: [modernize-use-nodiscard]

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

      628 |             geode::index_t nb_groups() const
          |             ^
          |             [[nodiscard]] 
  • src/geode/geosciences_io/mesh/fem_output.cpp:636:31: warning: [readability-identifier-naming]

    invalid case style for private member 'FEATURE1D_GROUP_NAME'

      636 |             const std::string FEATURE1D_GROUP_NAME = "Edge_Feature_LDS";
          |                               ^~~~~~~~~~~~~~~~~~~~
          |                               FEATURE1D_GROUP_NAME_
  • src/geode/geosciences_io/mesh/fem_output.cpp:637:31: warning: [readability-identifier-naming]

    invalid case style for private member 'FEATURE2D_GROUP_NAME'

      637 |             const std::string FEATURE2D_GROUP_NAME = "Surface_Feature_LDS";
          |                               ^~~~~~~~~~~~~~~~~~~~
          |                               FEATURE2D_GROUP_NAME_
  • src/geode/geosciences_io/mesh/fem_output.cpp:657:13: warning: [modernize-use-nodiscard]

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

      657 |             bool must_build_2d_feature_groups() const
          |             ^
          |             [[nodiscard]] 
  • src/geode/geosciences_io/mesh/fem_output.cpp:673:18: warning: [readability-function-cognitive-complexity]

    function 'build_2d_feature_groups' has cognitive complexity of 14 (threshold 10)

      673 |             void build_2d_feature_groups()
          |                  ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:709:17: note: +1, including nesting penalty of 0, nesting level increased to 1
      709 |                 for( const auto facet :
          |                 ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:714:21: note: +2, including nesting penalty of 1, nesting level increased to 2
      714 |                     if( aperture_value < 0.0 )
          |                     ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:719:21: note: +2, including nesting penalty of 1, nesting level increased to 2
      719 |                     for( const auto& vertex :
          |                     ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:730:21: note: +2, including nesting penalty of 1, nesting level increased to 2
      730 |                     if( !aperture_property )
          |                     ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:741:21: note: +1, nesting level increased to 2
      741 |                     else
          |                     ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:749:21: note: +2, including nesting penalty of 1, nesting level increased to 2
      749 |                     if( conductivity_value > 0.0 )
          |                     ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:754:25: note: +3, including nesting penalty of 2, nesting level increased to 3
      754 |                         if( !conductivity_property )
          |                         ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:766:25: note: +1, nesting level increased to 3
      766 |                         else
          |                         ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:675:23: warning: [readability-identifier-naming]

    invalid case style for variable 'feature2D_group'

      675 |                 auto& feature2D_group =
          |                       ^~~~~~~~~~~~~~~
          |                       feature2_d_group
  • src/geode/geosciences_io/mesh/fem_output.cpp:679:21: warning: [bugprone-unchecked-optional-access]

    unchecked access to optional value

      679 |                     solid_.facets()
          |                     ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:689:17: warning: [cppcoreguidelines-pro-type-member-init]

    uninitialized record type: 'conductivity_attribute_values'

      689 |                 geode::AttributeValues< double > conductivity_attribute_values;
          |                 ^                                                             
          |                                                                               {}
  • src/geode/geosciences_io/mesh/fem_output.cpp:724:27: warning: [readability-identifier-naming]

    invalid case style for variable 'feature2D'

      724 |                     auto& feature2D = feature2D_group.features.emplace_back();
          |                           ^~~~~~~~~
          |                           feature2_d
      725 |                     feature2D.nodes = facet_vertices;
          |                     ~~~~~~~~~
          |                     feature2_d
      726 |                     feature2D.feature_id = feature_id_;
          |                     ~~~~~~~~~
          |                     feature2_d
  • src/geode/geosciences_io/mesh/fem_output.cpp:786:13: warning: [modernize-use-nodiscard]

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

      786 |             bool must_build_1d_feature_groups() const
          |             ^
          |             [[nodiscard]] 
  • src/geode/geosciences_io/mesh/fem_output.cpp:803:18: warning: [readability-function-cognitive-complexity]

    function 'build_1d_feature_groups' has cognitive complexity of 14 (threshold 10)

      803 |             void build_1d_feature_groups()
          |                  ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:840:17: note: +1, including nesting penalty of 0, nesting level increased to 1
      840 |                 for( const auto edge :
          |                 ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:845:21: note: +2, including nesting penalty of 1, nesting level increased to 2
      845 |                     if( conduit_area_value < 0.0 )
          |                     ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:850:21: note: +2, including nesting penalty of 1, nesting level increased to 2
      850 |                     for( const auto& vertex :
          |                     ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:861:21: note: +2, including nesting penalty of 1, nesting level increased to 2
      861 |                     if( !conduit_area_property )
          |                     ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:872:21: note: +1, nesting level increased to 2
      872 |                     else
          |                     ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:881:21: note: +2, including nesting penalty of 1, nesting level increased to 2
      881 |                     if( conductivity_value > 0.0 )
          |                     ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:886:25: note: +3, including nesting penalty of 2, nesting level increased to 3
      886 |                         if( !conductivity_property )
          |                         ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:898:25: note: +1, nesting level increased to 3
      898 |                         else
          |                         ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:805:23: warning: [readability-identifier-naming]

    invalid case style for variable 'feature1D_group'

      805 |                 auto& feature1D_group =
          |                       ^~~~~~~~~~~~~~~
          |                       feature1_d_group
  • src/geode/geosciences_io/mesh/fem_output.cpp:809:21: warning: [bugprone-unchecked-optional-access]

    unchecked access to optional value

      809 |                     solid_.edges()
          |                     ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:820:17: warning: [cppcoreguidelines-pro-type-member-init]

    uninitialized record type: 'conductivity_attribute_values'

      820 |                 geode::AttributeValues< double > conductivity_attribute_values;
          |                 ^                                                             
          |                                                                               {}
  • src/geode/geosciences_io/mesh/fem_output.cpp:855:27: warning: [readability-identifier-naming]

    invalid case style for variable 'feature1D'

      855 |                     auto& feature1D = feature1D_group.features.emplace_back();
          |                           ^~~~~~~~~
          |                           feature1_d
      856 |                     feature1D.nodes = edge_vertices;
          |                     ~~~~~~~~~
          |                     feature1_d
      857 |                     feature1D.feature_id = feature_id_;
          |                     ~~~~~~~~~
          |                     feature1_d
  • src/geode/geosciences_io/mesh/fem_output.cpp:922:48: warning: [performance-unnecessary-value-param]

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

      922 |         std::string xml_start_tag( std::string tag )
          |                                                ^
          |                                    const      &
  • src/geode/geosciences_io/mesh/fem_output.cpp:927:48: warning: [performance-unnecessary-value-param]

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

      927 |         std::string xml_start_tag( std::string tag, std::string value )
          |                                                ^
          |                                    const      &
  • src/geode/geosciences_io/mesh/fem_output.cpp:927:65: warning: [performance-unnecessary-value-param]

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

      927 |         std::string xml_start_tag( std::string tag, std::string value )
          |                                                                 ^
          |                                                     const      &
  • src/geode/geosciences_io/mesh/fem_output.cpp:932:46: warning: [performance-unnecessary-value-param]

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

      932 |         std::string xml_end_tag( std::string tag )
          |                                              ^
          |                                  const      &
  • src/geode/geosciences_io/mesh/fem_output.cpp:948:53: warning: [performance-unnecessary-value-param]

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

      948 |             geode::index_t nb_features, std::string signature )
          |                                                     ^
          |                                         const      &
  • src/geode/geosciences_io/mesh/fem_output.cpp:970:34: warning: [cppcoreguidelines-avoid-magic-numbers]

    6 is a magic number; consider replacing it with a named constant

      970 |             file_ << add_spaces( 6 ) << CDATA_TAG_START << EOL;
          |                                  ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:971:30: warning: [readability-identifier-naming]

    invalid case style for variable 'feature2D_group'

      971 |             for( const auto& feature2D_group : features.features2D_groups )
          |                              ^~~~~~~~~~~~~~~
          |                              feature2_d_group
      972 |             {
      973 |                 write_feature_signature(
      974 |                     feature2D_group.nb_features(), "c2d3,darcy" );
          |                     ~~~~~~~~~~~~~~~
          |                     feature2_d_group
  • src/geode/geosciences_io/mesh/fem_output.cpp:977:30: warning: [readability-identifier-naming]

    invalid case style for variable 'feature1D_group'

      977 |             for( const auto& feature1D_group : features.features1D_groups )
          |                              ^~~~~~~~~~~~~~~
          |                              feature1_d_group
      978 |             {
      979 |                 write_feature_signature(
      980 |                     feature1D_group.nb_features(), "c1d2,darcy" );
          |                     ~~~~~~~~~~~~~~~
          |                     feature1_d_group
  • src/geode/geosciences_io/mesh/fem_output.cpp:994:47: warning: [cppcoreguidelines-avoid-magic-numbers]

    5 is a magic number; consider replacing it with a named constant

      994 |                     absl::StrCat( add_spaces( 5 ), feature.nodes.size() );
          |                                               ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:1016:34: warning: [cppcoreguidelines-avoid-magic-numbers]

    6 is a magic number; consider replacing it with a named constant

     1016 |             file_ << add_spaces( 6 ) << CDATA_TAG_START << EOL;
          |                                  ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:1017:30: warning: [readability-identifier-naming]

    invalid case style for variable 'feature2D_group'

     1017 |             for( const auto& feature2D_group : features.features2D_groups )
          |                              ^~~~~~~~~~~~~~~
          |                              feature2_d_group
     1018 |             {
     1019 |                 write_feature_nodal_incidence_matrix< DiscreteFeature2D >(
     1020 |                     feature2D_group.features );
          |                     ~~~~~~~~~~~~~~~
          |                     feature2_d_group
  • src/geode/geosciences_io/mesh/fem_output.cpp:1023:30: warning: [readability-identifier-naming]

    invalid case style for variable 'feature1D_group'

     1023 |             for( const auto& feature1D_group : features.features1D_groups )
          |                              ^~~~~~~~~~~~~~~
          |                              feature1_d_group
     1024 |             {
     1025 |                 write_feature_nodal_incidence_matrix< DiscreteFeature1D >(
     1026 |                     feature1D_group.features );
          |                     ~~~~~~~~~~~~~~~
          |                     feature1_d_group
  • src/geode/geosciences_io/mesh/fem_output.cpp:1040:25: warning: [modernize-raw-string-literal]

    escaped string literal can be written as a raw string literal

     1040 |                         " law=\"darcy\" mode=\"unstructured\"" );
          |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |                         R"( law="darcy" mode="unstructured")"
  • src/geode/geosciences_io/mesh/fem_output.cpp:1041:38: warning: [cppcoreguidelines-avoid-magic-numbers]

    6 is a magic number; consider replacing it with a named constant

     1041 |                 file_ << add_spaces( 6 )
          |                                      ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:1044:38: warning: [cppcoreguidelines-avoid-magic-numbers]

    8 is a magic number; consider replacing it with a named constant

     1044 |                 file_ << add_spaces( 8 ) << "<elements count=\""
          |                                      ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:1047:38: warning: [cppcoreguidelines-avoid-magic-numbers]

    10 is a magic number; consider replacing it with a named constant

     1047 |                 file_ << add_spaces( 10 ) << CDATA_TAG_START;
          |                                      ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:1060:38: warning: [cppcoreguidelines-avoid-magic-numbers]

    8 is a magic number; consider replacing it with a named constant

     1060 |                 file_ << add_spaces( 8 ) << xml_end_tag( "elements" ) << EOL;
          |                                      ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:1061:38: warning: [cppcoreguidelines-avoid-magic-numbers]

    6 is a magic number; consider replacing it with a named constant

     1061 |                 file_ << add_spaces( 6 ) << xml_end_tag( "group" ) << EOL;
          |                                      ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:1082:34: warning: [cppcoreguidelines-avoid-magic-numbers]

    6 is a magic number; consider replacing it with a named constant

     1082 |             file_ << add_spaces( 6 ) << xml_start_tag( "flow" ) << EOL;
          |                                  ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:1083:34: warning: [cppcoreguidelines-avoid-magic-numbers]

    8 is a magic number; consider replacing it with a named constant

     1083 |             file_ << add_spaces( 8 ) << xml_start_tag( "materials" ) << EOL;
          |                                  ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:1088:34: warning: [cppcoreguidelines-avoid-magic-numbers]

    8 is a magic number; consider replacing it with a named constant

     1088 |             file_ << add_spaces( 8 ) << xml_end_tag( "materials" ) << EOL;
          |                                  ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:1089:34: warning: [cppcoreguidelines-avoid-magic-numbers]

    6 is a magic number; consider replacing it with a named constant

     1089 |             file_ << add_spaces( 6 ) << xml_end_tag( "flow" ) << EOL;
          |                                  ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:1093:14: warning: [readability-function-cognitive-complexity]

    function 'write_material_property' has cognitive complexity of 15 (threshold 10)

     1093 |         void write_material_property( std::string material_id,
          |              ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:1101:13: note: +1, including nesting penalty of 0, nesting level increased to 1
     1101 |             for( const auto& [value, feature_ids] :
          |             ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:1107:17: note: +2, including nesting penalty of 1, nesting level increased to 2
     1107 |                 if( range_chunks.size() == 1 )
          |                 ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:1111:21: note: +3, including nesting penalty of 2, nesting level increased to 3
     1111 |                     if( iterator < property_values_to_features.size() - 1 )
          |                     ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:1116:17: note: +1, nesting level increased to 2
     1116 |                 else
          |                 ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:1118:21: note: +3, including nesting penalty of 2, nesting level increased to 3
     1118 |                     for( const auto chunk :
          |                     ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:1124:25: note: +4, including nesting penalty of 3, nesting level increased to 4
     1124 |                         if( iterator < property_values_to_features.size() - 1
          |                         ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:1125:29: note: +1
     1125 |                             && chunk < range_chunks.size() - 1 )
          |                             ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:1097:34: warning: [cppcoreguidelines-avoid-magic-numbers]

    10 is a magic number; consider replacing it with a named constant

     1097 |             file_ << add_spaces( 10 )
          |                                  ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:1098:52: warning: [performance-unnecessary-value-param]

    parameter 'material_id' is passed by value and only copied once; consider moving it to avoid unnecessary copies

     1098 |                   << xml_start_tag( "material id", material_id ) << EOL;
          |                                                    ^
          |                                                    std::move( )
  • src/geode/geosciences_io/mesh/fem_output.cpp:1099:34: warning: [cppcoreguidelines-avoid-magic-numbers]

    12 is a magic number; consider replacing it with a named constant

     1099 |             file_ << add_spaces( 12 ) << CDATA_TAG_START << EOL;
          |                                  ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:1109:42: warning: [cppcoreguidelines-avoid-magic-numbers]

    14 is a magic number; consider replacing it with a named constant

     1109 |                     file_ << add_spaces( 14 ) << value << add_spaces( 1 )
          |                                          ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:1122:46: warning: [cppcoreguidelines-avoid-magic-numbers]

    14 is a magic number; consider replacing it with a named constant

     1122 |                         file_ << add_spaces( 14 ) << value << add_spaces( 1 )
          |                                              ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:1134:34: warning: [cppcoreguidelines-avoid-magic-numbers]

    10 is a magic number; consider replacing it with a named constant

     1134 |             file_ << add_spaces( 10 ) << xml_end_tag( "material" ) << EOL;
          |                                  ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:1154:14: warning: [readability-function-cognitive-complexity]

    function 'write_discrete_feature_properties' has cognitive complexity of 18 (threshold 10)

     1154 |         void write_discrete_feature_properties( DiscreteFeatures& features )
          |              ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:1156:13: note: +1, including nesting penalty of 0, nesting level increased to 1
     1156 |             if( features.features2D_groups.empty()
          |             ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:1157:17: note: +1
     1157 |                 && features.features1D_groups.empty() )
          |                 ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:1164:13: note: +1, including nesting penalty of 0, nesting level increased to 1
     1164 |             if( !features.features2D_groups.empty() )
          |             ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:1171:13: note: +1, including nesting penalty of 0, nesting level increased to 1
     1171 |             if( !features.features1D_groups.empty() )
          |             ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:1177:13: note: +1, including nesting penalty of 0, nesting level increased to 1
     1177 |             if( aperture_property_index )
          |             ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:1183:17: note: +2, including nesting penalty of 1, nesting level increased to 2
     1183 |                 if( area_property_index )
          |                 ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:1193:13: note: +1, nesting level increased to 1
     1193 |             else
          |             ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:1195:17: note: +2, including nesting penalty of 1, nesting level increased to 2
     1195 |                 if( area_property_index )
          |                 ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:1206:13: note: +1, including nesting penalty of 0, nesting level increased to 1
     1206 |             if( !features.features2D_groups.empty() )
          |             ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:1214:13: note: +1, including nesting penalty of 0, nesting level increased to 1
     1214 |             if( !features.features1D_groups.empty() )
          |             ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:1220:13: note: +1, including nesting penalty of 0, nesting level increased to 1
     1220 |             if( conductivity_property_index )
          |             ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:1226:17: note: +2, including nesting penalty of 1, nesting level increased to 2
     1226 |                 if( conductivity_1D_property_index )
          |                 ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:1236:13: note: +1, nesting level increased to 1
     1236 |             else
          |             ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/fem_output.cpp:1238:17: note: +2, including nesting penalty of 1, nesting level increased to 2
     1238 |                 if( conductivity_1D_property_index )
          |                 ^
  • src/geode/geosciences_io/mesh/fem_output.cpp:1179:29: warning: [readability-identifier-naming]

    invalid case style for variable 'property2D'

     1179 |                 const auto& property2D =
          |                             ^~~~~~~~~~
          |                             property2_d
     1180 |                     features.features2D_groups.front()
     1181 |                         .properties[aperture_property_index.value()];
     1182 |                 auto values_to_features = property2D.values_to_features;
          |                                           ~~~~~~~~~~
          |                                           property2_d
  • src/geode/geosciences_io/mesh/fem_output.cpp:1185:33: warning: [readability-identifier-naming]

    invalid case style for variable 'property1D'

     1185 |                     const auto& property1D =
          |                                 ^~~~~~~~~~
          |                                 property1_d
     1186 |                         features.features1D_groups.front()
     1187 |                             .properties[aperture_property_index.value()];
     1188 |                     combine_maps(
     1189 |                         values_to_features, property1D.values_to_features );
          |                                             ~~~~~~~~~~
          |                                             property1_d
  • src/geode/geosciences_io/mesh/fem_output.cpp:1197:33: warning: [readability-identifier-naming]

    invalid case style for variable 'property1D'

     1197 |                     const auto& property1D =
          |                                 ^~~~~~~~~~
          |                                 property1_d
     1198 |                         features.features1D_groups.front()
     1199 |                             .properties[area_property_index.value()];
     1200 |                     auto values_to_features = property1D.values_to_features;
          |                                               ~~~~~~~~~~
          |                                               property1_d
  • src/geode/geosciences_io/mesh/fem_output.cpp:1212:45: warning: [readability-identifier-naming]

    invalid case style for variable 'conductivity_1D_property_index'

     1212 |             std::optional< geode::index_t > conductivity_1D_property_index =
          |                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |                                             conductivity_1_d_property_index
     1213 |                 std::nullopt;
     1214 |             if( !features.features1D_groups.empty() )
     1215 |             {
     1216 |                 conductivity_1D_property_index =
          |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |                 conductivity_1_d_property_index
     1217 |                     features.features1D_groups.front().get_property(
     1218 |                         CONDUCTIVITY_ATTRIBUTE_NAME );
     1219 |             }
     1220 |             if( conductivity_property_index )
     1221 |             {
     1222 |                 const auto& property =
     1223 |                     features.features2D_groups.front()
     1224 |                         .properties[conductivity_property_index.value()];
     1225 |                 auto values_to_features = property.values_to_features;
     1226 |                 if( conductivity_1D_property_index )
          |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |                     conductivity_1_d_property_index
  • src/geode/geosciences_io/mesh/fem_output.cpp:1228:33: warning: [readability-identifier-naming]

    invalid case style for variable 'property1D'

     1228 |                     const auto& property1D =
          |                                 ^~~~~~~~~~
          |                                 property1_d
     1229 |                         features.features1D_groups.front()
     1230 |                             .properties[conductivity_1D_property_index.value()];
     1231 |                     combine_maps(
     1232 |                         values_to_features, property1D.values_to_features );
          |                                             ~~~~~~~~~~
          |                                             property1_d
  • src/geode/geosciences_io/mesh/fem_output.cpp:1240:33: warning: [readability-identifier-naming]

    invalid case style for variable 'property1D'

     1240 |                     const auto& property1D =
          |                                 ^~~~~~~~~~
          |                                 property1_d
     1241 |                         features.features1D_groups.front()
     1242 |                             .properties[conductivity_1D_property_index.value()];
     1243 |                     auto values_to_features = property1D.values_to_features;
          |                                               ~~~~~~~~~~
          |                                               property1_d
  • src/geode/geosciences_io/mesh/fem_output.cpp:1280:76: warning: [readability-redundant-member-init]

    initializer for member 'generic_att_' is redundant

     1280 |         std::vector< std::shared_ptr< geode::AttributeBase > > generic_att_{};
          |                                                                            ^~
  • src/geode/geosciences_io/mesh/fem_output.cpp:1284:1: warning: [modernize-concat-nested-namespaces]

    nested namespaces can be concatenated

     1284 | namespace geode
          | ^~~~~~~~~~~~~~~
     1285 | {
          | ~
     1286 |     namespace internal
          |     ~~~~~~~~~~~~~~~~~~
          |     namespace geode::internal
     1287 |     {
     1288 |         std::vector< std::string > SolidFemOutput::write(
     1289 |             const TetrahedralSolid3D& solid ) const
     1290 |         {
     1291 |             SolidFemOutputImpl impl{ filename(), solid };
     1292 |             impl.write_file();
     1293 |             return { to_string( filename() ) };
     1294 |         }
     1295 |     } // namespace internal
          |     ~~~~~~~~~~~~~~~~~~~~~~~
          |     } // namespace geode::internal
     1296 | } // namespace geode
          | ~~~~~~~~~~~~~~~~~~~~
  • src/geode/geosciences_io/mesh/gocad_common.cpp:42:47: warning: [performance-unnecessary-value-param]

    the const qualified parameter 'tokens' is copied for each invocation; consider making it a reference

       42 |         const std::vector< std::string_view > tokens,
          |                                               ^
          |                                              &
  • src/geode/geosciences_io/mesh/gocad_common.cpp:47:23: warning: [bugprone-inc-dec-in-conditions]

    incrementing and referencing a variable in a complex condition can cause unintended side-effects due to C++'s order of evaluation, consider moving the modification outside of the condition to avoid misunderstandings

       47 |             from_to_id++ < tokens.size() && tokens[from_to_id].back() != '\"' )
          |                       ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/gocad_common.cpp:47:52: note: variable is referenced here
       47 |             from_to_id++ < tokens.size() && tokens[from_to_id].back() != '\"' )
          |                                                    ^
  • src/geode/geosciences_io/mesh/gocad_common.cpp:95:10: warning: [readability-function-cognitive-complexity]

    function 'read_ilines' has cognitive complexity of 12 (threshold 10)

       95 |     void read_ilines( std::ifstream& file, geode::internal::ECurveData& ecurve )
          |          ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/gocad_common.cpp:99:9: note: +1, including nesting penalty of 0, nesting level increased to 1
       99 |         while( std::getline( file, line ) )
          |         ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/gocad_common.cpp:103:13: note: +2, including nesting penalty of 1, nesting level increased to 2
      103 |             if( keyword == "VRTX" || keyword == "PVRTX" )
          |             ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/gocad_common.cpp:103:35: note: +1
      103 |             if( keyword == "VRTX" || keyword == "PVRTX" )
          |                                   ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/gocad_common.cpp:105:17: note: +3, including nesting penalty of 2, nesting level increased to 3
      105 |                 if( ecurve.points.empty() )
          |                 ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/gocad_common.cpp:113:56: note: +3, including nesting penalty of 2, nesting level increased to 3
      113 |                         * ( ecurve.crs.z_sign_positive ? 1. : -1. ) } );
          |                                                        ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/gocad_common.cpp:115:18: note: +1, nesting level increased to 2
      115 |             else if( keyword == "SEG" )
          |                  ^
    /__w/OpenGeode-GeosciencesIO/OpenGeode-GeosciencesIO/src/geode/geosciences_io/mesh/gocad_common.cpp:122:18: note: +1, nesting level increased to 2
      122 |             else if( keyword == "END" )
          |                  ^
  • src/geode/geosciences_io/mesh/gocad_common.cpp:150:62: warning: [cppcoreguidelines-avoid-magic-numbers]

    5 is a magic number; consider replacing it with a named constant

      150 |                     tsurf.vertices_attribute_values, tokens, 5 );
          |                                                              ^
  • src/geode/geosciences_io/model/internal/brep_fem_output.cpp:66:31: warning: [clang-diagnostic-unused-const-variable]

    unused variable 'EOL'

       66 |         static constexpr char EOL{ '\n' };
          |                               ^~~

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