0027180: Visualization - improve selection logic of MeshVS_Mesh
authorvpa <vpa@opencascade.com>
Wed, 2 Mar 2016 17:27:42 +0000 (20:27 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 3 Mar 2016 11:17:17 +0000 (14:17 +0300)
commit114b7bf18f6ef074558884f5871e77160251b7d1
treeee4526a2393afb93aa1b644891bd0e645576c67a
parentbd5160a5fa1714ce14332d71d76ed2676fe13277
0027180: Visualization - improve selection logic of MeshVS_Mesh

MeshVS_Mesh selection logic in MeshVS_SMF_Mesh mode (entire mesh) has been optimized.
MeshVS_Mesh::ComputeSelection() now creates single sensitive entity
MeshVS_CommonSensitiveEntity (new class) instead of small sensitive entity on each element.
MeshVS_SensitiveQuad (new class) and Select3D_SensitiveTriangle are used instead of Select3D_SensitiveFace for local selection to reduce memory consumption when possible.
23 files changed:
src/MeshVS/FILES
src/MeshVS/MeshVS_Buffer.hxx
src/MeshVS/MeshVS_CommonSensitiveEntity.cxx [new file with mode: 0644]
src/MeshVS/MeshVS_CommonSensitiveEntity.hxx [new file with mode: 0644]
src/MeshVS/MeshVS_Mesh.cxx
src/MeshVS/MeshVS_Mesh.hxx
src/MeshVS/MeshVS_SensitiveQuad.cxx [new file with mode: 0644]
src/MeshVS/MeshVS_SensitiveQuad.hxx [new file with mode: 0644]
src/SelectBasics/SelectBasics_SelectingVolumeManager.hxx
src/SelectMgr/SelectMgr_BaseFrustum.cxx
src/SelectMgr/SelectMgr_BaseFrustum.hxx
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_TriangularFrustum.cxx
src/SelectMgr/SelectMgr_TriangularFrustum.hxx
src/SelectMgr/SelectMgr_TriangularFrustumSet.cxx
src/SelectMgr/SelectMgr_TriangularFrustumSet.hxx
src/StdSelect/StdSelect_BRepSelectionTool.cxx
src/StdSelect/StdSelect_BRepSelectionTool.hxx