DiscussionsIssue archiveOCCT:Visualization

Archived issue #0028407

Visualization - remove ::UpdateMode() from Graphic3d_StructureManager

Open CASCADEOCCT:Visualizationclosed6 public notes

Search issues

Description

Graphic3d_StructureManager defines a property myUpdateMode of type Aspect_TypeOfUpdate with the following description:
  //! Modifies the screen update mode.
  //!
  //! TOU_ASAP - as soon as possible
  //! TOU_WAIT - on demand (with the Update function)
  //! Note : Dynamic Operations and Update Mode
  //! Use SetUpdateMode to control when changes to
  //! the display are made.   Use one of the   following
  //! functions to update one or more views:
  //! - Update all views of the viewer: Graphic3d_StructureManager::Update()
  //! - Update one view of the viewer:  Graphic3d_View::Update()
  //! Use one of the following functions to update the entire display:
  //! - Redraw all structures in all views: Graphic3d_StructureManager::Redraw()
  //! - Redraw all structures in one view:  Graphic3d_View::Redraw()
  void SetUpdateMode (const Aspect_TypeOfUpdate theType) { myUpdateMode = theType; }


In real practice, Aspect_TOU_ASAP is never used - it makes no sense and dangerous, because viewer updates are managed by high-level APIs (e.g. AIS_InteractiveContext).

Therefore, it is proposed removing this class property.

Steps to reproduce

N/A

Public activity

6 archived notes

Participants are labeled by their role within this record.

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

[revision removed]


Detailed log of new commits:

Author: Author
Date: Mon Jan 30 13:09:22 2017 +0300

    0028407: Visualization - remove ::UpdateMode() from Graphic3d_StructureManager
02Author
Patch is ready for review.
03Commenter 3
Branch CR28407 reviewed without remarks, ready for testing.
04Commenter 4
Dear Commenter 2,
Branch CR28407 from occt git-repository (and CR28407 from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
[revision removed]
[revision removed]

Number of compiler warnings:

occt component :
Linux: 0 (0 on master)
Windows: 0 (0 on master)
MacOS : 0 (0 on master)

products component :
Linux: 63 (63 on master)
Windows: 0 (0 on master)
MacOS : 1158

Regressions/Differences/Improvements:
No regressions/differences

Testing cases:
Not needed

Testing on Linux:
occt component :
Total MEMORY difference: 92112973 / 92298184 [-0.20%]
Total CPU difference: 19982.75000000017 / 19914.000000000215 [+0.35%]
products component :
Total MEMORY difference: 31494179 / 31477908 [+0.05%]
Total CPU difference: 5616.349999999975 / 5544.959999999981 [+1.29%]

Testing on Windows:
occt component :
Total MEMORY difference: 57620759 / 57618048 [+0.00%]
Total CPU difference: 18485.151293798543 / 18683.178963198647 [-1.06%]
products component :
Total MEMORY difference: 22659009 / 22621210 [+0.17%]
Total CPU difference: 5492.8108100999825 / 5570.546108399986 [-1.40%]

There are no differences in images found by testdiff.
05Commenter 5
Dear Commenter 2,
Branch CR28407 from occt git-repository and CR28407 from products git-repository are TESTED.
06Commenter 3
Branch [archived branch] has been deleted by Author.

[revision removed]

Related records