MantisBT - ParaView
View Issue Details
0008690ParaView(No Category)public2009-03-06 11:572011-01-13 17:00
Ken Moreland 
Ken Moreland 
normalminorhave not tried
closedfixed 
 
3.63.6 
0008690: Rubber band zoom should change center of rotation
When you use the rubber band zoom anywhere but near the center of rotation, a subsequent rotation spins the object in strange ways. When the user does a rubber band zoom, the center of rotation should be moved somewhere to the middle of the area that was zoomed in on.
No tags attached.
Issue History
2009-03-06 11:57Ken MorelandNew Issue
2009-03-06 11:57Ken MorelandStatusbacklog => tabled
2009-03-06 11:57Ken MorelandAssigned To => Utkarsh Ayachit
2009-03-08 14:44Utkarsh AyachitNote Added: 0015598
2009-03-08 14:44Utkarsh AyachitStatustabled => @80@
2009-03-08 14:44Utkarsh AyachitResolutionopen => fixed
2009-03-10 20:17Alan ScottNote Added: 0015636
2009-03-10 20:17Alan ScottStatus@80@ => @20@
2009-03-10 20:17Alan ScottResolutionfixed => reopened
2009-03-16 10:49Eric MonsonNote Added: 0015693
2009-05-13 13:46Utkarsh AyachitTarget Version => 3.6
2009-05-14 18:01Ken MorelandStatus@20@ => tabled
2009-05-14 18:01Ken MorelandAssigned ToUtkarsh Ayachit => Ken Moreland
2009-05-15 10:06Ken MorelandNote Added: 0016476
2009-05-15 10:06Ken MorelandStatustabled => @80@
2009-05-15 10:06Ken MorelandFixed in Version => 3.6
2009-05-15 10:06Ken MorelandResolutionreopened => fixed
2009-05-15 17:21Alan ScottNote Added: 0016489
2009-05-15 17:21Alan ScottStatus@80@ => closed
2011-01-13 17:00Source_changeset_attached => VTK master a2bd8391
2011-01-13 17:00Source_changeset_attached => VTK master 020ef709
2011-06-16 13:10Zack GalbreathCategory => (No Category)

Notes
(0015598)
Utkarsh Ayachit   
2009-03-08 14:44   
Reset center of rotation when user zooms to box.


/cvsroot/ParaView3/ParaView3/Qt/Core/pqRenderView.h,v <-- Qt/Core/pqRenderView.h
new revision: 1.27; previous revision: 1.26
/cvsroot/ParaView3/ParaView3/Qt/Core/pqRubberBandHelper.cxx,v <-- Qt/Core/pqRubberBandHelper.cxx
new revision: 1.12; previous revision: 1.11
(0015636)
Alan Scott   
2009-03-10 20:17   
There is an error in the zoom. Replicate as follows:
Paraview trunk, local server, XP.

Open Can.exo.
+Y
Rubber band zoom, starting to the left and below the left bottom of the can.
End slightly to the right and above the left bottom of the can.

Notice that the whole screen is filled. This is wrong.
(0015693)
Eric Monson   
2009-03-16 10:49   
There is another problem with the zoom: When you zoom in very close on something (as in note 0015636 above) the camera view angle is changed to some very low value which is not reflected correctly in the Adjust Camera dialog. (If you Reset the view it almost looks like parallel projection.) With a default 3d view the Adjust Camera dialog will still say 30 degrees, as does servermanager.GetRenderView().CameraViewAngle.

To see the difference, reset the angle to 30.01 degrees in the dialog, or directly to 30 in Python, and see the big adjustment in the view.
(0016476)
Ken Moreland   
2009-05-15 10:06   
The previous two notes presented two separate problems, each of which are different than the original request of this bug. The first issue deals with a general problem of zooming and translating simultaneously in perspective mode. The problem is that when you translate parallel to the viewing plane (which you must do for a rubber band zoom), geometry near the camera moves a different amount on screen than geometry far from the camera. The rubber band zoom picks a particular distance from the camera and bases the translation on that point. Any geometry not at the same depth will not move the exact same amount. This disparity becomes most noticeable when you draw a little box in the corner of the view (which is what is described above) because the difference between movements near and far are greatest and the zoom in is extreme and therefore makes the change the most noticeable. THERE IS NO RELIABLE WAY TO FIX THIS. Fortunately, it seems to behave well enough if you do not do extreme views. So if you do the view described above, but incrementally with, say three zooms, it behaves pretty well.

The second issue deals with the viewing angle. (Good call. I didn't notice that.) That was caused because the rubber band zoom was using the viewing angle to make the object look bigger whereas all the other interactions move the camera closer or further away to perform the zoom. I change the interactor to dolly the camera instead of adjusting the viewing angle. This should be fixed now.

/cvsroot/VTKData/VTKData/Baseline/Rendering/TestStyleRubberBandZoom.png,v <-- TestStyleRubberBandZoom.png
new revision: 1.4; previous revision: 1.3
/cvsroot/ParaView3/ParaView3/VTK/Rendering/vtkInteractorStyleRubberBandZoom.cxx,v <-- vtkInteractorStyleRubberBandZoom.cxx
new revision: 1.11; previous revision: 1.10
(0016489)
Alan Scott   
2009-05-15 17:21   
Tested local server.