View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0026252 | Open CASCADE | OCCT:Modeling Data | public | 2015-05-22 10:43 | 2016-04-20 15:50 |
Reporter | Assigned To | bugmaster | |||
Priority | normal | Severity | minor | ||
Status | closed | Resolution | fixed | ||
Product Version | 6.9.0 | ||||
Target Version | 7.0.0 | Fixed in Version | 7.0.0 | ||
Summary | 0026252: GeomAdaptor_Surface should use inner adaptor to calculate values of complex surfaces | ||||
Description | In terms of issue 0024682 the cache for B-spline curves and surfaces is moved into corresponding adaptors. This change will lead to performance problem when calculating values and derivatives for offset surfaces (as also for surfaces of revolution and surfaces of linear extrusion) in case of such surfaces are based on B-spline curve or surface. So, it is proposed to use adaptor for basis curve/surface inside GeomAdaptor_Surface class as it is done for the offset curves as part of 0024682 (see branch CR24682_7 and later) | ||||
Steps To Reproduce | Not required | ||||
Additional information and documentation updates | The changes will help to avoid the checkshape problem in test case parasolid doc_3 B3 (http://occt-tests/CR24682-7-master-products-64/Windows-64-VC10/parasolid/doc_3/B3.html) | ||||
Tags | No tags attached. | ||||
Test case number | Not needed | ||||
related to | 0025342 | closed | bugmaster | Community | [Regression] BRepAlgoAPI_Section returns wrong number of edges |
parent of | 0026914 | closed | bugmaster | Community | [Regression 7.0alpha] Hang in surface approximation |
related to | 0023620 | closed | bugmaster | Community | Follow up of 0022939 - make Bezier curve/surface evaluation thread-safe |
related to | 0026838 | closed | bugmaster | Open CASCADE | Using GeomEvaluators for calculation of values of curves |
child of | 0024682 | closed | bugmaster | Open CASCADE | Move out B-spline cache from curves and surfaces to dedicated classes BSplCLib_Cache and BSplSLib_Cache |
|
Branch CR26252_1 has been created by azv. SHA-1: c26b13356a5abe9c88b41cfdbf2a0b47e046e659 Detailed log of new commits: Author: azv Date: Mon Oct 5 09:00:04 2015 +0300 0026252: GeomAdaptor_Surface should use inner adaptor to calculate values of complex surfaces * Implement GeomEvaluator package * Inject evaluators to GeomAdaptor_Surface to calculate values of complex surfaces * Inject evaluators to Geom_Surface classes to calculate values for offset surfaces, surfaces of revolution and surfaces of extrusion * Code optimizations * Update test cases |
|
Dear Mikhail, Could you, please, review branch CR26252_1? Moreover, I think such approach (using evaluators for both surfaces and adaptors) may be applied to calculation of Offset curves (2D and 3D). It will help to unify calculation of complex curves and surfaces and will allow to get rid of CSLib_Offset namespace introduced in scope of issue 0024682. |
|
Remarks: General ones: 1) The word Standard_EXPORT is used only for methods that are to be exported. Inline methods and pure virtual methods (=0) are not exported, and this word should not be used for them. 2) Please wrap too long lines (more than 90-100 characters wide). src\Geom\Geom_OffsetSurface.cxx: 3) The variables defined in the lines 190-200 are to be defined nearer to the place where they are used. 4) In function ReplaceDerivative, there is no need to alter U if DU is null, and the same for V and DV. So, it is needed to make two separate branches for U and V instead of nested for loops. 5) In function ReplaceDerivative, stepping 1/100 of the bounds range is too dangerous, because this step can be very large or very small and is not controlled. Instead, it may be better to compute the step using local resolution in the direction of non-null derivative evaluating delta parameter as Precision::Confusion() divided by derivative modulus. To be continued. |
|
Branch CR26252_1 has been updated by azv. SHA-1: ee7c955d6518202bf0912291f186bee7e303a32a Detailed log of new commits: Author: azv Date: Wed Oct 7 11:42:03 2015 +0300 Remarks |
|
Continuation. src\GeomEvaluator\GeomEvaluator_SurfaceOfExtrusion.cxx: 6) The method Shift() can be written more short and clear in one line: thePoint.ChangeCoord() += myDirection.XYZ() * theShift; 7) The logic of DN() is ill: 114: else if (theDerV == 0 && theDerV == 1) src\GeomEvaluator\GeomEvaluator_SurfaceOfRevolution.hxx: 8) The fields myDirection and myLocation are extra as they duplicate myRotAxis. src\GeomEvaluator\GeomEvaluator_SurfaceOfRevolution.cxx: 9) The following condition is ill, as it compares linear and trigonometric values to each other: 71: if (theD1U.SquareMagnitude() < Precision::SquareConfusion() * aCQ.SquareModulus()) The same is in the lines 95, 125. src\Geom\Geom_OffsetSurface.cxx: 10) Instead of defining the macro myOffsetEvaluator, it is better to declare myEvaluator to be of type GeomEvaluator_OffsetSurface. 11) myEvaluator is used only when equivSurf is null. So, I propose to omit creation of evaluator in the case if equivSurf is well created. But take care of creation of evaluator in the method Transform, where equivSurf is nullified. src\Geom\Geom_SweptSurface.hxx: 12) The field myEvaluator is not used in this class. It is better to declare it in each of derivative class using particular type in each case. src\Geom\Geom_SurfaceOfLinearExtrusion.cxx: 13) Avoid macro mySExtrEvaluator definition. See 12. src\Geom\Geom_SurfaceOfRevolution.cxx: 14) Avoid macro mySRevEvaluator definition. See 12. src\GeomAdaptor\GeomAdaptor_Surface.cxx: 15) Please avoid definition of downcasting macros myExtSurf, myRevSurf, myOffSurf. Aside from they make the code non-transparent they involve calling of downcast procedure several times in the same scope. It is better to make honest downcast where it is needed. |
|
Branch CR26252_1 has been updated forcibly by azv. SHA-1: cf8ba8e96e5cdc79411039bf09afe404bc7719ed |
|
Branch CR26252_2 has been created by azv. SHA-1: bb70bb0ee19c1ceb65911cafe37bb5e65313010d Detailed log of new commits: Author: azv Date: Mon Oct 26 11:02:33 2015 +0300 0026252: GeomAdaptor_Surface should use inner adaptor to calculate values of complex surfaces * Implement GeomEvaluator package * Inject evaluators to GeomAdaptor_Surface to calculate values of complex surfaces * Inject evaluators to Geom_Surface classes to calculate values for offset surfaces, surfaces of revolution and surfaces of extrusion * Code optimizations * Update test cases |
|
Dear Mikhail, I've updated the changes according your remarks. Could you, please, review branch CR26252_2. Note, that branch CR26252_1 contains same modifications but divided on several commits. |
|
Reviewed. |
|
Branch CR26252_2 has been updated forcibly by mkv. SHA-1: f95032a563af10b48821b03d053372ea410cd73d |
|
Problem compilation on windows platforms: http://jenkins-test-01.nnov.opencascade.com:8080/view/CR26252-2-master/job/CR26252-2-master_build_occt_windows_64/1/parsed_console/ |
|
Branch CR26252_2 has been updated forcibly by azv. SHA-1: f2efb472744f078dfb3dae301805d6a6c05b939e |
|
Dear Mikhail, Compilation errors are eliminated. Please rebuild and retest branch CR26252_2 |
|
Dear BugMaster, Branch CR26252_2 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: f2efb472744f078dfb3dae301805d6a6c05b939e Number of compiler warnings: occt component : Linux: 1 (1 on master) Windows: 0 (0 on master) products component : Linux: 39 (39 on master) Windows: 0 (0 on master) Regressions/Differences/Improvements: http://occt-tests/CR26252-2-master-occt-64/Debian70-64/bugs/modalg_2/bug5805_18.html http://occt-tests/CR26252-2-master-occt-64/Windows-64-VC10/bugs/modalg_2/bug5805_18.html bugs modalg_2 bug5805_18: FAILED http://occt-tests/CR26252-2-master-occt-64/Debian70-64/de/step_4/G7.html de step_4 G7: FAILED http://occt-tests/CR26252-2-master-occt-64/Windows-64-VC10/de/step_4/G7.html de step_4 G7: IMPROVEMENT http://occt-tests/CR26252-2-master-occt-64/Debian70-64/de/iges_2/D1.html de iges_2 D1: IMPROVEMENT http://occt-tests/CR26252-2-master-products-64/Windows-64-VC10/bfit/pnt100/A4.html bfit pnt100 A4: FAILED http://occt-tests/CR26252-2-master-products-64/Debian70-64/bfit/pnt1000/A4.html bfit pnt1000 A4 http://occt-tests/CR26252-2-master-products-64/Debian70-64/bfit/pnt1000/A7.html http://occt-tests/CR26252-2-master-products-64/Windows-64-VC10/bfit/pnt1000/A7.html bfit pnt1000 A7 http://occt-tests/CR26252-2-master-products-64/Windows-64-VC10/bfit/pnt10000/A4.html bfit pnt10000 A4: FAILED http://occt-tests/CR26252-2-master-products-64/Debian70-64/parasolid/doc_3/B3.html http://occt-tests/CR26252-2-master-products-64/Windows-64-VC10/parasolid/doc_3/B3.html parasolid doc_3 B3 http://occt-tests/CR26252-2-master-products-64/Windows-64-VC10/parasolid/doc_3/C3.html parasolid doc_3 C3: FAILED http://occt-tests/CR26252-2-master-products-64/Debian70-64/parasolid/doc_3/E4.html http://occt-tests/CR26252-2-master-products-64/Windows-64-VC10/parasolid/doc_3/E4.html parasolid doc_3 E4 http://occt-tests/CR26252-2-master-products-64/Debian70-64/sat/doc_5/H6.html http://occt-tests/CR26252-2-master-products-64/Windows-64-VC10/sat/doc_5/H6.html sat doc_5 H6 Testing cases: Not needed Testing on Linux: occt component : Total MEMORY difference: 92808173 / 92173817 [+0.69%] Total CPU difference: 19733.9099999999 / 19704.30999999969 [+0.15%] products component : Total MEMORY difference: 26140504 / 26187784 [-0.18%] Total CPU difference: 7415.689999999999 / 7308.010000000015 [+1.47%] Testing on Windows: occt component : Total MEMORY difference: 57973457 / 57942388 [+0.05%] Total CPU difference: 18375.888193399307 / 18109.76608749903 [+1.47%] products component : Total MEMORY difference: 17064824 / 16960124 [+0.62%] Total CPU difference: 5441.096478599978 / 5449.25533089998 [-0.15%] There are following differences in images found by testdiff. http://occt-tests/CR26252-2-master-occt-64/Debian70-64/diff-Debian70-64.html http://occt-tests/CR26252-2-master-occt-64/Windows-64-VC10/diff-Windows-64-VC10.html IMAGE offset with_intersect_80 L7: L7.png differs |
|
Dear azv, Branch CR26252_2 has been rejected due to: - regressions/differences/improvements - differences in images |
|
Dear Mikhail, bugs modalg_2 bug5805_18 - is not a regression should be updated because offsetperform produces a result instead of master de step_4 G7 de iges_2 D1 please update reference data according to new behavior bfit pnt100 A4 bfit pnt1000 A4 bfit pnt1000 A7 bfit pnt10000 A4 please update reference data because of unstable algorithm (see comments for issue #26368) parasolid doc_3 B3 - is not a regression its reference data was broken by the fix of issue 0024682, but now it is OK parasolid doc_3 C3 parasolid doc_3 E4 sat doc_5 H6 please update reference data according to new behavior Image in test case offset with_intersect_80 L7 is better than on master. |
|
Artem, I have noticed the test "de step_4 G7" gives different results under Linux and Windows with your fix. Please analyze the cause. We should try to reduce instability. |
|
Branch CR26252_3 has been created by azv. SHA-1: d471f272e86fe84f0e51e272d92c421e14f53180 Detailed log of new commits: Author: azv Date: Mon Oct 26 11:02:33 2015 +0300 0026252: GeomAdaptor_Surface should use inner adaptor to calculate values of complex surfaces * Implement GeomEvaluator package * Inject evaluators to GeomAdaptor_Surface to calculate values of complex surfaces * Inject evaluators to Geom_Surface classes to calculate values for offset surfaces, surfaces of revolution and surfaces of extrusion * Code optimizations * Update test cases |
|
Dear Mikhail, Please review branch CR26252_3. The change should avoid difference in test case de step_4 G7 on Linux and Windows platforms |
|
Branch CR26252_3 has been updated forcibly by azv. SHA-1: d5eae7d1f9a402f2f8eb10aeece21966d77a0e90 |
|
Good. |
|
Dear azv, could you please rebase branch CR26252_3 on IR-2015-10-29, there are conflict files. |
|
Branch CR26252_3 has been updated forcibly by azv. SHA-1: c930e0863fbf5c5c424e1f727facad09f8b2698f |
|
Branch was rebased |
|
Branch CR26252_3 has been updated forcibly by azv. SHA-1: 77056aa7d921f5eef6f88ff22ea5a353ea294ac8 |
|
Dear Mikhail, Please review branch CR26252_3 once again. |
|
Branch CR26252_3 has been updated forcibly by azv. SHA-1: 77fa084142edc269aed95db1cae919f048e5120b |
|
Reviewed. |
|
Dear BugMaster, Branch CR26252_3 from occt git-repository (and current master ( IR-2015-10-22) from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode. SHA-1: d5eae7d1f9a402f2f8eb10aeece21966d77a0e90 Number of compiler warnings: occt component : Linux: 1 (1 on master) Windows: 0 (0 on master) products component : Linux: 39 (39 on master) Windows: 0 (0 on master) Regressions/Differences/Improvements: http://occt-tests/CR26252-3-master-occt-64/Debian70-64/summary.html http://occt-tests/CR26252-3-master-occt-64/Windows-64-VC10/summary.html Improvements: de step_4 G7 Failed: bugs modalg_2 bug5805_18 bugs moddata_3 bug25487_1 de iges_1 L5, N9, R5 de iges_2 D1, G9 de iges_3 A4 de step_1 Q6 de step_2 S1 de step_3 F2 http://occt-tests/CR26252-3-master-products-64/Debian70-64/summary.html http://occt-tests/CR26252-3-master-products-64/Windows-64-VC10/summary.html Improvements: sat doc_6 D5 Failed: bfit pnt100 A4, A7 bfit pnt1000 A7 bfit pnt10000 A4 parasolid doc_3 B3, E4 sat doc_5 H6 Testing cases: Not needed Testing on Linux: occt component : Total MEMORY difference: 92180966 / 91499650 [+0.74%] Total CPU difference: 20255.35999999964 / 19397.50999999992 [+4.42%] products component : Total MEMORY difference: 26129577 / 26158739 [-0.11%] Total CPU difference: 7623.730000000001 / 7295.550000000015 [+4.50%] Testing on Windows: occt component : http://occt-tests/CR26252-3-master-occt-64/Windows-64-VC10/diff-Windows-64-VC10.html CPU de step_2 T5: 1.9968128 / 1.3104084 [+52.38%] CPU de step_2 X6: 3.7596241 / 2.3712152 [+58.55%] CPU de step_2 L3: 2.5584164 / 1.7004109 [+50.46%] CPU de step_2 X7: 3.7908243 / 2.4180155 [+56.77%] CPU de step_2 R4: 4.3836281 / 2.5740165 [+70.30%] CPU de step_2 U5: 1.9032122 / 1.1700075 [+62.67%] CPU de step_2 K6: 2.0436131 / 1.3572087 [+50.57%] CPU de step_2 K7: 2.5896166 / 1.5444099 [+67.68%] CPU de step_2 J1: 3.9624254 / 2.3244149 [+70.47%] CPU de step_3 D6: 5.7252367 / 3.6348233 [+57.51%] CPU de step_3 D2: 7.9716511 / 1.8408118 [+333.05%] CPU de step_3 D5: 6.1620395 / 2.9328188 [+110.11%] CPU de step_3 D4: 6.1620395 / 2.8236181 [+118.23%] CPU de step_3 C4: 25.116161 / 15.0540965 [+66.84%] CPU de step_4 A3: 9.8436631 / 6.0216386 [+63.47%] CPU de step_4 A5: 14.976096 / 2.4024154 [+523.38%] CPU de step_4 H5: 93.2105975 / 34.4294207 [+170.73%] CPU de step_5 A3: 91.0577837 / 34.32022 [+165.32%] CPU de step_5 A9: 7.5972487 / 3.900025 [+94.80%] CPU de iges_1 L2: 25.3501625 / 11.9496766 [+112.14%] CPU de step_1 E4: 2.3244149 / 1.3884089 [+67.42%] CPU de step_1 V5: 2.964019 / 1.6224104 [+82.69%] CPU de step_1 F8: 2.2464144 / 1.4352092 [+56.52%] CPU heal wire_tails_real A7: 69.0304425 / 45.7550933 [+50.87%] CPU mesh advanced_shading A8: 2.1684139 / 1.3884089 [+56.18%] CPU mesh advanced_mesh A8: 1.9812127 / 1.1856076 [+67.11%] CPU bugs iges buc60823: 3.1044199 / 1.9812127 [+56.69%] CPU bugs step bug55: 62.7592023 / 32.1518061 [+95.20%] CPU bugs heal bug210: 18.7825204 / 8.5176546 [+120.51%] CPU bugs moddata_2 bug22993: 2.3712152 / 0.4524029 [+424.14%] CPU bugs moddata_3 bug25487_2: 486.3331175 / 150.6813659 [+222.76%] CPU bugs moddata_3 bug23943_2: 1.2948083 / 0.4992032 [+159.37%] CPU bugs moddata_3: 1015.5197096999988 / 554.411953899999 [+83.17%] CPU bugs modalg_2 bug5157_1: 156.5626036 / 68.7184405 [+127.83%] CPU bugs modalg_2 bug5157_2: 156.8590055 / 67.704434 [+131.68%] Total MEMORY difference: 57386078 / 57356945 [+0.05%] Total CPU difference: 19179.917347398656 / 17788.747229699107 [+7.82%] products component : Total MEMORY difference: 17058399 / 17051415 [+0.04%] Total CPU difference: 6004.6188909 / 5552.761994399979 [+8.14%] There are following differences in images found by testdiff. http://occt-tests/CR26252-3-master-occt-64/Debian70-64/diff-Debian70-64.html http://occt-tests/CR26252-3-master-occt-64/Windows-64-VC10/diff-Windows-64-VC10.html IMAGE offset with_intersect_80 L7: L7.png differs IMAGE bugs modalg_6 bug26640: bug26640.png differs |
|
Dear azv, Branch CR26252_3 has been rejected due to: - regressions/differences/improvements http://occt-tests/CR26252-3-master-occt-64/Debian70-64/bugs/moddata_3/bug25487_1.html http://occt-tests/CR26252-3-master-occt-64/Windows-64-VC10/bugs/moddata_3/bug25487_1.html bugs moddata_3 bug25487_1: FAILED - CPU problem - differences in images |
|
Dear BugMaster, Branch CR25252_3 from occt git-repository (and IR-2015-10-29 from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode. SHA-1: 77056aa7d921f5eef6f88ff22ea5a353ea294ac8 Number of compiler warnings: occt component : Linux: 0 (0 on master) Windows: 0 (0 on master) products component : Linux: 39 (39 on master) Windows: 0 (0 on master) MacOS : 146 (146 on master) Regressions/Differences/Improvements: http://occt-tests/CR26252-3-IR-2015-10-29-occt-64/Debian70-64/summary.html http://occt-tests/CR26252-3-IR-2015-10-29-occt-64/Windows-64-VC10/summary.html Improvements: de step_4 G7 Failed: bugs modalg_2 bug5805_18 de iges_1 H8, N7, Q3, R1, R5 de iges_2 A7, F9, G9 http://occt-tests/CR26252-3-IR-2015-10-29-products-64/Debian70-64/summary.html http://occt-tests/CR26252-3-IR-2015-10-29-products-64/Windows-64-VC10/summary.html Improvements: sat doc_6 D5 Failed: bfit pnt100 A4 - only on Windows platform bfit pnt1000 A7 bfit pnt10000 A4 parasolid doc_3 B3 parasolid doc_3 E4 parasolid read C9 - only on Windows platform sat doc_5 H6 Testing cases: Not needed Testing on Linux: occt component : Total MEMORY difference: 91840564 / 91686153 [+0.17%] Total CPU difference: 19572.290000000026 / 19567.22999999992 [+0.03%] products component : Total MEMORY difference: 26052126 / 26161673 [-0.42%] Total CPU difference: 7313.779999999998 / 7320.690000000012 [-0.09%] Testing on Windows: occt component : Total MEMORY difference: 57628005 / 57596761 [+0.05%] Total CPU difference: 18003.6386071992 / 18162.510025598964 [-0.87%] products component : Total MEMORY difference: 17016544 / 17007297 [+0.05%] Total CPU difference: 5420.098743999969 / 5552.122390299977 [-2.38%] There are following differences in images found by testdiff. http://occt-tests/CR26252-3-IR-2015-10-29-occt-64/Debian70-64/diff-Debian70-64.html http://occt-tests/CR26252-3-IR-2015-10-29-occt-64/Windows-64-VC10/diff-Windows-64-VC10.html IMAGE offset with_intersect_80 L7: L7.png differs IMAGE bugs modalg_4 bug697_7: bug697_7_Driver1_Viewer1_View1.png differs IMAGE bugs modalg_4 bug697_8: bug697_8_Driver1_Viewer1_View1.png differs |
|
Dear azv, Branch CR25252_3 has been rejected due to: - regressions/differences/improvements - differences in images |
|
Branch CR26252_3 has been updated forcibly by azv. SHA-1: d13b47c98e9195e9b4ab4312a2253430d88619b4 |
|
Branch CR26252_3 has been updated by azv. SHA-1: 71487106a30ba560ce7a7520ba9a652d488f1219 Detailed log of new commits: Author: azv Date: Fri Nov 6 18:20:45 2015 +0300 Move Adaptor3d_SurfaceOfLinearExtrusion and Adaptor3d_SurfaceOfRevolution to GeomAdaptor and unify calculation of their values and derivatives |
|
Branch CR26252_3 has been updated forcibly by azv. SHA-1: c544a4550787ae3bf5e19dbad307a822146b7f4c |
|
Branch CR26252_4 has been created by azv. SHA-1: 6e11955128aa2182aacbc6af7836977b3d48ac4f Detailed log of new commits: Author: azv Date: Tue Nov 10 09:09:15 2015 +0300 0026252: GeomAdaptor_Surface should use inner adaptor to calculate values of complex surfaces * Implement GeomEvaluator package * Inject evaluators to GeomAdaptor_Surface to calculate values of complex surfaces * Inject evaluators to Geom_Surface classes to calculate values for offset surfaces, surfaces of revolution and surfaces of extrusion * Move Adaptor3d_SurfaceOfLinearExtrusion and Adaptor3d_SurfaceOfRevolution to GeomAdaptor and unify calculation of their values and derivatives * Code optimizations * Update test cases |
2015-11-10 09:11 administrator |
parasolid_read_C9_face460_master.png (79,033 bytes) |
2015-11-10 09:11 administrator |
parasolid_read_C9_face460_CR26252.png (80,595 bytes) |
|
Dear Mikhail, Please, review branch CR26252_4. Note, branch CR26252_3 contains changes commit-by-commit. Unfortunately, I still observe hang up on test parasolid read C9. The problem is that the shape has several faces based on B-spline surfaces with bad poles' distribution (see attached pictures). As a result, the test on the branch CR26252_4 takes a long time to build mesh for such face to show it in 3D viewer. So, I propose to change this test case as far as it is BAD on master. There are two ways to change it: * Do not show the shape in 3D viewer. * Add one more TODO in test case to trap the exit on time limit. Please, share your thoughts about this problem. |
|
src\Adaptor3d\Adaptor3d_SurfaceOfLinearExtrusion.cxx 1) Why this file was removed and added in GeomAdaptor while the other files were just renamed? src\GeomAdaptor\GeomAdaptor_Surface.cxx 2) It seems the downcasting operation in the following lines is extra: 166: Handle(Adaptor3d_HCurve)::DownCast(aBaseAdaptor), 179: Handle(Adaptor3d_HCurve)::DownCast(aBaseAdaptor), myExtSurf->Direction()); src\GeomAdaptor\GeomAdaptor_SurfaceOfRevolution.hxx 3) Why the field myHaveAxis has been gone? src\GeomAdaptor\GeomAdaptor_SurfaceOfRevolution.cxx 4) It is bad to load data to evaluator if myAxis has not been initialized yet. See 3). 5) In the method Axis(), why don't you return myAxeRev as it is in ref? src\ShapeAnalysis\ShapeAnalysis_Surface.cxx 6) Why have you returned back the old version? |
|
Concerning the case test parasolid read C9, I do not agree to change the test here. It is a real regression, and we should find the cause and eliminate it. |
|
Branch CR26252_3 has been updated forcibly by azv. SHA-1: 65f24a6c97cd56e3c145278742c06f743e86fb46 |
|
Branch CR26252_3 has been updated by azv. SHA-1: 083d13a0561ac5e926e0bdfa678fc38c24e55631 Detailed log of new commits: Author: azv Date: Wed Nov 11 09:13:04 2015 +0300 Remarks |
|
Branch CR26252_3 contains changes commit-by-commit including latest remarks: 1) Git removes Adaptor3d_SurfaceOfExtrusion.cxx and adds corresponding file in GeomAdaptor probably because of quantity of changes. Now it is fixed, the history of this file should be stored in Git 2) Downcasting is necessary to avoid compiler problems regarding to handles 3) Field myHaveAxis is recovered 4) Done 5) This was a mistake. Reverted 6) The core of the problem was not in ShapeAnalysis_Surface, so it is reverted to initial state |
|
The source code has been reviewed. |
|
Branch CR26252_3 has been updated forcibly by azv. SHA-1: cdd4f1dfed222d8e3702ddc4571c44384d3b4abb |
|
Branch CR26252_4 has been updated forcibly by azv. SHA-1: 023a689b7dbf512412856f08793b6ef7ab42bc3b |
|
Dear Mikhail, Please review branch CR26252_4. It contains single commit. As usual, you can find same changes commit-by-commit on branch CR26252_3. |
|
Branch CR26252_3 has been updated forcibly by azv. SHA-1: fb2ad168949a2f9a9bdf3475eaa93e1cf40ecd81 |
|
Branch CR26252_4 has been updated forcibly by azv. SHA-1: d1f8dfd116e94ba21ebc43994bd120d21b68786a |
|
Dear Mikhail, Branch CR26252_4 is ready for review. |
|
Branch CR26252_3 has been updated forcibly by azv. SHA-1: 9b84e3f12bbad9333d1cea1973d6f563011f826a |
|
Branch CR26252_4 has been updated forcibly by azv. SHA-1: 265d5e85b2f4ea551d6d44d3725b89e53bdb5b57 |
|
Reviewed. |
|
Dear BugMaster, Branch CR26252_4 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested. SHA-1: 265d5e85b2f4ea551d6d44d3725b89e53bdb5b57 Number of compiler warnings: occt component: Linux: 3 (0 on master) Windows: 0 (0 on master) MacOS: 133 (129 on master) products component : Linux: 42 (39 on master) Windows: 0 (0 on master) There are new additional warnings: on Linux (occt part): http://jenkins-test-02.nnov.opencascade.com/view/CR26252-4-master/job/CR26252-4-master_build_occt_linux/1/warnings17Result/ on Linux (products part): http://jenkins-test-02.nnov.opencascade.com/view/CR26252-4-master/job/CR26252-4-master_build_occt_products_linux/1/warnings17Result/ on MacOS (occt part): http://jenkins-test-02.nnov.opencascade.com/view/CR26252-4-master/job/CR26252-4-master_prepare_build_occt_MacOS/1/warnings7Result/ Regressions/Differences: http://occt-tests/CR26252-4-master-occt-64/Debian70-64/summary.html http://occt-tests/CR26252-4-master-occt-64/Windows-64-VC10/summary.html bugs modalg_2 bug5805_18 de iges_1 H8, N7, Q3, R1, R5 de iges_2 A7, C6, F9, G9 de iges_3 A4 de step_4 G7 http://occt-tests/CR26252-4-master-products-64/Debian70-64/summary.html http://occt-tests/CR26252-4-master-products-64/Windows-64-VC10/summary.html bfit pnt100 A4 (Windows only), A7 bfit pnt1000 A4 parasolid doc_3 B3, C3 (Windows only), E4 Testing cases: Not needed Testing on Linux: Total MEMORY difference: 92331354 / 92305794 [+0.03%] Total CPU difference: 19731.420000000006 / 19664.189999999875 [+0.34%] Testing on Windows: Total MEMORY difference: 57624822 / 57597574 [+0.05%] Total CPU difference: 17897.183524798886 / 18115.101321698887 [-1.20%] There are differences in images found by testdiff: http://occt-tests/CR26252-4-master-occt-64/Debian70-64/diff-Debian70-64.html http://occt-tests/CR26252-4-master-occt-64/Windows-64-VC10/diff-Windows-64-VC10.html offset with_intersect_80 L7 bugs modalg_4 bug697_4 bugs modalg_4 bug697_7 bugs modalg_4 bug697_8 bugs modalg_2 bug5805_45 bugs modalg_2 bug5805_46 bugs modalg_2 bug5805_47 bugs modalg_2 bug5805_48 |
|
Dear azv, Branch CR26252_4 has been rejected due to: - additional warnings - regressions/differences/improvements - differences in images |
|
Branch CR26252_4 has been updated forcibly by azv. SHA-1: e1473fbb3e7de082d57b0d9bb5f0532453a90471 |
|
Dear Alexey, Branch CR26252_4 has been updated to eliminate additional warnings. Could you, please, rebuild it? Regarding failed test cases: * bugs modalg_2 bug5805_18 works better than master: offsetperform operation returns a result now * de iges_1 H8 N7 Q3 R1 R5 de iges_2 F9 G9 have only differences in labels * de iges_2 A7 already has difference in tolerance values on master, so the additional difference is in labels only * de iges_2 C6 is an improvement: CHECKSHAPE faulty is eliminated * de iges_3 A4 has changes in already bad data * de step_4 G7 is really improvement * bfit pnt100 A4 A7 bfit pnt1000 A4 are unstable and should be corrected according to new behavior * parasolid doc_3 B3 is a recovery to initial state after making it BAD in scope of issue 0024682 * parasolid doc_3 C3 E4 are not regressions and should be changed according to new behavior * offset with_intersect_80 L7 is an improvement: the offset shape is better than master * bugs modalg_4 bug697_2 bug697_7 bug697_8 became the same behavior as on Linux, so the images should be get as reference * bugs modalg_2 bug5805_45 bug5805_46 bug5805_47 bug5805_48 images are correct As a result, please, update reference data for all the test cases above. Thanks in advance. |
|
Branch CR26252_4 has been updated by apv. SHA-1: c3caa62c9f84a218c75b582873b152a5d2a7d55f Detailed log of new commits: Author: apv Date: Thu Nov 19 12:18:59 2015 +0300 Update of test-cases according to the new behavior |
|
Branch CR26252 has been created in products git-repository |
|
Dear BugMaster, Branch CR26252_4 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested. SHA-1: e1473fbb3e7de082d57b0d9bb5f0532453a90471 Number of compiler warnings: occt component: Linux: 0 (0 on master) Windows: 0 (0 on master) MacOS: 129 (129 on master) products component : Linux: 39 (39 on master) Windows: 0 (0 on master) Regressions/Differences: Not detetcted Testing cases: Not needed Testing on Linux: Total MEMORY difference: 92244709 / 92796194 [-0.59%] Total CPU difference: 19727.36999999991 / 19761.28999999987 [-0.17%] Testing on Windows: Total MEMORY difference: 58020907 / 57994251 [+0.05%] Total CPU difference: 17965.44956239894 / 18209.591127398875 [-1.34%] There are differences in images found by testdiff: http://occt-tests/CR26252-4-master-occt-64/Debian70-64/diff-Debian70-64.html http://occt-tests/CR26252-4-master-occt-64/Windows-64-VC10/diff-Windows-64-VC10.html |
|
Branch CR26252_1 has been deleted by kgv. SHA-1: cf8ba8e96e5cdc79411039bf09afe404bc7719ed |
|
Branch CR26252_2 has been deleted by kgv. SHA-1: f2efb472744f078dfb3dae301805d6a6c05b939e |
|
Branch CR26252_3 has been deleted by kgv. SHA-1: 9b84e3f12bbad9333d1cea1973d6f563011f826a |
|
Branch CR26252_4 has been deleted by kgv. SHA-1: c3caa62c9f84a218c75b582873b152a5d2a7d55f |
occt: master 6b84c3f7 2015-11-16 12:48:07
Committer: bugmaster Details Diff |
0026252: GeomAdaptor_Surface should use inner adaptor to calculate values of complex surfaces * Implement GeomEvaluator package * Inject evaluators to GeomAdaptor_Surface to calculate values of complex surfaces * Inject evaluators to Geom_Surface classes to calculate values for offset surfaces, surfaces of revolution and surfaces of extrusion * Move Adaptor3d_SurfaceOfLinearExtrusion and Adaptor3d_SurfaceOfRevolution to GeomAdaptor and unify calculation of their values and derivatives * Code optimizations * Update test cases Update of test-cases according to the new behavior |
Affected Issues 0026252 |
|
mod - adm/UDLIST | Diff File | ||
mod - src/Adaptor3d/Adaptor3d_IsoCurve.cxx | Diff File | ||
mod - src/Adaptor3d/FILES | Diff File | ||
mod - src/BRepFill/BRepFill_TrimSurfaceTool.cxx | Diff File | ||
mod - src/BRepSweep/BRepSweep_Rotation.cxx | Diff File | ||
mod - src/BRepSweep/BRepSweep_Translation.cxx | Diff File | ||
mod - src/Draft/Draft_Modification_1.cxx | Diff File | ||
mod - src/Extrema/Extrema_ExtPExtS.cxx | Diff File | ||
mod - src/Extrema/Extrema_ExtPExtS.hxx | Diff File | ||
mod - src/Extrema/Extrema_ExtPRevS.cxx | Diff File | ||
mod - src/Extrema/Extrema_ExtPRevS.hxx | Diff File | ||
mod - src/Extrema/Extrema_ExtPS.cxx | Diff File | ||
mod - src/Geom/Geom_OffsetSurface.cxx | Diff File | ||
mod - src/Geom/Geom_OffsetSurface.hxx | Diff File | ||
mod - src/Geom/Geom_OsculatingSurface.cxx | Diff File | ||
mod - src/Geom/Geom_OsculatingSurface.hxx | Diff File | ||
mod - src/Geom/Geom_SurfaceOfLinearExtrusion.cxx | Diff File | ||
mod - src/Geom/Geom_SurfaceOfLinearExtrusion.hxx | Diff File | ||
mod - src/Geom/Geom_SurfaceOfRevolution.cxx | Diff File | ||
mod - src/Geom/Geom_SurfaceOfRevolution.hxx | Diff File | ||
mod - src/GeomAdaptor/FILES | Diff File | ||
mod - src/GeomAdaptor/GeomAdaptor_Surface.cxx | Diff File | ||
mod - src/GeomAdaptor/GeomAdaptor_Surface.hxx | Diff File | ||
mod - src/GeomAdaptor/GeomAdaptor_Surface.lxx | Diff File | ||
add - src/GeomEvaluator/FILES | Diff File | ||
add - src/GeomEvaluator/GeomEvaluator_OffsetSurface.cxx | Diff File | ||
add - src/GeomEvaluator/GeomEvaluator_OffsetSurface.hxx | Diff File | ||
add - src/GeomEvaluator/GeomEvaluator_Surface.hxx | Diff File | ||
add - src/GeomEvaluator/GeomEvaluator_SurfaceOfExtrusion.cxx | Diff File | ||
add - src/GeomEvaluator/GeomEvaluator_SurfaceOfExtrusion.hxx | Diff File | ||
add - src/GeomEvaluator/GeomEvaluator_SurfaceOfRevolution.cxx | Diff File | ||
add - src/GeomEvaluator/GeomEvaluator_SurfaceOfRevolution.hxx | Diff File | ||
mod - src/GeomFill/GeomFill_LocationGuide.cxx | Diff File | ||
mod - src/ShapeCustom/ShapeCustom_SweptToElementary.cxx | Diff File | ||
mod - src/TKG3d/CMakeLists.txt | Diff File | ||
mod - src/TKG3d/PACKAGES | Diff File | ||
mod - tests/bugs/modalg_2/bug5805_18 | Diff File | ||
mod - tests/bugs/modalg_6/bug26525_3 | Diff File | ||
mod - tests/de/iges_1/H8 | Diff File | ||
mod - tests/de/iges_1/N7 | Diff File | ||
mod - tests/de/iges_1/Q3 | Diff File | ||
mod - tests/de/iges_1/R1 | Diff File | ||
mod - tests/de/iges_1/R5 | Diff File | ||
mod - tests/de/iges_2/A7 | Diff File | ||
mod - tests/de/iges_2/C6 | Diff File | ||
mod - tests/de/iges_2/F9 | Diff File | ||
mod - tests/de/iges_2/G9 | Diff File | ||
mod - tests/de/iges_3/A4 | Diff File | ||
mod - tests/de/step_4/G7 | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2015-05-22 10:43 |
|
New Issue | |
2015-05-22 10:43 |
|
Assigned To | => msv |
2015-05-22 10:44 |
|
Relationship added | child of 0024682 |
2015-05-22 15:04 |
|
Assigned To | msv => azv |
2015-05-22 15:04 |
|
Status | new => assigned |
2015-10-05 09:35 | git | Note Added: 0046436 | |
2015-10-05 09:36 |
|
Note Added: 0046437 | |
2015-10-05 09:36 |
|
Assigned To | azv => msv |
2015-10-05 09:36 |
|
Status | assigned => resolved |
2015-10-05 09:36 |
|
Steps to Reproduce Updated | |
2015-10-05 18:46 |
|
Note Added: 0046487 | |
2015-10-07 11:47 | git | Note Added: 0046544 | |
2015-10-07 13:07 |
|
Note Added: 0046555 | |
2015-10-13 14:43 |
|
Assigned To | msv => azv |
2015-10-13 14:43 |
|
Status | resolved => assigned |
2015-10-26 11:01 | git | Note Added: 0047429 | |
2015-10-26 11:03 | git | Note Added: 0047430 | |
2015-10-26 11:05 |
|
Note Added: 0047431 | |
2015-10-26 11:05 |
|
Assigned To | azv => msv |
2015-10-26 11:05 |
|
Status | assigned => resolved |
2015-10-26 17:56 |
|
Note Added: 0047456 | |
2015-10-26 17:56 |
|
Assigned To | msv => bugmaster |
2015-10-26 17:56 |
|
Status | resolved => reviewed |
2015-10-26 18:09 |
|
Assigned To | bugmaster => mkv |
2015-10-26 18:36 | git | Note Added: 0047457 | |
2015-10-27 11:09 | bugmaster | Note Added: 0047467 | |
2015-10-27 11:09 | bugmaster | Assigned To | mkv => azv |
2015-10-27 11:09 | bugmaster | Status | reviewed => assigned |
2015-10-27 12:16 | git | Note Added: 0047474 | |
2015-10-27 12:16 |
|
Status | assigned => resolved |
2015-10-27 12:17 |
|
Note Added: 0047475 | |
2015-10-27 12:17 |
|
Assigned To | azv => mkv |
2015-10-27 12:17 |
|
Status | resolved => reviewed |
2015-10-28 14:54 |
|
Target Version | 7.1.0 => 7.0.0 |
2015-10-28 15:09 |
|
Note Added: 0047536 | |
2015-10-28 15:09 |
|
Note Added: 0047537 | |
2015-10-28 15:09 |
|
Assigned To | mkv => azv |
2015-10-28 15:09 |
|
Status | reviewed => assigned |
2015-10-28 16:15 |
|
Note Added: 0047549 | |
2015-10-28 16:15 |
|
Assigned To | azv => mkv |
2015-10-28 16:15 |
|
Status | assigned => feedback |
2015-10-28 16:39 |
|
Note Added: 0047551 | |
2015-10-28 16:39 |
|
Assigned To | mkv => azv |
2015-10-28 16:39 |
|
Status | feedback => assigned |
2015-10-29 16:31 | git | Note Added: 0047614 | |
2015-10-29 16:33 |
|
Note Added: 0047615 | |
2015-10-29 16:33 |
|
Assigned To | azv => msv |
2015-10-29 16:33 |
|
Status | assigned => resolved |
2015-10-29 16:44 | git | Note Added: 0047620 | |
2015-10-29 17:03 |
|
Note Added: 0047622 | |
2015-10-29 17:03 |
|
Assigned To | msv => bugmaster |
2015-10-29 17:03 |
|
Status | resolved => reviewed |
2015-10-29 17:28 |
|
Assigned To | bugmaster => mkv |
2015-10-29 17:30 |
|
Test case number | => Not needed |
2015-10-29 18:53 |
|
Note Added: 0047629 | |
2015-10-29 18:53 |
|
Assigned To | mkv => azv |
2015-10-29 18:53 |
|
Status | reviewed => assigned |
2015-10-30 09:11 | git | Note Added: 0047634 | |
2015-10-30 09:12 |
|
Note Added: 0047635 | |
2015-10-30 09:12 |
|
Assigned To | azv => msv |
2015-10-30 09:12 |
|
Status | assigned => resolved |
2015-10-30 09:12 |
|
Assigned To | msv => mkv |
2015-10-30 09:12 |
|
Status | resolved => reviewed |
2015-10-30 16:21 | git | Note Added: 0047664 | |
2015-10-30 16:22 |
|
Assigned To | mkv => azv |
2015-10-30 16:22 |
|
Status | reviewed => assigned |
2015-10-30 16:22 |
|
Note Added: 0047665 | |
2015-10-30 16:22 |
|
Assigned To | azv => msv |
2015-10-30 16:22 |
|
Status | assigned => resolved |
2015-10-30 17:01 | git | Note Added: 0047668 | |
2015-10-30 17:05 |
|
Note Added: 0047669 | |
2015-10-30 17:05 |
|
Assigned To | msv => bugmaster |
2015-10-30 17:05 |
|
Status | resolved => reviewed |
2015-10-30 18:12 |
|
Assigned To | bugmaster => mkv |
2015-11-02 16:10 |
|
Note Added: 0047716 | |
2015-11-02 16:10 |
|
Note Added: 0047717 | |
2015-11-02 16:10 |
|
Note Added: 0047718 | |
2015-11-02 16:11 |
|
Note Added: 0047719 | |
2015-11-02 16:11 |
|
Assigned To | mkv => azv |
2015-11-02 16:11 |
|
Status | reviewed => assigned |
2015-11-03 13:40 | kgv | Relationship added | related to 0023620 |
2015-11-03 15:44 |
|
Relationship added | related to 0026838 |
2015-11-06 08:43 | git | Note Added: 0047858 | |
2015-11-06 18:26 | git | Note Added: 0047899 | |
2015-11-10 08:33 |
|
Relationship added | related to 0025342 |
2015-11-10 09:05 | git | Note Added: 0047968 | |
2015-11-10 09:09 | git | Note Added: 0047969 | |
2015-11-10 09:11 |
|
File Added: parasolid_read_C9_face460_master.png | |
2015-11-10 09:11 |
|
File Added: parasolid_read_C9_face460_CR26252.png | |
2015-11-10 09:12 |
|
Note Added: 0047970 | |
2015-11-10 09:12 |
|
Assigned To | azv => msv |
2015-11-10 09:12 |
|
Status | assigned => resolved |
2015-11-10 16:02 |
|
Note Added: 0048011 | |
2015-11-10 16:02 |
|
Assigned To | msv => azv |
2015-11-10 16:02 |
|
Status | resolved => assigned |
2015-11-10 16:04 |
|
Note Added: 0048012 | |
2015-11-11 09:15 | git | Note Added: 0048034 | |
2015-11-11 09:15 | git | Note Added: 0048035 | |
2015-11-11 09:27 |
|
Note Added: 0048036 | |
2015-11-11 10:08 |
|
Note Added: 0048040 | |
2015-11-13 15:19 | git | Note Added: 0048160 | |
2015-11-13 15:33 | git | Note Added: 0048161 | |
2015-11-13 15:33 |
|
Note Added: 0048162 | |
2015-11-13 15:33 |
|
Assigned To | azv => msv |
2015-11-13 15:33 |
|
Status | assigned => resolved |
2015-11-16 09:42 | git | Note Added: 0048201 | |
2015-11-16 09:45 | git | Note Added: 0048202 | |
2015-11-16 09:45 |
|
Note Added: 0048203 | |
2015-11-16 15:44 | git | Note Added: 0048219 | |
2015-11-16 15:48 | git | Note Added: 0048220 | |
2015-11-16 16:02 |
|
Note Added: 0048225 | |
2015-11-16 16:02 |
|
Assigned To | msv => bugmaster |
2015-11-16 16:02 |
|
Status | resolved => reviewed |
2015-11-16 16:36 |
|
Assigned To | bugmaster => apv |
2015-11-17 13:42 |
|
Note Added: 0048279 | |
2015-11-17 13:42 |
|
Assigned To | apv => azv |
2015-11-17 13:42 |
|
Status | reviewed => assigned |
2015-11-17 13:44 |
|
Note Added: 0048280 | |
2015-11-17 13:45 |
|
Note Edited: 0048280 | |
2015-11-17 13:47 |
|
Note Edited: 0048279 | |
2015-11-17 18:21 | git | Note Added: 0048316 | |
2015-11-17 18:24 |
|
Note Added: 0048317 | |
2015-11-17 18:24 |
|
Assigned To | azv => apv |
2015-11-17 18:24 |
|
Status | assigned => feedback |
2015-11-19 12:19 | git | Note Added: 0048369 | |
2015-11-19 12:21 |
|
Note Added: 0048370 | |
2015-11-19 12:57 |
|
Note Added: 0048371 | |
2015-11-19 12:57 |
|
Assigned To | apv => bugmaster |
2015-11-19 12:57 |
|
Status | feedback => tested |
2015-11-20 12:07 | bugmaster | Changeset attached | => occt master 6b84c3f7 |
2015-11-20 12:07 | bugmaster | Status | tested => verified |
2015-11-20 12:07 | bugmaster | Resolution | open => fixed |
2015-11-24 14:45 |
|
Relationship added | parent of 0026914 |
2016-04-17 14:14 | git | Note Added: 0053090 | |
2016-04-17 14:14 | git | Note Added: 0053091 | |
2016-04-17 14:14 | git | Note Added: 0053092 | |
2016-04-17 14:14 | git | Note Added: 0053093 | |
2016-04-20 15:42 |
|
Fixed in Version | => 7.0.0 |
2016-04-20 15:50 |
|
Status | verified => closed |