MantisBT
Mantis Bug Tracker Workflow

occt: master 099f3513 Diff ] Back to Repository ]
Author Committer Branch Timestamp Parent
apl bugmaster master 2016-09-09 12:53:58 master c1070321
Affected Issues 0027739: Visualization, TKV3d - implement individual acceleration data structure for selection of 2D persistent objects
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 ]


Copyright © 2000 - 2021 MantisBT Team
Powered by Mantis Bugtracker