Ported PrintObject::infill() to C++

This commit is contained in:
Alessandro Ranellucci 2018-11-26 21:24:33 +01:00
parent 1cc8a8d3e3
commit aac9c2481c
4 changed files with 9 additions and 22 deletions

View File

@ -75,15 +75,6 @@ sub prepare_infill {
$self->set_step_done(STEP_PREPARE_INFILL);
}
sub infill {
my ($self) = @_;
# prerequisites
$self->prepare_infill;
$self->_infill;
}
sub generate_support_material {
my $self = shift;

View File

@ -282,7 +282,7 @@ bool test_6_checks(Print &print)
// Pre-Processing.
PrintObject *print_object = print.objects.front();
print_object->_infill();
print_object->infill();
SupportMaterial *support_material = print.objects.front()->_support_material();
support_material->generate(print_object);
// TODO but not needed in test 6 (make brims and make skirts).

View File

@ -1054,6 +1054,9 @@ PrintObject::slice()
void
PrintObject::make_perimeters()
{
// prerequisites
this->slice();
if (this->state.is_done(posPerimeters)) return;
this->state.set_started(posPerimeters);
@ -1063,9 +1066,6 @@ PrintObject::make_perimeters()
if (this->typed_slices)
this->state.invalidate(posSlice);
// prerequisites
this->slice();
// merge slices if they were split into types
// This is not currently taking place because since merge_slices + detect_surfaces_type
// are not truly idempotent we are invalidating posSlice here (see the Perl part of
@ -1185,8 +1185,11 @@ PrintObject::make_perimeters()
}
void
PrintObject::_infill()
PrintObject::infill()
{
// prerequisites
this->prepare_infill();
if (this->state.is_done(posInfill)) return;
this->state.set_started(posInfill);
@ -1383,13 +1386,6 @@ PrintObject::combine_infill()
}
}
void
PrintObject::infill()
{
this->prepare_infill();
this->_infill();
}
SupportMaterial *
PrintObject::_support_material()
{

View File

@ -154,7 +154,7 @@ _constant()
RETVAL = (SV*)newRV_noinc((SV*)layers_av);
%};
void make_perimeters();
void _infill();
void infill();
void _simplify_slices(double distance);
int ptr()