From cc8cb4092d73f40050a71cb809c7aed321969114 Mon Sep 17 00:00:00 2001 From: Michael Kirsch Date: Sat, 1 Jun 2019 23:21:16 +0200 Subject: [PATCH] delete perl workaround (output given as pointer) --- lib/Slic3r/GUI/3DScene.pm | 5 +---- xs/xsp/Model.xsp | 4 ++-- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/lib/Slic3r/GUI/3DScene.pm b/lib/Slic3r/GUI/3DScene.pm index 4247d9df5..9dd399d80 100644 --- a/lib/Slic3r/GUI/3DScene.pm +++ b/lib/Slic3r/GUI/3DScene.pm @@ -1331,10 +1331,7 @@ sub load_object { my $volume = $model_object->volumes->[$volume_idx]; foreach my $instance_idx (@$instance_idxs) { my $instance = $model_object->instances->[$instance_idx]; - my $mesh = Slic3r::TriangleMesh->new(); - - # $mesh is the output argument, given as pointer - $volume->transformed_mesh($instance, $mesh); + my $mesh = $volume->get_transformed_mesh($instance); my $color_idx; if ($self->color_by eq 'volume') { diff --git a/xs/xsp/Model.xsp b/xs/xsp/Model.xsp index 735bd92b1..b534ea803 100644 --- a/xs/xsp/Model.xsp +++ b/xs/xsp/Model.xsp @@ -301,10 +301,10 @@ ModelMaterial::attributes() Ref mesh() %code%{ RETVAL = &THIS->mesh; %}; - void transformed_mesh(ModelInstance * instance, TriangleMesh * mesh) + Clone get_transformed_mesh(ModelInstance * instance) %code%{ TransformationMatrix trafo = instance->get_trafo_matrix(false); - *(mesh) = THIS->get_transformed_mesh(&trafo); + RETVAL = THIS->get_transformed_mesh(&trafo); %}; bool modifier()