24 const bool tesselated =
false)
const = 0;
36 virtual bool IsInside(
const double x,
const double y,
const double z,
37 const bool tesselated =
false)
const = 0;
41 double& xmax,
double& ymax,
double& zmax) = 0;
Abstract base class for geometry classes.
Geometry(const std::string &name)
Constructor.
virtual Solid * GetSolid(const size_t) const
Get a solid from the list.
virtual Solid * GetSolid(const size_t, Medium *&medium) const
Get a solid from the list, together with the associated medium.
virtual bool GetBoundingBox(double &xmin, double &ymin, double &zmin, double &xmax, double &ymax, double &zmax)=0
Get the bounding box (envelope of the geometry).
virtual size_t GetNumberOfSolids() const
Return the number of solids in the geometry.
virtual Medium * GetMedium(const double x, const double y, const double z, const bool tesselated=false) const =0
Retrieve the medium at a given point.
virtual bool IsInside(const double x, const double y, const double z, const bool tesselated=false) const =0
Check if a point is inside the geometry.
Geometry()=delete
Default constructor.
virtual ~Geometry()
Destructor.
Abstract base class for media.
Abstract base class for solids.