DiscussionsIssue archiveOCCT:Modeling Algorithms

Archived issue #0030747

Modeling Algorithms - 2d Curves concatenator doesn't properly process closed contours.

Open CASCADEOCCT:Modeling Algorithmsclosed23 public notes

Search issues

Description

Method Add from Geom2dConvert_CompCurveToBSplineCurve checks if initial curve is closed and not the resulting one. This at least leads to an incorrect usage of the parameter After.

Steps to reproduce

Not possible

Public activity

23 archived notes

Participants are labeled by their role within this record.

01Commenter 1
Branch [archived branch] has been created by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Mon May 27 16:41:16 2019 +0300

    0030747: Modeling Algorithms - 2d Curves concatenator doesn't properly process closed contours.
    
    Correct processing of closed curves was added to method Geom2dConvert_CompCurveToBSplineCurve::Add
02Commenter 2
Mikhail, I've come across this issue while trying to concatenate two curves that form a full contour. Curve is being added to the end even though parameter After states otherwise. I've fixed it in a similar way it's being proceeded for 3d curves. Please check.
03Commenter 3
Please provide information about the source project and test case.
04Commenter 4
Please test it first.
05Commenter 1
Branch [archived branch] has been updated forcibly by Author.

[revision removed]
06Commenter 1
Branch [archived branch] has been created by Participant.

[revision removed]


Detailed log of new commits:

Author: Commenter 3
Date: Thu Sep 23 14:08:40 2021 +0300

    0030747: Modeling Algorithms - 2d Curves concatenator doesn't properly process closed contours.
    
    This branch was created to create a test for this problem and fixes of anv.
     -Added the test for this problem.
     -Correct Geom2dConvert_CompCurveToBSplineCurve::Add in Geom2dConvert_CompCurveToBSplineCurve.hxx
07Commenter 7
Please avoid creation of merged loop in the repository. Use rebase instead of merging.
08Commenter 1
Branch [archived branch] has been created by Participant.

[revision removed]


Detailed log of new commits:

Author: Commenter 3
Date: Mon Oct 4 04:00:55 2021 +0300

    0030747: Modeling Algorithms - 2d Curves concatenator doesn't properly process closed contours.
    
    Corrected Geom2dConvert_CompCurveToBSplineCurve::Add in Geom2dConvert_CompCurveToBSplineCurve.cxx;
    Added the test for this problem;
    Corrected "gluing" curves in ProjLib_ProjectedCurve.cxx.
09Commenter 1
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
10Commenter 1
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
11Commenter 1
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
12Commenter 1
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
13Commenter 1
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
14Commenter 1
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
15Commenter 2
-  aCompCurve.Add(aSegment, aTol);
+  
+  if (FirstOrLast == 0)
+  {
+    aCompCurve.Add(aSegment, aTol, Standard_False);
+  }
+  else
+  {
+    aCompCurve.Add(aSegment, aTol,Standard_True);
+  }

Usually the code should look like
> aCompCurve.Add (aSegment, aTol, FirstOrLast != 0);
for better readability.

+  Standard_Real aSqTol = Tolerance * Tolerance;

const Standard_Real

16Commenter 1
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
17Commenter 1
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
18Commenter 1
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
19Commenter 19
Branch CR30747_2 seems to be valid

Branches for integrations
OCCT - CR30747_2
Products - not
20Commenter 20
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: 17699.720000000394 / 17936.010000000137 [-1.32%]
Products
Total CPU difference: 11665.880000000112 / 11621.340000000107 [+0.38%]
Windows-64-VC14:
OCCT
Total CPU difference: 19656.34375 / 19690.109375 [-0.17%]
Products
Total CPU difference: 12872.390625 / 12807.375 [+0.51%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention
21Commenter 1
Branch [archived branch] has been deleted by Participant.

[revision removed]
22Commenter 1
Branch [archived branch] has been deleted by Participant.

[revision removed]
23Commenter 1
Branch [archived branch] has been deleted by Participant.

[revision removed]