mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-20 21:27:52 -06:00
Extended support of MMU segmentation backed for more than three colors.
Serialization and deserialization in TriangleSelector were extended to support up to 16 materials (3 unused states left for possible later extension). These changes also affect the encoding of data from custom supports and seams, but it is backward compatible with the previous encoding. And for custom supports and seams, it is produced exactly the same data encoding as before.
This commit is contained in:
parent
db55bd706e
commit
8a19cf9d64
3 changed files with 50 additions and 31 deletions
|
@ -1918,7 +1918,8 @@ void PrintObject::_slice(const std::vector<coordf_t> &layer_height_profile)
|
|||
size_t region_count_before_change = this->num_regions();
|
||||
std::vector<std::vector<std::pair<ExPolygon, size_t>>> segmented_regions = multi_material_segmentation_by_painting(*this);
|
||||
// Skip region with default extruder
|
||||
for (size_t region_idx = 1; region_idx < 3; ++region_idx) {
|
||||
const size_t num_extruders = this->print()->config().nozzle_diameter.size();
|
||||
for (size_t region_idx = 1; region_idx < num_extruders; ++region_idx) {
|
||||
std::vector<ExPolygons> c_layers(m_layers.size());
|
||||
for (size_t layer_idx = 0; layer_idx < m_layers.size(); ++layer_idx) {
|
||||
for(const std::pair<ExPolygon, size_t> &colored_polygon : segmented_regions[layer_idx]) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue