diff options
author | Ghostkeeper <rubend@tutanota.com> | 2021-05-03 18:10:50 +0300 |
---|---|---|
committer | Ghostkeeper <rubend@tutanota.com> | 2021-05-03 18:10:50 +0300 |
commit | 25bface523fd20a17097c10888324efe50e05395 (patch) | |
tree | 3422b72fcdfd9cd2cb5b1cae645b1f9de4115c35 | |
parent | 145d83a528b706ef617007358386d32e45c7c65b (diff) |
It returns a vector of bools describing for each extruders whether or not they are used. It was previously being interpreted as a vector of extruder numbers that were being used.
Contributes to issue CURA-8188.
-rw-r--r-- | src/FffGcodeWriter.cpp | 8 | ||||
-rw-r--r-- | src/sliceDataStorage.cpp | 2 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/FffGcodeWriter.cpp b/src/FffGcodeWriter.cpp index a782163aa..4608012f2 100644 --- a/src/FffGcodeWriter.cpp +++ b/src/FffGcodeWriter.cpp @@ -1182,9 +1182,13 @@ void FffGcodeWriter::calculatePrimeLayerPerExtruder(const SliceDataStorage& stor { for(LayerIndex layer_nr = -Raft::getTotalExtraLayers(); layer_nr < static_cast<LayerIndex>(storage.print_layer_count); ++layer_nr) { - for(size_t extruder_nr : storage.getExtrudersUsed(layer_nr)) + const std::vector<bool> used_extruders = storage.getExtrudersUsed(layer_nr); + for(size_t extruder_nr = 0; extruder_nr < used_extruders.size(); ++extruder_nr) { - extruder_prime_layer_nr[extruder_nr] = std::min(extruder_prime_layer_nr[extruder_nr], layer_nr); + if(used_extruders[extruder_nr]) + { + extruder_prime_layer_nr[extruder_nr] = std::min(extruder_prime_layer_nr[extruder_nr], layer_nr); + } } } } diff --git a/src/sliceDataStorage.cpp b/src/sliceDataStorage.cpp index e63facc34..d7936d76e 100644 --- a/src/sliceDataStorage.cpp +++ b/src/sliceDataStorage.cpp @@ -547,7 +547,7 @@ std::vector<bool> SliceDataStorage::getExtrudersUsed(LayerIndex layer_nr) const { // process brim/skirt for (size_t extruder_nr = 0; extruder_nr < Application::getInstance().current_slice->scene.extruders.size(); extruder_nr++) { - if (skirt_brim[extruder_nr].size() > 0) + if(!skirt_brim[extruder_nr].empty()) { ret[extruder_nr] = true; continue; |