MantisBT - Open CASCADE
View Issue Details
0030939Open CASCADE[OCCT] OCCT:DRAWpublic2019-09-04 09:392020-06-28 12:48
kgv 
bugmaster 
normalminor 
verifiedfixed 
LinuxUbuntu 18.0464 bit
[OCCT] 7.4.0 
[OCCT] 7.5.0* 
Not required
0030939: Draw Harness, ViewerTest - AIS_ViewCube animation does not work on Linux and macOS
AIS_ViewCube calls Aspect_Window::InvalidateContent() for requesting more frames to draw animation, however this approach does not work reliably for Xw_Window in case of calling within GUI thread (in contrast to "vrepaint -continuous" emitting updates from another thread).
pload MODELING VISUALIZATION
box b 1 2 3
vclear
vinit
vdisplay -dispMode 1 b
vfit
vviewcube vc

then click onto View Cube and doesn't move mouse.
Animation does not work if mouse is in idle.
No tags attached.
related to 0030619closed apn Draw Harness, ViewerTest - add continuous rendering option to vrepaint command 
child of 0028954closed bugmaster Visualization - implement interactive object AIS_ViewCube for camera manipulations 
child of 0030507closed bugmaster Visualization - introduce AIS_ViewController 
Issue History
2019-09-04 09:39kgvNew Issue
2019-09-04 09:39kgvAssigned To => kgv
2019-09-04 09:39kgvRelationship addedchild of 0028954
2019-09-04 09:40kgvRelationship addedchild of 0030507
2019-09-04 09:40kgvRelationship addedrelated to 0030619
2019-09-25 22:05abvTarget Version7.4.0 => 7.5.0*
2020-06-20 17:47gitNote Added: 0092623
2020-06-20 19:08kgvNote Added: 0092625
2020-06-20 19:08kgvAssigned Tokgv => nds
2020-06-20 19:08kgvStatusnew => resolved
2020-06-22 14:52ndsNote Added: 0092655
2020-06-22 14:52ndsAssigned Tonds => kgv
2020-06-22 14:52ndsStatusresolved => assigned
2020-06-22 15:36gitNote Added: 0092661
2020-06-22 15:42gitNote Added: 0092662
2020-06-22 15:43kgvNote Added: 0092663
2020-06-22 15:43kgvAssigned Tokgv => nds
2020-06-22 15:43kgvStatusassigned => resolved
2020-06-22 15:53gitNote Added: 0092664
2020-06-22 16:02ndsAssigned Tonds => bugmaster
2020-06-22 16:02ndsStatusresolved => reviewed
2020-06-28 11:27bugmasterNote Added: 0092787
2020-06-28 11:27bugmasterStatusreviewed => tested
2020-06-28 11:29bugmasterTest case number => Not required
2020-06-28 12:35bugmasterChangeset attached => occt master 08b7a39f
2020-06-28 12:35bugmasterStatustested => verified
2020-06-28 12:35bugmasterResolutionopen => fixed
2020-06-28 12:48gitNote Added: 0092806

Notes
(0092623)
git   
2020-06-20 17:47   
Branch CR30939 has been created by kgv.

SHA-1: 93908173501ae97f6f0097d0980b9dbb2a1a3929


Detailed log of new commits:

Author: kgv
Date: Sat Jun 20 17:48:52 2020 +0300

    0030939: Draw Harness, ViewerTest - AIS_ViewCube animation does not work on Linux and macOS
    
    ViewerTest_EventManager::handleViewRedraw() now starts ViewerTest_ContinuousRedrawer
    working thread to workaround Tcl event loop invalidation issue.
(0092625)
kgv   
2020-06-20 19:08   
Patch is ready for review in OCCT branch CR30939.

http://jenkins-test-12.nnov.opencascade.com:8080/view/CR30939-master-KGV/ [^]
(0092655)
nds   
2020-06-22 14:52   
Dear Kirill
several points for this patch:

1. why ViewerTest_ContinuousRedrawer instance is in ViewerTest package? As, the issue relates to AIS_ViewCube, might it be useful out of only Tcl draw tests?
2. Could you please, if possible, extend description of ViewerTest_ContinuousRedrawer class to know in what cases it's worth using it?
3. Test case to reproduce the issue is absent in the provided fix, though mentioned in the issue.
(0092661)
git   
2020-06-22 15:36   
Branch CR30939 has been updated forcibly by kgv.

SHA-1: 42efb1f5cfc30cb6fa6831101d1c1f07777f228a
(0092662)
git   
2020-06-22 15:42   
Branch CR30939 has been updated forcibly by kgv.

SHA-1: 0a9e02a65f781c0b319d7270bffa3a342f4ab5d8
(0092663)
kgv   
2020-06-22 15:43   
> 1. ...issue relates to AIS_ViewCube, might it be useful out of only Tcl draw tests?
The issue is specific to Draw Harness due to broken message loop handler implied by Tcl/Tk integration. In well-defined message loop GUI applications should not experience similar problem.

> 2. extend description of ViewerTest_ContinuousRedrawer class
Pushed.

> 3. Test case
Draw Harness currently does not provide mechanisms for GUI tests, and this issue can be reproduced only interactively.
(0092664)
git   
2020-06-22 15:53   
Branch CR30939 has been updated forcibly by kgv.

SHA-1: 218430161317a7b9eb965ab05f145559d7b9bdfa
(0092787)
bugmaster   
2020-06-28 11:27   
Combination -
OCCT branch : IR-2020-06-26
master SHA - 832a6f4412321ca784bbb36916dc740d04a05c0c
a206de37fbfa0bf71bd534ae47192bbec23b8522
Products branch : IR-2020-06-26 SHA - 180ab3ca4e501bda3da57c99a8ac8b220db33df3
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:
Debian80-64:
OCCT
Total CPU difference: 17164.36000000016 / 17160.400000000114 [+0.02%]
Products
Total CPU difference: 11173.720000000081 / 11197.400000000112 [-0.21%]
Windows-64-VC14:
OCCT
Total CPU difference: 18707.65625 / 18650.578125 [+0.31%]
Products
Total CPU difference: 13062.6875 / 13012.71875 [+0.38%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention
(0092806)
git   
2020-06-28 12:48   
Branch CR30939 has been deleted by inv.

SHA-1: 218430161317a7b9eb965ab05f145559d7b9bdfa