]> OCCT Git - occt.git/commit
0032365: Visualization - refactoring of viewer selector
authorosa <osa@opencascade.com>
Thu, 13 May 2021 15:52:39 +0000 (18:52 +0300)
committerbugmaster <bugmaster@opencascade.com>
Sat, 22 May 2021 07:36:39 +0000 (10:36 +0300)
commite1eb39d29dca2e4508b143c73d1010e05c67c54e
treec9aa95dddc5dae193c71c86554461788632c7d01
parent77d94fd1747b342bc4f7adc217ea23dae9d4d575
0032365: Visualization - refactoring of viewer selector

Add SelectMgr_BaseIntersector class as base intersector that can have any geometry not only frustum.
Remove cached static array of selecting volumes from selecting volume manager. Keep only one the latest active selection volume.
Change initialization interface of active volume frustum inside of selecting volume manager: Init*SelectingVolume(), set required parameters, BuildSelectingVolume(). Mark existing BuildSelectingVolume() methods as deprecated.
Use SelectMgr_SelectionType instead of SelectBasics_SelectingVolumeManager::SelectionType (the last one is marked as deprecated).
Add interface GetViewRayDirection() to selecting volume manager to get view ray direction (instead of computation it as vector from near to far point).
Add interface IsScalableActiveVolume() to selecting volume manager to check possibility of scaling of current active selecting volume.
34 files changed:
src/AIS/AIS_InteractiveContext.cxx
src/AIS/AIS_Manipulator.cxx
src/AIS/AIS_ViewCube.cxx
src/IVtkOCC/IVtkOCC_ViewerSelector.cxx
src/MeshVS/MeshVS_SensitiveQuad.cxx
src/QABugs/QABugs_19.cxx
src/Select3D/Select3D_SensitiveCircle.cxx
src/Select3D/Select3D_SensitiveGroup.cxx
src/Select3D/Select3D_SensitivePoly.cxx
src/Select3D/Select3D_SensitivePrimitiveArray.cxx
src/Select3D/Select3D_SensitiveSegment.cxx
src/Select3D/Select3D_SensitiveSet.cxx
src/Select3D/Select3D_SensitiveTriangle.cxx
src/Select3D/Select3D_SensitiveTriangulation.cxx
src/Select3D/Select3D_SensitiveTriangulation.hxx
src/SelectBasics/SelectBasics_SelectingVolumeManager.hxx
src/SelectMgr/FILES
src/SelectMgr/SelectMgr_BaseFrustum.cxx
src/SelectMgr/SelectMgr_BaseFrustum.hxx
src/SelectMgr/SelectMgr_BaseIntersector.cxx [new file with mode: 0644]
src/SelectMgr/SelectMgr_BaseIntersector.hxx [new file with mode: 0644]
src/SelectMgr/SelectMgr_Frustum.hxx
src/SelectMgr/SelectMgr_Frustum.lxx
src/SelectMgr/SelectMgr_RectangularFrustum.cxx
src/SelectMgr/SelectMgr_RectangularFrustum.hxx
src/SelectMgr/SelectMgr_SelectingVolumeManager.cxx
src/SelectMgr/SelectMgr_SelectingVolumeManager.hxx
src/SelectMgr/SelectMgr_SelectionType.hxx [new file with mode: 0644]
src/SelectMgr/SelectMgr_TriangularFrustum.cxx
src/SelectMgr/SelectMgr_TriangularFrustum.hxx
src/SelectMgr/SelectMgr_TriangularFrustumSet.cxx
src/SelectMgr/SelectMgr_TriangularFrustumSet.hxx
src/SelectMgr/SelectMgr_ViewerSelector.cxx
src/SelectMgr/SelectMgr_ViewerSelector3d.cxx