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

@ -65,7 +65,9 @@ public:
}
void replace(size_t i, const ExtrusionEntity &entity);
void remove(size_t i);
ExtrusionEntityCollection chained_path_from(const Point &start_near, ExtrusionRole role = erMixed) const;
static ExtrusionEntityCollection chained_path_from(const ExtrusionEntitiesPtr &extrusion_entities, const Point &start_near, ExtrusionRole role = erMixed);
ExtrusionEntityCollection chained_path_from(const Point &start_near, ExtrusionRole role = erMixed) const
{ return (this->no_sort || role == erMixed) ? *this : chained_path_from(this->entities, start_near, role); }
void reverse();
const Point& first_point() const { return this->entities.front()->first_point(); }
const Point& last_point() const { return this->entities.back()->last_point(); }