mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-30 12:11:15 -06:00 
			
		
		
		
	Follow-up of 450e430ca1b5169ab59d39a62cc84c4db3b0a8fa - Fixed wrong if() conditions into Plater::priv::reload_from_disk()
This commit is contained in:
		
							parent
							
								
									8df5202e74
								
							
						
					
					
						commit
						1ba189b3a8
					
				
					 1 changed files with 24 additions and 25 deletions
				
			
		|  | @ -3674,39 +3674,38 @@ void Plater::priv::reload_from_disk() | |||
|                     } | ||||
| //                }
 | ||||
| 
 | ||||
|                 if (new_object_idx < 0 && (int)new_model.objects.size() <= new_object_idx) { | ||||
|                 if (new_object_idx < 0 || int(new_model.objects.size()) <= new_object_idx) { | ||||
|                     fail_list.push_back(from_u8(has_source ? old_volume->source.input_file : old_volume->name)); | ||||
|                     continue; | ||||
|                 } | ||||
|                 ModelObject* new_model_object = new_model.objects[new_object_idx]; | ||||
|                 if (new_volume_idx < 0 && (int)new_model.objects.size() <= new_volume_idx) { | ||||
|                 if (new_volume_idx < 0 || int(new_model_object->volumes.size()) <= new_volume_idx) { | ||||
|                     fail_list.push_back(from_u8(has_source ? old_volume->source.input_file : old_volume->name)); | ||||
|                     continue; | ||||
|                 } | ||||
|                 if (new_volume_idx < (int)new_model_object->volumes.size()) { | ||||
|                     old_model_object->add_volume(*new_model_object->volumes[new_volume_idx]); | ||||
|                     ModelVolume* new_volume = old_model_object->volumes.back(); | ||||
|                     new_volume->set_new_unique_id(); | ||||
|                     new_volume->config.apply(old_volume->config); | ||||
|                     new_volume->set_type(old_volume->type()); | ||||
|                     new_volume->set_material_id(old_volume->material_id()); | ||||
|                     new_volume->set_transformation(old_volume->get_transformation()); | ||||
|                     new_volume->translate(new_volume->get_transformation().get_matrix(true) * (new_volume->source.mesh_offset - old_volume->source.mesh_offset)); | ||||
|                     new_volume->source.object_idx = old_volume->source.object_idx; | ||||
|                     new_volume->source.volume_idx = old_volume->source.volume_idx; | ||||
|                     assert(! old_volume->source.is_converted_from_inches || ! old_volume->source.is_converted_from_meters); | ||||
|                     if (old_volume->source.is_converted_from_inches) | ||||
|                         new_volume->convert_from_imperial_units(); | ||||
|                     else if (old_volume->source.is_converted_from_meters) | ||||
|                         new_volume->convert_from_meters(); | ||||
|                     std::swap(old_model_object->volumes[sel_v.volume_idx], old_model_object->volumes.back()); | ||||
|                     old_model_object->delete_volume(old_model_object->volumes.size() - 1); | ||||
|                     if (!sinking) | ||||
|                         old_model_object->ensure_on_bed(); | ||||
|                     old_model_object->sort_volumes(wxGetApp().app_config->get("order_volumes") == "1"); | ||||
| 
 | ||||
|                     sla::reproject_points_and_holes(old_model_object); | ||||
|                 } | ||||
|                 old_model_object->add_volume(*new_model_object->volumes[new_volume_idx]); | ||||
|                 ModelVolume* new_volume = old_model_object->volumes.back(); | ||||
|                 new_volume->set_new_unique_id(); | ||||
|                 new_volume->config.apply(old_volume->config); | ||||
|                 new_volume->set_type(old_volume->type()); | ||||
|                 new_volume->set_material_id(old_volume->material_id()); | ||||
|                 new_volume->set_transformation(old_volume->get_transformation()); | ||||
|                 new_volume->translate(new_volume->get_transformation().get_matrix(true) * (new_volume->source.mesh_offset - old_volume->source.mesh_offset)); | ||||
|                 new_volume->source.object_idx = old_volume->source.object_idx; | ||||
|                 new_volume->source.volume_idx = old_volume->source.volume_idx; | ||||
|                 assert(! old_volume->source.is_converted_from_inches || ! old_volume->source.is_converted_from_meters); | ||||
|                 if (old_volume->source.is_converted_from_inches) | ||||
|                     new_volume->convert_from_imperial_units(); | ||||
|                 else if (old_volume->source.is_converted_from_meters) | ||||
|                     new_volume->convert_from_meters(); | ||||
|                 std::swap(old_model_object->volumes[sel_v.volume_idx], old_model_object->volumes.back()); | ||||
|                 old_model_object->delete_volume(old_model_object->volumes.size() - 1); | ||||
|                 if (!sinking) | ||||
|                     old_model_object->ensure_on_bed(); | ||||
|                 old_model_object->sort_volumes(wxGetApp().app_config->get("order_volumes") == "1"); | ||||
| 
 | ||||
|                 sla::reproject_points_and_holes(old_model_object); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 enricoturri1966
						enricoturri1966