View Issue Details

IDProjectCategoryView StatusLast Update
0032365Open CASCADEOCCT:Visualizationpublic2021-12-17 18:41
ReporterosaAssigned Tobugmaster  
PrioritynormalSeverityintegration request 
Status closedResolutionfixed 
Target Version7.6.0Fixed in Version7.6.0 
Summary0032365: Visualization - refactoring of viewer selector
DescriptionAdd base intersector interface to add possibility of supporting non-frustum intersectors (to intersect objects by some geometry that is not frustum volume).
Remove array of frustums in volume manager and keep only one active intersector.
Steps To ReproduceNot required
TagsNo tags attached.
Test case numberNot required

Relationships

related to 0032338 closedbugmaster Visualization - provide straightforward interface for ray-picking 

Activities

git

2021-05-13 18:52

administrator   ~0100951

Branch CR32365 has been created by osa.

SHA-1: cd72114b3918e8428640642790e2f9a6ce3ee8a4


Detailed log of new commits:

Author: osa
Date: Thu May 13 18:52:39 2021 +0300

    0032365: Visualization - refactoring of viewer selector

git

2021-05-14 12:58

administrator   ~0100988

Branch CR32365 has been updated forcibly by osa.

SHA-1: 8a74e4a3accf07ead0efefe0fe249faac1bd8b86

git

2021-05-14 15:06

administrator   ~0100995

Branch CR32365 has been updated forcibly by osa.

SHA-1: 9cd45f266618cf6717fc83b6802cf4df1225e1aa

git

2021-05-15 21:26

administrator   ~0101076

Branch CR32365 has been updated forcibly by osa.

SHA-1: 018fdf7e5214a21e380e45320af82d5411575382

git

2021-05-18 11:17

administrator   ~0101132

Branch CR32365 has been updated forcibly by osa.

SHA-1: 3325912c3caaa234643999c62320a5faf5dabee9

git

2021-05-18 11:51

administrator   ~0101136

Branch CR32365 has been updated forcibly by osa.

SHA-1: e407bffefdb5bd2141f7d64ec82341fdea12a401

osa

2021-05-18 13:44

developer   ~0101141

http://jenkins-test-occt.nnov.opencascade.com/view/CR32365-CR32365-osa/view/ALL/

osa

2021-05-18 13:45

developer   ~0101142

Patches are ready to review:

- OCCT: CR32365
- OCCT Products: CR32365

kgv

2021-05-18 15:02

developer   ~0101144

Please consider making Build() method a virtual method without arguments and passing frustum parameters to Init() methods.

git

2021-05-19 15:37

administrator   ~0101178

Branch CR32365 has been updated by osa.

SHA-1: 35989de1ee22335b8b8273d4694b2a97e2ae8be8


Detailed log of new commits:

Author: osa
Date: Wed May 19 15:17:52 2021 +0300

    #kgv remarks

git

2021-05-19 15:38

administrator   ~0101179

Branch CR32365 has been updated forcibly by osa.

SHA-1: d1a2bf094b298450038838c6a8fd4bc267534e35

git

2021-05-19 15:39

administrator   ~0101180

Branch CR32365_1 has been created by osa.

SHA-1: 665096a739069e0a745c2b383d2a7a63cb4b6ff1


Detailed log of new commits:

Author: osa
Date: Thu May 13 18:52:39 2021 +0300

    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.

git

2021-05-19 16:43

administrator   ~0101181

Branch CR32365_1 has been updated by osa.

SHA-1: aa072c11bce793e14931689fb3a341a404828d97


Detailed log of new commits:

Author: osa
Date: Wed May 19 16:42:32 2021 +0300

    #kgv remarks

git

2021-05-19 19:04

administrator   ~0101183

Branch CR32365_2 has been created by osa.

SHA-1: 5915e0c62008d37f6266415bb5a0b8a52da0b523


Detailed log of new commits:

Author: osa
Date: Thu May 13 18:52:39 2021 +0300

    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.

osa

2021-05-20 09:56

developer   ~0101194

http://jenkins-test-occt.nnov.opencascade.com/view/CR32365_2-CR32365-osa/view/ALL/

osa

