View Issue Details

IDProjectCategoryView StatusLast Update
0023613Open CASCADEOCCT:Modeling Algorithmspublic2013-04-29 15:23
ReporterabvAssigned Toemv 
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
Product Version6.5.4 
Target Version6.6.0Fixed in Version6.6.0 
Summary0023613: Add diagnostic tool for BOP
DescriptionIn order to facilitate debug of BOP (mainly in context of 0021762), I propose to add general tool for automatic diagnostic of problems in BOP, to OCCT code. The diagnostics should be disabled by default but activated by some environment variable (e.g. CSF_DEBUG_BOP). This would enable possibility for any application using BOP to easily detect problems and generate bug reports, even without rebuilding.

The idea is as follows:

1. The check can be integrated to BRepAlgoAPI_* classes
2. If environment variable CSF_DEBUG_BOP is defined, each call to boolean operation should check both its arguments and result
3. The check should ensure that all problems relevant for BOP are detected:
- general shape validity (checkshape)
- specific criteria for BOP (bopargcheck)
- tolerance
- anything else as needed..
4. If the check fails, save relevant shape(s) and DRAW script to reproduce the problem:
- location to save can be specified by the same variable CSF_DEBUG_BOP or different one
- if check is failed on argument shape, save that shape and put DRAW command for restoring it and launching relevant check (e.g. checkshape) on it
- if check is failed on result, save both arguments and put DRAW command for restoring arguments, running operation, and launching relevant check
- the names for saved shapes and logs can be generated automatically (e.g. "bop_pb_123_arg1.brep", "bop_pb_123.tcl")
- a message should be printed to cout to indicate that some problem has been detected
5. Naturally this possibility should be documented to be usable in projects
Additional information
and documentation updates
 Added new static public function BRepAlgoAPI::BoolDump() which is used for saving the initial shapes and the result shape of boolean operation in case if the arguments or the result are not valid shapes in terms of BRepAlgoAPI_Check.

 This feature is activated by environment variable CSF_DEBUG_BOP. This variable should specify path to generated scripts and saving argument and result of Boolean operations.
TagsNo tags attached.
Test case number

Relationships

related to 0021762 closedemv Integration new Boolean Operation algorithm to OCC 
parent of 0023648 closedemv Add tool for checking shapes on validity for boolean operations. 

Activities

gka

2012-12-06 18:48

developer   ~0022602

In the class BRepAlgoAPI_BooleanOperation.cxx added prototypes of methods for dump Boolean operation with invalid arguments or invalid result in the tcl script.

This features is activated by environment variable CSF_DEBUG_BOP as proposed above.
This variable should specify path to generated scripts and saving argument and result of Boolean operations.

emv

2013-03-12 11:31

developer   ~0023660

Dear BugMaster,
All modifications have been made in the issue 0023648.

bugmaster

2013-03-14 11:13

administrator   ~0023714

All modifications have been made in the issue 0023648.

Issue History

Date Modified Username Field Change
2012-12-04 11:10 abv New Issue
2012-12-04 11:10 abv Assigned To => pkv
2012-12-04 11:10 abv Relationship added related to 0021762
2012-12-06 10:13 abv Assigned To pkv => gka
2012-12-06 10:58 abv Status new => assigned
2012-12-06 18:35 gka Assigned To gka => emv
2012-12-06 18:48 gka Note Added: 0022602
2013-02-27 11:22 emv Relationship added parent of 0023648
2013-03-12 11:31 emv Note Added: 0023660
2013-03-12 11:31 emv Assigned To emv => mkv
2013-03-12 11:31 emv Status assigned => resolved
2013-03-12 11:31 emv Additional Information Updated
2013-03-14 11:13 bugmaster Status resolved => reviewed
2013-03-14 11:13 bugmaster Note Added: 0023714
2013-03-14 11:13 bugmaster Status reviewed => verified
2013-03-14 11:13 bugmaster Resolution open => fixed
2013-03-14 11:13 bugmaster Assigned To mkv => emv
2013-04-23 13:35 aiv Status verified => closed
2013-04-29 15:23 aiv Fixed in Version => 6.6.0