Skip to content

fix(Python): add smart holder on Identified objects#1246

Merged
BotellaA merged 2 commits intonextfrom
feat/v0
Mar 12, 2026
Merged

fix(Python): add smart holder on Identified objects#1246
BotellaA merged 2 commits intonextfrom
feat/v0

Conversation

@panquez
Copy link
Member

@panquez panquez commented Mar 11, 2026

No description provided.

@github-actions
Copy link
Contributor

Cpp-Linter Report ⚠️

Some files did not pass the configured checks!

clang-tidy (v20.1.8) reports: 110 concern(s)
  • bindings/python/src/basic/cell_array.cpp:47:10: warning: [misc-use-internal-linkage]

    function 'define_cell_array' can be made static or moved into an anonymous namespace to enforce internal linkage

       47 |     void define_cell_array( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/basic/cell_array.cpp:49:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       49 |         PYTHON_ARRAY( 1 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/basic/cell_array.cpp:30:21: note: expanded from macro 'PYTHON_ARRAY'
       30 |         "CellArray" + std::to_string( dimension ) + "D";                       \
          |                     ^
  • bindings/python/src/basic/cell_array.cpp:50:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       50 |         PYTHON_ARRAY( 2 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/basic/cell_array.cpp:30:21: note: expanded from macro 'PYTHON_ARRAY'
       30 |         "CellArray" + std::to_string( dimension ) + "D";                       \
          |                     ^
  • bindings/python/src/basic/cell_array.cpp:51:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       51 |         PYTHON_ARRAY( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/basic/cell_array.cpp:30:21: note: expanded from macro 'PYTHON_ARRAY'
       30 |         "CellArray" + std::to_string( dimension ) + "D";                       \
          |                     ^
  • bindings/python/src/basic/identifier.cpp:31:10: warning: [misc-use-internal-linkage]

    function 'define_identifier' can be made static or moved into an anonymous namespace to enforce internal linkage

       31 |     void define_identifier( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/geometry/coordinate_system.cpp:47:10: warning: [misc-use-internal-linkage]

    function 'define_coordinate_system' can be made static or moved into an anonymous namespace to enforce internal linkage

       47 |     void define_coordinate_system( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/geometry/coordinate_system.cpp:49:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       49 |         PYTHON_COORDINATE_SYSTEM( 1 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/geometry/coordinate_system.cpp:30:28: note: expanded from macro 'PYTHON_COORDINATE_SYSTEM'
       30 |         "CoordinateSystem" + std::to_string( dimension ) + "D";                \
          |                            ^
  • bindings/python/src/geometry/coordinate_system.cpp:50:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       50 |         PYTHON_COORDINATE_SYSTEM( 2 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/geometry/coordinate_system.cpp:30:28: note: expanded from macro 'PYTHON_COORDINATE_SYSTEM'
       30 |         "CoordinateSystem" + std::to_string( dimension ) + "D";                \
          |                            ^
  • bindings/python/src/geometry/coordinate_system.cpp:51:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       51 |         PYTHON_COORDINATE_SYSTEM( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/geometry/coordinate_system.cpp:30:28: note: expanded from macro 'PYTHON_COORDINATE_SYSTEM'
       30 |         "CoordinateSystem" + std::to_string( dimension ) + "D";                \
          |                            ^
  • bindings/python/src/image/core/raster_image.cpp:44:10: warning: [misc-use-internal-linkage]

    function 'define_raster_image' can be made static or moved into an anonymous namespace to enforce internal linkage

       44 |     void define_raster_image( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/image/core/raster_image.cpp:46:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       46 |         PYTHON_RASTER_IMAGE( 1 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/image/core/raster_image.cpp:31:23: note: expanded from macro 'PYTHON_RASTER_IMAGE'
       31 |         "RasterImage" + std::to_string( dimension ) + "D";                     \
          |                       ^
  • bindings/python/src/image/core/raster_image.cpp:47:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       47 |         PYTHON_RASTER_IMAGE( 2 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/image/core/raster_image.cpp:31:23: note: expanded from macro 'PYTHON_RASTER_IMAGE'
       31 |         "RasterImage" + std::to_string( dimension ) + "D";                     \
          |                       ^
  • bindings/python/src/image/core/raster_image.cpp:48:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       48 |         PYTHON_RASTER_IMAGE( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/image/core/raster_image.cpp:31:23: note: expanded from macro 'PYTHON_RASTER_IMAGE'
       31 |         "RasterImage" + std::to_string( dimension ) + "D";                     \
          |                       ^
  • bindings/python/src/mesh/core/crs_managers.cpp:70:10: warning: [misc-use-internal-linkage]

    function 'define_crs_managers' can be made static or moved into an anonymous namespace to enforce internal linkage

       70 |     void define_crs_managers( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/mesh/core/crs_managers.cpp:72:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       72 |         PYTHON_CRS_MANAGERS( 1 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/mesh/core/crs_managers.cpp:33:34: note: expanded from macro 'PYTHON_CRS_MANAGERS'
       33 |                                  + std::to_string( dimension ) + "D";          \
          |                                  ^
  • bindings/python/src/mesh/core/crs_managers.cpp:73:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       73 |         PYTHON_CRS_MANAGERS( 2 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/mesh/core/crs_managers.cpp:33:34: note: expanded from macro 'PYTHON_CRS_MANAGERS'
       33 |                                  + std::to_string( dimension ) + "D";          \
          |                                  ^
  • bindings/python/src/mesh/core/crs_managers.cpp:74:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       74 |         PYTHON_CRS_MANAGERS( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/mesh/core/crs_managers.cpp:33:34: note: expanded from macro 'PYTHON_CRS_MANAGERS'
       33 |                                  + std::to_string( dimension ) + "D";          \
          |                                  ^
  • bindings/python/src/mesh/core/edged_curve.cpp:53:10: warning: [misc-use-internal-linkage]

    function 'define_edged_curve' can be made static or moved into an anonymous namespace to enforce internal linkage

       53 |     void define_edged_curve( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/mesh/core/edged_curve.cpp:55:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       55 |         PYTHON_EDGED_CURVE( 2 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/mesh/core/edged_curve.cpp:33:22: note: expanded from macro 'PYTHON_EDGED_CURVE'
       33 |         "EdgedCurve" + std::to_string( dimension ) + "D";                      \
          |                      ^
  • bindings/python/src/mesh/core/edged_curve.cpp:56:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       56 |         PYTHON_EDGED_CURVE( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/mesh/core/edged_curve.cpp:33:22: note: expanded from macro 'PYTHON_EDGED_CURVE'
       33 |         "EdgedCurve" + std::to_string( dimension ) + "D";                      \
          |                      ^
  • bindings/python/src/mesh/core/graph.cpp:32:10: warning: [misc-use-internal-linkage]

    function 'define_graph' can be made static or moved into an anonymous namespace to enforce internal linkage

       32 |     void define_graph( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/mesh/core/grid.cpp:74:10: warning: [misc-use-internal-linkage]

    function 'define_grid' can be made static or moved into an anonymous namespace to enforce internal linkage

       74 |     void define_grid( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/mesh/core/grid.cpp:76:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       76 |         PYTHON_GRID( 2 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/mesh/core/grid.cpp:36:41: note: expanded from macro 'PYTHON_GRID'
       36 |     const auto name##dimension = "Grid" + std::to_string( dimension ) + "D";   \
          |                                         ^
  • bindings/python/src/mesh/core/grid.cpp:77:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       77 |         PYTHON_GRID( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/mesh/core/grid.cpp:36:41: note: expanded from macro 'PYTHON_GRID'
       36 |     const auto name##dimension = "Grid" + std::to_string( dimension ) + "D";   \
          |                                         ^
  • bindings/python/src/mesh/core/hybrid_solid.cpp:41:10: warning: [misc-use-internal-linkage]

    function 'define_hybrid_solid' can be made static or moved into an anonymous namespace to enforce internal linkage

       41 |     void define_hybrid_solid( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/mesh/core/hybrid_solid.cpp:43:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       43 |         PYTHON_HYBRID_SOLID( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/mesh/core/hybrid_solid.cpp:30:23: note: expanded from macro 'PYTHON_HYBRID_SOLID'
       30 |         "HybridSolid" + std::to_string( dimension ) + "D";                     \
          |                       ^
  • bindings/python/src/mesh/core/light_regular_grid.cpp:56:10: warning: [misc-use-internal-linkage]

    function 'define_light_regular_grid' can be made static or moved into an anonymous namespace to enforce internal linkage

       56 |     void define_light_regular_grid( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/mesh/core/point_set.cpp:45:10: warning: [misc-use-internal-linkage]

    function 'define_point_set' can be made static or moved into an anonymous namespace to enforce internal linkage

       45 |     void define_point_set( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/mesh/core/point_set.cpp:47:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       47 |         PYTHON_POINT_SET( 2 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/mesh/core/point_set.cpp:33:20: note: expanded from macro 'PYTHON_POINT_SET'
       33 |         "PointSet" + std::to_string( dimension ) + "D";                        \
          |                    ^
  • bindings/python/src/mesh/core/point_set.cpp:48:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       48 |         PYTHON_POINT_SET( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/mesh/core/point_set.cpp:33:20: note: expanded from macro 'PYTHON_POINT_SET'
       33 |         "PointSet" + std::to_string( dimension ) + "D";                        \
          |                    ^
  • bindings/python/src/mesh/core/polygonal_surface.cpp:42:10: warning: [misc-use-internal-linkage]

    function 'define_polygonal_surface' can be made static or moved into an anonymous namespace to enforce internal linkage

       42 |     void define_polygonal_surface( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/mesh/core/polygonal_surface.cpp:44:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       44 |         PYTHON_POLYGONAL_SURFACE( 2 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/mesh/core/polygonal_surface.cpp:30:28: note: expanded from macro 'PYTHON_POLYGONAL_SURFACE'
       30 |         "PolygonalSurface" + std::to_string( dimension ) + "D";                \
          |                            ^
  • bindings/python/src/mesh/core/polygonal_surface.cpp:45:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       45 |         PYTHON_POLYGONAL_SURFACE( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/mesh/core/polygonal_surface.cpp:30:28: note: expanded from macro 'PYTHON_POLYGONAL_SURFACE'
       30 |         "PolygonalSurface" + std::to_string( dimension ) + "D";                \
          |                            ^
  • bindings/python/src/mesh/core/polyhedral_solid.cpp:41:10: warning: [misc-use-internal-linkage]

    function 'define_polyhedral_solid' can be made static or moved into an anonymous namespace to enforce internal linkage

       41 |     void define_polyhedral_solid( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/mesh/core/polyhedral_solid.cpp:43:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       43 |         PYTHON_POLYHEDRAL_SOLID( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/mesh/core/polyhedral_solid.cpp:30:27: note: expanded from macro 'PYTHON_POLYHEDRAL_SOLID'
       30 |         "PolyhedralSolid" + std::to_string( dimension ) + "D";                 \
          |                           ^
  • bindings/python/src/mesh/core/regular_grid.cpp:47:10: warning: [misc-use-internal-linkage]

    function 'define_regular_grid' can be made static or moved into an anonymous namespace to enforce internal linkage

       47 |     void define_regular_grid( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/mesh/core/regular_grid.cpp:49:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       49 |         PYTHON_REGULAR_GRID( SurfaceMesh, 2 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/mesh/core/regular_grid.cpp:34:23: note: expanded from macro 'PYTHON_REGULAR_GRID'
       34 |         "RegularGrid" + std::to_string( dimension ) + "D";                     \
          |                       ^
  • bindings/python/src/mesh/core/regular_grid.cpp:50:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       50 |         PYTHON_REGULAR_GRID( SolidMesh, 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/mesh/core/regular_grid.cpp:34:23: note: expanded from macro 'PYTHON_REGULAR_GRID'
       34 |         "RegularGrid" + std::to_string( dimension ) + "D";                     \
          |                       ^
  • bindings/python/src/mesh/core/solid_mesh.cpp:148:10: warning: [misc-use-internal-linkage]

    function 'define_solid_mesh' can be made static or moved into an anonymous namespace to enforce internal linkage

      148 |     void define_solid_mesh( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/mesh/core/solid_mesh.cpp:150:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

      150 |         PYTHON_SOLID_MESH( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/mesh/core/solid_mesh.cpp:40:21: note: expanded from macro 'PYTHON_SOLID_MESH'
       40 |         "SolidMesh" + std::to_string( dimension ) + "D";                       \
          |                     ^
  • bindings/python/src/mesh/core/surface_mesh.cpp:141:10: warning: [misc-use-internal-linkage]

    function 'define_surface_mesh' can be made static or moved into an anonymous namespace to enforce internal linkage

      141 |     void define_surface_mesh( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/mesh/core/surface_mesh.cpp:143:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

      143 |         PYTHON_SURFACE_MESH( 2 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/mesh/core/surface_mesh.cpp:38:23: note: expanded from macro 'PYTHON_SURFACE_MESH'
       38 |         "SurfaceMesh" + std::to_string( dimension ) + "D";                     \
          |                       ^
  • bindings/python/src/mesh/core/surface_mesh.cpp:144:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

      144 |         PYTHON_SURFACE_MESH( 3 )
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/mesh/core/surface_mesh.cpp:38:23: note: expanded from macro 'PYTHON_SURFACE_MESH'
       38 |         "SurfaceMesh" + std::to_string( dimension ) + "D";                     \
          |                       ^
  • bindings/python/src/mesh/core/tetrahedral_solid.cpp:45:10: warning: [misc-use-internal-linkage]

    function 'define_tetrahedral_solid' can be made static or moved into an anonymous namespace to enforce internal linkage

       45 |     void define_tetrahedral_solid( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/mesh/core/tetrahedral_solid.cpp:47:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       47 |         PYTHON_TETRAHEDRAL_SOLID( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/mesh/core/tetrahedral_solid.cpp:32:28: note: expanded from macro 'PYTHON_TETRAHEDRAL_SOLID'
       32 |         "TetrahedralSolid" + std::to_string( dimension ) + "D";                \
          |                            ^
  • bindings/python/src/mesh/core/triangulated_surface.cpp:44:10: warning: [misc-use-internal-linkage]

    function 'define_triangulated_surface' can be made static or moved into an anonymous namespace to enforce internal linkage

       44 |     void define_triangulated_surface( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/mesh/core/triangulated_surface.cpp:46:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       46 |         PYTHON_TRIANGULATED_SURFACE( 2 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/mesh/core/triangulated_surface.cpp:31:31: note: expanded from macro 'PYTHON_TRIANGULATED_SURFACE'
       31 |         "TriangulatedSurface" + std::to_string( dimension ) + "D";             \
          |                               ^
  • bindings/python/src/mesh/core/triangulated_surface.cpp:47:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       47 |         PYTHON_TRIANGULATED_SURFACE( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/mesh/core/triangulated_surface.cpp:31:31: note: expanded from macro 'PYTHON_TRIANGULATED_SURFACE'
       31 |         "TriangulatedSurface" + std::to_string( dimension ) + "D";             \
          |                               ^
  • bindings/python/src/mesh/core/vertex_set.cpp:32:10: warning: [misc-use-internal-linkage]

    function 'define_vertex_set' can be made static or moved into an anonymous namespace to enforce internal linkage

       32 |     void define_vertex_set( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/model/mixin/core/block.cpp:53:10: warning: [misc-use-internal-linkage]

    function 'define_block' can be made static or moved into an anonymous namespace to enforce internal linkage

       53 |     void define_block( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/model/mixin/core/block.cpp:55:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       55 |         PYTHON_BLOCK( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/block.cpp:33:42: note: expanded from macro 'PYTHON_BLOCK'
       33 |     const auto name##dimension = "Block" + std::to_string( dimension ) + "D";  \
          |                                          ^
  • bindings/python/src/model/mixin/core/block_collection.cpp:39:10: warning: [misc-use-internal-linkage]

    function 'define_block_collection' can be made static or moved into an anonymous namespace to enforce internal linkage

       39 |     void define_block_collection( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/model/mixin/core/block_collection.cpp:41:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       41 |         PYTHON_BLOCK_COLLECTION( 2 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/block_collection.cpp:30:27: note: expanded from macro 'PYTHON_BLOCK_COLLECTION'
       30 |         "BlockCollection" + std::to_string( dimension ) + "D";                 \
          |                           ^
  • bindings/python/src/model/mixin/core/block_collection.cpp:42:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       42 |         PYTHON_BLOCK_COLLECTION( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/block_collection.cpp:30:27: note: expanded from macro 'PYTHON_BLOCK_COLLECTION'
       30 |         "BlockCollection" + std::to_string( dimension ) + "D";                 \
          |                           ^
  • bindings/python/src/model/mixin/core/block_collections.cpp:54:10: warning: [misc-use-internal-linkage]

    function 'define_block_collections' can be made static or moved into an anonymous namespace to enforce internal linkage

       54 |     void define_block_collections( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/model/mixin/core/block_collections.cpp:56:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       56 |         PYTHON_BLOCK_COLLECTIONS( 2 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/block_collections.cpp:31:28: note: expanded from macro 'PYTHON_BLOCK_COLLECTIONS'
       31 |         "BlockCollections" + std::to_string( dimension ) + "D";                \
          |                            ^
  • bindings/python/src/model/mixin/core/block_collections.cpp:57:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       57 |         PYTHON_BLOCK_COLLECTIONS( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/block_collections.cpp:31:28: note: expanded from macro 'PYTHON_BLOCK_COLLECTIONS'
       31 |         "BlockCollections" + std::to_string( dimension ) + "D";                \
          |                            ^
  • bindings/python/src/model/mixin/core/blocks.cpp:50:10: warning: [misc-use-internal-linkage]

    function 'define_blocks' can be made static or moved into an anonymous namespace to enforce internal linkage

       50 |     void define_blocks( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/model/mixin/core/blocks.cpp:52:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       52 |         PYTHON_BLOCKS( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/blocks.cpp:30:43: note: expanded from macro 'PYTHON_BLOCKS'
       30 |     const auto name##dimension = "Blocks" + std::to_string( dimension ) + "D"; \
          |                                           ^
  • bindings/python/src/model/mixin/core/component.cpp:37:10: warning: [misc-use-internal-linkage]

    function 'define_component' can be made static or moved into an anonymous namespace to enforce internal linkage

       37 |     void define_component( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/model/mixin/core/component.cpp:39:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       39 |         PYTHON_COMPONENT( 2 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/component.cpp:30:21: note: expanded from macro 'PYTHON_COMPONENT'
       30 |         "Component" + std::to_string( dimension ) + "D";                       \
          |                     ^
  • bindings/python/src/model/mixin/core/component.cpp:40:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       40 |         PYTHON_COMPONENT( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/component.cpp:30:21: note: expanded from macro 'PYTHON_COMPONENT'
       30 |         "Component" + std::to_string( dimension ) + "D";                       \
          |                     ^
  • bindings/python/src/model/mixin/core/component_registry.cpp:30:10: warning: [misc-use-internal-linkage]

    function 'define_component_registry' can be made static or moved into an anonymous namespace to enforce internal linkage

       30 |     void define_component_registry( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/model/mixin/core/corner.cpp:42:10: warning: [misc-use-internal-linkage]

    function 'define_corner' can be made static or moved into an anonymous namespace to enforce internal linkage

       42 |     void define_corner( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/model/mixin/core/corner.cpp:44:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       44 |         PYTHON_CORNER( 2 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/corner.cpp:31:43: note: expanded from macro 'PYTHON_CORNER'
       31 |     const auto name##dimension = "Corner" + std::to_string( dimension ) + "D"; \
          |                                           ^
  • bindings/python/src/model/mixin/core/corner.cpp:45:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       45 |         PYTHON_CORNER( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/corner.cpp:31:43: note: expanded from macro 'PYTHON_CORNER'
       31 |     const auto name##dimension = "Corner" + std::to_string( dimension ) + "D"; \
          |                                           ^
  • bindings/python/src/model/mixin/core/corner_collection.cpp:39:10: warning: [misc-use-internal-linkage]

    function 'define_corner_collection' can be made static or moved into an anonymous namespace to enforce internal linkage

       39 |     void define_corner_collection( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/model/mixin/core/corner_collection.cpp:41:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       41 |         PYTHON_CORNER_COLLECTION( 2 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/corner_collection.cpp:30:28: note: expanded from macro 'PYTHON_CORNER_COLLECTION'
       30 |         "CornerCollection" + std::to_string( dimension ) + "D";                \
          |                            ^
  • bindings/python/src/model/mixin/core/corner_collection.cpp:42:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       42 |         PYTHON_CORNER_COLLECTION( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/corner_collection.cpp:30:28: note: expanded from macro 'PYTHON_CORNER_COLLECTION'
       30 |         "CornerCollection" + std::to_string( dimension ) + "D";                \
          |                            ^
  • bindings/python/src/model/mixin/core/corner_collections.cpp:54:10: warning: [misc-use-internal-linkage]

    function 'define_corner_collections' can be made static or moved into an anonymous namespace to enforce internal linkage

       54 |     void define_corner_collections( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/model/mixin/core/corner_collections.cpp:56:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       56 |         PYTHON_CORNER_COLLECTIONS( 2 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/corner_collections.cpp:31:29: note: expanded from macro 'PYTHON_CORNER_COLLECTIONS'
       31 |         "CornerCollections" + std::to_string( dimension ) + "D";               \
          |                             ^
  • bindings/python/src/model/mixin/core/corner_collections.cpp:57:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       57 |         PYTHON_CORNER_COLLECTIONS( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/corner_collections.cpp:31:29: note: expanded from macro 'PYTHON_CORNER_COLLECTIONS'
       31 |         "CornerCollections" + std::to_string( dimension ) + "D";               \
          |                             ^
  • bindings/python/src/model/mixin/core/corners.cpp:51:10: warning: [misc-use-internal-linkage]

    function 'define_corners' can be made static or moved into an anonymous namespace to enforce internal linkage

       51 |     void define_corners( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/model/mixin/core/corners.cpp:53:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       53 |         PYTHON_CORNERS( 2 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/corners.cpp:31:19: note: expanded from macro 'PYTHON_CORNERS'
       31 |         "Corners" + std::to_string( dimension ) + "D";                         \
          |                   ^
  • bindings/python/src/model/mixin/core/corners.cpp:54:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       54 |         PYTHON_CORNERS( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/corners.cpp:31:19: note: expanded from macro 'PYTHON_CORNERS'
       31 |         "Corners" + std::to_string( dimension ) + "D";                         \
          |                   ^
  • bindings/python/src/model/mixin/core/line.cpp:42:10: warning: [misc-use-internal-linkage]

    function 'define_line' can be made static or moved into an anonymous namespace to enforce internal linkage

       42 |     void define_line( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/model/mixin/core/line.cpp:44:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       44 |         PYTHON_LINE( 2 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/line.cpp:31:41: note: expanded from macro 'PYTHON_LINE'
       31 |     const auto name##dimension = "Line" + std::to_string( dimension ) + "D";   \
          |                                         ^
  • bindings/python/src/model/mixin/core/line.cpp:45:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       45 |         PYTHON_LINE( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/line.cpp:31:41: note: expanded from macro 'PYTHON_LINE'
       31 |     const auto name##dimension = "Line" + std::to_string( dimension ) + "D";   \
          |                                         ^
  • bindings/python/src/model/mixin/core/line_collection.cpp:39:10: warning: [misc-use-internal-linkage]

    function 'define_line_collection' can be made static or moved into an anonymous namespace to enforce internal linkage

       39 |     void define_line_collection( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/model/mixin/core/line_collection.cpp:41:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       41 |         PYTHON_LINE_COLLECTION( 2 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/line_collection.cpp:30:26: note: expanded from macro 'PYTHON_LINE_COLLECTION'
       30 |         "LineCollection" + std::to_string( dimension ) + "D";                  \
          |                          ^
  • bindings/python/src/model/mixin/core/line_collection.cpp:42:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       42 |         PYTHON_LINE_COLLECTION( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/line_collection.cpp:30:26: note: expanded from macro 'PYTHON_LINE_COLLECTION'
       30 |         "LineCollection" + std::to_string( dimension ) + "D";                  \
          |                          ^
  • bindings/python/src/model/mixin/core/line_collections.cpp:53:10: warning: [misc-use-internal-linkage]

    function 'define_line_collections' can be made static or moved into an anonymous namespace to enforce internal linkage

       53 |     void define_line_collections( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/model/mixin/core/line_collections.cpp:55:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       55 |         PYTHON_LINE_COLLECTIONS( 2 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/line_collections.cpp:31:27: note: expanded from macro 'PYTHON_LINE_COLLECTIONS'
       31 |         "LineCollections" + std::to_string( dimension ) + "D";                 \
          |                           ^
  • bindings/python/src/model/mixin/core/line_collections.cpp:56:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       56 |         PYTHON_LINE_COLLECTIONS( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/line_collections.cpp:31:27: note: expanded from macro 'PYTHON_LINE_COLLECTIONS'
       31 |         "LineCollections" + std::to_string( dimension ) + "D";                 \
          |                           ^
  • bindings/python/src/model/mixin/core/lines.cpp:50:10: warning: [misc-use-internal-linkage]

    function 'define_lines' can be made static or moved into an anonymous namespace to enforce internal linkage

       50 |     void define_lines( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/model/mixin/core/lines.cpp:52:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       52 |         PYTHON_LINES( 2 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/lines.cpp:30:42: note: expanded from macro 'PYTHON_LINES'
       30 |     const auto name##dimension = "Lines" + std::to_string( dimension ) + "D";  \
          |                                          ^
  • bindings/python/src/model/mixin/core/lines.cpp:53:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       53 |         PYTHON_LINES( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/lines.cpp:30:42: note: expanded from macro 'PYTHON_LINES'
       30 |     const auto name##dimension = "Lines" + std::to_string( dimension ) + "D";  \
          |                                          ^
  • bindings/python/src/model/mixin/core/model_boundaries.cpp:53:10: warning: [misc-use-internal-linkage]

    function 'define_model_boundaries' can be made static or moved into an anonymous namespace to enforce internal linkage

       53 |     void define_model_boundaries( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/model/mixin/core/model_boundaries.cpp:55:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       55 |         PYTHON_MODEL_BOUNDARIES( 2 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/model_boundaries.cpp:31:27: note: expanded from macro 'PYTHON_MODEL_BOUNDARIES'
       31 |         "ModelBoundaries" + std::to_string( dimension ) + "D";                 \
          |                           ^
  • bindings/python/src/model/mixin/core/model_boundaries.cpp:56:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       56 |         PYTHON_MODEL_BOUNDARIES( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/model_boundaries.cpp:31:27: note: expanded from macro 'PYTHON_MODEL_BOUNDARIES'
       31 |         "ModelBoundaries" + std::to_string( dimension ) + "D";                 \
          |                           ^
  • bindings/python/src/model/mixin/core/model_boundary.cpp:39:10: warning: [misc-use-internal-linkage]

    function 'define_model_boundary' can be made static or moved into an anonymous namespace to enforce internal linkage

       39 |     void define_model_boundary( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/model/mixin/core/model_boundary.cpp:41:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       41 |         PYTHON_MODEL_BOUNDARY( 2 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/model_boundary.cpp:30:25: note: expanded from macro 'PYTHON_MODEL_BOUNDARY'
       30 |         "ModelBoundary" + std::to_string( dimension ) + "D";                   \
          |                         ^
  • bindings/python/src/model/mixin/core/model_boundary.cpp:42:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       42 |         PYTHON_MODEL_BOUNDARY( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/model_boundary.cpp:30:25: note: expanded from macro 'PYTHON_MODEL_BOUNDARY'
       30 |         "ModelBoundary" + std::to_string( dimension ) + "D";                   \
          |                         ^
  • bindings/python/src/model/mixin/core/relationships.cpp:30:10: warning: [misc-use-internal-linkage]

    function 'define_relationships' can be made static or moved into an anonymous namespace to enforce internal linkage

       30 |     void define_relationships( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/model/mixin/core/surface.cpp:51:10: warning: [misc-use-internal-linkage]

    function 'define_surface' can be made static or moved into an anonymous namespace to enforce internal linkage

       51 |     void define_surface( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/model/mixin/core/surface.cpp:53:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       53 |         PYTHON_SURFACE( 2 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/surface.cpp:33:19: note: expanded from macro 'PYTHON_SURFACE'
       33 |         "Surface" + std::to_string( dimension ) + "D";                         \
          |                   ^
  • bindings/python/src/model/mixin/core/surface.cpp:54:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       54 |         PYTHON_SURFACE( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/surface.cpp:33:19: note: expanded from macro 'PYTHON_SURFACE'
       33 |         "Surface" + std::to_string( dimension ) + "D";                         \
          |                   ^
  • bindings/python/src/model/mixin/core/surface_collection.cpp:40:10: warning: [misc-use-internal-linkage]

    function 'define_surface_collection' can be made static or moved into an anonymous namespace to enforce internal linkage

       40 |     void define_surface_collection( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/model/mixin/core/surface_collection.cpp:42:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       42 |         PYTHON_SURFACE_COLLECTION( 2 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/surface_collection.cpp:30:29: note: expanded from macro 'PYTHON_SURFACE_COLLECTION'
       30 |         "SurfaceCollection" + std::to_string( dimension ) + "D";               \
          |                             ^
  • bindings/python/src/model/mixin/core/surface_collection.cpp:43:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       43 |         PYTHON_SURFACE_COLLECTION( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/surface_collection.cpp:30:29: note: expanded from macro 'PYTHON_SURFACE_COLLECTION'
       30 |         "SurfaceCollection" + std::to_string( dimension ) + "D";               \
          |                             ^
  • bindings/python/src/model/mixin/core/surface_collections.cpp:54:10: warning: [misc-use-internal-linkage]

    function 'define_surface_collections' can be made static or moved into an anonymous namespace to enforce internal linkage

       54 |     void define_surface_collections( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/model/mixin/core/surface_collections.cpp:56:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       56 |         PYTHON_SURFACE_COLLECTIONS( 2 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/surface_collections.cpp:31:30: note: expanded from macro 'PYTHON_SURFACE_COLLECTIONS'
       31 |         "SurfaceCollections" + std::to_string( dimension ) + "D";              \
          |                              ^
  • bindings/python/src/model/mixin/core/surface_collections.cpp:57:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       57 |         PYTHON_SURFACE_COLLECTIONS( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/surface_collections.cpp:31:30: note: expanded from macro 'PYTHON_SURFACE_COLLECTIONS'
       31 |         "SurfaceCollections" + std::to_string( dimension ) + "D";              \
          |                              ^
  • bindings/python/src/model/mixin/core/surfaces.cpp:51:10: warning: [misc-use-internal-linkage]

    function 'define_surfaces' can be made static or moved into an anonymous namespace to enforce internal linkage

       51 |     void define_surfaces( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/model/mixin/core/surfaces.cpp:53:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       53 |         PYTHON_SURFACES( 2 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/surfaces.cpp:31:20: note: expanded from macro 'PYTHON_SURFACES'
       31 |         "Surfaces" + std::to_string( dimension ) + "D";                        \
          |                    ^
  • bindings/python/src/model/mixin/core/surfaces.cpp:54:9: warning: [cppcoreguidelines-pro-bounds-pointer-arithmetic]

    do not use pointer arithmetic

       54 |         PYTHON_SURFACES( 3 );
          |         ^
    /__w/OpenGeode/OpenGeode/bindings/python/src/model/mixin/core/surfaces.cpp:31:20: note: expanded from macro 'PYTHON_SURFACES'
       31 |         "Surfaces" + std::to_string( dimension ) + "D";                        \
          |                    ^
  • bindings/python/src/model/mixin/core/topology.cpp:30:10: warning: [misc-use-internal-linkage]

    function 'define_topology' can be made static or moved into an anonymous namespace to enforce internal linkage

       30 |     void define_topology( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/model/mixin/core/vertex_identifier.cpp:30:10: warning: [misc-use-internal-linkage]

    function 'define_vertex_identifier' can be made static or moved into an anonymous namespace to enforce internal linkage

       30 |     void define_vertex_identifier( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/model/representation/core/brep.cpp:41:10: warning: [misc-use-internal-linkage]

    function 'define_brep' can be made static or moved into an anonymous namespace to enforce internal linkage

       41 |     void define_brep( pybind11::module& module )
          |          ^
          |     static 
  • bindings/python/src/model/representation/core/section.cpp:39:10: warning: [misc-use-internal-linkage]

    function 'define_section' can be made static or moved into an anonymous namespace to enforce internal linkage

       39 |     void define_section( pybind11::module& module )
          |          ^
          |     static 

Have any feedback or feature suggestions? Share it here.

@BotellaA BotellaA merged commit 70e6d7a into next Mar 12, 2026
19 checks passed
@BotellaA BotellaA deleted the feat/v0 branch March 12, 2026 07:48
@BotellaA
Copy link
Member

🎉 This PR is included in version 16.2.1-rc.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

@BotellaA
Copy link
Member

🎉 This PR is included in version 16.2.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants