1 #ifndef USOLIDS_VUSolid
2 #define USOLIDS_VUSolid
54 bool aAccurate=
false)
const = 0;
56 bool aAccurate=
false)
const = 0;
129 inline virtual std::ostream&
StreamInfo( std::ostream& os )
const = 0;
virtual UVector3 GetPointOnSurface() const =0
virtual UGeometryType GetEntityType() const =0
void SetRadTolerance(double eps)
static double frTolerance
virtual double SurfaceArea()=0
virtual void SamplePointsOnEdge(int, UVector3 *) const
void SetCarTolerance(double eps)
const std::string & GetName() const
static double fgTolerance
void SetAngTolerance(double eps)
double EstimateCubicVolume(int nStat, double epsilon) const
virtual void ComputeBBox(UBBox *aBox, bool aStore=false)=0
static const G4double eps
virtual bool Normal(const UVector3 &aPoint, UVector3 &aNormal) const =0
virtual EnumInside Inside(const UVector3 &aPoint) const =0
double EstimateSurfaceArea(int nStat, double ell) const
static double Tolerance()
virtual std::ostream & StreamInfo(std::ostream &os) const =0
static const double kInfinity
virtual double DistanceToIn(const UVector3 &aPoint, const UVector3 &aDirection, double aPstep=UUtils::kInfinity) const =0
void SetName(const std::string &aName)
static double faTolerance
virtual void SamplePointsInside(int, UVector3 *) const
virtual double SafetyFromInside(const UVector3 &aPoint, bool aAccurate=false) const =0
double GetRadTolerance() const
virtual void ExtentAxis(EAxisType aAxis, double &aMin, double &aMax) const
virtual double SafetyFromOutside(const UVector3 &aPoint, bool aAccurate=false) const =0
double GetCarTolerance() const
virtual void SamplePointsOnSurface(int, UVector3 *) const
std::string UGeometryType
virtual double DistanceToOut(const UVector3 &aPoint, const UVector3 &aDirection, UVector3 &aNormalVector, bool &aConvex, double aPstep=UUtils::kInfinity) const =0
virtual void Extent(UVector3 &aMin, UVector3 &aMax) const =0
virtual VUSolid * Clone() const =0
virtual double Capacity()=0
virtual void GetParametersList(int aNumber, double *aArray) const =0
double GetAngTolerance() const