I would like to implement a unique solid which simulates the popular solids within CERN's geant4 project such as box, pipe, cylinder, cone, 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.
First and foremost, to 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. )
Secondly, add the capability for one (or later more) quadratic surfaces - allowing the creation of a Tube (first), then Cone and Cylinder.
Also, I wish to know best algorithm used in finding the correct intersection( between a ray and the six planar surfaces of a box.