Make plater work with new XS code

This commit is contained in:
Alessandro Ranellucci 2013-09-11 20:00:51 +02:00
parent 4c96a52012
commit d4512a12df
4 changed files with 11 additions and 7 deletions

View file

@ -1271,9 +1271,8 @@ sub _trigger_model_object {
my $mesh = $model_object->mesh;
$mesh->repair;
$self->convex_hull(Slic3r::Polygon->new(@{Math::ConvexHull::MonotoneChain::convex_hull($mesh->vertices)}));
$self->facets(scalar @{$mesh->facets});
$self->facets($mesh->facets_count);
$self->vertices(scalar @{$mesh->vertices});
$self->materials($model_object->materials_count);
}
}

View file

@ -49,13 +49,14 @@ sub new {
color => COLORS->[ $color_idx % scalar(@{&COLORS}) ],
};
my ($vertices, $facets) = ($mesh->vertices, $mesh->facets);
{
my @verts = map @{ $mesh->vertices->[$_] }, map @$_, @{$mesh->facets};
my @verts = map @{ $vertices->[$_] }, map @$_, @$facets;
$v->{verts} = OpenGL::Array->new_list(GL_FLOAT, @verts);
}
{
my @norms = map { @$_, @$_, @$_ } map normalize(triangle_normal(map $mesh->vertices->[$_], @$_)), @{$mesh->facets};
my @norms = map { @$_, @$_, @$_ } map normalize(triangle_normal(map $vertices->[$_], @$_)), @$facets;
$v->{norms} = OpenGL::Array->new_list(GL_FLOAT, @norms);
}
}