DiscussionsIssue archiveOCCT:Visualization

Archived issue #0025624

Visualization - selection is incorrect in perspective mode in a specific case

Open CASCADEOCCT:Visualizationclosed12 public notes

Search issues

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

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):
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.

01Commenter 1
The problem is not reproducable using redesigned selection mechanism (issue #0024623) for both small and large objects.
02Commenter 3
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.
03Commenter 3
Dear Kirill,

the patch in branch CR25624 is ready to be reviewed.
04Commenter 3
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
05Commenter 2
Please test the patch.
06Commenter 3
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
07Commenter 7
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.
08Commenter 3
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
09Commenter 9
Dear Commenter 1,

compilation warnings were fixed. Please, check compilation on Linux.

10Commenter 2
Please verify only compilation warning - regression testing is not required.
11Commenter 1
Fix has been recompiled.
Warnings are not reproduced
12Commenter 3
Branch [archived branch] has been deleted by Participant.

[revision removed]

Related records