<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.slicer.org/w/index.php?action=history&amp;feed=atom&amp;title=Slicer3%3AUIDesign%3AWorkingProblems%3AMouseModes%3ASelectionAndManipulation</id>
	<title>Slicer3:UIDesign:WorkingProblems:MouseModes:SelectionAndManipulation - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.slicer.org/w/index.php?action=history&amp;feed=atom&amp;title=Slicer3%3AUIDesign%3AWorkingProblems%3AMouseModes%3ASelectionAndManipulation"/>
	<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:UIDesign:WorkingProblems:MouseModes:SelectionAndManipulation&amp;action=history"/>
	<updated>2026-05-10T12:42:57Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:UIDesign:WorkingProblems:MouseModes:SelectionAndManipulation&amp;diff=7001&amp;oldid=prev</id>
		<title>Wjp at 21:41, 17 December 2008</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:UIDesign:WorkingProblems:MouseModes:SelectionAndManipulation&amp;diff=7001&amp;oldid=prev"/>
		<updated>2008-12-17T21:41:46Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 21:41, 17 December 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Back to [[Slicer3:UIDesign | Slicer3 UI Design ]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Back to [[Slicer3:UIDesign#Working_problem:_Mouse_Modes_in_Slicer3 | MouseModes in Slicer3 ]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Selection behavior===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Selection behavior===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Once the concepts of 'active' and 'selected' are folded together, then all transformable data types will be either selected or unselected. When selected they should display a consistent visual treatment that makes this state clear. This presents a number of challenges that we need to address.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Once the concepts of 'active' and 'selected' are folded together, then all transformable data types will be either selected or unselected. When selected they should display a consistent visual treatment that makes this state clear. This presents a number of challenges that we need to address.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wjp</name></author>
		
	</entry>
	<entry>
		<id>https://www.slicer.org/w/index.php?title=Slicer3:UIDesign:WorkingProblems:MouseModes:SelectionAndManipulation&amp;diff=7000&amp;oldid=prev</id>
		<title>Wjp: New page: ===Selection behavior=== Once the concepts of 'active' and 'selected' are folded together, then all transformable data types will be either selected or unselected. When selected they shoul...</title>
		<link rel="alternate" type="text/html" href="https://www.slicer.org/w/index.php?title=Slicer3:UIDesign:WorkingProblems:MouseModes:SelectionAndManipulation&amp;diff=7000&amp;oldid=prev"/>
		<updated>2008-12-17T21:41:18Z</updated>

		<summary type="html">&lt;p&gt;New page: ===Selection behavior=== Once the concepts of &amp;#039;active&amp;#039; and &amp;#039;selected&amp;#039; are folded together, then all transformable data types will be either selected or unselected. When selected they shoul...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;===Selection behavior===&lt;br /&gt;
Once the concepts of 'active' and 'selected' are folded together, then all transformable data types will be either selected or unselected. When selected they should display a consistent visual treatment that makes this state clear. This presents a number of challenges that we need to address.&lt;br /&gt;
&lt;br /&gt;
'''Challenge 1: Consistent mouse-over behavior for widgets and selectable data objects.''' Ideally, when the application is in &amp;quot;Pick&amp;quot; mode, there will be consistent mouse-over and selection behavior between VTK widgets and VTK objects representing datasets in the scene. How does an application currently know whether the mouse is over a VTK widget -- is a pick constantly running against a list of instanced widgets? In order to have datasets or sub-sets highlight on mouseover (highlight-rendering aside), the mouse would continuously  have to pick, which is too computationally expensive to be practical. &lt;br /&gt;
&lt;br /&gt;
'''Approach:''' One approach is to attach VTK widgets to each object in the scene, as is implemented in the fiducials module. This could be visually noisy, and it may be hard to tell which object a widget is attached to. Maybe better: we could adapt the QueryAtlas picker to display a model name, label name, cell ID (whatever is appropriate for the datatype being picked) on mouse-over in pick mode. &lt;br /&gt;
&lt;br /&gt;
'''Challenge2: Clear and clean select feedback for data objects in the scene, compatible with rendering of active vtk widgets.'''&lt;br /&gt;
&lt;br /&gt;
'''Approach:'''&lt;br /&gt;
&lt;br /&gt;
'''Challenge3: Ability to easily clear selections.''' Currently, 'active' models and volumes etc. are persistent, but since their 'active' state isn't visually indicated in the scene, this state remains kind of hidden -- and is only revealed in the vtkSlicerNodeSelectorWidgets in the GUI panel. But once 'active' and 'selected' represent the same concept and the visual presentation of any/all selected datatypes is displayed in Slicer viewers, this change of interactive behavior will be very noticeable to users.&lt;br /&gt;
&lt;br /&gt;
'''Approach:''' Once the scene display becomes affected by any object's selected state, users are likely going to want to have a QUICK &amp;amp; EASY option to '''deselect all''' after they perform some processing on a selected dataset. Candidate approaches would be to inclue a &amp;quot;deselect all&amp;quot; option in the drop-down pick menu, or an explicit &amp;quot;deselect all&amp;quot; icon in the toolbar.&lt;br /&gt;
&lt;br /&gt;
===Manipulation behavior===&lt;br /&gt;
A ''vtkSphereWidget'' could be created and displayed surrounding a single or a set of selected objects when Manipulate mode is invoked. The widget would remain active until Manipulate mode was exited or all objects were deselected.&lt;br /&gt;
&lt;br /&gt;
===Tests: visually rendering selected objects ===&lt;br /&gt;
&lt;br /&gt;
What values of ambient, specular and color are used in the first image?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;2&amp;quot; widths=&amp;quot;500px&amp;quot; heights=&amp;quot;300px&amp;quot;&amp;gt;&lt;br /&gt;
Image:Ambient and color.png|Changes to color, ambient, specular and ambient ( all muscles are the same color in the original)&lt;br /&gt;
Image:Slicer3ModelsSelectedAmbientRed.jpg| Using higher ambient setting and red colour to show selected state (inherited from Slicer2)&lt;br /&gt;
Image:Slicer3ModelsSelectedAmbient.jpg| Using ambient setting to show selected state&lt;br /&gt;
Image:Slicer3ModelsSelectedBoundingBox.jpg|Using a bounding box (vtkBoxWidget2) to show selected, bonus of allowing interaction with the model (one off test via the tkcon, need to design the callbacks to allow moving the selected model)&lt;br /&gt;
Image:Slicer3ModelsSelectedSphere.jpg|Using a sphere widget (vtkSphereWidget2) to show selected. Not recommended, as this is more used to position a point on the sphere, and probably won't work as intuitively as the bounding box&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wjp</name></author>
		
	</entry>
</feed>