star-cad

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

commit 5f26d72e72d430629d7f11a96c5551289e8e6ea6
parent e5db7d2fcc204f62e1d38a541d157cb9fa319eef
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date:   Wed,  4 Jun 2025 11:22:35 +0200

Change export test

Add the export of a quasi structured mesh.

Diffstat:
MMakefile | 7+++++--
Msrc/test_export.c | 17++++++++++++-----
2 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/Makefile b/Makefile @@ -151,12 +151,14 @@ test: build_tests clean_test: $(SHELL) make.sh clean_test $(TEST_SRC) - rm -f bin_cube2.stl + rm -f bin_fused.stl rm -f bin_cube.stl rm -f bin_rectangle.stl - rm -f cube2.stl rm -f cube.stl + rm -f cube_quasi.stl rm -f different_names_0.stl + rm -f fused.stl + rm -f fused_quasi.stl rm -f not-a-volume.stl.stl rm -f part_0.9_1o.stl rm -f part_0.9_2o.stl @@ -165,6 +167,7 @@ clean_test: rm -f part_1_1.stl rm -f part_1_2.stl rm -f rectangle.stl + rm -f rectangle_quasi.stl rm -f "sphere 1_0.stl" rm -f "sphere 1.stl" diff --git a/src/test_export.c b/src/test_export.c @@ -32,7 +32,7 @@ main(int argc, char* argv[]) double d1[3] = {1, 1, 1}; struct scad_geometry* rectangle = NULL; struct scad_geometry* cube = NULL; - struct scad_geometry* cube2 = NULL; + struct scad_geometry* fused = NULL; struct scad_geometry* geoms[2]; struct mem_allocator allocator; @@ -43,10 +43,10 @@ main(int argc, char* argv[]) OK(scad_add_rectangle("rectangle", p1, d1, &rectangle)); OK(scad_add_box("cube", p1, d1, &cube)); - OK(scad_add_box(NULL, p2, d1, geoms+1)); + OK(scad_add_cylinder(NULL, p2, d1, 0.5, 2*PI, geoms+1)); geoms[0] = cube; - OK(scad_fuse_geometries("cube2", geoms, 1, geoms+1, 1, &cube2)); + OK(scad_fuse_geometries("fused", geoms, 1, geoms+1, 1, &fused)); OK(scad_scene_mesh()); @@ -59,8 +59,15 @@ main(int argc, char* argv[]) OK(scad_stl_export(cube, NULL, Scad_force_normals_outward, 0)); OK(scad_stl_export(cube, "bin_cube", Scad_force_normals_outward, 1)); - OK(scad_stl_export(cube2, NULL, Scad_force_normals_outward, 0)); - OK(scad_stl_export(cube2, "bin_cube2", Scad_force_normals_outward, 1)); + OK(scad_stl_export(fused, NULL, Scad_force_normals_outward, 0)); + OK(scad_stl_export(fused, "bin_fused", Scad_force_normals_outward, 1)); + + /* New meshing algorithm */ + OK(scad_geometries_set_mesh_algorithm(geoms, 2, Scad_Quasi_Structured)); + OK(scad_scene_mesh()); + OK(scad_stl_export(rectangle, "rectangle_quasi", Scad_keep_normals_unchanged, 0)); + OK(scad_stl_export(cube, "cube_quasi", Scad_force_normals_outward, 0)); + OK(scad_stl_export(fused, "fused_quasi", Scad_force_normals_outward, 0)); OK(scad_finalize());