|View Issue Details [ Jump to Notes ] ||[ Issue History ] [ Print ] |
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0030124||Open CASCADE||[OCCT] OCCT:Visualization||public||2018-09-10 19:01||2018-09-10 19:08|
|Assigned To||mnv|| |
|Product Version||[OCCT] 7.3.0|| |
|Target Version||[OCCT] 7.4.0*||Fixed in Version|| |
|Summary||0030124: Visualization, AIS_InteractiveObject - clean up confusing Presentation invalidation logic|
|Description||AIS_InteractiveObject has several properties related to presentation invalidation:|
The usage of first set of methods looks like a nonsense - they are used as temporary flags within modified object while it is modified by methods like AIS_InteractiveContext::SetWidth() so that invalidated modes are recomputed by AIS_InteractiveContext::redisplayPrsRecModes(). At the same time, RecomputeEveryPrs() flag is messed up with the list of invalidated modes. The list of invalidated modes is stored as AIS_InteractiveObject class field regardless of existence of these modes.
The second set looks more clear, since they invalidate already computed presentations and handled by AIS_InteractiveContext::redisplayPrsModes() as well as by PrsMgr_PresentationManager.
It looks unreasonable having 2 duplicated mechanisms for invalidating presentations, so that one (first) should be removed and replaced by another.
|Tags||No tags attached.|
|Test case number|