star-cad

Geometric operators for computer-aided design
git clone git://git.meso-star.fr/star-cad.git
Log | Files | Refs | README | LICENSE

commit 8f538100c0638291a59ad244ff35d8658b5dfe85
parent cd0836db06b78b9786c19924052eaafdcda242f2
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date:   Fri,  6 Jun 2025 11:51:21 +0200

Fix API

Fix naming consistency:
- put the action at the end of the name (e.g. scad_geometry_<action>,
scad_geometries_<action>).
- use scad_geometries prefix when more than 1 geometry is involved

Diffstat:
Msrc/scad.h | 10+++++-----
Msrc/scad_geometry.c | 10+++++-----
Msrc/test_api.c | 42+++++++++++++++++++++---------------------
Msrc/test_export.c | 2+-
Msrc/test_lifetime.c | 10+++++-----
Msrc/test_periodic.c | 4++--
6 files changed, 39 insertions(+), 39 deletions(-)

diff --git a/src/scad.h b/src/scad.h @@ -352,7 +352,7 @@ scad_geometry_is_included /* Create a new geometry made from all the entities from `geometries'. */ SCAD_API res_T -scad_collect_geometries +scad_geometries_collect (const char* name, /* Can be NULL */ struct scad_geometry** geometries, const size_t geometries_count, @@ -361,7 +361,7 @@ scad_collect_geometries /* Compute the boolean union (the fusion) of the geometries in `geometries' and * `tools'. */ SCAD_API res_T -scad_fuse_geometries +scad_geometries_fuse (const char* name, /* Can be NULL */ struct scad_geometry** geometries, const size_t geometries_count, @@ -372,7 +372,7 @@ scad_fuse_geometries /* Compute the boolean difference between the geometries in `geometries' and * `tools'. */ SCAD_API res_T -scad_cut_geometries +scad_geometries_cut (const char* name, /* Can be NULL */ struct scad_geometry** geometries, const size_t geometries_count, @@ -383,7 +383,7 @@ scad_cut_geometries /* Compute the boolean intersection (the common parts) of the geometries * in `geometries' and `tools'. */ SCAD_API res_T -scad_intersect_geometries +scad_geometries_intersect (const char* name, /* Can be NULL */ struct scad_geometry** geometries, const size_t geometries_count, @@ -420,7 +420,7 @@ scad_geometries_partition /* Get the boundary of the geometries in `geometries'. */ SCAD_API res_T -scad_geometry_boundary +scad_geometries_boundary (const char* name, /* Can be NULL */ struct scad_geometry** geometries, const size_t geometries_count, diff --git a/src/scad_geometry.c b/src/scad_geometry.c @@ -1318,7 +1318,7 @@ error: } res_T -scad_fuse_geometries +scad_geometries_fuse (const char* name, struct scad_geometry** geometries, const size_t geometries_count, @@ -1386,7 +1386,7 @@ error: } res_T -scad_collect_geometries +scad_geometries_collect (const char* name, struct scad_geometry** geometries, const size_t geometries_count, @@ -1424,7 +1424,7 @@ error: } res_T -scad_cut_geometries +scad_geometries_cut (const char* name, /* Can be NULL */ struct scad_geometry** geometries, const size_t geometries_count, @@ -1497,7 +1497,7 @@ error: } res_T -scad_intersect_geometries +scad_geometries_intersect (const char* name, /* Can be NULL */ struct scad_geometry** geometries, const size_t geometries_count, @@ -2465,7 +2465,7 @@ error: } res_T -scad_geometry_boundary +scad_geometries_boundary (const char* name, struct scad_geometry** geometries, const size_t geometries_count, diff --git a/src/test_api.c b/src/test_api.c @@ -161,28 +161,28 @@ main(int argc, char* argv[]) OK(scad_add_sphere(NULL, p1, 1, &geom)); OK(scad_geometry_ref_put(geom)); - /* BAD(scad_fuse_geometries(NULL, NULL, 0, geoms, 2, &geom)); */ - BAD(scad_fuse_geometries(NULL, geoms, 2, NULL, 0, &geom)); - BAD(scad_fuse_geometries(NULL, NULL, 1, &geom2, 1, &geom)); - BAD(scad_fuse_geometries(NULL, &geom1, 1, NULL, 1, &geom)); - BAD(scad_fuse_geometries(NULL, &geom1, 1, &geom2, 1, NULL)); - OK(scad_fuse_geometries(NULL, &geom1, 1, &geom2, 1, &geom)); + /* BAD(scad_geometries_fuse(NULL, NULL, 0, geoms, 2, &geom)); */ + BAD(scad_geometries_fuse(NULL, geoms, 2, NULL, 0, &geom)); + BAD(scad_geometries_fuse(NULL, NULL, 1, &geom2, 1, &geom)); + BAD(scad_geometries_fuse(NULL, &geom1, 1, NULL, 1, &geom)); + BAD(scad_geometries_fuse(NULL, &geom1, 1, &geom2, 1, NULL)); + OK(scad_geometries_fuse(NULL, &geom1, 1, &geom2, 1, &geom)); OK(scad_geometry_ref_put(geom)); - /* BAD(scad_cut_geometries(NULL, NULL, 0, geoms, 2, &geom)); */ - BAD(scad_cut_geometries(NULL, geoms, 2, NULL, 0, &geom)); - BAD(scad_cut_geometries(NULL, NULL, 1, &geom2, 1, &geom)); - BAD(scad_cut_geometries(NULL, &geom1, 1, NULL, 1, &geom)); - BAD(scad_cut_geometries(NULL, &geom1, 1, &geom2, 1, NULL)); - OK(scad_cut_geometries(NULL, &geom1, 1, &geom2, 1, &geom)); + /* BAD(scad_geometries_cut(NULL, NULL, 0, geoms, 2, &geom)); */ + BAD(scad_geometries_cut(NULL, geoms, 2, NULL, 0, &geom)); + BAD(scad_geometries_cut(NULL, NULL, 1, &geom2, 1, &geom)); + BAD(scad_geometries_cut(NULL, &geom1, 1, NULL, 1, &geom)); + BAD(scad_geometries_cut(NULL, &geom1, 1, &geom2, 1, NULL)); + OK(scad_geometries_cut(NULL, &geom1, 1, &geom2, 1, &geom)); OK(scad_geometry_ref_put(geom)); - /* BAD(scad_intersect_geometries(NULL, NULL, 0, geoms, 2, &geom)); */ - BAD(scad_intersect_geometries(NULL, geoms, 2, NULL, 0, &geom)); - BAD(scad_intersect_geometries(NULL, NULL, 1, &geom2, 1, &geom)); - BAD(scad_intersect_geometries(NULL, &geom1, 1, NULL, 1, &geom)); - BAD(scad_intersect_geometries(NULL, &geom1, 1, &geom2, 1, NULL)); - OK(scad_intersect_geometries(NULL, &geom1, 1, &geom2, 1, &geom)); + /* BAD(scad_geometries_intersect(NULL, NULL, 0, geoms, 2, &geom)); */ + BAD(scad_geometries_intersect(NULL, geoms, 2, NULL, 0, &geom)); + BAD(scad_geometries_intersect(NULL, NULL, 1, &geom2, 1, &geom)); + BAD(scad_geometries_intersect(NULL, &geom1, 1, NULL, 1, &geom)); + BAD(scad_geometries_intersect(NULL, &geom1, 1, &geom2, 1, NULL)); + OK(scad_geometries_intersect(NULL, &geom1, 1, &geom2, 1, &geom)); OK(scad_geometry_ref_put(geom)); /* BAD(scad_geometries_common_boundaries(NULL, NULL, 0, geoms, 2, &geom)); */ @@ -200,9 +200,9 @@ main(int argc, char* argv[]) OK(scad_geometry_ref_put(out_geoms[0])); OK(scad_geometry_ref_put(out_geoms[1])); - BAD(scad_geometry_boundary(NULL, NULL, 0, &geom)); - BAD(scad_geometry_boundary(NULL, &geom1, 1, NULL)); - OK(scad_geometry_boundary(NULL, &geom1, 1, &geom)); + BAD(scad_geometries_boundary(NULL, NULL, 0, &geom)); + BAD(scad_geometries_boundary(NULL, &geom1, 1, NULL)); + OK(scad_geometries_boundary(NULL, &geom1, 1, &geom)); OK(scad_geometry_ref_put(geom)); BAD(scad_geometry_copy(NULL, NULL, &geom)); diff --git a/src/test_export.c b/src/test_export.c @@ -46,7 +46,7 @@ main(int argc, char* argv[]) OK(scad_add_cylinder(NULL, p2, d1, 0.5, 2*PI, geoms+1)); geoms[0] = cube; - OK(scad_fuse_geometries("fused", geoms, 1, geoms+1, 1, &fused)); + OK(scad_geometries_fuse("fused", geoms, 1, geoms+1, 1, &fused)); OK(scad_scene_mesh()); diff --git a/src/test_lifetime.c b/src/test_lifetime.c @@ -77,7 +77,7 @@ main(int argc, char* argv[]) /* Check that 2D constituants of a deleted 3D object are alive and well */ OK(scad_add_box("box", p1, diago, &geom)); - OK(scad_geometry_boundary("boundary", &geom, 1, &geom1)); + OK(scad_geometries_boundary("boundary", &geom, 1, &geom1)); OK(scad_geometry_ref_put(geom)); alive_and_well(geom1, &allocator); @@ -85,7 +85,7 @@ main(int argc, char* argv[]) OK(scad_add_rectangle("rect", p1, base, &geom)); OK(scad_geometry_extrude(geom, "cube", dir1, &geom1)); OK(scad_geometry_ref_put(geom)); - OK(scad_geometry_boundary("boundary", &geom1, 1, &geom2)); + OK(scad_geometries_boundary("boundary", &geom1, 1, &geom2)); OK(scad_geometry_ref_put(geom1)); alive_and_well(geom2, &allocator); @@ -96,7 +96,7 @@ main(int argc, char* argv[]) alive_and_well(geom, &allocator); OK(scad_add_box("cavity", p1, diago, &geom1)); - OK(scad_geometry_boundary("bcavity", &geom1, 1, &geom2)); + OK(scad_geometries_boundary("bcavity", &geom1, 1, &geom2)); OK(scad_geometry_explode(geom2, "explode", &list, &list_n)); OK(scad_geometry_ref_put(geom2)); OK(scad_geometry_get_count(list[0], &center_n)); @@ -114,8 +114,8 @@ main(int argc, char* argv[]) * a partition */ OK(scad_add_box("box1", p1, diago, geoms+0)); OK(scad_add_box("box2", p1, diago_, geoms+1)); - OK(scad_geometry_boundary(NULL, geoms+0, 1, &geom1)); - OK(scad_geometry_boundary(NULL, geoms+1, 1, &geom2)); + OK(scad_geometries_boundary(NULL, geoms+0, 1, &geom1)); + OK(scad_geometries_boundary(NULL, geoms+1, 1, &geom2)); OK(scad_geometries_partition(geoms, 2, 0, out_geoms)); OK(scad_geometry_ref_put(geoms[0])); OK(scad_geometry_ref_put(geoms[1])); diff --git a/src/test_periodic.c b/src/test_periodic.c @@ -45,10 +45,10 @@ main(int argc, char* argv[]) r2 = r1 * XR; scad_add_cylinder(NULL, p1, d2, r1, 2*PI, &cyl1); scad_add_cylinder(NULL, p1, d2, r2, 2*PI, &cyl2); - scad_cut_geometries("cylinder", &cyl2, 1, &cyl1, 1, &cyl); + scad_geometries_cut("cylinder", &cyl2, 1, &cyl1, 1, &cyl); scad_geometry_ref_put(cyl1); scad_geometry_ref_put(cyl2); - scad_geometry_boundary(NULL, &cyl, 1, &bound); + scad_geometries_boundary(NULL, &cyl, 1, &bound); scad_geometry_explode(bound, NULL, &faces, &facesn); scad_geometry_ref_put(bound); ASSERT(facesn == 4);