CM2 MeshTools® SDK /release 5.4.0
- 5.4.0
- July, 2023.
- Major release of the CM2 MeshTools® SDK.
- All CM2 MeshTools® SDK.
- Due to changes in the API, client applications must be recompiled against the new headers.
/caveats
- Major version. Due to changes in the API, client applications must be recompiled against the new headers.
- Lib names now end with
_54
(Windows),5.4.0
with symlinks from5.4
(Linux, macOS). - Win32 and Linux x86-32 builds deprecated. Builds no longer provided.
- Visual Studio 2013 deprecated. Builds no longer provided.
- MacOS Intel x86-64 deprecated. Builds no longer provided. Use the universal builds instead.
/new features
CM2 SurfRemesh T3, CM2 SurfRemesh Q4
- New toggle
settings_type::line_proximity_detection_flag
to take into account (true) or not (false) the distance to skeleton lines for the size of the elements.
Default = true as in previous versions.
COM wrapper
- Updated.
Miscellaneous
meshtools1d::remesh_lines
to remesh lines, connected or not, with possibly user-defined hard nodes and colors.
Similar to CM2 SurfRemesh T3/Q4 but for edge meshes (remeshes with new mesh sizes, max chordal error, colors, hard nodes, hard edges).
Can be useful to improve contours after intersections fixing by CM2 Intersect E2 for instance.meshtools2d::boolean_ops
now works also with CM2 QuadMesh Iso/Aniso (on top of CM2 TriaMesh Iso/Aniso).- New
meshtools2d::mesh_disk_UR_Q4
andmeshtools2d::mesh_disk_UR_T3
to generate pseudo-structured plane meshes on 1/4 of disk. - New
meshtools2d::mesh_disk_Q4
andmeshtools2d::mesh_disk_T3
to generate pseudo-structured plane meshes on a full disk. - New
meshtools2d::mesh_sphere_UR_Q4
andmeshtools2d::mesh_sphere_UR_T3
to generate pseudo-structured surface meshes on 1/8 of sphere. - New
meshtools2d::mesh_sphere_Q4
andmeshtools2d::mesh_sphere_T3
to generate pseudo-structured surface meshes on a full sphere. meshtools::copy_edges
: new optional parameterexcludedE
to exclude some edges.
/improvements
All meshers (except specialized tools)
- Significant improvements in the node-smoothing algorithms (optimization steps).
CM2 TriaMesh Iso, CM2 TriaMesh Aniso
- Major improvements in the regularization step with
settings_type::no_clamped_edges_flag = true
(quality of the meshes, fewer elements).
CM2 QuadMesh Iso, CM2 QuadMesh Aniso, CM2 SurfMesh Q4, CM2 SurfRemesh Q4
- New topological optimization in the optimization steps.
CM2 SurfMesh T3, CM2 SurfMesh Q4
- Optimized multi-threading.
CM2 TetraMesh Iso, CM2 TetraMesh Aniso
- Major improvements in the regularization step with
settings_type::no_clamped_edges_flag = true
(quality of the meshes, fewer elements).
CM2 HexaMesh Iso
- Improvements in the quality of the generated meshes (fewer tetrahedrons for instance).
Miscellaneous
- Clean-ups and many test cases rewritten.
- Doc fixes, update of the manuals, update of the tutorials.
/fixes
CM2 SurfRemesh T3, CM2 SurfRemesh Q4
- The
settings_type::closed_manifold_flag
wasn’t fully honored (some meshes could lose manifold-ness).
CM2 HexaMesh Iso
- Fixes in the regularization scheme (could lead to rare crashes).
Miscellaneous
meshtools::get_elements_on_boundaries
: potential erroneous results withorientation_code
≥ 1.meshtools2d::interpolate
: failure of the overloads for vectorial fields (DoubleMat
).meshtools3d::interpolate
: failure of the overloads for vectorial fields (DoubleMat
).
/breaking changes
CM2 SurfRemesh T3, CM2 SurfRemesh Q4
- User-defined colors upon entry: the boundaries between any different colors (including
CM2_NONE
) was considered as skeleton edges.
Now, only the boundaries between valid different colors (not equal toCM2_NONE
) are considered as skeleton edges.
The valid user color for the element with lowest ID will be assigned to all elements of the patch this element belongs to (discarding any other user color in the same patch).
Miscellaneous
meshtools::get_colors_boundaries
: new parameterbool colored_only_flag
to consider boundaries between elements with different valid colors only (not equal toCM2_NONE
) or any different colors (includingCM2_NONE
).