View Issue Details

IDProjectCategoryView StatusLast Update
0026930CommunityOCCT:Shape Healingpublic2016-12-09 16:37
ReporterRoman Lygin Assigned Tobugmaster  
PriorityhighSeverityminor 
Status closedResolutionfixed 
PlatformWindowsOSVC++ 2013 
Product Version7.0.0 
Target Version7.1.0Fixed in Version7.1.0 
Summary0026930: ShapeConstruct_ProjectCurveOnSurface returns a B-Spline instead of line (again)
DescriptionIn master of Nov 22, 2015 ShapeConstruct_ProjectCurveOnSurface returns again a B-Spline computed on 23 points instead of a iso-line in 6.9.x.

Apparently this happens due to round-off error in getLine()in the loop
   for(i = 2; i < nb; i++)
   {
     gp_XY aCurPoint = aP2d[0].XY() + aVec.XY() * (theparams(i) - theparams(1));
     gp_Pnt aCurP;
     mySurf->Surface()->D0(aCurPoint.X(), aCurPoint.Y(), aCurP);
     Standard_Real aDist1 = aCurP.SquareDistance(thepoints(i));

     if(Abs (aFirstPointDist - aDist1) > aTol2)
       return 0;
   }
where aDist1 is ~1e-14 different than aFirstPointDist.
Some further analysis reveals that aP2d[3] differ between 6.9.1 and 7.0, what affects aVec.

The case is surface of linear extrusion with vector {0,0,1} and the curve being projected is a straight B-Spline with direction {0,0,1}.

