DiscussionsIssue archiveOCCT:Modeling Algorithms

Archived issue #0027234

Code duplication: Convert_CompBezierCurvesToBSplineCurve* in ShapeConstruct

CommunityOCCT:Modeling Algorithmsclosed13 public notes

Search issues

Description

Code duplication of classes Convert_CompBezierCurvesToBSplineCurve and ShapeConstruct_CompBezierCurvesToBSplineCurve has been reported at http://dev.opencascade.org/index.php?q=node/1149

Actually classes from ShapeConstruct are not used in OCCT; classes from Convert have been evolving more since duplication. However, classes in ShapeConstruct contain one fix not present in Convert: protection against joining segments when degree is 1.

Naturally duplicate classes from ShapeConstruct shall be removed.

Steps to reproduce

N/A

Public activity

13 archived notes

Participants are labeled by their role within this record.

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

[revision removed]


Detailed log of new commits:

Author: Author
Date: Tue Mar 8 19:39:15 2016 +0300

    0027234: Code duplication: Convert_CompBezierCurvesToBSplineCurve* in ShapeConstruct
    
    Classes from ShapeConstruct duplicating the ones from Convert package are removed.
    Protection against joining segments when degree is 1 is introduced in Convert classes.
    Optimization previously made in Convert_CompBezierCurvesToBSplineCurve class (within #25256) is applied to 2d equivalent.
02Commenter 2
Fix pushed to CR27234, please review
03Commenter 2
Branch [archived branch] has been updated forcibly by Author.

[revision removed]
04Commenter 4
src\Convert\Convert_CompBezierCurvesToBSplineCurve.cxx

- Please comment out the output to cout in the line 56.
05Commenter 2
Branch [archived branch] has been updated by Author.

[revision removed]


Detailed log of new commits:

Author: Author
Date: Fri Mar 11 17:01:52 2016 +0300

    // cout disabled unless OCCT_DEBUG is defined

06Commenter 6
Done, please review again
07Commenter 7
Reviewed.
08Commenter 8
Dear Commenter 1,
Branch CR27234 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
[revision removed]

There are following compilation errors:
Windows:
http://jenkins-test-01.nnov.opencascade.com:8080/view/CR27234-master/job/CR27234-master_build_products_csharp_samples_windows/1/parsed_console/
occtypes.i(367) : Error: Unable to find 'ShapeConstruct_CompBezierCurves2dToBSplineCurve2d.hxx'
occtypes.i(367) : Error: Unable to find 'ShapeConstruct_CompBezierCurvesToBSplineCurve.hxx'

http://jenkins-test-01.nnov.opencascade.com:8080/view/CR27234-master/job/CR27234-master_build_products_java_samples_windows/1/parsed_console/
occtypes.i(310) : Error: Unable to find 'ShapeConstruct_CompBezierCurves2dToBSplineCurve2d.hxx'
occtypes.i(310) : Error: Unable to find 'ShapeConstruct_CompBezierCurvesToBSplineCurve.hxx'

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/Improvements:
No regressions/differences

Testing cases:
Not needed

Testing on Linux:
occt component :
Total MEMORY difference: 90004625 / 90985305 [-1.08%]
Total CPU difference: 18964.12999999975 / 19490.33000000016 [-2.70%]
products component :
Total MEMORY difference: 25997916 / 25908972 [+0.34%]
Total CPU difference: 5334.429999999985 / 5284.629999999986 [+0.94%]

Testing on Windows:
occt component :
Total MEMORY difference: 58139020 / 57324399 [+1.42%]
Total CPU difference: 17382.39582489897 / 18302.94212579877 [-5.03%]
products component :
Total MEMORY difference: 17971259 / 17515721 [+2.60%]
Total CPU difference: 5018.708170999953 / 5141.340557099954 [-2.39%]

There are no differences in images found by testdiff.
09Commenter 9
Dear abv,
Branch [archived branch] has been rejected due to:
- compilation errors in Products Csharp Samples and Products Java Samples
10Commenter 10
Fix for C# wrapper is pushed to CR27234 (in Products), please check wrapper
11Commenter 11
Dear Commenter 1,
Branch CR27234 from occt git-repository (and CR27234 from products git-repository) was recompiled on Linux, MacOS and Windows platforms on Release mode.
[revision removed]

There are not compilation errors.
12Commenter 12
Dear Commenter 1,
Branch CR27234 is TESTED.
13Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]