View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0027117 | Open CASCADE | OCCT:Modeling Algorithms | public | 2016-01-26 12:05 | 2016-12-09 16:37 |
Reporter | Assigned To | bugmaster | |||
Priority | high | Severity | feature | ||
Status | closed | Resolution | fixed | ||
Target Version | 7.1.0 | Fixed in Version | 7.1.0 | ||
Summary | 0027117: BRepClass3d_SolidClassifier doesn't take into account vertex/edge/face tolerances | ||||
Description | The current implementation of BRepClass3d_SolidClassifier ignores vertex/edge/face tolerances, so the result of classification of a point relative to a solid may be wrong. It's proposed to add an additional checks to properly verify ON and IN/OUT states of the point and also modify an existing code according to this checks. | ||||
Steps To Reproduce | N/A | ||||
Tags | No tags attached. | ||||
Test case number | bugs modalg_6 bug27117 | ||||
|
Branch CR27117 has been created by isn. SHA-1: c8f1bd843ffee91f555ee690b7a43d98cb80f5fb Detailed log of new commits: Author: isn Date: Sat Feb 20 16:43:58 2016 +0300 27117: BRepClass3d_SolidClassifier doesn't take into account vertex/edge/face tolerances |
|
Branch CR27117 has been updated forcibly by isn. SHA-1: 75cc874be59509b2f4074a387b4c74395abb0290 |
|
src\BRepClass3d\BRepClass3d_SolidExplorer.cxx - in line 1013, insert a new line before '{' src\IntCurvesFace\IntCurvesFace_Intersector.cxx This change of behavior is very dangerous for a number of using it projects. It is better to activate new behavior with a special optional flag set by a separate method (UseBoundaryTolerance). src\BRepClass3d\BRepClass3d_SClassifier.cxx - Remove garbage in the line 81. - Move copy constructor and operator = (line 84) into the private section. - The method ReInit (line 215) is dangerous and indeed not used, so remove it. - Correct misprint "uutput" in 256-257. - The treatment of mode of work overloads the method Accept with additional if/else. The method Accept must be as simple as possible for effective work of the tree selection. I propose to implement 2 separate selector classes, one for selecting by point and another for selecting by line. - In the method Accept, the operation myMapOfShape(theObj) is performed 3 times. Create a reference to the shape instead. - The edge 'E' is better to declare a reference to avoid copying (109). - In lines 121, 142, 186, avoid call to sqrt, instead compare with a square of EdgeT computed in advance. - In the logic of method Accept, remove statements "return Standard_False;" in each if/else, because the same statement exists in the most end. - The adaptor 'LC' is created in each call to Accept. It is better to store it as a class field to avoid creation of the same object dozen of times. - In line 170, it is better to use SquareDistance (to avoid calling sqrt inside) and compare with the square of tolerance. - Ignoring of internal edge/vertex should be done in point mode too. The best way is to ignore them while filling in the tree in the line 459. Degenerated edges are to be ignored too. - Line 183: the object L is extra, the line bounds can be defined directly using the constant Precision::Infinite(). - Line 600: if we cannot get transition due to a failure getting face normal, shouldn't we set NearFaultPar to this place? - Line 858: comparing of angles between two vectors with PI/2 is more effectively done using comparing of scalar product with 0. The same can be applied to lines 849, 872-873. - Line 859: avoid comparing for equality, instead compare the difference with angular precision. - The formula in line 870 can be changed in this way, so as to avoid normalization of N: projL = N.XYZ() ^ LDir.XYZ() ^ N.XYZ() - Line 880: this returning false is to be treated in different way to the other lines returning false, as in this way the intersection with the edge can be ignored, while the others should lead to line faulty. |
|
Branch CR27117 has been updated by isn. SHA-1: 528ce7d87487193a7a72ee4632ec7c25874e6747 Detailed log of new commits: Author: isn Date: Fri Mar 11 17:29:24 2016 +0300 corrections |
|
New remarks: src\IntCurvesFace\IntCurvesFace_Intersector.hxx - Please document new methods with doxygen comments. src\IntCurvesFace\IntCurvesFace_Intersector.cxx - myUseBoundTol is not initialized in constructor. - The usage of myUseBoundTol is incorrect (inverse meaning) (lines 149-150). src\BRepClass3d\BRepClass3d_SClassifier.cxx - The comment in line 70 is irrelevant to the code. - In line 598, Tst is assign Boolean result, but later it is treated as integer. - In 605, add 'else' before 'if'. - Line 845: why LDir is declared as gp_Vec but not gp_Dir? It will cause implicit construction of gp_Dir in all places where LDir is used in the context of gp_Dir. - 847: LDir.Dot(nf1) is written twice, and nf2 is not checked. - 859: we checked already that abs(angD) is not less than angular tolerance, so here it is not needed to compare with angular tolerance, it is better to compare with 0. - 867: ProjL will be needed as normalized direction, so it is better to declare it gp_Dir instead of gp_Vec. Also, it is better to perform operation '^' over gp_XYZ entities instead of gp_Dir, otherwise after each intermediate crossing the result will be normalized. So, use XYZ() method as I wrote in the sample line in my previous remarks. |
|
Branch CR27117 has been updated by isn. SHA-1: bcbad6a9014026bde631db24d4f9b9bf8fde4590 Detailed log of new commits: Author: isn Date: Tue Mar 15 12:30:33 2016 +0300 corrections |
|
Branch CR27117 has been updated by isn. SHA-1: 7505f8b9602648a95dbdea318f75ef9eb50db499 Detailed log of new commits: Author: isn Date: Tue Mar 15 15:00:47 2016 +0300 corrections |
|
Branch CR27117 has been updated forcibly by isn. SHA-1: 1f0f0bb67108a43aebe16d4957cf280cc5000813 |
|
Branch CR27117 has been updated forcibly by isn. SHA-1: 3769f10e5a4d115055b881739c9433920748c0f5 |
|
Branch CR27117_1 has been created by isn. SHA-1: aa0e1e8f664ad663a2edacecf97f91a4c4da323b Detailed log of new commits: Author: isn Date: Tue Mar 15 16:38:11 2016 +0300 27117: BRepClass3d_SolidClassifier doesn't take into account vertex/edge/face tolerances 3D-claasifier now takes into the account the vertex/edges tolerances. If the given point lays inside the tolerance area of vertex or edge of the solid it's classified as TopAbs_ON. The behavior of IntCurvesFace_Intersector::Perform was changed. Now it may use optional null-tolerance to classify 2d-point relatively to the given face. UBTreeFiller is used to speedup intersection process between edges/vertices and the point. The test case 'boolean gdml_private ZH2' extensively uses the SolidClassifier. After this fix it returns the correct classification statuses, which leads to incorrect result shape (reported by checkshape). Yet the result shape without this fix also seems to be incorrect (one of the isolines goes out of boundary of the face). Thats why it's marked with 'TODO'. |
|
Reviewed. |
|
Dear BugMaster, Branch CR27117_1 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested. SHA-1: aa0e1e8f664ad663a2edacecf97f91a4c4da323b Number of compiler warnings: occt component: Linux: 0 (0 on master) Windows: 0 (0 on master) MacOS: 0 (0 on master) products component: Linux: 68 Windows: 0 MacOS: 1143 Regressions/Differences: http://occt-tests/CR27117_1-master-OCCT/Debian70-64/summary.html http://occt-tests/CR27117_1-master-OCCT/Windows-64-VC10/summary.html boolean gdml_private ZI7 (Linux only), ZJ7 (Linux only) bugs modalg_6 bug26567 http://occt-tests/CR27117_1-master-Products/Debian70-64/summary.html http://occt-tests/CR27117_1-master-Products/Windows-64-VC10/summary.html sat read E2 Testing on Linux: Total MEMORY difference: 89897319 / 89154516 [+0.83%] Total CPU difference: 21068.420000000042 / 18613.140000000003 [+13.19%] Testing on Windows: Total MEMORY difference: 56722680 / 57307615 [-1.02%] Total CPU difference: 19897.86514959878 / 17380.352211798836 [+14.48%] There are differences in images found by testdiff: http://occt-tests/CR27117_1-master-OCCT/Debian70-64/diff-Debian70-64.html http://occt-tests/CR27117_1-master-OCCT/Windows-64-VC10/diff-Windows-64-VC10.html boolean volumemaker C4 bugs modalg_2 bug472_3 |
|
Dear isn, Branch CR27117_1 has been rejected due to: - regressions/differences/improvements - differences in images |
|
Dear apv, I have noticed that in addition to regressions and differences in images, there are a lot of performance degradation. I expected that you had reported this too. Dear aml, please take care about further processing of this bug: analyze regressions and find bottlenecks, removing of which will allow leaving the algorithm on the same performance level. |
|
Branch CR27117_1 has been updated by aml. SHA-1: 754c514e51579312a716c3a62878530e49128fcd Detailed log of new commits: Author: aml Date: Fri Mar 18 14:27:57 2016 +0300 Refactoring and initial improvements. |
|
Branch CR27117_1 has been updated forcibly by aml. SHA-1: 8c627b33dfe8d37aacf98b58fc54716a745c9540 |
|
Branch CR27117_1 has been updated by aml. SHA-1: a278026f0dc8520de02b460f58866f844832cc6d Detailed log of new commits: Author: aml Date: Sun Mar 20 11:20:19 2016 +0300 Data caching and optimal distribution. |
|
Branch CR27117_1 has been updated by aml. SHA-1: 64d49cb067d65d16e1a2130cc15a8f5e985006dc Detailed log of new commits: Author: aml Date: Mon Mar 21 08:14:30 2016 +0300 Correction of a parameters order. |
|
Branch CR27117_1 has been updated by aml. SHA-1: cd269d142ae28be8a2428cbb196125d7178823cf Detailed log of new commits: Author: aml Date: Mon Mar 21 09:04:33 2016 +0300 Bad line criteria is changed. Misprint in auto-replace is corrected. |
|
Branch CR27117_1 has been updated by aml. SHA-1: d9e2672d473ef02e908ef13cba06170b3b932763 Detailed log of new commits: Author: aml Date: Mon Mar 21 11:45:58 2016 +0300 Commentaries were added to improve readability. |
|
Branch CR27117_1 has been updated by aml. SHA-1: ba8cb2fd100ee60cba8f06ff5e900405c75d5b42 Detailed log of new commits: Author: aml Date: Mon Mar 21 21:09:21 2016 +0300 UB-tree calculation is cashed to improve point-solid classification. |
|
Branch CR27117_1 has been updated by aml. SHA-1: 570a8c6a240b643a09497b0bf97dff7751d06568 Detailed log of new commits: Author: aml Date: Wed Mar 23 07:07:18 2016 +0300 Fix for infinite fault parameter and for missed logic in fault parameter detection. |
|
Branch CR27117_1 has been updated by aml. SHA-1: eb9fd8eb3b775b5c0ec9a54844cb8fd62a75f159 Detailed log of new commits: Author: aml Date: Wed Mar 23 07:38:36 2016 +0300 Test case is corrected. |
|
Branch CR27117_1 has been updated forcibly by aml. SHA-1: eecc2c3f5f1b87eea09d00bbbbd17a6deeb54e7f |
|
Branch CR27117_2 has been created by aml. SHA-1: a4db69f6543230e9a00140c2c06d3127875d5754 Detailed log of new commits: Author: aml Date: Wed Mar 23 08:10:57 2016 +0300 Various improvements in point-solid classifier: 1) Refactoring. 2) UB-tree calculation is cashed to improve point-solid classification speed. 3) Ray / curve intersection improved by trimmed parameters and correct order. 4) Fixes in logic. 5) Calculation caching at the classifier level. Author: isn Date: Tue Mar 15 16:38:11 2016 +0300 27117: BRepClass3d_SolidClassifier doesn't take into account vertex/edge/face tolerances 3D-claasifier now takes into the account the vertex/edges tolerances. If the given point lays inside the tolerance area of vertex or edge of the solid it's classified as TopAbs_ON. The behavior of IntCurvesFace_Intersector::Perform was changed. Now it may use optional null-tolerance to classify 2d-point relatively to the given face. UBTreeFiller is used to speedup intersection process between edges/vertices and the point. The test case 'boolean gdml_private ZH2' extensively uses the SolidClassifier. After this fix it returns the correct classification statuses, which leads to incorrect result shape (reported by checkshape). Yet the result shape without this fix also seems to be incorrect (one of the isolines goes out of boundary of the face). Thats why it's marked with 'TODO'. |
|
Branch CR27117_2 has been updated forcibly by aml. SHA-1: cc96dff57ec45c3c58eb07478fa8cbc2ab638a3a |
|
Branch CR27117_2 has been updated forcibly by aml. SHA-1: 8312ba9f2d76a0266c553d6af6c1b07dea3be40a |
|
Dear msv, Please check current state of the branch CR27117_2. |
|
Remarks: src\BRepClass3d\BRepClass3d_BndBoxTree.hxx - English grammar: // Class which is represents tree selector for point object. => // Class representing tree selector for point object. // Class which is represents tree selector for line object. => // Class representing tree selector for line object. - change 'double' to 'Standard_Real', and wrap long lines. - myMapOfShape is used only in const context, so change its declaration from non-const to const reference. src\BRepClass3d\BRepClass3d_BndBoxTree.cxx - Declare 'V' as "const &" in Lines 58, 117: TopoDS_Vertex V = TopoDS::Vertex(shp); - Line 111 is indented so as it seems to belong to the scope of 'for' loop, but it is not so. It is better to use braces to make the scope of 'for' distinct. src\BRepClass3d\BRepClass3d_SolidExplorer.hxx - Make short description of the new methods GetTree and GetMapEV. - The methods GetTree and GetMapEV do not need to return non-const regerences, as the returned values are used only in const context. - Include the header of TopTools_IndexedMapOfShape. src\BRepClass3d\BRepClass3d_SolidExplorer.cxx - Clear the fields myMapEV and myTree in the method InitShape. src\BRepClass3d\BRepClass3d_SClassifier.cxx - Line 207: use variable aMapEV. |
|
Branch CR27117_2 has been updated by aml. SHA-1: 76db04f40bc630f3ea65504bf112b1990c2f1537 Detailed log of new commits: Author: aml Date: Mon Mar 28 11:19:56 2016 +0300 Minor corrections. |
|
Dear msv, Please check updated branch CR27117_2. |
|
Branch CR27117_2 has been updated forcibly by aml. SHA-1: 38f9e7b2a3ba341d70e4364b57587c0d69786709 |
|
Branch CR27117_2 has been updated forcibly by aml. SHA-1: 6c09983acea0e2ddde40f81629fa2b9e9f7ee864 |
|
Branch CR27117_2 has been updated forcibly by aml. SHA-1: 0d46632bac79658bbd304413e1b5b3878c9666c0 |
|
Branch CR27117_2 has been updated forcibly by aml. SHA-1: c0833bfdd96de1d3b01c5154623424a3bb68c4ed |
|
Branch CR27117_2 has been updated forcibly by aml. SHA-1: 4599f9c95e9e0aa9113b80031af3d8ac453e6712 |
|
Reviewed. |
|
Branch CR27117_2 has been updated forcibly by apv. SHA-1: bbf5469e70b841d7dc44a2120cfab663b64c3751 |
|
Branch CR27117_2 has been rebased on the IR-2016-03-26 |
|
Dear BugMaster, Branch CR27117_2 from occt git-repository (and IR-2016-03-26 from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested. SHA-1: bbf5469e70b841d7dc44a2120cfab663b64c3751 Number of compiler warnings: occt component: Linux: 3 (0 on master) Windows: 0 (0 on master) MacOS: 0 (0 on master) products component: Linux: 68 Windows: 0 MacOS: 1136 New additional warnings have been detected on Linux: 1. BRepClass3d_BndBoxTree.hxx:104, GNU C Compiler 4 (gcc), Priority: Normal parameter 'outLParam' set but not used [-Wunused-but-set-parameter] 2. BRepClass3d_BndBoxTree.hxx:104, GNU C Compiler 4 (gcc), Priority: Normal parameter 'theOutParam' set but not used [-Wunused-but-set-parameter] 3. BRepClass3d_BndBoxTree.hxx:113, GNU C Compiler 4 (gcc), Priority: Normal parameter 'outLParam' set but not used [-Wunused-but-set-parameter] Regressions/Differences: http://occt-tests/CR27117_2-IR-2016-03-26-OCCT/Debian70-64/summary.html http://occt-tests/CR27117_2-IR-2016-03-26-OCCT/Windows-64-VC10/summary.html boolean gdml_private ZI7 (Linux only), ZJ7 (Linux only) boolean volumemaker B7, C9, H4 bugs modalg_5 bug24244, bug24558 bugs modalg_6 bug26098, bug27002_1, bug27010 de step_1 ZZ9 de step_4 G9, I3 de step_5 B4 http://occt-tests/CR27117_2-IR-2016-03-26-Products/Debian70-64/summary.html http://occt-tests/CR27117_2-IR-2016-03-26-Products/Windows-64-VC10/summary.html sat read E2 Testing on Linux: Total MEMORY difference: 90270890 / 88958395 [+1.48%] Total CPU difference: 19455.49000000015 / 19371.69999999998 [+0.43%] Testing on Windows: Total MEMORY difference: 57682788 / 57518937 [+0.28%] Total CPU difference: 18276.655957298797 / 18034.339603998826 [+1.34%] There are differences in images found by testdiff: http://occt-tests/CR27117_2-IR-2016-03-26-OCCT/Debian70-64/diff-Debian70-64.html http://occt-tests/CR27117_2-IR-2016-03-26-OCCT/Windows-64-VC10/diff-Windows-64-VC10.html boolean volumemaker C4 bugs modalg_2 bug472_3 |
|
Dear aml, Branch CR27117_2 has been rejected due to: - additional warnings - regressions/differences/improvements - differences in images |
|
Branch CR27117_3 has been created by aml. SHA-1: d33cdd3a8d1c03e16520f9f040f6cf1d161e6671 Detailed log of new commits: Author: aml Date: Wed Mar 23 08:10:57 2016 +0300 Various improvements in point-solid classifier: 1) Refactoring. 2) BndBoxTree is extracted into separate class. 3) UB-tree calculation is cashed to improve point-solid classification speed. 4) Ray / curve intersection improved by trimmed parameters and correct order. 5) Fixes in logic. 6) Calculation caching at the classifier level. Author: isn Date: Tue Mar 15 16:38:11 2016 +0300 27117: BRepClass3d_SolidClassifier doesn't take into account vertex/edge/face tolerances 3D-claasifier now takes into the account the vertex/edges tolerances. If the given point lays inside the tolerance area of vertex or edge of the solid it's classified as TopAbs_ON. The behavior of IntCurvesFace_Intersector::Perform was changed. Now it may use optional null-tolerance to classify 2d-point relatively to the given face. UBTreeFiller is used to speedup intersection process between edges/vertices and the point. The test case 'boolean gdml_private ZH2' extensively uses the SolidClassifier. After this fix it returns the correct classification statuses, which leads to incorrect result shape (reported by checkshape). Yet the result shape without this fix also seems to be incorrect (one of the isolines goes out of boundary of the face). Thats why it's marked with 'TODO'. |
|
Dear apv, Misprint was corrected. Could you please perform testing again? |
|
I would like to precise that now CR27117_3 is an actual branch. |
|
I've rebased CR27117_2 on the current master, corrected misprint and pushed result into CR7117_3 branch. Please test CR27117_3 branch. |
|
Dear BugMaster, Branch CR27117_3 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested. SHA-1: d33cdd3a8d1c03e16520f9f040f6cf1d161e6671 Number of compiler warnings: occt component: Linux: 0 (0 on master) Windows: 0 (0 on master) MacOS: 0 (0 on master) products component: Linux: 68 Windows: 0 MacOS: 1115 Regressions/Differences: http://occt-tests/CR27117_3-master-OCCT/Debian70-64/summary.html http://occt-tests/CR27117_3-master-OCCT/Windows-64-VC10/summary.html boolean gdml_private ZI7 (Linux only), ZJ7 (Linux only) boolean volumemaker C9 Testing on Linux: Total MEMORY difference: 89458413 / 90119411 [-0.73%] Total CPU difference: 19455.710000000152 / 19402.500000000106 [+0.27%] Testing on Windows: Total MEMORY difference: 57706014 / 57537936 [+0.29%] Total CPU difference: 18006.13462319886 / 18042.685657498812 [-0.20%] There are differences in images found by testdiff: http://occt-tests/CR27117_3-master-OCCT/Debian70-64/diff-Debian70-64.html http://occt-tests/CR27117_3-master-OCCT/Windows-64-VC10/diff-Windows-64-VC10.html boolean volumemaker C4 bugs modalg_2 bug472_3 |
|
Dear aml, Branch CR27117_3 has been rejected due to: - regressions/differences/improvements - differences in images |
|
Branch CR27117_3 has been updated forcibly by aml. SHA-1: 2a1579d5f9bdecf3dfcd41e29b835a482f455979 |
|
Branch CR27117_3 has been updated forcibly by aml. SHA-1: 0beb29ae1f48f9725ecda2e43f768850e45651e2 |
2016-04-01 14:46 developer |
FaultyFace.png (42,319 bytes) |
|
Dear msv, 1) Please check current state of the branch CR27117_3. 2) gdml_private ZI7 (Linux only), ZJ7 (Linux only) - TODO changed boolean volumemaker C9 - improvement. boolean volumemaker C4 - improvement. 3)The difference in the test case bugs modalg_2 bug472_3 is caused by different handling of the faulty face (in attachments section). In master branch this face is classified "IN" relatively to the solid. In CR27117_3 branch this face is classified "ON" relatively to the solid. (BopTools_AlgoTools.cxx::709). Input for the classification algorithm is invalid, so I propose to accept changes in image since special issue for this case is exist (0025917) |
|
Reviewed. I agree with aml's remarks. Dear bugmaster, please test only the following tests: boolean gdml_private ZI7 boolean gdml_private ZJ7 boolean volumemaker C9 No recompilation is needed. |
|
Test cases boolean gdml_private ZI7 boolean gdml_private ZJ7 boolean volumemaker C9 have been retested. Results are OK: http://occt-tests/CR27117_3-master-OCCT/Debian70-64/summary.html http://occt-tests/CR27117_3-master-OCCT/Windows-64-VC10/summary.html |
|
Dear aml, please create test case for this issue. |
2016-04-06 09:30 developer |
bug27117.brep (28,089 bytes) |
|
Branch CR27117_3 has been updated by aml. SHA-1: 64594917faf9e89c8c29a78eb4359d4d17ac8d9f Detailed log of new commits: Author: aml Date: Wed Apr 6 09:32:47 2016 +0300 Test case is added. |
|
Test case is added. |
|
Branch CR27117_3 has been updated forcibly by aml. SHA-1: 56aced4a4b0f224e0de9d7e2608a8cca890e7bc3 |
|
Dear bugmaster, please check the new test case from the last commit to the branch CR27117_3, and consider its integration. |
|
Result of testing case bugs modalg_6 bug27117 - OK: http://occt-tests/CR27117_3-master-OCCT/Debian70-64/bugs/modalg_6/bug27117.html http://occt-tests/CR27117_3-master-OCCT/Windows-64-VC10/bugs/modalg_6/bug27117.html |
|
Branch CR27117_1 has been deleted by kgv. SHA-1: eecc2c3f5f1b87eea09d00bbbbd17a6deeb54e7f |
|
Branch CR27117_3 has been deleted by inv. SHA-1: 56aced4a4b0f224e0de9d7e2608a8cca890e7bc3 |
|
Branch CR27117_2 has been deleted by inv. SHA-1: bbf5469e70b841d7dc44a2120cfab663b64c3751 |
|
Branch CR27117 has been deleted by inv. SHA-1: 3769f10e5a4d115055b881739c9433920748c0f5 |
occt: master 58e14d59 2016-03-15 13:38:11
Committer: bugmaster Details Diff |
0027117: BRepClass3d_SolidClassifier doesn't take into account vertex/edge/face tolerances Various improvements in point-solid classifier: 1) Refactoring. 2) BndBoxTree is extracted into separate class. 3) UB-tree calculation is cashed to improve point-solid classification speed. 4) Ray / curve intersection improved by trimmed parameters and correct order. 5) Fixes in logic. 6) Calculation caching at the classifier level. 3D-claasifier now takes into the account the vertex/edges tolerances. If the given point lays inside the tolerance area of vertex or edge of the solid it's classified as TopAbs_ON. The behavior of IntCurvesFace_Intersector::Perform was changed. Now it may use optional null-tolerance to classify 2d-point relatively to the given face. UBTreeFiller is used to speedup intersection process between edges/vertices and the point. The test case 'boolean gdml_private ZH2' extensively uses the SolidClassifier. After this fix it returns the correct classification statuses, which leads to incorrect result shape (reported by checkshape). Yet the result shape without this fix also seems to be incorrect (one of the isolines goes out of boundary of the face). Thats why it's marked with 'TODO'. Corrections in test cases. Test case is added. |
Affected Issues 0027117 |
|
add - src/BRepClass3d/BRepClass3d_BndBoxTree.cxx | Diff File | ||
add - src/BRepClass3d/BRepClass3d_BndBoxTree.hxx | Diff File | ||
mod - src/BRepClass3d/BRepClass3d_SClassifier.cxx | Diff File | ||
mod - src/BRepClass3d/BRepClass3d_SClassifier.hxx | Diff File | ||
mod - src/BRepClass3d/BRepClass3d_SolidExplorer.cxx | Diff File | ||
mod - src/BRepClass3d/BRepClass3d_SolidExplorer.hxx | Diff File | ||
mod - src/BRepClass3d/FILES | Diff File | ||
mod - src/IntCurvesFace/IntCurvesFace_Intersector.cxx | Diff File | ||
mod - src/IntCurvesFace/IntCurvesFace_Intersector.hxx | Diff File | ||
mod - tests/boolean/gdml_private/ZH2 | Diff File | ||
mod - tests/boolean/gdml_private/ZI7 | Diff File | ||
mod - tests/boolean/gdml_private/ZJ7 | Diff File | ||
mod - tests/boolean/volumemaker/C9 | Diff File | ||
add - tests/bugs/modalg_6/bug27117 | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2016-01-26 12:05 |
|
New Issue | |
2016-01-26 12:05 |
|
Assigned To | => isn |
2016-03-10 12:29 | git | Note Added: 0051503 | |
2016-03-10 14:37 |
|
Assigned To | isn => msv |
2016-03-10 14:37 |
|
Status | new => feedback |
2016-03-10 16:42 | git | Note Added: 0051527 | |
2016-03-10 19:50 |
|
Note Added: 0051534 | |
2016-03-10 19:50 |
|
Assigned To | msv => isn |
2016-03-10 19:50 |
|
Status | feedback => assigned |
2016-03-11 21:30 | git | Note Added: 0051568 | |
2016-03-11 21:31 |
|
Assigned To | isn => msv |
2016-03-11 21:31 |
|
Status | assigned => feedback |
2016-03-14 11:44 |
|
Note Added: 0051584 | |
2016-03-14 11:44 |
|
Assigned To | msv => isn |
2016-03-14 11:44 |
|
Status | feedback => assigned |
2016-03-15 12:32 | git | Note Added: 0051625 | |
2016-03-15 13:36 |
|
Assigned To | isn => msv |
2016-03-15 13:36 |
|
Status | assigned => feedback |
2016-03-15 15:05 | git | Note Added: 0051641 | |
2016-03-15 15:58 | git | Note Added: 0051649 | |
2016-03-15 16:20 | git | Note Added: 0051652 | |
2016-03-15 16:38 | git | Note Added: 0051656 | |
2016-03-15 16:42 |
|
Note Added: 0051657 | |
2016-03-15 16:42 |
|
Assigned To | msv => bugmaster |
2016-03-15 16:42 |
|
Status | feedback => reviewed |
2016-03-15 19:08 |
|
Assigned To | bugmaster => apv |
2016-03-16 15:42 |
|
Note Added: 0051709 | |
2016-03-16 15:42 |
|
Assigned To | apv => isn |
2016-03-16 15:42 |
|
Status | reviewed => assigned |
2016-03-16 15:43 |
|
Note Added: 0051710 | |
2016-03-17 13:07 |
|
Note Added: 0051731 | |
2016-03-17 13:07 |
|
Assigned To | isn => aml |
2016-03-18 14:44 | git | Note Added: 0051785 | |
2016-03-18 14:54 | git | Note Added: 0051786 | |
2016-03-20 11:21 | git | Note Added: 0051798 | |
2016-03-21 08:15 | git | Note Added: 0051799 | |
2016-03-21 09:04 | git | Note Added: 0051800 | |
2016-03-21 12:47 | git | Note Added: 0051807 | |
2016-03-21 21:22 | git | Note Added: 0051836 | |
2016-03-23 07:07 | git | Note Added: 0051862 | |
2016-03-23 07:55 | git | Note Added: 0051863 | |
2016-03-23 08:01 | git | Note Added: 0051864 | |
2016-03-23 08:11 | git | Note Added: 0051865 | |
2016-03-23 11:35 | git | Note Added: 0051869 | |
2016-03-24 07:30 | git | Note Added: 0051922 | |
2016-03-24 07:51 |
|
Note Added: 0051923 | |
2016-03-24 07:51 |
|
Assigned To | aml => msv |
2016-03-24 07:51 |
|
Status | assigned => resolved |
2016-03-24 07:51 |
|
Steps to Reproduce Updated | |
2016-03-28 11:00 |
|
Note Added: 0052049 | |
2016-03-28 11:00 |
|
Assigned To | msv => aml |
2016-03-28 11:00 |
|
Status | resolved => assigned |
2016-03-28 11:20 | git | Note Added: 0052053 | |
2016-03-28 11:20 |
|
Note Added: 0052054 | |
2016-03-28 11:20 |
|
Assigned To | aml => msv |
2016-03-28 11:20 |
|
Status | assigned => resolved |
2016-03-28 11:22 | git | Note Added: 0052055 | |
2016-03-28 11:37 | git | Note Added: 0052058 | |
2016-03-28 11:54 | git | Note Added: 0052060 | |
2016-03-28 11:58 | git | Note Added: 0052061 | |
2016-03-28 12:12 | git | Note Added: 0052062 | |
2016-03-28 12:13 |
|
Note Added: 0052063 | |
2016-03-28 12:13 |
|
Assigned To | msv => bugmaster |
2016-03-28 12:13 |
|
Status | resolved => reviewed |
2016-03-28 15:04 |
|
Assigned To | bugmaster => apv |
2016-03-28 15:28 | git | Note Added: 0052073 | |
2016-03-28 15:29 |
|
Note Added: 0052074 | |
2016-03-29 12:03 |
|
Note Added: 0052101 | |
2016-03-29 12:03 |
|
Assigned To | apv => aml |
2016-03-29 12:03 |
|
Status | reviewed => assigned |
2016-03-29 12:04 |
|
Note Added: 0052102 | |
2016-03-29 12:23 |
|
Note Edited: 0052101 | |
2016-03-29 12:23 |
|
Note Edited: 0052102 | |
2016-03-30 09:55 | git | Note Added: 0052151 | |
2016-03-30 11:24 |
|
Note Added: 0052159 | |
2016-03-30 11:24 |
|
Assigned To | aml => apv |
2016-03-30 11:24 |
|
Status | assigned => feedback |
2016-03-30 12:04 |
|
Note Added: 0052166 | |
2016-03-30 12:14 |
|
Note Added: 0052169 | |
2016-03-30 14:45 |
|
Note Edited: 0052169 | |
2016-03-30 15:54 |
|
Status | feedback => reviewed |
2016-03-31 16:02 |
|
Note Added: 0052243 | |
2016-03-31 16:02 |
|
Assigned To | apv => aml |
2016-03-31 16:02 |
|
Status | reviewed => assigned |
2016-03-31 16:03 |
|
Note Added: 0052244 | |
2016-04-01 13:15 | git | Note Added: 0052287 | |
2016-04-01 14:44 | git | Note Added: 0052290 | |
2016-04-01 14:46 |
|
File Added: FaultyFace.png | |
2016-04-01 14:54 |
|
Note Added: 0052291 | |
2016-04-01 14:54 |
|
Assigned To | aml => msv |
2016-04-01 14:54 |
|
Status | assigned => resolved |
2016-04-01 14:55 |
|
Note Edited: 0052291 | |
2016-04-01 19:17 |
|
Note Added: 0052307 | |
2016-04-01 19:17 |
|
Assigned To | msv => bugmaster |
2016-04-01 19:17 |
|
Status | resolved => reviewed |
2016-04-04 11:27 |
|
Assigned To | bugmaster => apv |
2016-04-05 12:27 |
|
Priority | normal => high |
2016-04-05 13:28 |
|
Test case number | => Not needed |
2016-04-05 14:25 |
|
Note Added: 0052396 | |
2016-04-05 14:25 |
|
Assigned To | apv => bugmaster |
2016-04-05 14:25 |
|
Status | reviewed => tested |
2016-04-06 09:26 |
|
Note Added: 0052413 | |
2016-04-06 09:26 |
|
Assigned To | bugmaster => aml |
2016-04-06 09:26 |
|
Status | tested => feedback |
2016-04-06 09:30 |
|
File Added: bug27117.brep | |
2016-04-06 09:34 | git | Note Added: 0052414 | |
2016-04-06 09:35 |
|
Assigned To | aml => isn |
2016-04-06 09:35 |
|
Assigned To | isn => msv |
2016-04-06 09:35 |
|
Note Added: 0052415 | |
2016-04-06 09:46 | git | Note Added: 0052416 | |
2016-04-06 09:50 |
|
Note Added: 0052417 | |
2016-04-06 09:50 |
|
Assigned To | msv => bugmaster |
2016-04-06 11:18 | bugmaster | Assigned To | bugmaster => apv |
2016-04-06 11:21 |
|
Test case number | Not needed => bugs modalg_6 bug27117 |
2016-04-06 12:21 |
|
Note Added: 0052426 | |
2016-04-06 12:21 |
|
Assigned To | apv => bugmaster |
2016-04-06 12:21 |
|
Status | feedback => tested |
2016-04-08 11:55 | bugmaster | Changeset attached | => occt master 58e14d59 |
2016-04-08 11:55 | bugmaster | Status | tested => verified |
2016-04-08 11:55 | bugmaster | Resolution | open => fixed |
2016-04-17 13:40 | git | Note Added: 0052898 | |
2016-04-20 11:33 | git | Note Added: 0053327 | |
2016-04-20 11:34 | git | Note Added: 0053339 | |
2016-04-20 11:34 | git | Note Added: 0053346 | |
2016-12-09 16:33 |
|
Status | verified => closed |
2016-12-09 16:37 |
|
Fixed in Version | => 7.1.0 |