star-cad

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

commit bc1ec156b47344a4f07c98b006e52b960c435c6b
parent 1a61e7a4d636fa754c5683c3024e572c4df05977
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date:   Fri,  2 Sep 2022 17:20:55 +0200

Change test1 to adapt to API changes

Diffstat:
Msrc/test1.c | 48+++++++++++++++++++++++++++++++++++-------------
1 file changed, 35 insertions(+), 13 deletions(-)

diff --git a/src/test1.c b/src/test1.c @@ -46,12 +46,16 @@ main(int argc, char* argv[]) struct scad_geometry* geom1 = NULL; struct scad_geometry* geom2 = NULL; struct scad_geometry* cyl = NULL; - struct scad_geometry* group1 = NULL; + struct scad_geometry* tmp1 = NULL; + struct scad_geometry* tmp2 = NULL; + struct scad_geometry* tmp3 = NULL; struct scad_geometry* f1 = NULL; struct scad_geometry* f2 = NULL; struct scad_geometry* sphere = NULL; struct scad_geometry* geoms[2]; + struct scad_geometry* tools[5]; struct mem_allocator allocator; + struct scad_options options = SCAD_DEFAULT_OPTIONS__; (void)argc; (void)argv; @@ -59,36 +63,54 @@ main(int argc, char* argv[]) OK(scad_initialize(NULL, &allocator, 1)); + options.Misc.Step = 1; + options.Misc.SynchronizeOnRunUI = 1; + OK(scad_set_options(&options)); + OK(scad_add_cylinder("c1", p1, d1, 2, PI, &geom1)); OK(scad_add_box("b1", p2, d2, &geom2)); - OK(scad_stl_export(geom1, NULL, 1)); - OK(scad_stl_export(geom2, NULL, 1)); geoms[0] = geom1; geoms[1] = geom2; - OK(scad_create_group("g1", 3, geoms, 2, &group1)); - OK(scad_stl_export(group1, NULL, 1)); + BAD(scad_geometries_partition(NULL, geoms, 2, NULL, 0, 0, &tmp1)); + OK(scad_geometries_partition(NULL, geoms, 2, NULL, 0, 1, &tmp1)); + OK(scad_geometry_delete(tmp1)); - OK(scad_conformal_mesh()); - OK(scad_stl_export_split(group1, "conformal", 1)); + OK(scad_cut_geometries("cut_c1", &geom1, 1, & geom2, 1, &tmp1)); + OK(scad_geometries_partition("tmp2", &tmp1, 1, &geom2, 1, 1, &tmp2)); + OK(scad_geometry_delete(tmp2)); + + OK(scad_geometries_partition("tmp2", &tmp1, 1, &geom2, 1, 0, &tmp2)); OK(scad_add_cylinder("cyl", p1, d1, 1, 2*PI, &cyl)); - OK(scad_stl_export(cyl, NULL, 1)); - OK(scad_fuse_geometries("fused1", geom1, cyl, &f1, 0)); - OK(scad_stl_export(f1, NULL, 1)); + OK(scad_fuse_geometries("fused1", &geom1, 1, &cyl, 1, &f1)); OK(scad_add_sphere("s1", p1, 1, &sphere)); - OK(scad_fuse_geometries("fused2", group1, sphere, &f2, 0)); - OK(scad_stl_export(f2, NULL, 0)); + OK(scad_fuse_geometries("fused2", &f1, 1, &sphere, 1, &f2)); - OK(scad_finalize()); + tools[0] = geom2; + tools[1] = tmp1; + tools[2] = tmp2; + tools[3] = f1; + BAD(scad_geometries_partition(NULL, &geom1, 1, tools, 4, 0, &tmp3)); + /* OK(scad_scene_mesh()); */ + + OK(scad_stl_export(geom1, NULL, 1)); + OK(scad_stl_export(geom2, NULL, 1)); + OK(scad_stl_export(cyl, NULL, 1)); + OK(scad_stl_export(sphere, NULL, 1)); + /* OK(scad_stl_export(f1, NULL, 1)); */ + /* OK(scad_stl_export(f2, NULL, 0)); */ exit: + OK(scad_finalize()); + check_memory_allocator(&allocator); mem_shutdown_proxy_allocator(&allocator); CHK(mem_allocated_size() == 0); return (res == RES_OK) ? EXIT_SUCCESS : EXIT_FAILURE; error: + fprintf(stderr, "Something failed.\n"); goto exit; }