11581{
11582
11583 std::vector<const ExtrusionEntity*>* perimeters_or_infills;
11584 std::vector<const WipingExtrusions::ExtruderPerCopy*>* perimeters_or_infills_overrides;
11585
11586 switch (type) {
11590 break;
11592 perimeters_or_infills = &
infills;
11594 break;
11595 default:
11596 throw Slic3r::InvalidArgument("Unknown parameter!");
11597 }
11598
11599
11600 size_t old_size = perimeters_or_infills->size();
11601 size_t new_size = old_size + (eec->can_sort() ? eec->entities.size() : 1);
11602 perimeters_or_infills->reserve(new_size);
11603 if (eec->can_sort()) {
11604 for (auto* ee : eec->entities)
11605 perimeters_or_infills->emplace_back(ee);
11606 } else
11607 perimeters_or_infills->emplace_back(eec);
11608
11609 if (copies_extruder != nullptr) {
11610
11611
11612 perimeters_or_infills_overrides->reserve(new_size);
11613 perimeters_or_infills_overrides->resize(old_size, nullptr);
11614 perimeters_or_infills_overrides->resize(new_size, copies_extruder);
11615 }
11616}
std::vector< const WipingExtrusions::ExtruderPerCopy * > perimeters_overrides
Definition GCode.hpp:614
std::vector< const ExtrusionEntity * > perimeters
Definition GCode.hpp:609
std::vector< const ExtrusionEntity * > infills
Definition GCode.hpp:611
std::vector< const WipingExtrusions::ExtruderPerCopy * > infills_overrides
Definition GCode.hpp:613