View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0028594 | Community | OCCT:Modeling Algorithms | public | 2017-03-26 18:11 | 2017-09-29 16:25 |
Reporter | devocctgp | Assigned To | bugmaster | ||
Priority | normal | Severity | minor | ||
Status | closed | Resolution | fixed | ||
Target Version | 7.2.0 | Fixed in Version | 7.2.0 | ||
Summary | 0028594: Geom2dAPI_Interpolate generated curve is not the same as proe | ||||
Description | Geom2dAPI_Interpolate generated curve is not the same as proe, please check the picture | ||||
Steps To Reproduce | Handle(TColgp_HArray1OfPnt2d) points_2d = new TColgp_HArray1OfPnt2d(1, 6);; (*points_2d)(1) = gp_Pnt2d(-30.4, 8); (*points_2d)(2) = gp_Pnt2d(-16.689912, 17.498217); (*points_2d)(3) = gp_Pnt2d(-23.803064, 24.748543); (*points_2d)(4) = gp_Pnt2d(-16.907466, 32.919615); (*points_2d)(5) = gp_Pnt2d(-8.543829, 26.549421); (*points_2d)(6) = gp_Pnt2d(0, 39.200000); TColgp_Array1OfVec2d tangent_2d(1, 6); (tangent_2d)(1) = gp_Vec2d(0.3, 0.4); (tangent_2d)(2) = gp_Vec2d(0, 0); (tangent_2d)(3) = gp_Vec2d(0, 0); (tangent_2d)(4) = gp_Vec2d(0, 0); (tangent_2d)(5) = gp_Vec2d(0, 0); (tangent_2d)(6) = gp_Vec2d(1, 0); Handle(TColStd_HArray1OfBoolean) tangent_flags = new TColStd_HArray1OfBoolean(1, 6); (*tangent_flags)(1) = true; (*tangent_flags)(2) = false; (*tangent_flags)(3) = false; (*tangent_flags)(4) = false; (*tangent_flags)(5) = false; (*tangent_flags)(6) = true; Geom2dAPI_Interpolate interp_2d(points_2d, Standard_False, Precision::Confusion()); interp_2d.Load(tangent_2d, tangent_flags); interp_2d.Perform(); Handle(Geom2d_BSplineCurve) curve_2d = interp_2d.Curve(); Handle(Geom_Curve) result = GeomAPI::To3d(curve_2d, _work_pln); TopoDS_Edge edge = BRepBuilderAPI_MakeEdge(result); | ||||
Tags | No tags attached. | ||||
Test case number | bugs modalg_6 bug28594 | ||||
|
QQ截图20170326225650.png (7,408 bytes) |
|
QQ截图20170326225733.png (9,266 bytes) |
|
The algorithm Geom2dAPI_Interpolate scales input tangents so that they have the length of the size of the derivative of the lagrange interpolation. I have tried to skip this scaling and got the result as in the picture not_scaled.png. We can make a Boolean parameter of the algorithm that defines whether scaling is needed. |
2017-03-27 11:12 developer |
not_scaled.PNG (8,555 bytes) |
|
ok, add it, i checked and saw the 3d interplote has the scale parameter, but 2d has not, |
|
Branch CR28594 has been created by imn. SHA-1: a658e25c2c5613dc8203f1432e08d8f53797893f Detailed log of new commits: Author: imn Date: Wed Mar 29 18:28:33 2017 +0300 0028594: Geom2dAPI_Interpolate generated curve is not the same as proe - Added boolean flag "Scale" for methods "Load" in "Geom2dAPI_Interpolate" class |
|
Dear Mikhail, could you please review CR28594. |
|
Remarks: src\Geom2dAPI\Geom2dAPI_Interpolate.hxx - Put more detailed description of parameter: boolean flag defining whether tangent vectors are to be scaled according to derivatives of lagrange interpolation. - Make modified lines shorter (up to 90-100 characters). tests\bugs\modalg_6\bug28594 - replace 'v2d' with 'smallview -2D-' to obtain less size snapshots. - the last argument '0' in 'diffimage' is extra (it is in place of output file). |
|
Branch CR28594 has been updated by imn. SHA-1: 7790005fe2023a65710d08fc600aa6679df4240e Detailed log of new commits: Author: imn Date: Thu Mar 30 11:39:02 2017 +0300 Remarks correction |
|
Dear Mikhail, could you please review CR28594, branch is updated according to remarks. If I understand correctly diffimage does't have extra argument ("File1 File2 tolerance blackWhite(1|0) borderFilter(1|0)") |
|
Reviewed. |
|
Branch CR28594 has been updated forcibly by mkv. SHA-1: 969ed08b9189b97939ebf138e252807ab0a5d78b |
|
Dear BugMaster, Branch CR28594 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode. SHA-1: 969ed08b9189b97939ebf138e252807ab0a5d78b Number of compiler warnings: occt component : Linux: 0 (0 on master) Windows: 0 (0 on master) MacOS : 0 (0 on master) products component : Linux: 64 (64 on master) Windows: 0 (0 on master) MacOS : 1206 Regressions/Differences/Improvements: No regressions/differences Testing cases: http://occt-tests/CR28594-master-OCCT/Debian70-64/bugs/modalg_6/bug28594.html http://occt-tests/CR28594-master-OCCT/Windows-64-VC10/bugs/modalg_6/bug28594.html bugs modalg_6 bug28594: OK Testing on Linux: occt component : Total MEMORY difference: 91682779 / 91343957 [+0.37%] Total CPU difference: 19938.400000000285 / 19612.98000000024 [+1.66%] products component : Total MEMORY difference: 30818714 / 30770563 [+0.16%] Total CPU difference: 5404.339999999976 / 5358.419999999984 [+0.86%] Testing on Windows: occt component : Total MEMORY difference: 57857858 / 57855806 [+0.00%] Total CPU difference: 18547.380092698506 / 18063.40259029849 [+2.68%] products component : Total MEMORY difference: 22295363 / 22257195 [+0.17%] Total CPU difference: 5423.359164899979 / 5313.206858799958 [+2.07%] There are no differences in images found by testdiff. |
|
Dear BugMaster, Branch CR28594 is TESTED. |
|
Branch CR28594 has been deleted by kgv. SHA-1: 969ed08b9189b97939ebf138e252807ab0a5d78b |
occt: master 353e6fa0 2017-03-29 15:28:33 Committer: bugmaster Details Diff |
0028594: Geom2dAPI_Interpolate generated curve is not the same as proe Boolean flag "Scale" has been added for methods "Load" in "Geom2dAPI_Interpolate" class |
Affected Issues 0028594 |
|
mod - src/Geom2dAPI/Geom2dAPI_Interpolate.cxx | Diff File | ||
mod - src/Geom2dAPI/Geom2dAPI_Interpolate.hxx | Diff File | ||
mod - src/QABugs/QABugs_20.cxx | Diff File | ||
add - tests/bugs/modalg_6/bug28594 | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2017-03-26 18:11 | devocctgp | New Issue | |
2017-03-26 18:11 | devocctgp | Assigned To | => msv |
2017-03-26 18:11 | devocctgp | File Added: QQ截图20170326225650.png | |
2017-03-26 18:11 | devocctgp | File Added: QQ截图20170326225733.png | |
2017-03-27 11:12 |
|
Note Added: 0064708 | |
2017-03-27 11:12 |
|
File Added: not_scaled.PNG | |
2017-03-27 11:13 |
|
Note Edited: 0064708 | |
2017-03-27 11:13 |
|
Note Edited: 0064708 | |
2017-03-27 11:14 |
|
Assigned To | msv => devocctgp |
2017-03-27 11:14 |
|
Status | new => feedback |
2017-03-27 11:25 | devocctgp | Note Added: 0064710 | |
2017-03-27 11:26 | devocctgp | Assigned To | devocctgp => msv |
2017-03-28 17:40 |
|
Assigned To | msv => imn |
2017-03-28 17:40 |
|
Status | feedback => assigned |
2017-03-29 18:30 | git | Note Added: 0064789 | |
2017-03-29 18:33 | imn | Assigned To | imn => msv |
2017-03-29 18:33 | imn | Note Added: 0064790 | |
2017-03-29 18:37 | imn | Status | assigned => resolved |
2017-03-30 10:17 |
|
Note Added: 0064794 | |
2017-03-30 10:17 |
|
Assigned To | msv => imn |
2017-03-30 10:17 |
|
Status | resolved => assigned |
2017-03-30 11:39 | git | Note Added: 0064795 | |
2017-03-30 11:41 | imn | Note Added: 0064797 | |
2017-03-30 11:41 | imn | Assigned To | imn => msv |
2017-03-30 11:41 | imn | Status | assigned => resolved |
2017-04-03 11:23 |
|
Note Added: 0064851 | |
2017-04-03 11:23 |
|
Assigned To | msv => bugmaster |
2017-04-03 11:23 |
|
Status | resolved => reviewed |
2017-04-03 12:53 | git | Note Added: 0064855 | |
2017-04-03 16:51 |
|
Assigned To | bugmaster => mkv |
2017-04-04 14:44 |
|
Note Added: 0064890 | |
2017-04-04 14:45 |
|
Note Added: 0064891 | |
2017-04-04 14:45 |
|
Assigned To | mkv => bugmaster |
2017-04-04 14:45 |
|
Status | reviewed => tested |
2017-04-04 14:45 |
|
Test case number | => bugs modalg_6 bug28594 |
2017-04-14 14:28 | bugmaster | Changeset attached | => occt master 353e6fa0 |
2017-04-14 14:28 | bugmaster | Status | tested => verified |
2017-04-14 14:28 | bugmaster | Resolution | open => fixed |
2017-05-12 11:36 | git | Note Added: 0065942 | |
2017-09-29 16:19 |
|
Fixed in Version | => 7.2.0 |
2017-09-29 16:25 |
|
Status | verified => closed |