mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-10-23 00:31:11 -06:00
ENH: separate the simplifying of infill and wall
This can avoid to simplify wall twice when the only invalid step is infill. Signed-off-by: salt.wei <salt.wei@bambulab.com> Change-Id: Ie5a9ccc10d5331c29c716aece08cdb195352cfe3
This commit is contained in:
parent
e6070fc607
commit
3a1e112d49
5 changed files with 40 additions and 23 deletions
|
@ -95,7 +95,8 @@ public:
|
|||
// Is there any valid extrusion assigned to this LayerRegion?
|
||||
bool has_extrusions() const { return ! this->perimeters.entities.empty() || ! this->fills.entities.empty(); }
|
||||
//BBS
|
||||
void simplify_extrusion_entity();
|
||||
void simplify_infill_extrusion_entity() { simplify_entity_collection(&fills); }
|
||||
void simplify_wall_extrusion_entity() { simplify_entity_collection(&perimeters); }
|
||||
private:
|
||||
void simplify_entity_collection(ExtrusionEntityCollection* entity_collection);
|
||||
void simplify_path(ExtrusionPath* path);
|
||||
|
@ -190,7 +191,8 @@ public:
|
|||
virtual bool has_extrusions() const { for (auto layerm : m_regions) if (layerm->has_extrusions()) return true; return false; }
|
||||
|
||||
//BBS
|
||||
void simplify_extrusion_path() { for (auto layerm : m_regions) layerm->simplify_extrusion_entity();}
|
||||
void simplify_wall_extrusion_path() { for (auto layerm : m_regions) layerm->simplify_wall_extrusion_entity();}
|
||||
void simplify_infill_extrusion_path() { for (auto layerm : m_regions) layerm->simplify_infill_extrusion_entity(); }
|
||||
//BBS: this function calculate the maximum void grid area of sparse infill of this layer. Just estimated value
|
||||
coordf_t get_sparse_infill_max_void_area();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue