MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0025631Open CASCADE[OCCT] OCCT:Modeling Algorithmspublic2014-12-19 11:242016-05-19 10:13
Reporterpkv 
Assigned Tobugmaster 
PrioritynormalSeverityminor 
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version[OCCT] 6.9.0 
Target Version[OCCT] 6.9.0Fixed in Version[OCCT] 6.9.0 
Summary0025631: Bounding box is too big for the face.
DescriptionBounding box is too big for the face.

The goal is:
To compute bounding box more precisely
Steps To ReproduceUse the following commands to reproduce the problem:
#
restore fbx f

bounding f
# please have a look on axonometric view
# for more details
TagsNo tags attached.
Test case numberbugs moddata_3(013) bug25631
Attached Files? file icon fbx (70,373 bytes) 2014-12-19 11:24
png file icon boxes.PNG (20,163 bytes) 2014-12-19 12:01
jpg file icon 25631_CutUnusedPoles.jpg (89,100 bytes) 2015-01-19 14:47

- Relationships
related to 0023446closedbugmaster Open CASCADE Wrong bounding box calculated by BRepBndLib 
related to 0027200closedbugmaster Community Bounding box of Surfaces 

-  Notes
(0035505)
msv (developer)
2014-12-19 12:07

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.
(0035545)
msv (developer)
2014-12-22 12:38

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).
(0036207)
git (administrator)
2015-01-19 14:46

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.
(0036209)
aml (developer)
2015-01-19 14:57

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.
(0036238)
msv (developer)
2015-01-20 10:25

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.
(0036353)
git (administrator)
2015-01-22 07:44

Branch CR25631 has been updated forcibly by aml.

SHA-1: e732d89a554eabbaa5745df417c1de4a91fa5c1f
(0036354)
git (administrator)
2015-01-22 07:51

Branch CR25631 has been updated forcibly by aml.

SHA-1: 387b825db2823f02acec7c10e6ef4343e0d60902
(0036355)
aml (developer)
2015-01-22 08:26

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.
(0036360)
msv (developer)
2015-01-22 10:00

Reviewed.
(0036821)
mkv (tester)
2015-01-29 14:31

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.
(0036822)
git (administrator)
2015-01-29 14:32

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

(0038534)
git (administrator)
2015-03-18 13:34

Branch CR25631 has been deleted by inv.

SHA-1: 0fc247a77852345b87cf36a9e924a78c400dbe05

- Related Changesets
occt: master 9bf0740b
Timestamp: 2015-01-29 12:09:51
Author: aml
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
mod - src/BndLib/BndLib_AddSurface.cxx Diff ] File ]
add - tests/bugs/moddata_3/bug25631 Diff ] File ]

- Issue History
Date Modified Username Field Change
2014-12-19 11:24 pkv New Issue
2014-12-19 11:24 pkv Assigned To => msv
2014-12-19 11:24 pkv File Added: fbx
2014-12-19 11:24 pkv Status new => assigned
2014-12-19 12:01 msv File Added: boxes.PNG
2014-12-19 12:07 msv Note Added: 0035505
2014-12-22 12:32 msv Assigned To msv => aml
2014-12-22 12:38 msv Note Added: 0035545
2015-01-19 14:46 git Note Added: 0036207
2015-01-19 14:47 aml File Added: 25631_CutUnusedPoles.jpg
2015-01-19 14:57 aml Note Added: 0036209
2015-01-19 14:57 aml Assigned To aml => msv
2015-01-19 14:57 aml Status assigned => resolved
2015-01-20 10:25 msv Note Added: 0036238
2015-01-20 10:25 msv Assigned To msv => aml
2015-01-20 10:25 msv 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 aml Note Added: 0036355
2015-01-22 08:26 aml Assigned To aml => msv
2015-01-22 08:26 aml Status assigned => resolved
2015-01-22 10:00 msv Note Added: 0036360
2015-01-22 10:00 msv Assigned To msv => bugmaster
2015-01-22 10:00 msv Status resolved => reviewed
2015-01-27 13:08 msv Relationship added related to 0023446
2015-01-28 18:01 mkv Assigned To bugmaster => mkv
2015-01-29 14:31 mkv Note Added: 0036821
2015-01-29 14:32 git Note Added: 0036822
2015-01-29 14:32 mkv Test case number => bugs moddata_3(013) bug25631
2015-01-29 14:32 mkv Assigned To mkv => bugmaster
2015-01-29 14:32 mkv 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 aiv Status verified => closed
2015-05-14 15:32 aiv Fixed in Version => 6.9.0
2016-02-24 18:25 msv Relationship added related to 0027200
2016-05-19 10:13 msv Relationship added related to 0027352


Copyright © 2000 - 2020 MantisBT Team
Powered by Mantis Bugtracker