This case behaved differently in OCC (see #if's in the reproducer):
- in 6.7.0 and earlier - line
- in 6.7.1 and 6.8.0 - B-Spline
- in 6.9.0 and 6.9.1 - line again
- in 7.0 - B-Spline again

So behavior is going back and forth and certainly creating B-Spline may undermine performance of downstream algorithms, e.g. meshing.
Steps To Reproducetest cases:
bugs heal bug26930_1 bug26930_2

Handle(Geom2d_Curve) MakeCurve2d (const Handle(Geom_Curve)& theCurve,
                                  const Standard_Real theFirst,
                                  const Standard_Real theLast,
                                  const Handle(Geom_Surface)& theSurface,
                                  const Standard_Real theTol)
{
    Handle (Geom2d_Curve) aPCurve;

    ShapeConstruct_ProjectCurveOnSurface aProj;
    aProj.Init (theSurface, theTol);
    {
    try {
        Handle (Geom_Curve) aCurve = theCurve; //to use reference in Perform()
        aProj.Perform (aCurve, theFirst, theLast, aPCurve);
    } catch (const Standard_Failure&) {
    }
    }

    if (!aPCurve.IsNull()) {
        //ShapeConstruct_ProjectCurveOnSurface has 2 peculiarities:
        //1. curves projected on planes lose a range (looks like a bug)
        //2. curves projected as iso-lines are constructed as trims on lines (range differs from original)
        if (theSurface->IsKind (STANDARD_TYPE (Geom_Plane))) {
            Handle(Geom2d_Curve) aNewPCurve = Trim (aPCurve, theFirst, theLast, Standard_True);
            aPCurve = aNewPCurve;
        } else if (aPCurve->IsKind (STANDARD_TYPE (Geom2d_Line))) {
            aPCurve = new Geom2d_TrimmedCurve(aPCurve, theFirst, theLast);
        } else if (aPCurve->IsKind (STANDARD_TYPE (Geom2d_TrimmedCurve))) {
            assert (Handle(Geom2d_TrimmedCurve)::DownCast (aPCurve)->BasisCurve()->
                IsKind (STANDARD_TYPE (Geom2d_Line)));
            //convert to B-Spline and reparametrize
            Handle(Geom2d_BSplineCurve) aBs = Geom2dConvert::CurveToBSplineCurve (aPCurve);
            //Standard_Boolean aRes = Reparametrize (aBs, theFirst, theLast);
            aPCurve = aBs;
        }
    }

    return aPCurve;
}


void Algo_CurveTest::Project2d_data()
{
    QTest::addColumn<QString>("dir");
    QTest::addColumn<QString>("curve");
    QTest::addColumn<double>("first");
    QTest::addColumn<double>("last");
    QTest::addColumn<QString>("surface");
    QTest::addColumn<QString>("result");

    QString aPref (TestLib::ModelsDir() + "ut/misc/project/");

    QTest::newRow("ElipConvx3.33.sat") << aPref << "projc6" << 0.0 << 14.3316 << "projs6" <<
#if OCC_VERSION_HEX >= 0x070000
    "projresc6_700";
#elif OCC_VERSION_HEX >= 0x060900
    "projresc6_690";
#elif OCC_VERSION_HEX >= 0x060701
    "projresc6_671";
#else
    "projresc6_670";
#endif
}

void Algo_CurveTest::Project2d()
{
    QFETCH(QString, dir);
    QFETCH(QString, curve);
    QFETCH(double, first);
    QFETCH(double, last);
    QFETCH(QString, surface);
    QFETCH(QString, result);

    //curve
    Handle(Geom_Curve) aC;
    QVERIFY (Read (dir + curve, aC));
    QVERIFY (!aC.IsNull());

    //surface
    Handle(Geom_Surface) aS;
    QVERIFY (Read (dir + surface, aS));
    QVERIFY (!aS.IsNull());

    //algorithm
    Handle(Geom2d_Curve) aPCurve = MakeCurve2d (aC, first, last, aS, Precision::Confusion());
    QVERIFY (!aPCurve.IsNull());

    //compare with expected result...
}

TagsNo tags attached.
Test case numberbugs heal bug26930_1, bug26930_2

Attached Files

  • project.zip (3,341 bytes)
  • bug26930_curv_1.brep (580 bytes)
  • bug26930_surf_1.brep (219 bytes)
  • bug26930_curv_2.brep (591 bytes)
  • bug26930_surf_2.brep (111 bytes)

Activities

Roman Lygin

2015-11-26 10:18

developer  

project.zip (3,341 bytes)

git

2016-01-29 18:49

administrator   ~0050255

Branch CR26930 has been created by ika.

SHA-1: bd7a6bf1e1c7a7fc387e5c045c9a72ad0fdcaa57


Detailed log of new commits:

Author: ika
Date: Thu Jan 28 10:46:53 2016 +0300

    0026930: ShapeConstruct_ProjectCurveOnSurface returns a B-Spline instead of line (again)
    
    Upgrade check of closeness of 2dcurve to line during projection:
      For C1 and more surfaces check distance to normal, not to surface, for C0 surfaces update tolerance formula.
      Add check for possible period jump in some inner point.
    Update some test cases.

ika

2016-01-29 18:49

developer  

bug26930_curv_1.brep (580 bytes)

ika

2016-01-29 18:50

developer  

bug26930_surf_1.brep (219 bytes)

ika

2016-01-29 18:50

developer  

bug26930_curv_2.brep (591 bytes)

ika

2016-01-29 18:50

developer  

bug26930_surf_2.brep (111 bytes)

ika

2016-01-29 18:51

developer   ~0050256

Dear GKA,
could you please review branch CR26930?

git

2016-02-04 17:24

administrator   ~0050423

Branch CR26930_1 has been created by ika.

SHA-1: 71ba47aeea0880d2d58654ec38615433ade72281


Detailed log of new commits:

Author: ika
Date: Tue Feb 2 10:15:36 2016 +0300

    0026930: ShapeConstruct_ProjectCurveOnSurface returns a B-Spline instead of line (again)
    
    Add cache saving for lines,
    update fixPeriodicTroubles() function, using parameters from cashe.

Author: ika
Date: Thu Jan 28 10:46:53 2016 +0300

    0026930: ShapeConstruct_ProjectCurveOnSurface returns a B-Spline instead of line (again)
    
    Upgrade check of closeness of 2dcurve to line during projection:
      For C1 and more surfaces check distance to normal, not to surface, for C0 surfaces update tolerance formula.
      Add check for possible period jump in some inner point.
    Update some test cases.

ika

2016-02-04 17:26

developer   ~0050424

Dear GKA,

could you please review updates in branch CR26930_1?

gka

2016-02-04 18:50

developer   ~0050427

Branch CR26930_1 is ready to be tested

git

2016-02-05 15:56

administrator   ~0050448

Branch CR26930_1 has been updated by apv.

SHA-1: c8fd86123fcb36933c1156fb4fc36cf610cbe9be


Detailed log of new commits:

Author: apv
Date: Fri Feb 5 15:56:09 2016 +0300

    Small correction of test cases for issue 0026930

apv

2016-02-05 17:23

tester   ~0050451

Dear BugMaster,

Branch CR26930_1 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: 71ba47aeea0880d2d58654ec38615433ade72281

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MacOS: 1 (1 on master)
products component:
   Linux: 36 (36 on master)
   Windows: 0 (0 on master)

Regressions/Differences:
http://occt-tests/CR26930-1-master-occt-64/Debian70-64/summary.html
http://occt-tests/CR26930-1-master-occt-64/Windows-64-VC10/summary.html
de iges_1 P5, R8
de iges_2 A4, B8, C4, G1
de step_1 J6
de step_2 B4, E7, S9
de step_3 D8 (Windows only), D9
de step_5 A1
http://occt-tests/CR26930-1-master-products-64/Debian70-64/summary.html
http://occt-tests/CR26930-1-master-products-64/Windows-64-VC10/summary.html
cr standard C4
dxf doc_1 J2
parasolid doc_3 C3 (Windows only), D7
sat doc_1 F5, F7
sat doc_5 H6
sat doc_6 F9

Testing cases:
bugs heal bug26930_1 - OK
http://occt-tests/CR26930-1-master-occt-64/Debian70-64/bugs/heal/bug26930_1.html
http://occt-tests/CR26930-1-master-occt-64/Windows-64-VC10/bugs/heal/bug26930_1.html
bugs heal bug26930_2 - OK
http://occt-tests/CR26930-1-master-occt-64/Debian70-64/bugs/heal/bug26930_2.html
http://occt-tests/CR26930-1-master-occt-64/Windows-64-VC10/bugs/heal/bug26930_2.html

CPU problematic test case has been detected:
de step_5 B4: 13.0416836 / 4.836031 [+169.68%]
de step_1 ZZ9: 12.6048808 / 4.9452317 [+154.89%]

Testing on Linux:
Total MEMORY difference: 88694683 / 88149831 [+0.62%]
Total CPU difference: 18785.90999999983 / 18895.00999999982 [-0.58%]

Testing on Windows:
Total MEMORY difference: 56054880 / 56168276 [-0.20%]
Total CPU difference: 17650.45234319914 / 18325.063067599025 [-3.68%]

There are differences in images found by testdiff:
http://occt-tests/CR26930-1-master-occt-64/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26930-1-master-occt-64/Windows-64-VC10/diff-Windows-64-VC10.html
de step_3 E3
de step_3 B4
de step_1 ZJ7
bugs step bug5708
http://occt-tests/CR26930-1-master-products-64/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26930-1-master-products-64/Windows-64-VC10/diff-Windows-64-VC10.html
sat doc_1 A4
sat read B5
sat read_parallel_1 B5
sat doc_6 E9

apv

2016-02-05 17:25

tester   ~0050452

Dear ika,

Branch CR26930_1 has been rejected due to:
- regressions/differences/improvements
- CPU problem
- differences in images

gka

2016-02-10 15:52

developer   ~0050579

The listed tests:
de iges_1 P5, R8
de iges_2 A4, B8, C4, G1
de step_1 J6
de step_2 B4, E7, S9
de step_3 D8 D9
de step_5 A1

are not regressions.

Following test case are regressions:
sat doc_1 F5, F7
sat doc_5 H6

Results of the comparison of the translation time for the STEP files LP1.stp and LP2.stp:

Branch CR27930_1:
File LP1.stp: CPU user time: 59.7015827 seconds
File LP2.stp: CPU user time: 204.3145097 seconds

Master:
File LP1.stp: CPU user time: 64.0072103 seconds
File LP2.stp: CPU user time: 206.9509266 seconds

git

2016-02-18 14:18

administrator   ~0050946

Branch CR26930_2 has been created by ika.

SHA-1: cd0939c6f48ef1cc6945901e46106b63d2cf3a0b


Detailed log of new commits:

Author: ika
Date: Thu Feb 18 14:13:50 2016 +0300

    0026930: ShapeConstruct_ProjectCurveOnSurface returns a B-Spline instead of line (again)
    
    fix processing of points from cache.

Author: apv
Date: Fri Feb 5 15:56:09 2016 +0300

    Small correction of test cases for issue 0026930

Author: ika
Date: Tue Feb 2 10:15:36 2016 +0300

    0026930: ShapeConstruct_ProjectCurveOnSurface returns a B-Spline instead of line (again)
    
    Add cache saving for lines,
    update fixPeriodicTroubles() function, using parameters from cashe.

Author: ika
Date: Thu Jan 28 10:46:53 2016 +0300

    0026930: ShapeConstruct_ProjectCurveOnSurface returns a B-Spline instead of line (again)
    
    Upgrade check of closeness of 2dcurve to line during projection:
      For C1 and more surfaces check distance to normal, not to surface, for C0 surfaces update tolerance formula.
      Add check for possible period jump in some inner point.
    Update some test cases.

ika

2016-02-18 14:24

developer   ~0050947

Dear GKA,
could you please review branch CR26930_2?
(Fix processing of points from cache.)

Product test cases also were updated and pushed into branch CR26930:

sat doc_1 F5, F7 - new behavior, now pcurves are presented as lines (not bsplines), so intersection, which existed in previous version too, is detected now.
sat doc_5 H6 - bad case.

gka

2016-02-18 14:33

developer   ~0050948

Branch CR26930_2 is ready to be tested

apv

2016-02-18 16:41

tester   ~0050965

Dear Andrey,

Please, validate modification of test cases in branch CR26930_2 from occt git-repository.

abv

2016-02-19 12:27

manager   ~0051003

Please bring a patch to a state when it does not show regressions or improvements, and consists of single commit with appropriate message

git

2016-02-19 14:07

administrator   ~0051016

Branch CR26930_2 has been updated forcibly by apv.

SHA-1: b9cf9598abfb700e4db74621d46f8252bdd460d3

apv

2016-02-19 14:17

tester   ~0051017

Dear Andrey,

Test cases have been updated. Current version of branch CR26930_2 does not include regressions or improvements. Please, validate modification of test cases.

abv

2016-02-19 15:10

manager   ~0051024

OK for integration after OCCT 7.0 release

apv

2016-02-25 14:21

tester   ~0051112

Dear BugMaster,

Branch CR26930_2 from occt git-repository (and CR26930 from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: cd0939c6f48ef1cc6945901e46106b63d2cf3a0b
SHA-1: d066ca19c52b478cd863d418d7b8ce1eb63a6d97

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MacOS: 1 (1 on master)
products component:
   Linux: 36 (36 on master)
   Windows: 0 (0 on master)

Regressions/Differences:
http://occt-tests/CR26930-2-CR26930-products-64/Debian70-64/summary.html
http://occt-tests/CR26930-2-CR26930-products-64/Windows-64-VC10/summary.html
cr standard C4
dxf doc_1 J2
parasolid doc_3 C3 (Windows only), D7
sat doc_5 H6
sat doc_6 F9

Testing cases:
bugs heal bug26930_1 - OK
http://occt-tests/CR26930-2-CR26930-occt-64/Debian70-64/bugs/heal/bug26930_1.html
http://occt-tests/CR26930-2-CR26930-occt-64/Windows-64-VC10/bugs/heal/bug26930_1.html
bugs heal bug26930_2 - OK
http://occt-tests/CR26930-2-CR26930-occt-64/Debian70-64/bugs/heal/bug26930_2.html
http://occt-tests/CR26930-2-CR26930-occt-64/Windows-64-VC10/bugs/heal/bug26930_2.html

Testing on Linux:
   occt component:
Total MEMORY difference: 89718744 / 88997787 [+0.81%]
Total CPU difference: 19083.38999999986 / 19223.99999999995 [-0.73%]
   products component:
Total MEMORY difference: 25430721 / 25492448 [-0.24%]
Total CPU difference: 5237.779999999996 / 5387.529999999996 [-2.78%]

Testing on Windows:
   occt component:
Total MEMORY difference: 57045555 / 57160599 [-0.20%]
Total CPU difference: 18108.954882299156 / 18481.9220730989 [-2.02%]
   products component:
Total MEMORY difference: 17025235 / 17108767 [-0.49%]
Total CPU difference: 5038.021094799953 / 5089.283023399954 [-1.01%]

There are differences in images found by testdiff:
http://occt-tests/CR26930-2-CR26930-occt-64/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26930-2-CR26930-occt-64/Windows-64-VC10/diff-Windows-64-VC10.html
de step_3 E3
de step_3 B4
de step_1 ZJ7
bugs step bug5708
http://occt-tests/CR26930-2-CR26930-products-64/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26930-2-CR26930-products-64/Windows-64-VC10/diff-Windows-64-VC10.html
sat doc_1 A4
sat read B5
sat read_parallel_1 B5

apv

2016-02-25 14:25

tester   ~0051115

Dear ika,

Branches CR26930_2 (from occt git-repository) and CR26930 (from products git-repository) have been rejected due to:
- regressions/differences/improvements
- differences in images

git

2016-03-01 14:06

administrator   ~0051264

Branch CR26930_3 has been created by ika.

SHA-1: d68d4297d816e1b977a74ea5e0e868cdeb66a621


Detailed log of new commits:

Author: ika
Date: Fri Feb 26 14:50:44 2016 +0300

    0026930: ShapeConstruct_ProjectCurveOnSurface returns a B-Spline instead of line (again)
    
    Fix behavior of fixPeriodicityTroubles() on different isolines,
    fix copy/paste mistake.
    Update test cases:
    iges_2 C4 - return to master values
    step_3 E6 - improvement.

Author: ika
Date: Fri Feb 19 14:05:43 2016 +0300

    0026930: ShapeConstruct_ProjectCurveOnSurface returns a B-Spline instead of line (again)
    
    Upgrade check of closeness of 2dcurve to line during projection:
      For C1 and more surfaces check distance to normal, not to surface, for C0 surfaces update tolerance formula.
      Add check for possible period jump in some inner point.
    Update some test cases.
    
    Add cache saving for lines,
    update fixPeriodicTroubles() function, using parameters from cashe.
    
    Small correction of test cases for issue 0026930
    
    fix processing of points from cache.
    
    Update of test cases according to the new behavior

ika

2016-03-01 14:08

developer   ~0051265

Last edited: 2016-03-01 14:15

image differences
de step_3 E3
de step_3 B4
de step_1 ZJ7
bugs step bug5708
sat doc_1 A4
are not regressions, but a new behavior.

Fix behavior of fixPeriodicityTroubles() on different isolines,
fix copy/paste mistake.
Update test cases:
iges_2 C4 - return to master values
step_3 E6 - improvement.

Product test cases also were updated and pushed into branch CR26930:
sat/doc_1/F5, F7 - new behavior, now pcurves are presented as lines (not bsplines), so intersection, which existed in previous version too, is detected now.

cr/standard/C4, dxf/doc_1/J2, parasolid/doc_3/C3, parasolid/doc_3/D7, parasolid/doc_3/E3, sat/doc_1/C7, sat/doc_6/F9, sat/load/B9, sat/simple/B9 - minor changes in tolerance values because of not symmetrical work of intersector with bsplines and lines.

parasolid/doc_3/C3, parasolid/doc_3/D7, parasolid/doc_3/E3 - remove TODO lines about possible difference on ALL platforms and update reference data, according to master.
sat/doc_5/H6 - bad case.

ika

2016-03-01 14:09

developer   ~0051266

Dear GKA,

could you please review changes in CR26930_3?

gka

2016-03-01 14:23

developer   ~0051267

Branch CR26930_3 is ready to be tested.

apv

2016-03-02 12:18

tester   ~0051305

Dear BugMaster,

Branch CR26930_3 from occt git-repository (and CR26930 from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: d68d4297d816e1b977a74ea5e0e868cdeb66a621
SHA-1: 5f47cbb93b1d935cb26ff16f8655e86643434601

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MacOS: 0 (0 on master)
products component:
   Linux: 41 (41 on master)
   Windows: 0 (0 on master)

Regressions/Differences:
http://occt-tests/CR26930-3-CR26930-products-64/Debian70-64/summary.html
http://occt-tests/CR26930-3-CR26930-products-64/Windows-64-VC10/summary.html
parasolid doc_3 C3, E3
sat doc_1 C7
sat doc_5 H6
sat load B9
sat simple B9

Testing cases:
bugs heal bug26930_1 - OK
http://occt-tests/CR26930-3-CR26930-occt-64/Debian70-64/bugs/heal/bug26930_1.html
http://occt-tests/CR26930-3-CR26930-occt-64/Windows-64-VC10/bugs/heal/bug26930_1.html
bugs heal bug26930_2 - OK
http://occt-tests/CR26930-3-CR26930-occt-64/Debian70-64/bugs/heal/bug26930_2.html
http://occt-tests/CR26930-3-CR26930-occt-64/Windows-64-VC10/bugs/heal/bug26930_2.html

CPU problematic test case has been detected:
de step_4 I3: 16.1149033 / 7.1916461 [+124.08%]
de step_5 B4: 13.0572837 / 4.6176296 [+182.77%]
de step_1 ZZ9: 12.1992782 / 4.7580305 [+156.39%]

Testing on Linux:
   occt component:
Total MEMORY difference: 89551549 / 90259011 [-0.78%]
Total CPU difference: 19061.109999999946 / 19134.199999999935 [-0.38%]
   products component:
Total MEMORY difference: 25626042 / 25605694 [+0.08%]
Total CPU difference: 5085.409999999987 / 5094.339999999986 [-0.18%]

Testing on Windows:
   occt component:
Total MEMORY difference: 57099008 / 56893004 [+0.36%]
Total CPU difference: 18017.132693699044 / 17662.15241819877 [+2.01%]
   products component:
Total MEMORY difference: 17173888 / 17143498 [+0.18%]
Total CPU difference: 4736.19035999994 / 4870.086018299943 [-2.75%]

There are differences in images found by testdiff:
http://occt-tests/CR26930-3-CR26930-occt-64/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26930-3-CR26930-occt-64/Windows-64-VC10/diff-Windows-64-VC10.html
de step_3 D9

apv

2016-03-02 12:30

tester   ~0051307

Dear ika,

Branches CR26930_3 (from occt git-repository) and CR26930 (from products git-repository) have been rejected due to:
- regressions/differences/improvements
- CPU problem
- differences in images

ika

2016-03-04 15:19

developer   ~0051404

Dear APV,

differences in images:
not a regression

CPU problem:
not a regression but a new behavior, because of decreasing of tolerance some 2dlines became 2dbsplines. Time to process such cases was increased.

regressions/differences/improvements:
not regressions, all test cases and commit message were updated and pushed in product git CR26930.

Could you please check, that everything is OK now?

apv

2016-03-04 17:17

tester   ~0051416

Current state of branch CR26930 in products git-repository is non-regression.

apv

2016-03-04 17:19

tester   ~0051417

Dear Sergey,

Please validate modifications of test cases in branch CR26930 in products git-repository.

szv

2016-03-09 09:48

manager   ~0051444

The modifications in tests are ok, please proceed.

git

2016-05-20 12:24

administrator   ~0054232

Branch CR26930_3 has been deleted by inv.

SHA-1: d68d4297d816e1b977a74ea5e0e868cdeb66a621

git

2016-05-20 12:24

administrator   ~0054234

Branch CR26930_2 has been deleted by inv.

SHA-1: b9cf9598abfb700e4db74621d46f8252bdd460d3

git

2016-05-20 12:24

administrator   ~0054235

Branch CR26930_1 has been deleted by inv.

SHA-1: c8fd86123fcb36933c1156fb4fc36cf610cbe9be

git

2016-05-20 12:24

administrator   ~0054238

Branch CR26930 has been deleted by inv.

SHA-1: bd7a6bf1e1c7a7fc387e5c045c9a72ad0fdcaa57

Related Changesets

occt: master 02fd709b

2016-02-19 11:05:43

ika


Committer: bugmaster Details Diff
0026930: ShapeConstruct_ProjectCurveOnSurface returns a B-Spline instead of line (again)

Upgrade check of closeness of 2dcurve to line during projection:
For C1 and more surfaces check distance to normal, not to surface, for C0 surfaces update tolerance formula.
Add check for possible period jump in some inner point.
Update some test cases.

Add cache saving for lines,
update fixPeriodicTroubles() function, using parameters from cashe.

Small correction of test cases for issue 0026930

fix processing of points from cache.

Update of test cases according to the new behavior

Fix behavior of fixPeriodicityTroubles() on different isolines,
fix copy/paste mistake.
Update test cases:
iges_2 C4 - return to master values
step_3 E6 - improvement.
Affected Issues
0026930
mod - src/QABugs/QABugs_20.cxx Diff File
mod - src/ShapeConstruct/ShapeConstruct_ProjectCurveOnSurface.cxx Diff File
mod - src/ShapeConstruct/ShapeConstruct_ProjectCurveOnSurface.hxx Diff File
add - tests/bugs/heal/bug26930_1 Diff File
add - tests/bugs/heal/bug26930_2 Diff File
mod - tests/de/iges_1/J3 Diff File
mod - tests/de/iges_1/K3 Diff File
mod - tests/de/iges_1/L1 Diff File
mod - tests/de/iges_1/O5 Diff File
mod - tests/de/iges_1/P5 Diff File
mod - tests/de/iges_2/A4 Diff File
mod - tests/de/iges_2/A8 Diff File
mod - tests/de/iges_2/B1 Diff File
mod - tests/de/iges_2/B8 Diff File
mod - tests/de/iges_2/C2 Diff File
mod - tests/de/iges_2/C4 Diff File
mod - tests/de/iges_2/D9 Diff File
mod - tests/de/iges_2/E3 Diff File
mod - tests/de/iges_2/G1 Diff File
mod - tests/de/iges_2/G7 Diff File
mod - tests/de/iges_2/I3 Diff File
mod - tests/de/iges_2/I9 Diff File
mod - tests/de/step_1/C3 Diff File
mod - tests/de/step_1/J6 Diff File
mod - tests/de/step_1/L7 Diff File
mod - tests/de/step_1/ZC6 Diff File
mod - tests/de/step_1/ZJ7 Diff File
mod - tests/de/step_1/ZQ2 Diff File
mod - tests/de/step_2/B4 Diff File
mod - tests/de/step_2/E7 Diff File
mod - tests/de/step_2/G6 Diff File
mod - tests/de/step_2/M7 Diff File
mod - tests/de/step_2/S1 Diff File
mod - tests/de/step_2/S9 Diff File
mod - tests/de/step_2/Y5 Diff File
mod - tests/de/step_3/A5 Diff File
mod - tests/de/step_3/C9 Diff File
mod - tests/de/step_3/D8 Diff File
mod - tests/de/step_3/D9 Diff File
mod - tests/de/step_3/E6 Diff File
mod - tests/de/step_3/E7 Diff File
mod - tests/de/step_3/E8 Diff File
mod - tests/de/step_4/H5 Diff File
mod - tests/de/step_4/H8 Diff File
mod - tests/de/step_4/I3 Diff File
mod - tests/de/step_5/A1 Diff File
mod - tests/de/step_5/A3 Diff File
mod - tests/heal/wire_tails_real/A5 Diff File

Issue History

Date Modified Username Field Change
2015-11-26 10:18 Roman Lygin New Issue
2015-11-26 10:18 Roman Lygin Assigned To => gka
2015-11-26 10:18 Roman Lygin File Added: project.zip
2016-01-08 10:19 abv Priority normal => high
2016-01-14 14:28 gka Assigned To gka => ika
2016-01-14 14:28 gka Status new => assigned
2016-01-29 18:49 git Note Added: 0050255
2016-01-29 18:49 ika File Added: bug26930_curv_1.brep
2016-01-29 18:50 ika File Added: bug26930_surf_1.brep
2016-01-29 18:50 ika File Added: bug26930_curv_2.brep
2016-01-29 18:50 ika File Added: bug26930_surf_2.brep
2016-01-29 18:51 ika Note Added: 0050256
2016-01-29 18:51 ika Assigned To ika => gka
2016-01-29 18:51 ika Status assigned => resolved
2016-01-29 18:51 ika Steps to Reproduce Updated
2016-02-04 17:24 git Note Added: 0050423
2016-02-04 17:26 ika Note Added: 0050424
2016-02-04 18:50 gka Note Added: 0050427
2016-02-04 18:50 gka Assigned To gka => bugmaster
2016-02-04 18:50 gka Status resolved => reviewed
2016-02-04 19:23 apv Assigned To bugmaster => apv
2016-02-05 15:00 apv Test case number => bugs heal bug26930_1, bug26930_2
2016-02-05 15:56 git Note Added: 0050448
2016-02-05 17:23 apv Note Added: 0050451
2016-02-05 17:23 apv Assigned To apv => ika
2016-02-05 17:23 apv Status reviewed => assigned
2016-02-05 17:25 apv Note Added: 0050452
2016-02-08 10:08 abv Assigned To ika => gka
2016-02-10 15:52 gka Note Added: 0050579
2016-02-18 14:18 git Note Added: 0050946
2016-02-18 14:24 ika Note Added: 0050947
2016-02-18 14:24 ika Status assigned => resolved
2016-02-18 14:33 gka Note Added: 0050948
2016-02-18 14:33 gka Assigned To gka => bugmaster
2016-02-18 14:33 gka Status resolved => reviewed
2016-02-18 15:12 apv Assigned To bugmaster => apv
2016-02-18 16:41 apv Note Added: 0050965
2016-02-18 16:41 apv Assigned To apv => abv
2016-02-18 16:41 apv Status reviewed => feedback
2016-02-19 12:27 abv Note Added: 0051003
2016-02-19 12:28 abv Assigned To abv => apv
2016-02-19 14:07 git Note Added: 0051016
2016-02-19 14:17 apv Note Added: 0051017
2016-02-19 14:17 apv Assigned To apv => abv
2016-02-19 15:10 abv Note Added: 0051024
2016-02-19 15:10 abv Target Version 7.0.0 => 7.1.0
2016-02-19 16:51 abv Assigned To abv => bugmaster
2016-02-25 11:09 bugmaster Assigned To bugmaster => apv
2016-02-25 14:21 apv Note Added: 0051112
2016-02-25 14:21 apv Assigned To apv => ika
2016-02-25 14:21 apv Status feedback => assigned
2016-02-25 14:25 apv Note Added: 0051115
2016-03-01 14:06 git Note Added: 0051264
2016-03-01 14:08 ika Note Added: 0051265
2016-03-01 14:09 ika Note Added: 0051266
2016-03-01 14:09 ika Assigned To ika => gka
2016-03-01 14:09 ika Status assigned => resolved
2016-03-01 14:15 ika Note Edited: 0051265
2016-03-01 14:23 gka Note Added: 0051267
2016-03-01 14:23 gka Assigned To gka => bugmaster
2016-03-01 14:23 gka Status resolved => reviewed
2016-03-01 14:35 apv Assigned To bugmaster => apv
2016-03-02 12:18 apv Note Added: 0051305
2016-03-02 12:18 apv Assigned To apv => ika
2016-03-02 12:18 apv Status reviewed => assigned
2016-03-02 12:30 apv Note Added: 0051307
2016-03-04 15:19 ika Note Added: 0051404
2016-03-04 15:19 ika Assigned To ika => apv
2016-03-04 15:19 ika Status assigned => feedback
2016-03-04 17:17 apv Note Added: 0051416
2016-03-04 17:19 apv Note Added: 0051417
2016-03-04 17:19 apv Assigned To apv => szv
2016-03-09 09:48 szv Note Added: 0051444
2016-03-09 09:48 szv Assigned To szv => apv
2016-03-09 09:48 szv Status feedback => reviewed
2016-03-09 14:32 apv Assigned To apv => bugmaster
2016-03-09 14:32 apv Status reviewed => tested
2016-04-22 16:48 bugmaster Changeset attached => occt master 02fd709b
2016-04-22 16:48 bugmaster Status tested => verified
2016-04-22 16:48 bugmaster Resolution open => fixed
2016-05-20 12:24 git Note Added: 0054232
2016-05-20 12:24 git Note Added: 0054234
2016-05-20 12:24 git Note Added: 0054235
2016-05-20 12:24 git Note Added: 0054238
2016-12-09 16:31 aiv Status verified => closed
2016-12-09 16:37 aiv Fixed in Version => 7.1.0