commit 60ab2efa18c8c1e4674a7e8a05868c79bf284283
parent 27ac0550ac41d1da6893e8f5ed0e390ea44de88f
Author: Benjamin Piaud <benjamin.piaud@meso-star.com>
Date: Mon, 15 Aug 2022 16:04:03 +0200
Add name argument in step import function
Diffstat:
2 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/src/scad.h b/src/scad.h
@@ -305,7 +305,8 @@ scad_geometry_extrude
SCAD_API res_T
scad_scene_step_import
(struct scad_scene* scene,
- const char* filename,
+ const char* filename, /* name of step file */
+ const char* name, /* Can be NULL */
struct scad_geometry*** out_geometry,
size_t* out_geometry_n);
diff --git a/src/scad_geometry.c b/src/scad_geometry.c
@@ -1026,6 +1026,7 @@ res_T
scad_scene_step_import
(struct scad_scene* scene,
const char* filename,
+ const char* name,
struct scad_geometry*** out_geometry,
size_t* out_geometry_n)
{
@@ -1053,18 +1054,18 @@ scad_scene_step_import
*out_geometry = malloc(tagoutn/2 * sizeof(struct scad_geometry*));
for (i=0; i<tagoutn/2; ++i) {
- /*struct str strname;*/
- /*str_init(NULL, &strname);*/
- /*ERR(str_set(&strname, name));*/
- /*ERR(str_append_printf(&strname,"_%lu", (unsigned long)i)); */
+ struct str strname;
+
+ str_init(scene->device->allocator, &strname);
+ ERR(str_set(&strname, name));
+ ERR(str_append_printf(&strname,"_%lu", (unsigned long)i));
- /*ERR(scad_geometry_create(scene, str_cget(&strname), &(*out_geometry)[i]));*/
- ERR(scad_geometry_create(scene, NULL, &(*out_geometry)[i]));
+ ERR(scad_geometry_create(scene, str_cget(&strname), &(*out_geometry)[i]));
(*out_geometry)[i]->gmsh_dimTags_n = 2;
(*out_geometry)[i]->gmsh_dimTags = malloc(2 * sizeof(int));
(*out_geometry)[i]->gmsh_dimTags[0] = tagout[2*i];
(*out_geometry)[i]->gmsh_dimTags[1] = tagout[2*i+1];
- /*str_release(&strname);*/
+ str_release(&strname);
}
*out_geometry_n = tagoutn/2;