Releases
v19.1.0
Compare
Sorry, something went wrong.
No results found
19.1.0 (2026-10-22)
Bug Fixes
Color: round and clamp interpolated color channels once (e9b7cf2 )
Component: bound legacy component name size when loading (9579a3f )
ComponentRegistry: do not register a component type when removing a component (d0655be )
ComponentsStorage: name the component type and check deletion of unknown ids (b96df52 )
ComponentsStorage: repair loaded components (35f1e56 )
ComponentsStorage: single lookup and explicit error for unknown component (56952bf )
ComponentsStorage: throw when deleting a component that does not exist (fc75526 )
GreyscaleColor: compute operator+ without halving each operand (562ffe8 )
IO: hint at IO libraries when an extension is unknown (e0d9296 )
IO: keep the failure reason in load/save exceptions (4047a04 )
IO: only test non-ASCII archive names, not directories (4fff975 )
IO: use UTF-8 paths in the generic input and output helpers (e4eb903 )
MeshStorage: throw instead of crashing on missing component mesh (9ac7ea9 )
ModelBuilder: check collections and relationships before copy (8ac7524 )
ModelBuilder: do not leave isolated unique vertices after a partial mesh transfer (9245a26 )
ModelBuilder: give component meshes the requested uuid on creation (d660926 )
ModelBuilder: support partial mappings in replace_components_meshes_by_others (e5dd2ac )
ModelConversion: convert BRep with Blocks into Section (2338f22 )
ModelConversion: do not merge component vertices without unique vertex (f4d5477 )
ModelConversion: extrude quadrangles into hexahedra (0c04e13 )
ModelConversion: reuse vertex identifier copy and throw directly (4b6bb90 )
ModelConversion: skip empty Corners in Section extrusion (4f8f302 )
ModelConversion: skip model elements not in converted mesh (4d4b8fb )
ModelConversion: throw on unsupported Surface mesh type conversion (8628252 )
ModelHelpers: guard empty SortedSurfaces in opposite() and next() (b287d3d )
ModelHelpers: guard NO_ID unique vertices in component mesh queries (1798dd9 )
ModelHelpers: handle empty meshes and lines in component mensurations (fbba972 )
ModelHelpers: merge duplicate private sections in UniqueVerticesComputer (0f10112 )
ModelHelpers: remove data race in SplitAlongSurfaceMeshBorders (c0b8e8e )
ModelHelpers: robust unique vertex counting in compute_model_unique_vertices (154b08d )
ModelHelpers: separate private methods and members in UniqueVerticesComputer (615db5f )
ModelHelpers: skip degenerate elements in component_mesh_vertex_generic (08040ad )
ModelHelpers: skip meshes without elements in model AABB trees and ray tracing (89d214d )
ModelHelpers: skip vertices without unique vertex when splitting (7015e74 )
ModelHelpers: throw on degenerate unique vertices in component_mesh_vertex_generic (f74aca4 )
ModelIO: check component existence without a qualified fold expression (7f4e620 )
ModelIO: check output streams and use UTF-8 paths for model files (b2f35b5 )
ModelIO: load components with a missing mesh file or unknown mesh type (ddf5172 )
ModelIO: remove relations of components missing from loaded models (2a02b90 )
ModelIO: restore the Logger level when a model load or save fails (9e565ce )
ModelIO: save and load RegularGrid surface and block meshes (547b4be )
ModelIO: turn std exceptions into OpenGeodeException when loading (288aecf )
OpenGeodeRasterImageOutput: report files that cannot be written (c34dbf0 )
Python: give a stub-friendly signature to the properties default argument (1042aa4 )
RasterImage: bound the loaded color count by the number of cells (cbba3ad )
RasterImage: check cell indices given from Python (4057e44 )
RasterImageIO: load and save RasterImage1D in the native format (47eefb9 )
RasterImageIO: wrap standard exceptions raised while loading or saving (2e85d5c )
RasterImage: repair color count and reject overflowing dimensions on load (a028356 )
Relationships: rebuild component index from vertex ids on load (2917c88 )
Relationships: reset uuid mapping when copying relationships (c374c70 )
RGBColor: average both colors in operator+ (7fd4859 )
SimplicialModelCreator: find Line boundary Corners from unique points (6380431 )
SimplicialModelCreator: link components to the created unique vertices (666eff7 )
SimplicialModelCreator: validate component definitions (92f9574 )
TransferCollections: do not re-add existing items of unchanged components (ece99ef )
TransferMetadata: join unique input mesh names without empty parts (d6fd2bd )
TransferMetadata: merge component names with homogeneous "__" separator (382b628 )
VertexIdentifier: repair unique vertices of loaded models (44942f1 )
Features
Python: add str and repr to printable objects (4cb2e68 )
Python: bind create_edge(v0, v1) overload (0c09032 )
Python: create attributes from a name and a default value (fb2db02 )
Python: expose Logger (c7bd53e )
Python: make uuid, ComponentType and ComponentID hashable (30cd353 )
Performance Improvements
BRepBuilder: do not unregister components of the model whose meshes are transferred (0da13d2 )
Clone: reserve clone mappings to the number of components (1aaa92b )
Color: define RGBColor and GreyscaleColor trivial members inline (ffff701 )
Graph: update edges around vertices in place after edge or vertex removal (6a34649 )
ModelComponentFilter: remove filtered components in batch (b69ce2d )
Model: compute component meshes bounding boxes in parallel (efe6a39 )
ModelConversion: avoid hash lookups and builder creations (9f499a5 )
ModelHelpers: use colocated mapping directly in compute_model_unique_vertices (3f841cc )
Model: stop counting boundaries early in is_closed (0f6d8a8 )
Model: store component and relation range state inline (94c1d16 )
Relationships: remove several components at once and halve relation lookups (4d50ec0 )
RGBColor: hash all channels together (50536a4 )
SplitAlongBlockMeshBorders: avoid useless work in split_all_blocks (00bae26 )
TransferCollections: look up unchanged components in a hash set (1215004 )
TransferMeshes: read saved unique vertices from the mesh attribute (fb5b76c )
TransferMetadata: find input meshes through a hash map (4594091 )
VertexIdentifier: keep component registrations in a flat map (7e2b006 )
VertexIdentifier: only visit the unique vertices of an unregistered component (ae404b2 )
VertexIdentifier: reduce lookups in set_unique_vertex and delete_isolated_vertices (9bacce2 )
VertexIdentifier: scan component vertices in parallel before repairing them (c749cd2 )
You can’t perform that action at this time.