]> OCCT Git - occt.git/commit
0031757: Visualization - Prebuild BVH for Select3D_SensitiveEntity in separate threads
authorage <age@opencascade.com>
Tue, 8 Sep 2020 11:44:21 +0000 (14:44 +0300)
committerbugmaster <bugmaster@opencascade.com>
Fri, 18 Sep 2020 14:46:57 +0000 (17:46 +0300)
commit6a2fb7a1d1b11485a4f285d0bd03a04395a0cadc
treee224d436ef298e819b9e6194e483efb1785c3d17
parentee3280a94ff7bc78647874996caa7c2bda7d788c
0031757: Visualization - Prebuild BVH for Select3D_SensitiveEntity in separate threads

- Added a new mode in SelectMgr_ViewerSelector for computing BVH for Select3D_SensitiveEntity in background which can be activated via method SelectMgr_ViewerSelector::SetToPrebuildBVH(). Default behavior has not been changed.
- New class SelectMgr_BVHThreadPool manages background processing of BVH building queue.
- Added Select3D_SensitiveEntity::ToBuildBVH() method that checks if BVH (if it used) is in invalidated state. Defined this method for all standard classes inherited from Select3D_SensitiveEntity.
22 files changed:
src/AIS/AIS_ColoredShape.cxx
src/MeshVS/MeshVS_DummySensitiveEntity.hxx
src/MeshVS/MeshVS_Mesh.cxx
src/Select3D/Select3D_SensitiveBox.hxx
src/Select3D/Select3D_SensitiveCircle.cxx
src/Select3D/Select3D_SensitiveCircle.hxx
src/Select3D/Select3D_SensitiveEntity.hxx
src/Select3D/Select3D_SensitiveFace.hxx
src/Select3D/Select3D_SensitivePoint.hxx
src/Select3D/Select3D_SensitiveSegment.hxx
src/Select3D/Select3D_SensitiveSet.hxx
src/Select3D/Select3D_SensitiveTriangle.hxx
src/SelectMgr/FILES
src/SelectMgr/SelectMgr_BVHThreadPool.cxx [new file with mode: 0644]
src/SelectMgr/SelectMgr_BVHThreadPool.hxx [new file with mode: 0644]
src/SelectMgr/SelectMgr_SelectionManager.cxx
src/SelectMgr/SelectMgr_SelectionManager.hxx
src/SelectMgr/SelectMgr_ViewerSelector.cxx
src/SelectMgr/SelectMgr_ViewerSelector.hxx
src/StdSelect/StdSelect_BRepSelectionTool.cxx
src/ViewerTest/ViewerTest_ViewerCommands.cxx
tests/v3d/mesh/C1 [new file with mode: 0644]