Optimization of G-code export: Don't make copies of ExtrusionEntities

when sorting them into Extruders / Islands / Regions.
This commit is contained in:
bubnikv 2020-01-09 10:00:38 +01:00
parent 0aaa7dd076
commit de70adca9c
4 changed files with 34 additions and 36 deletions

View file

@ -252,8 +252,11 @@ protected:
struct Island
{
struct Region {
ExtrusionEntityCollection perimeters;
ExtrusionEntityCollection infills;
// Non-owned references to LayerRegion::perimeters::entities
// std::vector<const ExtrusionEntity*> would be better here, but there is no way in C++ to convert from std::vector<T*> std::vector<const T*> without copying.
ExtrusionEntitiesPtr perimeters;
// Non-owned references to LayerRegion::fills::entities
ExtrusionEntitiesPtr infills;
std::vector<const WipingExtrusions::ExtruderPerCopy*> infills_overrides;
std::vector<const WipingExtrusions::ExtruderPerCopy*> perimeters_overrides;