59 USphere(
const std::string& pName,
60 double pRmin,
double pRmax,
61 double pSPhi,
double pDPhi,
62 double pSTheta,
double pDTheta);
114 std::ostream&
StreamInfo(std::ostream& os)
const;
291 std::ostringstream message;
292 message <<
"sTheta outside 0-PI range." << std::endl
293 <<
"Invalid starting Theta angle for solid: " <<
GetName();
311 std::ostringstream message;
312 message <<
"Invalid dTheta." << std::endl
313 <<
"Negative delta-Theta (" << dTheta <<
"), for solid: "
368 std::ostringstream message;
369 message <<
"Invalid dphi." << std::endl
370 <<
"Negative delta-Phi (" << dPhi <<
"), for solid: "
void CheckDPhiAngle(double dPhi)
double GetInsideRadius() const
double GetInnerRadius() const
void SetStartPhiAngle(double newSphi, bool trig=true)
const std::string & GetName() const
void SetStartThetaAngle(double newSTheta)
void InitializePhiTrigonometry()
VUSolid::EnumInside Inside(const UVector3 &p) const
void Extent(UVector3 &aMin, UVector3 &aMax) const
double DistanceToOut(const UVector3 &p, const UVector3 &v, UVector3 &n, bool &validNorm, double aPstep=UUtils::kInfinity) const
void SetInnerRadius(double newRMin)
UVector3 ApproxSurfaceNormal(const UVector3 &p) const
void CheckThetaAngles(double sTheta, double dTheta)
void SetDeltaThetaAngle(double newDTheta)
double GetDeltaThetaAngle() const
USphere & operator=(const USphere &rhs)
void InitializeThetaTrigonometry()
double GetOuterRadius() const
double DistanceToIn(const UVector3 &p, const UVector3 &v, double aPstep=UUtils::kInfinity) const
UVector3 GetPointOnSurface() const
double SafetyFromOutside(const UVector3 &p, bool aAccurate=false) const
UGeometryType GetEntityType() const
static const double kInfinity
UVisExtent GetExtent() const
USphere(const std::string &pName, double pRmin, double pRmax, double pSPhi, double pDPhi, double pSTheta, double pDTheta)
void SetInsideRadius(double newRmin)
void GetParametersList(int, double *) const
T max(const T t1, const T t2)
brief Return the largest of the two arguments
void SetDeltaPhiAngle(double newDphi)
double GetStartThetaAngle() const
void SetOuterRadius(double newRmax)
std::ostream & StreamInfo(std::ostream &os) const
virtual void ComputeBBox(UBBox *, bool)
std::string UGeometryType
void CheckPhiAngles(double sPhi, double dPhi)
void CheckSPhiAngle(double sPhi)
bool Normal(const UVector3 &p, UVector3 &n) const
double GetStartPhiAngle() const
void Exception(const char *originOfException, const char *exceptionCode, ExceptionSeverity severity, int level, const char *description)
double GetDeltaPhiAngle() const
double SafetyFromInside(const UVector3 &p, bool aAccurate=false) const