commit f404dad0b74eb6d67d65acb99fa2ff88fa553758
parent 27a1adf59e9be8ed26748e3b102005a0fccd9d80
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date: Wed, 28 Dec 2022 19:04:59 +0100
Fix some API functions not checking if synchronize was needed
Diffstat:
3 files changed, 4 insertions(+), 54 deletions(-)
diff --git a/src/scad.c b/src/scad.c
@@ -293,10 +293,6 @@ scad_stl_export
ERR(check_device(FUNC_NAME));
- if(dev->need_synchro) {
- ERR(scad_synchronize());
- }
-
sz = geometry->gmsh_dimTags_n;
data = geometry->gmsh_dimTags;
ASSERT(sz > 0 && sz % 2 == 0);
@@ -427,10 +423,6 @@ scad_stl_export_split
ERR(check_device(FUNC_NAME));
- if(get_device()->need_synchro) {
- ERR(scad_synchronize());
- }
-
sz = geometry->gmsh_dimTags_n;
data = geometry->gmsh_dimTags;
ASSERT(sz % 2 == 0);
@@ -513,10 +505,6 @@ scad_scene_mesh
ERR(check_device(FUNC_NAME));
- if(get_device()->need_synchro) {
- ERR(scad_synchronize());
- }
-
gmshModelMeshGenerate(2, &ierr);
ERR(gmsh_err_to_res_T(ierr));
@@ -534,9 +522,6 @@ scad_scene_partition
res_T res = RES_OK;
ERR(check_device(FUNC_NAME));
- if(get_device()->need_synchro) {
- ERR(scad_synchronize());
- }
gmshModelOccRemoveAllDuplicates(&ierr);
ERR(gmsh_err_to_res_T(ierr));
diff --git a/src/scad_device.c b/src/scad_device.c
@@ -123,6 +123,10 @@ check_device
goto error;
}
+ if(get_device()->need_synchro) {
+ ERR(scad_synchronize());
+ }
+
if(g_device->options.Misc.Step) {
ERR(scad_run_ui());
}
diff --git a/src/scad_geometry.c b/src/scad_geometry.c
@@ -852,9 +852,6 @@ scad_fuse_geometries
}
ERR(check_device(FUNC_NAME));
- if(get_device()->need_synchro) {
- ERR(scad_synchronize());
- }
allocator = dev->allocator;
ERR(gather_tags(geometries, geometries_count, &data1, &sz1));
@@ -923,9 +920,6 @@ scad_cut_geometries
}
ERR(check_device(FUNC_NAME));
- if(get_device()->need_synchro) {
- ERR(scad_synchronize());
- }
allocator = dev->allocator;
ERR(gather_tags(geometries, geometries_count, &data1, &sz1));
@@ -994,9 +988,6 @@ scad_intersect_geometries
}
ERR(check_device(FUNC_NAME));
- if(get_device()->need_synchro) {
- ERR(scad_synchronize());
- }
allocator = dev->allocator;
ERR(gather_tags(geometries, geometries_count, &data1, &sz1));
@@ -1068,9 +1059,6 @@ scad_geometries_common_boundaries
}
ERR(check_device(FUNC_NAME));
- if(get_device()->need_synchro) {
- ERR(scad_synchronize());
- }
allocator = dev->allocator;
ERR(gather_tags(geometries, geometries_count, &data1, &sz1));
@@ -1136,9 +1124,6 @@ scad_geometry_rotate
}
ERR(check_device(FUNC_NAME));
- if(get_device()->need_synchro) {
- ERR(scad_synchronize());
- }
sz = geom->gmsh_dimTags_n;
data = geom->gmsh_dimTags;
@@ -1176,9 +1161,6 @@ scad_geometry_extrude
}
ERR(check_device(FUNC_NAME));
- if(get_device()->need_synchro) {
- ERR(scad_synchronize());
- }
allocator = dev->allocator;
gmshModelOccExtrude(geom->gmsh_dimTags, geom->gmsh_dimTags_n, SPLIT3(dxdydz),
@@ -1247,9 +1229,6 @@ scad_geometry_explode
}
ERR(check_device(FUNC_NAME));
- if(dev->need_synchro) {
- ERR(scad_synchronize());
- }
allocator = dev->allocator;
data = geom->gmsh_dimTags;
@@ -1325,9 +1304,6 @@ scad_geometry_copy
}
ERR(check_device(FUNC_NAME));
- if(get_device()->need_synchro) {
- ERR(scad_synchronize());
- }
allocator = dev->allocator;
sz1 = geom->gmsh_dimTags_n;
@@ -1398,9 +1374,6 @@ scad_geometry_translate
}
ERR(check_device(FUNC_NAME));
- if(get_device()->need_synchro) {
- ERR(scad_synchronize());
- }
sz = geom->gmsh_dimTags_n;
data = geom->gmsh_dimTags;
@@ -1444,9 +1417,6 @@ scad_geometries_partition
}
ERR(check_device(FUNC_NAME));
- if(get_device()->need_synchro) {
- ERR(scad_synchronize());
- }
allocator = dev->allocator;
ERR(gather_tags(geometries, geometries_count, &data, &sz));
@@ -1623,9 +1593,6 @@ scad_fragment_geometries
}
ERR(check_device(FUNC_NAME));
- if(get_device()->need_synchro) {
- ERR(scad_synchronize());
- }
allocator = dev->allocator;
ERR(gather_tags(geometries, geometries_count, &data1, &sz1));
@@ -1691,9 +1658,6 @@ scad_geometry_boundary
}
ERR(check_device(FUNC_NAME));
- if(get_device()->need_synchro) {
- ERR(scad_synchronize());
- }
allocator = dev->allocator;
ERR(gather_tags(geometries, geometries_count, &data, &sz));
@@ -1748,9 +1712,6 @@ scad_step_import
}
ERR(check_device(FUNC_NAME));
- if(get_device()->need_synchro) {
- ERR(scad_synchronize());
- }
allocator = dev->allocator;
gmshModelOccImportShapes(filename, &tagout, &tagoutn, 1, "step", &ierr);