I am developing a unique type solid which is capable of simulating popular solids for in CERN's Geant4 project; such as box, pipe, tube, sphere, etc. The idea is to have one type of solid, which is defined by N < Nmax linear half-spaces and M < Mmax quadratic half-spaces.
I would like to progress in this fashion:
- create a solid with the minimum number of planar surfaces, then a box ( adjusting the maximum, creating a 'constructor' for the new type of volume which actually builds a solid of the same CommonSolid type. )
- add the capability for quadratic surfaces in this order Tube(first), then Cone and Cylinder.
Also, given that a box is described using planar surfaces, which algorithm is most appropriate to determine the correct intersection(among the 6 planar surfaces which describe a box)?