Archived issue #0028647
Visualization, OpenGl_AspectMarker - invalid marker size on re-setting aspect without redraw
Description
OpenGl_AspectMarker::SetAspect() resets marker size (myMarkerSize), and then myMarkerSize is set to actual image dimensions within OpenGl_AspectMarker::Resources::BuildSprites().
Within the following scenario myMarkerSize is reset to invalid state:
- Draw marker with Aspect1.
- Set marker Aspect2, but do NOT draw it.
- Draw marker with Aspect1 again.
This is because OpenGl_AspectMarker::Resources::BuildSprites() has an optimization to do nothing when actually loaded marker is the same as requested one - including not updating myMarkerSize.
Within the following scenario myMarkerSize is reset to invalid state:
- Draw marker with Aspect1.
- Set marker Aspect2, but do NOT draw it.
- Draw marker with Aspect1 again.
This is because OpenGl_AspectMarker::Resources::BuildSprites() has an optimization to do nothing when actually loaded marker is the same as requested one - including not updating myMarkerSize.
Steps to reproduce
N/A
Public activity
4 archived notes
Participants are labeled by their role within this record.
Branch [archived branch] has been created by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Tue Apr 11 17:54:10 2017 +0300
0028647: Visualization, OpenGl_AspectMarker - invalid marker size on re-setting aspect without redraw
OpenGl_AspectMarker::Resources::BuildSprites(), fixed uninitialized theMarkerSize
in case if aspect has been already initialized for specified marker type.
Draw Harness command vaspects has been extended
with new options -setMarkerType and -setMarkerSize.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Tue Apr 11 17:54:10 2017 +0300
0028647: Visualization, OpenGl_AspectMarker - invalid marker size on re-setting aspect without redraw
OpenGl_AspectMarker::Resources::BuildSprites(), fixed uninitialized theMarkerSize
in case if aspect has been already initialized for specified marker type.
Draw Harness command vaspects has been extended
with new options -setMarkerType and -setMarkerSize.
Please test the patch.
Dear Commenter 1,
Branch CR28647 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component:
Linux: 0 (0 on master)
Windows: 0 (0 on master)
MasOS: 0 (0 on master)
products component:
Linux: 64
Windows: 0
MacOS: 1190
Regressions/Differences:
Not detected
Testing cases:
Not needed
Testing on Linux:
Total MEMORY difference: 91450193 / 91394327 [+0.06%]
Total CPU difference: 19611.52000000023 / 19613.25000000024 [-0.01%]
Testing on Windows:
Total MEMORY difference: 57855412 / 57855806 [-0.00%]
Total CPU difference: 18314.096197298615 / 18063.40259029849 [+1.39%]
Branch CR28647 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component:
Linux: 0 (0 on master)
Windows: 0 (0 on master)
MasOS: 0 (0 on master)
products component:
Linux: 64
Windows: 0
MacOS: 1190
Regressions/Differences:
Not detected
Testing cases:
Not needed
Testing on Linux:
Total MEMORY difference: 91450193 / 91394327 [+0.06%]
Total CPU difference: 19611.52000000023 / 19613.25000000024 [-0.01%]
Testing on Windows:
Total MEMORY difference: 57855412 / 57855806 [-0.00%]
Total CPU difference: 18314.096197298615 / 18063.40259029849 [+1.39%]
Branch [archived branch] has been deleted by Author.
[revision removed]
[revision removed]
Related records