mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-20 21:27:52 -06:00
Tech ENABLE_SEQUENTIAL_LIMITS -> Do not show sequential print clearance regions contours when there is only one instance on the plater
This commit is contained in:
parent
abbe7f7eea
commit
9f6751586c
1 changed files with 6 additions and 0 deletions
|
@ -3782,15 +3782,20 @@ void GLCanvas3D::update_sequential_clearance()
|
||||||
|
|
||||||
// collects instance transformations from volumes
|
// collects instance transformations from volumes
|
||||||
// first define temporary cache
|
// first define temporary cache
|
||||||
|
unsigned int instances_count = 0;
|
||||||
std::vector<std::vector<std::pair<bool, Transform3d>>> instance_transforms;
|
std::vector<std::vector<std::pair<bool, Transform3d>>> instance_transforms;
|
||||||
for (size_t o = 0; o < m_model->objects.size(); ++o) {
|
for (size_t o = 0; o < m_model->objects.size(); ++o) {
|
||||||
instance_transforms.emplace_back(std::vector<std::pair<bool, Transform3d>>());
|
instance_transforms.emplace_back(std::vector<std::pair<bool, Transform3d>>());
|
||||||
const ModelObject* model_object = m_model->objects[o];
|
const ModelObject* model_object = m_model->objects[o];
|
||||||
for (size_t i = 0; i < model_object->instances.size(); ++i) {
|
for (size_t i = 0; i < model_object->instances.size(); ++i) {
|
||||||
instance_transforms[o].emplace_back(false, Transform3d());
|
instance_transforms[o].emplace_back(false, Transform3d());
|
||||||
|
++instances_count;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (instances_count == 1)
|
||||||
|
return;
|
||||||
|
|
||||||
// second fill temporary cache with data from volumes
|
// second fill temporary cache with data from volumes
|
||||||
for (const GLVolume* v : m_volumes.volumes) {
|
for (const GLVolume* v : m_volumes.volumes) {
|
||||||
if (v->is_modifier || v->is_wipe_tower)
|
if (v->is_modifier || v->is_wipe_tower)
|
||||||
|
@ -3833,6 +3838,7 @@ void GLCanvas3D::update_sequential_clearance()
|
||||||
|
|
||||||
// calculates instances 2d hulls (see also: Print::sequential_print_horizontal_clearance_valid())
|
// calculates instances 2d hulls (see also: Print::sequential_print_horizontal_clearance_valid())
|
||||||
Polygons polygons;
|
Polygons polygons;
|
||||||
|
polygons.reserve(instances_count);
|
||||||
for (size_t i = 0; i < instance_transforms.size(); ++i) {
|
for (size_t i = 0; i < instance_transforms.size(); ++i) {
|
||||||
const auto& object = instance_transforms[i];
|
const auto& object = instance_transforms[i];
|
||||||
for (const auto& instance : object) {
|
for (const auto& instance : object) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue