View Issue Details

IDProjectCategoryView StatusLast Update
0030695Open CASCADEOCCT:Visualizationpublic2019-08-11 10:50
Reporternds Assigned Tobugmaster  
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
Target Version7.4.0Fixed in Version7.4.0 
Summary0030695: Visualization - selection by box should use clipping planes set for viewer
DescriptionIn case when clipping planes are set on viewer, selection by rectangle returns hidden objects as selected.
Steps To Reproducepload ALL
vinit View1

box b 10 10 10
vdisplay b

box b1 -5 0 0 2 2 2
vdisplay b1

box b2 13 0 0 2 2 2
vdisplay b2

box b3 16 0 0 2 2 2
vdisplay b3

vsetdispmode 1

vtop
vfit
vzoom 0.5
vselect 40 100 370 300
vnbselected

vclipplane create pln
vclipplane set pln view Driver1/Viewer1/View1
vclipplane change pln equation -1 0 0 5

vselect 40 100 370 300
vnbselected

vselect 40 100 370 300 -allowoverlap 1
vnbselected
TagsNo tags attached.
Test case numberbugs/vis/bug30695

Activities

git

2019-08-02 15:39

administrator   ~0085993

Branch CR30695 has been created by nds.

SHA-1: 1073be910f483c0ba73df6b25d3094287c1ee20b


Detailed log of new commits:

Author: nds
Date: Fri May 24 16:06:20 2019 +0300

    0030695: Visualization - selection by box should use clipping planes set for viewer - moving check on touching the clipping plane in selection only.
    
    (cherry picked from commit 2fb3ed87a516a4efb45ea8713e6df470d0342ac0)
    (cherry picked from commit 618238791bf6f511e36455e89a780c62c401da50)
    
    # Conflicts:
    # src/SelectMgr/SelectMgr_ViewerSelector.cxx
    (cherry picked from commit eb4bec05471fb5eab20d7244063514345c7da100)
    
    # Conflicts:
    # src/SelectMgr/SelectMgr_ViewerSelector.cxx

git

2019-08-06 06:54

administrator   ~0086018

Branch CR30695 has been updated by nds.

SHA-1: d80a882aa9f15eab2e2e53ce7533d7a7cefdc55a


Detailed log of new commits:

Author: nds
Date: Tue Aug 6 06:51:57 2019 +0300

    0030695: Visualization - selection by box should use clipping planes set for viewer - moving check on touching the clipping plane in selection only.
    
    # compilation correction, clear code for review

git

2019-08-06 07:07

administrator   ~0086019

Branch CR30695_1 has been created by nds.

SHA-1: 5a6ba7fe7e7d9971fad9f0fca16e91a530be97c4


Detailed log of new commits:

Author: nds
Date: Fri May 24 16:06:20 2019 +0300

    0030695: Visualization - selection by box should use clipping planes set for viewer - moving check on touching the clipping plane in selection only.

nds

2019-08-06 11:12

developer   ~0086025

Dear Kirill,

please, review.
http://jenkins-test-12.nnov.opencascade.com/view/CR30695-master-NDS/

Best regards, Natalia

git

2019-08-06 11:21

administrator   ~0086026

Branch CR30695_1 has been updated by nds.

SHA-1: e3100ee6d7e5603b5a0deb7a269defdaafff68c8


Detailed log of new commits:

Author: nds
Date: Tue Aug 6 11:18:53 2019 +0300

    0030695: Visualization - selection by box should use clipping planes set for viewer - moving check on touching the clipping plane in selection only.
    
    #removes warnings

kgv

2019-08-06 13:32

developer   ~0086030

+  // in case of Box/Polyline selection - keep only Owners having all Entities detected
+  if (!theMgr.ViewClipping().IsNull() &&
+      theMgr.GetActiveSelectionType() == SelectBasics_SelectingVolumeManager::Box)
+  {
+    Graphic3d_BndBox3d aBBox (aSensitivesTree->MinPoint (0), aSensitivesTree->MaxPoint (0));
+    // If box selection is active, and the whole sensitive tree is out of the clip planes
+    // selection is empty for this object
+    const Handle(Graphic3d_SequenceOfHClipPlane)& aViewPlanes = theMgr.ViewClipping();
...
+  }
+ 
   if (!theObject->ClipPlanes().IsNull()
     && theObject->ClipPlanes()->ToOverrideGlobal())

It doesn't make sense discarding object by View clipping planes BEFORE ToOverrideGlobal() flag is handled.
Please also remove the first comment - it is confusing there, because this block is intended for optimization to discard selection of entire object by clipping planes.
In addition, why only SelectBasics_SelectingVolumeManager::Box is handled, while comment considers also SelectBasics_SelectingVolumeManager::Polyline?


-          const Handle(Select3D_SensitiveEntity)& anEnt = aSensitive->BaseSensitive();
+            const Handle(SelectBasics_SensitiveEntity)& anEnt = aSensitive->BaseSensitive();

