DiscussionsIssue archiveOCCT:Visualization

Archived issue #0031688

Visualization - Wrong ISO lines for a face created from BSpline

Open CASCADEOCCT:Visualizationclosed18 public notes

Search issues

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.

01Commenter 3
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
02Commenter 2
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.
03Commenter 3
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
04Commenter 4
Review, please.
05Commenter 2
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.
06Commenter 6
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.
07Commenter 7
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.
08Commenter 3
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
09Commenter 3
Branch [archived branch] has been updated forcibly by Commenter 2.

[revision removed]
10Commenter 2
Image diff shows that Attachment 1 (BREP) now loses isolines on V range - to be analyzed if it is possible to avoid...
11Commenter 3
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.
12Commenter 2
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/
13Commenter 13
Reviewed.
For integration:
OCCT - CR31688_3
Products - none.
14Commenter 1
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
15Commenter 3
Branch [archived branch] has been deleted by Participant.

[revision removed]
16Commenter 3
Branch [archived branch] has been deleted by Participant.

[revision removed]
17Commenter 3
Branch [archived branch] has been deleted by Participant.

[revision removed]
18Commenter 3
Branch [archived branch] has been deleted by Participant.

[revision removed]

Related records