Meshkernel

Latest version: v5.0.2

Safety actively analyzes 693883 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 3

4.0.2

Bug fixes
* Do not throw if an attempt to get unset contacts information is made (`mkernel_contacts_get_dimensions` and `mkernel_contacts_get_data`)

4.0.1

What's Changed
* Add mkernel_mesh2d_refine_ridges_based_on_gridded_samples API function

4.0.0

New features
+ Improve the support for spherical meshes by introducing spherical RTrees for searching points in a spherical mesh.
+ Added the generation of a global spherical mesh.
+ Added support for macOS on arm64 architecture.
+ Added the calculation of curvature for curvilinear grids.
+ Added the calculation of smoothness for curvilinear grids.
+ Added throwing exceptions when invalid projection is used in state allocation.
+ `GriddedSamples` can now accept values of short or float type for reducing memory consumption.
+ Added ridge refinement and `RefinementType::RidgeDetection` in `mkernel_mesh2d_refine_based_on_samples`.

API changes
+ Introduce curvilinear delete block exterior and interior, `mkernel_curvilinear_delete_exterior` and `mkernel_curvilinear_delete_interior`, respectively.
+ Added mesh rotation with `mkernel_mesh2d_rotate`.
+ Added mesh translation with `mkernel_mesh2d_translate`.
+ Added conversion of an unstructured mesh from spherical to Cartesian with `mkernel_mesh2d_convert_projection`.
+ Added `mkernel_contacts_set` for setting the contact indices.
+ Added `mkernel_mesh1d_add` and `mkernel_mesh2d_add` for adding meshes to existing instances.
+ Added equidistant polygon refinement, where the original corner vertices are not preserved and the new vertices are placed at equally spaced intervals for each polygon segment.
+ Added linear polygon refinement where the original corner vertices are preserved and the spacing of the refined nodes may differ between polygon segments.

Bug fixes
+ Improve the refinement of polygon segments.
+ Solved a bug in `mkernel_curvilinear_compute_transfinite_from_splines` related to the provided order of the splines.

3.0.2

Another minor patch that fixes the nuspec package input configurations. Otherwise identical to v3.0.1.

3.0.1

What's Changed

Minor patch that fixes the nuspec package input configurations. Otherwise identical to v3.0.0.

3.0.0

Major improvements
+ A new efficient mesh deletion algorithm has been introduced, allowing for the deletion of a mesh based on a polygon with two options:
+ Delete faces inside the polygon that are not intersected by the polygon segments.
+ Delete faces inside the polygon that are intersected by the polygon segments.
+ Minimum edge size in meters is now taken into account when refining a mesh based on a polygon or samples, both in spherical and Cartesian coordinates.
+ Mesh refinement based on the Courant criteria now considers the max_courant_time.
+ Improved the generation of rotated curvilinear grids within a polygon.
+ Performance has been enhanced by utilizing 32-bit integers for unsigned indexes.
+ The refinement of a polygon perimeter has been improved.
+ The polygon class has been refactored.
+ The generation of curvilinear grids has been improved by introducing Eigen.
+ Input and parameter range checks are now in place. When invalid values are specified, exceptions are thrown and errors are registered.

API changes
+ Improve performance of search algorithms `mkernel_mesh2d_get_edge` and `mkernel_mesh2d_get_node_index` by introducing a bounding box defining the search area.
+ Small, non-contiguous regions of an unstructured mesh can be removed using the `mkernel_mesh2d_remove_disconnected_regions` function.
+ Quadrangular unstructured meshes can now be connected using the `mkernel_mesh2d_connect_meshes` API function.
+ Snapping a polygon to a land boundary is now possible with the `mkernel_polygon_snap_to_landboundary` function.
+ Snapping a spline to a land boundary is now available through the `mkernel_splines_snap_to_landboundary` function.
+ `mkernel_curvilinear_make_uniform` is now divided in 3 apis for separating responsibilities
+ `mkernel_curvilinear_make_rectangular_mesh`: for making a curvilinear mesh based on origin, rows and columns
+ `mkernel_curvilinear_make_rectangular_mesh_from_polygon`: for making an curvilinear mesh inside a polygon with defined block sizes
+ `mkernel_curvilinear_make_rectangular_mesh_on_extension`: for making an curvilinear mesh on a defined area using defined block sizes
+ `mkernel_mesh2d_make_uniform` is now divided in 3 apis for separating responsibilities
+ `mkernel_mesh2d_make_rectangular_mesh`: for making an unstructured mesh based on origin, rows and columns
+ `mkernel_mesh2d_make_rectangular_mesh_from_polygon`: for making an unstructured mesh inside a polygon with defined block sizes
+ `mkernel_mesh2d_make_rectangular_mesh_on_extension`: for making an unstructured mesh on a defined area using defined block sizes
+ Triangular mesh generation functions have been renamed as follows:
+ `mkernel_mesh2d_make_mesh_from_polygon` -> `mkernel_mesh2d_make_triangular_mesh_from_polygon`
+ `mkernel_mesh2d_make_mesh_from_samples` -> `mkernel_mesh2d_make_triangular_mesh_from_samples`
+ The `mkernel_mesh2d_delete` function now supports only two options: InsideNotIntersected = 0 and InsideAndIntersected = 1. This algorithm supersedes the previous mesh deletion algorithms.
+ edge_faces and face_edge have been added to the meshkernelapi::Mesh2D structure to allow the reconstruction of the faces

Bug fixes
+ Account for boundary edges in `mkernel_mesh2d_get_orthogonality`, `mkernel_mesh2d_get_smoothness`
+ The translation of large polygons in spherical coordinate generates erroneous results when used to inquire if a point is in polygon

Page 2 of 3

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.