DiscussionsIssue archiveOCCT:Application Framework

Archived issue #0030215

Application Framework, TPrsStd_AISPresentation - Enable Lazy Presentation Updates

CommunityOCCT:Application Frameworkclosed11 public notes

Search issues

Description

See paragraphs "2. Attempt" and "3. Attempt" here: https://www.opencascade.com/content/lazy-presentation-update.

If you agree, then I could add a method TPrsStd_AISPresentation::NullifyAIS() like proposed in the forum topic. Or do you have another proposal?

Thank you,
Benjamin

Public activity

11 archived notes

Participants are labeled by their role within this record.

01Commenter 1
Dear VRO,

Could you check what could be done.
02Commenter 2
Branch [archived branch] has been created by Commenter 3.

[revision removed]


Detailed log of new commits:

Author: Commenter 3
Date: Thu Oct 11 12:14:07 2018 +0300

    0030215: Application Framework, TPrsStd_AISPresentation - Enable Lazy Presentation Updates
    
    Interactive object is nullified in the method Erase(true).
03Commenter 3
Hello Benjamin!
Thanks for the description. I reproduced the problem you noticed.
In spite of the 3d attempt works fine, I should agree that it looks a little weird. So, I applied your idea of the 1st attempt and nullified the interactive object after calling of Remove() from the interactive context. It seems it works and looks less weird, do you agree? Could you please check it in your application? The change is in CR30215 branch. Also, you might check it using a simple draw-script:

pload ALL
NewDoc D
AISInitViewer D
box b1 100 100 100
SetShape D 0:1 b1
AISSet D 0:1 NS
AISDisplay D 0:1 0
box b2 100 200 300
SetShape D 0:1 b2
AISRemove D 0:1
AISDisplay D 0:1 0

This script sets a box of (100, 100, 100) size, displays it and then removes. Then, I create a new box with (100, 200, 300) size, replace the old box and then redisplay - the viewer should show the new box having called Update() internally.
04Author
Hello vro,

your solution works very well here. I agree that it is elegant to do it like that.

Thank you,
Benjamin
05Commenter 2
Branch [archived branch] has been updated by Commenter 3.

[revision removed]


Detailed log of new commits:

Author: Commenter 3
Date: Thu Oct 11 13:48:17 2018 +0300

    // Removed commented code.

06Commenter 2
Branch [archived branch] has been created by Commenter 3.

[revision removed]


Detailed log of new commits:

Author: Commenter 3
Date: Mon Oct 15 15:07:52 2018 +0300

    // Up-to-date version of the branch.
07Commenter 3
The fix is reviewed. Compilation and testing passed well: http://jenkins-test-12.nnov.opencascade.com/view/CR30215-master-VRO-3/view/COMPARE/. The branch for integration is CR30215_1.
08Commenter 2
Branch [archived branch] has been updated by Commenter 1.

[revision removed]


Detailed log of new commits:

Author: Commenter 1
Date: Tue Oct 16 23:05:03 2018 +0300

    //Add test case bugs/caf/bug30215

09Commenter 1
Combination -
OCCT branch : [archived branch] SHA - [revision removed]
Products branch : [archived branch] SHA - [revision removed]
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

Test case:
bugs caf bug30215 - OK

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 17568.53999999986 / 17553.839999999873 [+0.08%]
Products
Total CPU difference: 7422.670000000065 / 7416.290000000055 [+0.09%]
Windows-64-VC14:
OCCT
Total CPU difference: 17559.051357298453 / 17582.732309098545 [-0.13%]
Products
Total CPU difference: 8329.236592199975 / 8362.40240479998 [-0.40%]

Image differences :
No differences that require special attention

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

[revision removed]
11Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]