0027374: Visualization - optimize management of the scene bounding box
authorduv <duv@opencascade.com>
Wed, 25 May 2016 14:00:59 +0000 (17:00 +0300)
committerbugmaster <bugmaster@opencascade.com>
Fri, 27 May 2016 08:57:55 +0000 (11:57 +0300)
commit50d06d8fcf54bdf9e3cd5ef99464f01848e355f6
treeed7d19feb1bc3fa65e7b3b7fa50325334be3688e
parent5ae6e53decf10a0130112cc56c336296fbddd560
0027374: Visualization - optimize management of the scene bounding box

OpenGl_View now caches bounding boxes per Z-layer (instead of bounding box of entire scene in Graphic3d_CView).
Redundant invalidation of cached scene bounding box is now avoided in case
when new presentation attributes are assigned to the graphic structure.

Add a new methods ConsiderZoomPersistenceObjects() and considerZoomPersistenceObjects() in the Graphic3d_CView, OpenGl_View and OpenGl_Layer classes.
Call ConsiderZoomPersistenceObjects() in the V3d_View::FitMinMax method.

std::numeric_limits<T>::lowest() fix
13 files changed:
src/Graphic3d/Graphic3d_CView.cxx
src/Graphic3d/Graphic3d_CView.hxx
src/Graphic3d/Graphic3d_Structure.cxx
src/Graphic3d/Graphic3d_Structure.hxx
src/Graphic3d/Graphic3d_StructureManager.cxx
src/Graphic3d/Graphic3d_StructureManager.hxx
src/OpenGl/OpenGl_Layer.cxx
src/OpenGl/OpenGl_Layer.hxx
src/OpenGl/OpenGl_LayerList.hxx
src/OpenGl/OpenGl_View.cxx
src/OpenGl/OpenGl_View.hxx
src/V3d/V3d_View.cxx
tests/bugs/vis/bug27374 [new file with mode: 0644]