mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-30 20:21:12 -06:00 
			
		
		
		
	Scale gizmo -> Grabbers showing tooltip also on hover for single instance selection.
This commit is contained in:
		
							parent
							
								
									9b3e3ec967
								
							
						
					
					
						commit
						17b7a3b9d7
					
				
					 1 changed files with 21 additions and 1 deletions
				
			
		|  | @ -848,6 +848,25 @@ void GLGizmoScale3D::on_render(const GLCanvas3D::Selection& selection) const | |||
| void GLGizmoScale3D::on_render(const BoundingBoxf3& box) const | ||||
| #endif // ENABLE_EXTENDED_SELECTION
 | ||||
| { | ||||
| #if ENABLE_EXTENDED_SELECTION | ||||
|     bool single_instance = selection.is_single_full_instance(); | ||||
|     Vec3f scale = single_instance ? 100.0f * selection.get_volume(*selection.get_volume_idxs().begin())->get_scaling_factor().cast<float>() : 100.0f * m_scale.cast<float>(); | ||||
| 
 | ||||
|     if ((single_instance && ((m_hover_id == 0) || (m_hover_id == 1))) || m_grabbers[0].dragging || m_grabbers[1].dragging) | ||||
|         set_tooltip("X: " + format(scale(0), 4) + "%"); | ||||
|     else if ((single_instance && ((m_hover_id == 2) || (m_hover_id == 3))) || m_grabbers[2].dragging || m_grabbers[3].dragging) | ||||
|         set_tooltip("Y: " + format(scale(1), 4) + "%"); | ||||
|     else if ((single_instance && ((m_hover_id == 4) || (m_hover_id == 5))) || m_grabbers[4].dragging || m_grabbers[5].dragging) | ||||
|         set_tooltip("Z: " + format(scale(2), 4) + "%"); | ||||
|     else if ((single_instance && ((m_hover_id == 6) || (m_hover_id == 7) || (m_hover_id == 8) || (m_hover_id == 9))) | ||||
|         || m_grabbers[6].dragging || m_grabbers[7].dragging || m_grabbers[8].dragging || m_grabbers[9].dragging) | ||||
|     { | ||||
|         std::string tooltip = "X: " + format(scale(0), 4) + "%\n"; | ||||
|         tooltip += "Y: " + format(scale(1), 4) + "%\n"; | ||||
|         tooltip += "Z: " + format(scale(2), 4) + "%"; | ||||
|         set_tooltip(tooltip); | ||||
|     } | ||||
| #else | ||||
|     if (m_grabbers[0].dragging || m_grabbers[1].dragging) | ||||
|         set_tooltip("X: " + format(100.0f * m_scale(0), 4) + "%"); | ||||
|     else if (m_grabbers[2].dragging || m_grabbers[3].dragging) | ||||
|  | @ -861,6 +880,7 @@ void GLGizmoScale3D::on_render(const BoundingBoxf3& box) const | |||
|         tooltip += "Z: " + format(100.0f * m_scale(2), 4) + "%"; | ||||
|         set_tooltip(tooltip); | ||||
|     } | ||||
| #endif // ENABLE_EXTENDED_SELECTION
 | ||||
| 
 | ||||
|     ::glEnable(GL_DEPTH_TEST); | ||||
| 
 | ||||
|  | @ -870,7 +890,7 @@ void GLGizmoScale3D::on_render(const BoundingBoxf3& box) const | |||
|     Vec3d angles = Vec3d::Zero(); | ||||
|     Transform3d offsets_transform = Transform3d::Identity(); | ||||
| 
 | ||||
|     if (selection.is_from_single_instance()) | ||||
|     if (single_instance) | ||||
|     { | ||||
|         // calculate bounding box in instance local reference system
 | ||||
|         const GLCanvas3D::Selection::IndicesList& idxs = selection.get_volume_idxs(); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Enrico Turri
						Enrico Turri