Problem 1235 - Missing neighboring facet info (G4Edge::f) in polyhedron returned by G4TesselatedSolid::CreatePolyhedron()
Summary: Missing neighboring facet info (G4Edge::f) in polyhedron returned by G4Tessel...
Status: RESOLVED FIXED
Alias: None
Product: Geant4
Classification: Unclassified
Component: geometry/solids (show other problems)
Version: other
Hardware: All All
: P5 trivial
Assignee: John.Allison
URL: http://hypernews.slac.stanford.edu/Hy...
Depends on:
Blocks:
 
Reported: 2011-07-22 16:33 CEST by Oliver Merle
Modified: 2011-08-05 08:48 CEST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this problem.
Description Oliver Merle 2011-07-22 16:33:10 CEST
Problem description:
----------------------------------------
The BooleanProcessor will raise an error if the neighboring facets are 0 for the edges in a HepPolyhedron (graphics_reps/src/BooleanProcessor.src:466). These are not set at creation in G4TesselatedSolid::CreatePolyhedron(), but can be constructed by a simple call to: 

protected: void HepPolyhedron::SetReferences();

Unfortunately, this function is protected.

Due to this bug/missing feature, results of boolean operations with G4TesselatedSolids cannot be displayed in visualization.

Proposed fix:
----------------------------------------
I don't see a reason to protect HepPolyhedron::SetReferences and would suggest to make it public. This way it can be called at the end of G4TesselatedSolid::CreatePolyhedron().

This problem may affect other solids (eg. GenericTrap -> attached link)

Regards,
Oliver
Comment 1 John.Allison 2011-07-22 18:31:51 CEST
Thanks, Oliver, for this super-detective work.  Sorry to have taken so long to realise the issue.  Your proposal looks sound.
Comment 2 Gabriele Cosmo 2011-08-05 08:48:17 CEST
Fixes are now committed and will be included in the next release or patches.