commit f0088ebd351d50b5cf1d648e11693e69315a2336
parent b13a7c6730dcea9eaff8ccc61b4b3af01d343e4a
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date: Fri, 10 Oct 2025 10:58:46 +0200
Merge branch 'release_0.6' into develop
Diffstat:
2 files changed, 36 insertions(+), 15 deletions(-)
diff --git a/README.md b/README.md
@@ -25,6 +25,39 @@ Edit config.mk as needed, then run:
## Release notes
+### Version 0.6
+
+- Add `scad_add_cone' and `scad_add_torus' API calls.
+- API changes for geometry creation: geometry name is no longer provided to the
+ various add_<something> functions, that now create unnamed geometries; instead
+ names have to be set after geometry creation through `scad_geometry_set_name'.
+- API change for `scad_geometries_boundaries' and
+ `scad_geometries_common_boundaries': now return a list of geometries
+ (that could be grouped through `scad_collect_geometries'); used to return a
+ single geometry containing the (possibly empty) boundary elements (that could
+ be ungrouped using `scad_geometry_explode').
+- API uniformization (involving args order, naming, etc.).
+- Fix geometry naming. Now get_name returns NULL if name was set to NULL or
+ let unset (used to return ""). Allow to set same name again (to the same
+ geometry) without triggering an error.
+- Fix `scad_geometry_get_closest_point'. The returned point was not correct.
+- Fix `scad_geometry_get_normal' to get the normal at the geometry closest
+ point, fixing a memleak in the process.
+- Fix `scad_scene_clear' (geometries with multiple references where not
+ released).
+- Fix `scad_geometries_common_boundaries'. Used to trigger OccIntersect that, as
+ a side effet, partitionned geometries.
+- Fix `scad_step_import' (arguments where inverted).
+- Change `scad_geometry_get_centerofmass'. Now returns the unique center of mass
+ of all the entities involved in the geometry, regardless of their count (used
+ to return one center of mass per entity in the geometry).
+- Rework the auto-sync feature (that manages sync events between gmsh and
+ Open Cascade); this should greatly improve performance.
+- Rename enum members in capital letters.
+- Upgrade gmsh dependency (to 1.14.1) and Open-Cascade dependency (to 7.9.1).
+- Improve code robustness.
+- Improve tests.
+
### Version 0.5.2
- Fix a file name in debug STL output file.
@@ -42,8 +75,6 @@ Edit config.mk as needed, then run:
- Add the `automatic' meshing algorithm.
- Add the `initial mesh only' meshing algorithm.
- Add a geometry visibility management feature.
-- Add `' API call.
-- Add `' API call.
### Version 0.5
@@ -56,7 +87,7 @@ Edit config.mk as needed, then run:
### Version 0.4.1
-- Add `scad_dump_geometry` API call that can be called from a debugging
+- Add `scad_dump_geometry' API call that can be called from a debugging
session
- Remove an invalid assert
- Fix build that used gmsh library in Release when Debug should have
diff --git a/config.mk b/config.mk
@@ -1,4 +1,4 @@
-VERSION = 0.5.2
+VERSION = 0.6
PREFIX = /usr/local
LIB_TYPE = SHARED
@@ -8,15 +8,6 @@ BUILD_TYPE = RELEASE
#BUILD_TYPE = DEBUG
################################################################################
-# FIXME:
-# REMOVE THIS ONCE GMSH IS FIXED
-################################################################################
-
-CFLAGS_GMSH = \
- -DFIX_GMSH_BOOLEAN_OUTPUTS
-CFLAGS_GMSH =
-
-################################################################################
# Tools
################################################################################
AR = ar
@@ -76,8 +67,7 @@ CFLAGS_COMMON =\
-fvisibility=hidden\
-fstrict-aliasing\
$(CFLAGS_HARDENED)\
- $(WFLAGS) \
- $(CFLAGS_GMSH)
+ $(WFLAGS)
CFLAGS_DEBUG = -g $(CFLAGS_COMMON)
CFLAGS_RELEASE = -O2 -DNDEBUG $(CFLAGS_COMMON)