2021-05-20 09:56

developer   ~0101195

The patches were updated:

- OCCT: CR32365_2
- OCCT Products: CR32365

git

2021-05-20 18:21

administrator   ~0101215

Branch CR32365_2 has been updated by osa.

SHA-1: 69de3c186f34f1de479fbcf1e367f7b39e20c2fc


Detailed log of new commits:

Author: osa
Date: Thu May 20 18:20:25 2021 +0300

    #kgv remarks

git

2021-05-21 11:41

administrator   ~0101229

Branch CR32365_3 has been created by osa.

SHA-1: ccefbdc7663fdbaf9c6129db53a542cbf252a88e


Detailed log of new commits:

Author: osa
Date: Thu May 13 18:52:39 2021 +0300

    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.

osa

2021-05-21 14:03

developer   ~0101234

http://jenkins-test-occt/view/CR32365_3-CR32365-OSA/view/ALL/

osa

2021-05-21 14:03

developer   ~0101235

The patches were updated:

- OCCT: CR32365_3
- OCCT Products: CR32365

bugmaster

2021-05-22 12:25

administrator   ~0101258

Combination -
OCCT branch : IR-2021-05-21
master SHA - 2aa0a6991da6f767c2a6a4c1d6d720fee35867ce
a87b7ddc8cb44606b91e3f37113847c3f5f50fdc
Products branch : IR-2021-05-21 SHA - e89cefb48fe77db69215a5124b453f69d9db404b
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 17862.650000000373 / 17879.470000000332 [-0.09%]
Products
Total CPU difference: 11535.410000000107 / 11557.880000000083 [-0.19%]
Windows-64-VC14:
OCCT
Total CPU difference: 19361.25 / 19400.171875 [-0.20%]
Products
Total CPU difference: 12920.28125 / 12880.234375 [+0.31%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2021-05-22 13:54

administrator   ~0101276

Branch CR32365 has been deleted by mnt.

SHA-1: d1a2bf094b298450038838c6a8fd4bc267534e35

git

2021-05-22 13:54

administrator   ~0101277

Branch CR32365_1 has been deleted by mnt.

SHA-1: aa072c11bce793e14931689fb3a341a404828d97

git

2021-05-22 13:54

administrator   ~0101278

Branch CR32365_2 has been deleted by mnt.

SHA-1: 69de3c186f34f1de479fbcf1e367f7b39e20c2fc

git

2021-05-22 13:55

administrator   ~0101279

Branch CR32365_3 has been deleted by mnt.

SHA-1: ccefbdc7663fdbaf9c6129db53a542cbf252a88e

Related Changesets

occt: master e1eb39d2

2021-05-13 15:52:39

osa


Committer: bugmaster Details Diff
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.
Affected Issues
0032365
mod - src/AIS/AIS_InteractiveContext.cxx Diff File
mod - src/AIS/AIS_Manipulator.cxx Diff File
mod - src/AIS/AIS_ViewCube.cxx Diff File
mod - src/IVtkOCC/IVtkOCC_ViewerSelector.cxx Diff File
mod - src/MeshVS/MeshVS_SensitiveQuad.cxx Diff File
mod - src/QABugs/QABugs_19.cxx Diff File
mod - src/Select3D/Select3D_SensitiveCircle.cxx Diff File
mod - src/Select3D/Select3D_SensitiveGroup.cxx Diff File
mod - src/Select3D/Select3D_SensitivePoly.cxx Diff File
mod - src/Select3D/Select3D_SensitivePrimitiveArray.cxx Diff File
mod - src/Select3D/Select3D_SensitiveSegment.cxx Diff File
mod - src/Select3D/Select3D_SensitiveSet.cxx Diff File
mod - src/Select3D/Select3D_SensitiveTriangle.cxx Diff File
mod - src/Select3D/Select3D_SensitiveTriangulation.cxx Diff File
mod - src/Select3D/Select3D_SensitiveTriangulation.hxx Diff File
mod - src/SelectBasics/SelectBasics_SelectingVolumeManager.hxx Diff File
mod - src/SelectMgr/FILES Diff File
mod - src/SelectMgr/SelectMgr_BaseFrustum.cxx Diff File
mod - src/SelectMgr/SelectMgr_BaseFrustum.hxx Diff File
add - src/SelectMgr/SelectMgr_BaseIntersector.cxx Diff File
add - src/SelectMgr/SelectMgr_BaseIntersector.hxx Diff File
mod - src/SelectMgr/SelectMgr_Frustum.hxx Diff File
mod - src/SelectMgr/SelectMgr_Frustum.lxx Diff File
mod - src/SelectMgr/SelectMgr_RectangularFrustum.cxx Diff File
mod - src/SelectMgr/SelectMgr_RectangularFrustum.hxx Diff File
mod - src/SelectMgr/SelectMgr_SelectingVolumeManager.cxx Diff File
mod - src/SelectMgr/SelectMgr_SelectingVolumeManager.hxx Diff File
add - src/SelectMgr/SelectMgr_SelectionType.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_ViewerSelector3d.cxx Diff File

occt-products: master 2be26ded

2021-05-13 18:54:02

osa


Committer: bugmaster Details Diff
0032365: Visualization - refactoring of viewer selector Affected Issues
0032365
mod - diff Diff File
mod - diff Diff File
mod - src/PrsPointCloud/PrsPointCloud_PointCloud.cxx Diff File
mod - src/PrsPointCloud/PrsPointCloud_PointCloudSensitive.cxx Diff File

Issue History

Date Modified Username Field Change
2021-05-13 11:43 osa New Issue
2021-05-13 11:43 osa Assigned To => kgv
2021-05-13 11:44 osa Relationship added related to 0032338
2021-05-13 11:44 osa Assigned To kgv => osa
2021-05-13 11:44 osa Status new => assigned
2021-05-13 18:52 git Note Added: 0100951
2021-05-14 12:58 git Note Added: 0100988
2021-05-14 15:06 git Note Added: 0100995
2021-05-15 21:26 git Note Added: 0101076
2021-05-18 11:17 git Note Added: 0101132
2021-05-18 11:51 git Note Added: 0101136
2021-05-18 13:44 osa Note Added: 0101141
2021-05-18 13:45 osa Note Added: 0101142
2021-05-18 13:45 osa Assigned To osa => kgv
2021-05-18 13:45 osa Status assigned => resolved
2021-05-18 13:45 osa Steps to Reproduce Updated
2021-05-18 15:02 kgv Note Added: 0101144
2021-05-18 15:02 kgv Assigned To kgv => osa
2021-05-18 15:02 kgv Status resolved => assigned
2021-05-19 15:37 git Note Added: 0101178
2021-05-19 15:38 git Note Added: 0101179
2021-05-19 15:39 git Note Added: 0101180
2021-05-19 16:43 git Note Added: 0101181
2021-05-19 19:04 git Note Added: 0101183
2021-05-20 09:56 osa Note Added: 0101194
2021-05-20 09:56 osa Note Added: 0101195
2021-05-20 09:57 osa Assigned To osa => kgv
2021-05-20 09:57 osa Status assigned => resolved
2021-05-20 10:08 kgv Assigned To kgv => bugmaster
2021-05-20 10:08 kgv Status resolved => reviewed
2021-05-20 10:08 kgv Severity minor => integration request
2021-05-20 18:21 git Note Added: 0101215
2021-05-21 11:41 git Note Added: 0101229
2021-05-21 14:03 osa Note Added: 0101234
2021-05-21 14:03 osa Note Added: 0101235
2021-05-22 12:25 bugmaster Note Added: 0101258
2021-05-22 12:25 bugmaster Status reviewed => tested
2021-05-22 12:33 bugmaster Test case number => Not required
2021-05-22 12:38 bugmaster Changeset attached => occt master e1eb39d2
2021-05-22 12:38 bugmaster Status tested => verified
2021-05-22 12:38 bugmaster Resolution open => fixed
2021-05-22 13:54 git Note Added: 0101276
2021-05-22 13:54 git Note Added: 0101277
2021-05-22 13:54 git Note Added: 0101278
2021-05-22 13:55 git Note Added: 0101279
2021-12-17 18:41 bugmaster Changeset attached => occt-products master 2be26ded