View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] |
ID | Project | Category | View Status | Date Submitted | Last Update |
0029388 | Open CASCADE | [OCCT] OCCT:Visualization | public | 2017-12-15 11:14 | 2019-08-15 17:50 |
|
Reporter | abv | |
Assigned To | bugmaster | |
Priority | normal | Severity | minor | |
Status | closed | Resolution | fixed | |
Platform | | OS | | OS Version | |
Product Version | [OCCT] 6.8.0 | |
Target Version | [OCCT] 7.4.0 | Fixed in Version | [OCCT] 7.4.0 | |
|
Summary | 0029388: Visualization - Setting camera eye position to (0,0,0) kills the application |
Description | Setting camera eye position in 3d viewer to (0,0,0) kills the application.
The reason is that "eye" and "center" of the camera are parameters manipulated independently, and center is at (0,0,0) by default. Vector from the eye to the center defines view direction. When eye is set to (0,0,0), this direction becomes indefinite (see Graphic3d_Camera::Direction()). (In debug mode, exception is thown by gp_Dir constructor.)
It sounds reasonable storing Direction() within Graphic3d_Camera independently from Center/Eye, so that it remains always valid. |
Steps To Reproduce | Setting Eye directly:
pload AISV MODELING
box b 10 10 10
vdisplay b
vviewparams -eye 0 0 0
Eye becomes equals to Center within Fit All due to floating point precision limitations (crashes in Debug mode):
pload MODELING VISUALIZATION
box b 5.0e+21 1000.0 350.0
vclear
vinit View1
vaxo
vcamera -persp
vdisplay -dispMode 1 b
vfit
|
Tags | No tags attached. |
|
Test case number | Not required |
|
Attached Files | |
|