occt: master 099f3513
Author | Committer | Branch | Timestamp | Parent |
---|---|---|---|---|
bugmaster | master | 2016-09-09 12:53:58 | master c1070321 | |
Changeset | 0027739: Visualization, TKV3d - implement individual acceleration data structure for selection of 2D persistent objects Low-level selection algorithms has been improved to explicitly support 2D transformation persistent objects. This patch generally touches: 1) SelectMgr_SelectableObjectSet - the lists of objects has been split onto three subsets (regular, 3d-persistent, 2d-persistent). Each subset has individual BVH tree. The algorithms are now have more flexibility to update only those trees that is really required for actual camera state. 2) SelectMgr_ViewerSelector - explicitly supports Eye space selection operations on BVH tree for 2d-persistent subset. Change of camera position does not anymore affect acceleration data structure (BVH tree) of 2d-persistent selectable objects. 3) Other classes from SelectMgr have been fine-tuned to provide appropriate API. Porting notes: This patch touches very low-level selection classes. If the low-level features were used the following modifications may need to be considered for porting: 1) Iteration over objects of SelectMgr_SelectableObjectSet should now be implemented with corresponding Iterator class. 2) SelectMgr_BaseFrustum::ScaleAndTransform and derived classes return Handle(SelectMgr_BaseFrustum) instead of NCollection_Handle<> type. Small correction of test case for issue CR27739 |
|||
mod - src/SelectMgr/FILES | Diff File | |||
mod - src/SelectMgr/SelectMgr_BaseFrustum.cxx | Diff File | |||
mod - src/SelectMgr/SelectMgr_BaseFrustum.hxx | Diff File | |||
mod - src/SelectMgr/SelectMgr_FrustumBuilder.cxx | Diff File | |||
mod - src/SelectMgr/SelectMgr_FrustumBuilder.hxx | Diff File | |||
mod - src/SelectMgr/SelectMgr_RectangularFrustum.cxx | Diff File | |||
mod - src/SelectMgr/SelectMgr_RectangularFrustum.hxx | Diff File | |||
mod - src/SelectMgr/SelectMgr_SelectableObjectSet.cxx | Diff File | |||
mod - src/SelectMgr/SelectMgr_SelectableObjectSet.hxx | Diff File | |||
rm - src/SelectMgr/SelectMgr_SelectableObjectTrsfPersSet.cxx | Diff File | |||
rm - src/SelectMgr/SelectMgr_SelectableObjectTrsfPersSet.hxx | Diff File | |||
mod - src/SelectMgr/SelectMgr_SelectingVolumeManager.cxx | Diff File | |||
mod - src/SelectMgr/SelectMgr_SelectingVolumeManager.hxx | Diff File | |||
mod - src/SelectMgr/SelectMgr_TriangularFrustum.cxx | Diff File | |||
mod - src/SelectMgr/SelectMgr_TriangularFrustum.hxx | Diff File | |||
mod - src/SelectMgr/SelectMgr_TriangularFrustumSet.cxx | Diff File | |||
mod - src/SelectMgr/SelectMgr_TriangularFrustumSet.hxx | Diff File | |||
mod - src/SelectMgr/SelectMgr_ViewerSelector.cxx | Diff File | |||
mod - src/SelectMgr/SelectMgr_ViewerSelector.hxx | Diff File | |||
mod - src/StdSelect/StdSelect_ViewerSelector3d.cxx | Diff File | |||
add - tests/bugs/vis/bug27739 | Diff File |