Archived issue #0025063
Visualization - 2D objects are not displayed at some camera positions
Description
Two issues occurs within 2D objects - camera frustum become extremely thin leading to broken (missing) presentation and rotation, and FPE exception goes from OpenGl_BVHTreeSelector (leading to application crash):
aNormLength is zero in this case.
Standard_ShortReal OpenGl_BVHTreeSelector::SignedPlanePointDistance (const OpenGl_Vec4& theNormal,
const OpenGl_Vec4& thePnt)
{
const Standard_ShortReal aNormLength = std::sqrt (theNormal.x() * theNormal.x()
+ theNormal.y() * theNormal.y()
+ theNormal.z() * theNormal.z());
const Standard_ShortReal anInvNormLength = 1.0f / aNormLength;
aNormLength is zero in this case.
Steps to reproduce
pload MODELING VISUALIZATION vinit vtop vline l -90 -90 130 90 90 130 vfit
Public activity
5 archived notes
Participants are labeled by their role within this record.
Dear kgv,
please take a look at the patch.
please take a look at the patch.
Please test the patch.
Dear Commenter 1,
Branch CR25063 from occt git-repository (and master from products git-repository) was compiled on Linux and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component :
Linux: 15 (15 on master)
Windows: 0 (0 on master)
products component :
Linux: 11 (11 on master)
Windows: 2 (2 on master)
Regressions/Differences:
No regressions/differences
Testing cases:
http://occt-tests/CR25063-master-occt/Debian60-64/bugs/vis/bug25063.html
http://occt-tests/CR25063-master-occt/Windows-32-VC9/bugs/vis/bug25063.html
bugs vis(004) bug25063: OK
Testing on Linux:
Total MEMORY difference: 352626012 / 352298144
Total CPU difference: 53569.63000000009 / 54524.60999999987
Testing on Windows:
Total MEMORY difference: 377760636 / 378502168
Total CPU difference: 41164.125 / 46775.625
There are no differences in images found by testdiff.
Branch CR25063 from occt git-repository (and master from products git-repository) was compiled on Linux and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component :
Linux: 15 (15 on master)
Windows: 0 (0 on master)
products component :
Linux: 11 (11 on master)
Windows: 2 (2 on master)
Regressions/Differences:
No regressions/differences
Testing cases:
http://occt-tests/CR25063-master-occt/Debian60-64/bugs/vis/bug25063.html
http://occt-tests/CR25063-master-occt/Windows-32-VC9/bugs/vis/bug25063.html
bugs vis(004) bug25063: OK
Testing on Linux:
Total MEMORY difference: 352626012 / 352298144
Total CPU difference: 53569.63000000009 / 54524.60999999987
Testing on Windows:
Total MEMORY difference: 377760636 / 378502168
Total CPU difference: 41164.125 / 46775.625
There are no differences in images found by testdiff.
Branch [archived branch] has been updated by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Related records
- #0023400 · related to · closedTriangulation of thin ring contains gap
- #0024307 · related to · closedTKOpenGl - efficient culling of large number of presentations
- #0029191 · parent of · closedVisualization - viewer rotations are not smooth
- #0029837 · related to · closedVisualization, Graphic3d_Camera - Fit All operation works incorrectly on flat object