Unrelated.

+vselect 40 100 370 300
+vnbselected
+
+vselect 40 100 370 300 -allowoverlap 1
+vnbselected

Test case uses vnbselected without actually checking result.

git

2019-08-07 09:37

administrator   ~0086044

Branch CR30695_1 has been updated by nds.

SHA-1: 21d139c1d9476e21d18e9bb4079a1bb47b4a9195


Detailed log of new commits:

Author: nds
Date: Wed Aug 7 09:35:06 2019 +0300

    0030695: Visualization - selection by box should use clipping planes set for viewer - moving check on touching the clipping plane in selection only.
    
    #remarks correction

git

2019-08-07 09:44

administrator   ~0086045

Branch CR30695_2 has been created by nds.

SHA-1: d93771cc761e8e0f08aa7de4c2bd06a8f36db859


Detailed log of new commits:

Author: nds
Date: Wed Aug 7 09:42:33 2019 +0300

    0030695: Visualization - selection by box should use clipping planes set for viewer - moving check on touching the clipping plane in selection only.

nds

2019-08-07 12:37

developer   ~0086053

Dear Kirill,

corrected, please review.
Job: http://jenkins-test-12.nnov.opencascade.com/view/CR30695-master-NDS/

Best regards, Natalia

bugmaster

2019-08-07 19:55

administrator   ~0086077

Combination -
OCCT branch : CR30695_2
master SHA - d93771cc761e8e0f08aa7de4c2bd06a8f36db859
5f5b1aed1c6e139bbd34314eca77ae7abcd8895c
Products branch : master SHA - 53815c0544dd1e39d32ee14979d7d88e78729edc
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: 16231.23000000001 / 16237.229999999976 [-0.04%]
Products
Total CPU difference: 10520.260000000031 / 10493.010000000033 [+0.26%]
Windows-64-VC14:
OCCT
Total CPU difference: 17662.71875 / 17592.765625 [+0.40%]
Products
Total CPU difference: 12076.0625 / 12065.453125 [+0.09%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2019-08-11 10:49

administrator   ~0086139

Branch CR30695_2 has been deleted by inv.

SHA-1: d93771cc761e8e0f08aa7de4c2bd06a8f36db859

git

2019-08-11 10:49

administrator   ~0086140

Branch CR30695_1 has been deleted by inv.

SHA-1: 21d139c1d9476e21d18e9bb4079a1bb47b4a9195

git

2019-08-11 10:50

administrator   ~0086144

Branch CR30695 has been deleted by inv.

SHA-1: d80a882aa9f15eab2e2e53ce7533d7a7cefdc55a

Related Changesets

occt: master 8996b449

2019-08-07 06:42:33

nds


Committer: bugmaster Details Diff
0030695: Visualization - selection by box should use clipping planes set for viewer - moving check on touching the clipping plane in selection only. Affected Issues
0030695
mod - src/Graphic3d/Graphic3d_ClipPlane.hxx Diff File
mod - src/SelectMgr/SelectMgr_ViewerSelector.cxx Diff File
mod - src/StdSelect/StdSelect_ViewerSelector3d.cxx Diff File
add - tests/bugs/vis/bug30695 Diff File

Issue History

Date Modified Username Field Change
2019-05-06 16:27 nds New Issue
2019-05-06 16:27 nds Assigned To => kgv
2019-05-06 16:28 nds Assigned To kgv => nds
2019-08-02 15:39 git Note Added: 0085993
2019-08-06 06:54 git Note Added: 0086018
2019-08-06 07:07 git Note Added: 0086019
2019-08-06 11:12 nds Note Added: 0086025
2019-08-06 11:12 nds Assigned To nds => kgv
2019-08-06 11:12 nds Status new => resolved
2019-08-06 11:21 git Note Added: 0086026
2019-08-06 13:32 kgv Note Added: 0086030
2019-08-06 13:32 kgv Assigned To kgv => nds
2019-08-06 13:32 kgv Status resolved => assigned
2019-08-07 09:37 git Note Added: 0086044
2019-08-07 09:44 git Note Added: 0086045
2019-08-07 12:37 nds Note Added: 0086053
2019-08-07 12:37 nds Assigned To nds => kgv
2019-08-07 12:37 nds Status assigned => resolved
2019-08-07 12:45 kgv Assigned To kgv => bugmaster
2019-08-07 12:45 kgv Status resolved => reviewed
2019-08-07 19:50 bugmaster Test case number => bugs/vis/bug30695
2019-08-07 19:55 bugmaster Note Added: 0086077
2019-08-07 19:55 bugmaster Status reviewed => tested
2019-08-11 10:40 bugmaster Changeset attached => occt master 8996b449
2019-08-11 10:40 bugmaster Status tested => verified
2019-08-11 10:40 bugmaster Resolution open => fixed
2019-08-11 10:49 git Note Added: 0086139
2019-08-11 10:49 git Note Added: 0086140
2019-08-11 10:50 git Note Added: 0086144