View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0025631 | Open CASCADE | OCCT:Modeling Algorithms | public | 2014-12-19 11:24 | 2020-12-14 12:25 |
Reporter | Assigned To | bugmaster | |||
Priority | normal | Severity | minor | ||
Status | closed | Resolution | fixed | ||
Product Version | 6.9.0 | ||||
Target Version | 6.9.0 | Fixed in Version | 6.9.0 | ||
Summary | 0025631: Bounding box is too big for the face. | ||||
Description | Bounding box is too big for the face. The goal is: To compute bounding box more precisely | ||||
Steps To Reproduce | Use the following commands to reproduce the problem: # restore fbx f bounding f # please have a look on axonometric view # for more details | ||||
Tags | No tags attached. | ||||
Test case number | bugs moddata_3(013) bug25631 | ||||
2014-12-19 11:24 developer |
fbx (70,373 bytes) |
2014-12-19 12:01 developer |
boxes.PNG (20,163 bytes) |
|
Bounding box is computed for a bspline face using poles of bspline. In the attached picture 2 boxes are shown, the larger one is computed on poles, and the smaller one is computed on triangulation nodes. In the absence of triangulation, the larger box is computed. In order to compute the precise bounding box, it is needed to develop a special algorithm. And most probably that it will slow down the BB computation. |
|
It is needed to make search (in the inet) for optimal methods of global optimization. After applying it to computing minimal bounding box for a restricted bspline surface, evaluate its performance, as well the performance of OCCT libraries (grid tests) if we replace old algorithm with the new one. If performance will be significantly decreased then create new API method for new algorithm, and use it where it is needed case by case (may be the latter will be out of scope of this bug). |
|
Branch CR25631 has been created by aml. SHA-1: e3a57ec5999997cc72f5877c8cb4f7709506cae2 Detailed log of new commits: Author: aml Date: Mon Jan 19 11:48:31 2015 +0300 0025631: Bounding box is too big for the face. Fixed start and finish idexes of poles in case of trimmed surface. |
2015-01-19 14:47 developer |
25631_CutUnusedPoles.jpg (89,100 bytes) |
|
Dear msv, Please check current state of branch CR25631. Current implementation reduce bounding box (look at attached image), using lightweight additional computations, which should not affect performance. Algorithm with computing precise bounding box still in development now. |
|
Remarks: - Not used variable at line 323 - Strange condition at line 302: what if we want to build box on subset of the surface parametric space? It is here regardless of the current patch. - At line 208: please think how it will work on periodic B-splines. |
|
Branch CR25631 has been updated forcibly by aml. SHA-1: e732d89a554eabbaa5745df417c1de4a91fa5c1f |
|
Branch CR25631 has been updated forcibly by aml. SHA-1: 387b825db2823f02acec7c10e6ef4343e0d60902 |
|
Dear msv, Please check updated branch CR25631. I - Strange condition at line 302: what if we want to build box on subset of the surface parametric space? It is here regardless of the current patch. Old: In case when (UMin,VMin, UMax, VMax) not equal to topology borders then used default algorithm based on regular grid. This behavior caused by properties of Bezier surface, on which trimmed case should be handled like untrimmed (all the poles used in any computations -> all the poles should be in bounding box). That is why grid algorithm is used when parameters not equal to borders. New: In case of trimmed BSpline surface if (UMin,VMin, UMax, VMax) lies inside of geometry borders then modified convex hull algorithm is used. Bezier surface handling not changed. Conclusion: Patch should change only BSpline surface handling. II - At line 208: please think how it will work on periodic B-splines. Fixed. |
|
Reviewed. |
|
Dear BugMaster, Branch CR25631 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode. 387b825db2823f02acec7c10e6ef4343e0d60902 Number of compiler warnings: occt component : Linux: 18 (18 on master) Windows: 0 (0 on master) products component : Linux: 11 (11 on master) Windows: 1 (1 on master) Regressions/Differences: No regressions/differences Testing cases: http://occt-tests/CR25631-master-occt/Debian60-64/bugs/moddata_3/bug25631.html http://occt-tests/CR25631-master-occt/Windows-32-VC10/bugs/moddata_3/bug25631.html bugs moddata_3(013) bug25631: OK Testing on Linux: occt component : Total MEMORY difference: 370237700 / 369907280 Total CPU difference: 47707.11 / 46828.580000000045 products component : Total MEMORY difference: 110073812 / 110058756 Total CPU difference: 16423.76999999998 / 15822.439999999979 Testing on Windows: occt component : Total MEMORY difference: 276749496 / 276885156 Total CPU difference: 36273.15625 / 39964.359375 products component : Total MEMORY difference: 72465040 / 71278224 Total CPU difference: 12933.75 / 10959.0625 There are no differences in images found by testdiff. |
|
Branch CR25631 has been updated by mkv. SHA-1: 0fc247a77852345b87cf36a9e924a78c400dbe05 Detailed log of new commits: Author: mkv Date: Thu Jan 29 13:42:21 2015 +0300 Test case for issue CR25631 |
|
Branch CR25631 has been deleted by inv. SHA-1: 0fc247a77852345b87cf36a9e924a78c400dbe05 |
occt: master 9bf0740b 2015-01-29 12:09:51
Committer: bugmaster Details Diff |
0025631: Bounding box is too big for the face. Fixed start and finish indexes of poles in case of trimmed bspline surface. Test case for issue CR25631 |
Affected Issues 0025631 |
|
mod - src/BndLib/BndLib_AddSurface.cxx | Diff File | ||
add - tests/bugs/moddata_3/bug25631 | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2014-12-19 11:24 |
|
New Issue | |
2014-12-19 11:24 |
|
Assigned To | => msv |
2014-12-19 11:24 |
|
File Added: fbx | |
2014-12-19 11:24 |
|
Status | new => assigned |
2014-12-19 12:01 |
|
File Added: boxes.PNG | |
2014-12-19 12:07 |
|
Note Added: 0035505 | |
2014-12-22 12:32 |
|
Assigned To | msv => aml |
2014-12-22 12:38 |
|
Note Added: 0035545 | |
2015-01-19 14:46 | git | Note Added: 0036207 | |
2015-01-19 14:47 |
|
File Added: 25631_CutUnusedPoles.jpg | |
2015-01-19 14:57 |
|
Note Added: 0036209 | |
2015-01-19 14:57 |
|
Assigned To | aml => msv |
2015-01-19 14:57 |
|
Status | assigned => resolved |
2015-01-20 10:25 |
|
Note Added: 0036238 | |
2015-01-20 10:25 |
|
Assigned To | msv => aml |
2015-01-20 10:25 |
|
Status | resolved => assigned |
2015-01-22 07:44 | git | Note Added: 0036353 | |
2015-01-22 07:51 | git | Note Added: 0036354 | |
2015-01-22 08:26 |
|
Note Added: 0036355 | |
2015-01-22 08:26 |
|
Assigned To | aml => msv |
2015-01-22 08:26 |
|
Status | assigned => resolved |
2015-01-22 10:00 |
|
Note Added: 0036360 | |
2015-01-22 10:00 |
|
Assigned To | msv => bugmaster |
2015-01-22 10:00 |
|
Status | resolved => reviewed |
2015-01-27 13:08 |
|
Relationship added | related to 0023446 |
2015-01-28 18:01 |
|
Assigned To | bugmaster => mkv |
2015-01-29 14:31 |
|
Note Added: 0036821 | |
2015-01-29 14:32 | git | Note Added: 0036822 | |
2015-01-29 14:32 |
|
Test case number | => bugs moddata_3(013) bug25631 |
2015-01-29 14:32 |
|
Assigned To | mkv => bugmaster |
2015-01-29 14:32 |
|
Status | reviewed => tested |
2015-01-30 14:00 | bugmaster | Changeset attached | => occt master 9bf0740b |
2015-01-30 14:00 | bugmaster | Status | tested => verified |
2015-01-30 14:00 | bugmaster | Resolution | open => fixed |
2015-03-18 13:34 | git | Note Added: 0038534 | |
2015-05-14 15:29 |
|
Status | verified => closed |
2015-05-14 15:32 |
|
Fixed in Version | => 6.9.0 |
2016-02-24 18:25 |
|
Relationship added | related to 0027200 |
2020-12-14 12:25 |
|
Relationship added | related to 0031995 |