WIP: GaussGeo OverlapChecker produces a JSON file with all found overlaps

Open Dominik Muller requested to merge master_overlap_checker_json_dump into master

Enhances the optional overlap checker in GaussGeo to produce an easy to read json file containing all the overlaps stored in three categories:

  • "Overlaps": Overlaps with placed volumes on same level
  • "Extrusions": Overlaps with the parent volume
  • "FailedChecks" Volumes for which the check failed (usually because no point could be generated on the surface).

The check is performed when a physical volume is placed. Additional options for the GaussGeo configurable:

  • "OverlapCheckNPoints": Number of random points to be generated and checked on the surface of the placed volume (default 1000)
  • "OverlapCheckTolerance": Tolerance in mm for an overlap is reported (default 0)
  • "OverlapFullReport": By default, the iteration over the random points is stopped if any overlap/extrusion is found. Activate this option to keep processing (and potentially find more overlaps for the placed volume)

This should not be merged. The header for nice json in cpp has just been added to GaussGeo here. Once centrally available I'll redo the commit without it and switch to the centrally provided version (definitely LCG97 but could be added to LCG96b).

Merge request reports