Archived issue #0031688
Visualization - Wrong ISO lines for a face created from BSpline
Description
If a planar face is created from closed BSpline curve then in case of big number of ISO lines they are shown outside of the face.
Steps to reproduce
Draw script to reproduce:
pload MODELING VISUALIZATION pbsplinecurve aa 2 4 0 1 1 1 2 1 3 1 0 0 0 1 1 2 0 1 2 0 0 1 mkedge ee aa wire ww ee mkplane ff ww vinit vdisplay ff visos ff 50 50 1 vfit
Public activity
18 archived notes
Participants are labeled by their role within this record.
Branch [archived branch] has been created by Participant.
[revision removed]
Detailed log of new commits:
Author: mkrylova
Date: Thu Aug 27 15:12:22 2020 +0300
0031688: Visualization - Wrong ISO lines for a face created from BSpline
Added a check to see if the ISO line intersects at least one segment of the shape
[revision removed]
Detailed log of new commits:
Author: mkrylova
Date: Thu Aug 27 15:12:22 2020 +0300
0031688: Visualization - Wrong ISO lines for a face created from BSpline
Added a check to see if the ISO line intersects at least one segment of the shape
The problem with current solution is that it breaks scenarios with open boundaries (face without outer wire) and leaking boundaries (outer wire is broken and has gaps).
Example of such scenario is test case v3d/face/G1.
Example of such scenario is test case v3d/face/G1.
Branch [archived branch] has been created by Participant.
[revision removed]
Detailed log of new commits:
Author: mkrylova
Date: Thu Aug 27 15:12:22 2020 +0300
0031688: Visualization - Wrong ISO lines for a face created from BSpline
Added a check to see if the ISO line intersects the shape
[revision removed]
Detailed log of new commits:
Author: mkrylova
Date: Thu Aug 27 15:12:22 2020 +0300
0031688: Visualization - Wrong ISO lines for a face created from BSpline
Added a check to see if the ISO line intersects the shape
Review, please.
Note that alternative to applying workarounds to isolines builder could be fixing 2D bounding box (in surface parametric space) returned for a Face in the bug.
UV-range looks larger than it necessary to be - and this is where unexpected isolines appear.
UV-range looks larger than it necessary to be - and this is where unexpected isolines appear.
The fix seems to be valid, the iso-lines should definitely be inside the trimming range. Please add the test case and run testing on jenkins.
Sorry, Kirill, didn't notice your message. I agree, that it is better if bounding box will be fixed. But the trimming is based on discretization of the edges (or 2d curves) of the face, not by the edge itself (as it is done in AXON). So even if 2d box (BRepTools::UVBounds) will be tight, box based on discretization might be different. So, probably it is better to change the way the box is built and use the same UV bounds computed using discretization points for filling the parameters theUIsoParams and theVIsoParams? And report another issue for fixing BRepTools::UVBounds for this face.
Branch [archived branch] has been created by Commenter 2.
[revision removed]
Detailed log of new commits:
Author: mkrylova
Date: Thu Aug 27 15:12:22 2020 +0300
0031688: Visualization - Wrong ISO lines for a face created from BSpline
Added a check to see if the ISO line intersects the shape
[revision removed]
Detailed log of new commits:
Author: mkrylova
Date: Thu Aug 27 15:12:22 2020 +0300
0031688: Visualization - Wrong ISO lines for a face created from BSpline
Added a check to see if the ISO line intersects the shape
Branch [archived branch] has been updated forcibly by Commenter 2.
[revision removed]
[revision removed]
Image diff shows that Attachment 1 (BREP) now loses isolines on V range - to be analyzed if it is possible to avoid...
Branch [archived branch] has been created by Commenter 2.
[revision removed]
Detailed log of new commits:
Author: mkrylova
Date: Thu Aug 27 15:12:22 2020 +0300
0031688: Visualization - Wrong ISO lines for a face created from BSpline
Added a check to see if the ISO line intersects the bounding contour.
[revision removed]
Detailed log of new commits:
Author: mkrylova
Date: Thu Aug 27 15:12:22 2020 +0300
0031688: Visualization - Wrong ISO lines for a face created from BSpline
Added a check to see if the ISO line intersects the bounding contour.
Eugeny,
could you please take a look onto updated patch in OCCT branch CR31688_3?
http://jenkins-test-12.nnov.opencascade.com:8080/view/CR31688_3-master-KGV/view/COMPARE/
could you please take a look onto updated patch in OCCT branch CR31688_3?
http://jenkins-test-12.nnov.opencascade.com:8080/view/CR31688_3-master-KGV/view/COMPARE/
Reviewed.
For integration:
OCCT - CR31688_3
Products - none.
For integration:
OCCT - CR31688_3
Products - none.
Combination -
OCCT branch : [archived branch]
master SHA - [revision removed]
[revision removed]
Products branch : [archived branch] SHA - [revision removed]
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: 18039.260000000093 / 17637.5100000001 [+2.28%]
Products
Total CPU difference: 12124.200000000114 / 12092.06000000011 [+0.27%]
Windows-64-VC14:
OCCT
Total CPU difference: 19753.9375 / 18982.296875 [+4.07%]
Products
Total CPU difference: 13527.921875 / 13315.40625 [+1.60%]
Image differences :
No differences that require special attention
Memory differences :
No differences that require special attention
OCCT branch : [archived branch]
master SHA - [revision removed]
[revision removed]
Products branch : [archived branch] SHA - [revision removed]
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: 18039.260000000093 / 17637.5100000001 [+2.28%]
Products
Total CPU difference: 12124.200000000114 / 12092.06000000011 [+0.27%]
Windows-64-VC14:
OCCT
Total CPU difference: 19753.9375 / 18982.296875 [+4.07%]
Products
Total CPU difference: 13527.921875 / 13315.40625 [+1.60%]
Image differences :
No differences that require special attention
Memory differences :
No differences that require special attention
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Related records