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:
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());