Archived issue #0025624
Visualization - selection is incorrect in perspective mode in a specific case
Description
In perspective mode the selection chooses incorrect object that located behind a being clicked object, due to the distance of the eye from a camera center
if the sizes of being selected objects are mush greater, the problem disappears
if the sizes of being selected objects are mush greater, the problem disappears
Steps to reproduce
pload MODELING VISUALIZATION box a 0.0 0.0 0.0 0.1 0.1 0.1 box b 0.0 0.0 0.5 0.1 0.1 0.1 box c 0.0 0.0 1.0 0.1 0.1 0.1 vinit View1 vclear vtop vsetdispmode 0 vcamera -persp vdisplay a b c vfit vselect 210 210 vsetdispmode 1
The problem does not appear when boxes have the following definition:
box a 0 0 0 2 2 2 box b 0 0 3 2 2 2 box c 0 0 6 2 2 2
Additional information
vcamera information (bad case):
vcamera information (good case):
ProjType: perspective FOVy: 45 Distance: 1.1945454795168577 IOD: 0.050000000000000003 IODType: relative ZFocus: 1 ZFocusType: relative
vcamera information (good case):
ProjType: perspective FOVy: 45 Distance: 9.9545454525002341 IOD: 0.050000000000000003 IODType: relative ZFocus: 1 ZFocusType: relative
Public activity
12 archived notes
Participants are labeled by their role within this record.
The problem is not reproducable using redesigned selection mechanism (issue #0024623) for both small and large objects.
Branch [archived branch] has been created by Participant.
[revision removed]
Detailed log of new commits:
Author: vpa
Date: Tue Feb 10 18:19:10 2015 +0300
0025624: Visualization - selection is incorrect in perspective mode in a specific case
Scale for perspective projection matrix was moved to Select3D_Projector;
Corrected computation of picking line for perspective camera;
Test case for issue 25624.
[revision removed]
Detailed log of new commits:
Author: vpa
Date: Tue Feb 10 18:19:10 2015 +0300
0025624: Visualization - selection is incorrect in perspective mode in a specific case
Scale for perspective projection matrix was moved to Select3D_Projector;
Corrected computation of picking line for perspective camera;
Test case for issue 25624.
Dear Kirill,
the patch in branch CR25624 is ready to be reviewed.
the patch in branch CR25624 is ready to be reviewed.
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Please test the patch.
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Dear Commenter 1,
Branch CR25624 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
[revision removed]
Number of compiler warnings:
occt component :
Linux: 26 (18 on master)
Windows: 0 (0 on master)
There are new additional compilation warnings on Linux platform:
http://jenkins-test-03.nnov.opencascade.com:8080/user/mnt/my-views/view/A_mnt_warnings/portlet/dashboard_portlet_17008/job/mnt-CR25624-master_build_occt_linux/1/warnings17Result/package.-671474530/file.-662617227/
Select3D_Projector.hxx:202, GNU C Compiler 4 (gcc), Priority: Normal
‘Standard_Real Select3D_Projector::myZNear’
Select3D_Projector.hxx:209, GNU C Compiler 4 (gcc), Priority: Normal
‘Select3D_Projector::myType’ will be initialized after
http://jenkins-test-03.nnov.opencascade.com:8080/user/mnt/my-views/view/A_mnt_warnings/portlet/dashboard_portlet_17008/job/mnt-CR25624-master_build_occt_linux/1/warnings17Result/package.1928144792/
Select3D_Projector.cxx:107, GNU C Compiler 4 (gcc), Priority: Normal
when initialized here
Select3D_Projector.cxx:121, GNU C Compiler 4 (gcc), Priority: Normal
when initialized here
Select3D_Projector.cxx:135, GNU C Compiler 4 (gcc), Priority: Normal
when initialized here
Select3D_Projector.cxx:151, GNU C Compiler 4 (gcc), Priority: Normal
when initialized here
Select3D_Projector.cxx:167, GNU C Compiler 4 (gcc), Priority: Normal
when initialized here
Select3D_Projector.cxx:185, GNU C Compiler 4 (gcc), Priority: Normal
when initialized here
products component :
Linux: 11 (11 on master)
Windows: 1 (1 on master)
Regressions/Differences:
No regressions/differences
Testing cases:
http://occt-tests/CR25624-master-occt/Debian60-64/bugs/vis/bug25624.html
http://occt-tests/CR25624-master-occt/Windows-32-VC10/bugs/vis/bug25624.html
bugs vis(004) bug25624: OK
Testing on Linux:
occt component :
Total MEMORY difference: 84560492 / 86186852
Total CPU difference: 51114.13999999995 / 47876.559999999845
products component :
Total MEMORY difference: 23336527 / 23394887
Total CPU difference: 15759.029999999982 / 14738.999999999967
Testing on Windows:
occt component :
Total MEMORY difference: 40649424 / 40658496
Total CPU difference: 31865.828125 / 32754.0
products component :
Total MEMORY difference: 11030559 / 11078027
Total CPU difference: 10771.46875 / 10976.0
There are no differences in images found by testdiff.
Branch CR25624 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
[revision removed]
Number of compiler warnings:
occt component :
Linux: 26 (18 on master)
Windows: 0 (0 on master)
There are new additional compilation warnings on Linux platform:
http://jenkins-test-03.nnov.opencascade.com:8080/user/mnt/my-views/view/A_mnt_warnings/portlet/dashboard_portlet_17008/job/mnt-CR25624-master_build_occt_linux/1/warnings17Result/package.-671474530/file.-662617227/
Select3D_Projector.hxx:202, GNU C Compiler 4 (gcc), Priority: Normal
‘Standard_Real Select3D_Projector::myZNear’
Select3D_Projector.hxx:209, GNU C Compiler 4 (gcc), Priority: Normal
‘Select3D_Projector::myType’ will be initialized after
http://jenkins-test-03.nnov.opencascade.com:8080/user/mnt/my-views/view/A_mnt_warnings/portlet/dashboard_portlet_17008/job/mnt-CR25624-master_build_occt_linux/1/warnings17Result/package.1928144792/
Select3D_Projector.cxx:107, GNU C Compiler 4 (gcc), Priority: Normal
when initialized here
Select3D_Projector.cxx:121, GNU C Compiler 4 (gcc), Priority: Normal
when initialized here
Select3D_Projector.cxx:135, GNU C Compiler 4 (gcc), Priority: Normal
when initialized here
Select3D_Projector.cxx:151, GNU C Compiler 4 (gcc), Priority: Normal
when initialized here
Select3D_Projector.cxx:167, GNU C Compiler 4 (gcc), Priority: Normal
when initialized here
Select3D_Projector.cxx:185, GNU C Compiler 4 (gcc), Priority: Normal
when initialized here
products component :
Linux: 11 (11 on master)
Windows: 1 (1 on master)
Regressions/Differences:
No regressions/differences
Testing cases:
http://occt-tests/CR25624-master-occt/Debian60-64/bugs/vis/bug25624.html
http://occt-tests/CR25624-master-occt/Windows-32-VC10/bugs/vis/bug25624.html
bugs vis(004) bug25624: OK
Testing on Linux:
occt component :
Total MEMORY difference: 84560492 / 86186852
Total CPU difference: 51114.13999999995 / 47876.559999999845
products component :
Total MEMORY difference: 23336527 / 23394887
Total CPU difference: 15759.029999999982 / 14738.999999999967
Testing on Windows:
occt component :
Total MEMORY difference: 40649424 / 40658496
Total CPU difference: 31865.828125 / 32754.0
products component :
Total MEMORY difference: 11030559 / 11078027
Total CPU difference: 10771.46875 / 10976.0
There are no differences in images found by testdiff.
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Dear Commenter 1,
compilation warnings were fixed. Please, check compilation on Linux.
compilation warnings were fixed. Please, check compilation on Linux.
Please verify only compilation warning - regression testing is not required.
Fix has been recompiled.
Warnings are not reproduced
Warnings are not reproduced
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Related records