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); $self->set_step_done(STEP_PREPARE_INFILL);
} }
sub infill {
my ($self) = @_;
# prerequisites
$self->prepare_infill;
$self->_infill;
}
sub generate_support_material { sub generate_support_material {
my $self = shift; my $self = shift;

View File

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

View File

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

View File

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