DiscussionsIssue archiveOCCT:Visualization

Archived issue #0032879

Visualization, AIS_ViewController - define separate gesture mappings for dragging

Open CASCADEOCCT:Visualizationverified13 public notes

Search issues

Description

Currently, dragging is implemented in a way strongly bound to default mapping of Left mouse button assigned to view rotation.
This assumption is unsafe - rotation gesture might be disabled (#0032861) or mapped to another button (left mouse might be mapped to panning), in which case dragging doesn't work at all.

It is desired defining a separate mapping to dragging gesture (bound to Left mouse button by default, but user might want to enable dragging using right mouse or with Ctrl modifier, for instance), in which case concurrency with other gestures (panning, zooming) should be handled in a similar way as it is done with rotation.

Public activity

13 archived notes

Participants are labeled by their role within this record.

01Commenter 3
Branch [archived branch] has been created by Participant.

[revision removed]


Detailed log of new commits:

Author: Commenter 1
Date: Mon Jul 17 23:14:55 2023 +0100

    0032879: Visualization, AIS_ViewController - define separate gesture mappings for dragging
02Commenter 3
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: Commenter 1
Date: Tue Jul 18 10:11:13 2023 +0100

    test fix
03Commenter 3
Branch [archived branch] has been created by Participant.

[revision removed]


Detailed log of new commits:

Author: Commenter 1
Date: Mon Jul 17 23:14:55 2023 +0100

    0032879: Visualization, AIS_ViewController - define separate gesture mappings for dragging
04Commenter 1
Dear Rodrigo!
Please review the brach CR32879_1.
The testing is successful: http://jenkins-test-10.nnov.opencascade.com/view/CR32879-master-Commenter 1/view/ALL/. The failed tests aren't related to the task.
05Commenter 4
Dear Commenter 5

Commit message has no any description.

v3d / manipulator / drag_pan_zoom
Has no new line at the end
v3d / manipulator / drag_pan_zoom

src/ViewerTest/ViewerTest_ViewerCommands.cxx
Unused parameter should has no own name or should call on first line as (void)theVarName
+//=======================================================================
+//function : VMouseGesture
+//purpose  :
+//=======================================================================
+static int VMouseGesture (Draw_Interpretor& /*theDI*/,
+                          Standard_Integer  theArgsNb,
+                          const char**      theArgVec)

Dummy space "(Standard_UInteger )"
+  Standard_UInteger aButton = (Standard_UInteger )Aspect_VKeyMouse_LeftButton;

Rrobably different code style - dummy space berween function name and '('
There is just sample. It can be not fixed, just for infrom.
+      aGesture = aGestureMap.Find1 (aGestureStr);
+    aGestureMap.Bind ("none",            AIS_MouseGesture_NONE);

Commenter 6 need to analyze new parameters on "src/AIS/AIS_ViewController.cxx"
'cause they look ucommented. At least I'm avaiting some comments there.
06Commenter 3
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: Commenter 1
Date: Tue Jul 18 15:53:01 2023 +0100

    0032879: Visualization, AIS_ViewController - define separate gesture mappings for dragging
    
    Fixed problem of usage of objects dragging during zoom and pan
    Added new draw command to change gesture for muse buttons
    Added test
07Commenter 3
Branch [archived branch] has been created by Participant.

[revision removed]


Detailed log of new commits:

Author: Commenter 1
Date: Mon Jul 17 23:14:55 2023 +0100

    0032879: Visualization, AIS_ViewController - define separate gesture mappings for dragging
    
    Fixed problem of usage of objects dragging during zoom and pan
    Added new draw command to change gesture for muse buttons
    Added test
08Commenter 7
As discussed with Svetlana on Teams, I suggested to change the name of the new Draw method from `vmousegesture` to something like `vchangemousegesture`, for better clarity. This is optional change.

Aside from that, there aren't any remarks and the fix can be merged.

dear Commenter 8,
please integrate:
OCCT - CR32879_1
09Commenter 7
As noted by Vadim, the branch name was wrong.
Sorry for the confusion.

Checked branch CR32879_2 and it is all good.

dear Commenter 8,
please integrate:
OCCT - CR32879_2
10Commenter 9
Combination -
OCCT branch : [archived branch]
Products branch : [archived branch]
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Ubuntu2004-64:
OCCT
Total CPU difference: 18390.160000000218 / 17955.81000000025 [+2.42%]
Products
Total CPU difference: 12120.729999999998 / 11840.960000000014 [+2.36%]
Windows-64-VC142:
OCCT
Total CPU difference: 19150.53125 / 18775.15625 [+2.00%]
Products
Total CPU difference: 13127.03125 / 12654.9375 [+3.73%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention
11Commenter 3
Branch [archived branch] has been deleted by Participant.

[revision removed]
12Commenter 3
Branch [archived branch] has been deleted by Participant.

[revision removed]
13Commenter 3
Branch [archived branch] has been deleted by Participant.

[revision removed]

Related records