78       const double zPlane[],  
 
   79       const double rInner[],  
 
   80       const double rOuter[]);
 
   90               const double zPlane[],  
 
   91               const double rInner[],  
 
   92               const double rOuter[]); 
 
  111     std::ostream& 
StreamInfo(std::ostream& os) 
const;
 
  118                              bool aAccurate = 
false) 
const;
 
  120                               bool aAccurate = 
false) 
const;
 
  150                             double fRmin2, 
double fRmax2,
 
  151                             double zOne,   
double zTwo,
 
  152                             double& totArea) 
const;
 
  155                             double zOne,  
double zTwo,
 
  156                             double& totArea) 
const;
 
  159                            double fRMin2, 
double fRMax2,
 
  160                            double zOne,   
double zTwo,
 
  161                            double& totArea) 
const;
 
  164                             double fRMin2, 
double fRMax2,
 
  228       int numPlanes = (int)numCorner / 2;
 
  232       fOriginalParameters->
fZValues.resize(numPlanes);
 
  233       fOriginalParameters->
Rmin.resize(numPlanes);
 
  234       fOriginalParameters->
Rmax.resize(numPlanes);
 
  236       for (
int j = 0; j < numPlanes; j++)
 
  238         fOriginalParameters->
fZValues[j] = corners[numPlanes + j].
z;
 
  239         fOriginalParameters->
Rmax[j] = corners[numPlanes + j].
r;
 
  240         fOriginalParameters->
Rmin[j] = corners[numPlanes - 1 - j].
r;
 
  330       if (section < 0) section = 0;
 
  331       else if (section > fMaxSection) section = 
fMaxSection;
 
double DistanceToIn(const UVector3 &p, const UVector3 &v, double aPstep=UUtils::kInfinity) const 
 
std::vector< double > Rmin
 
UPolyconeSideRZ GetCorner(int index) const 
 
std::vector< double > fZValues
 
UVector3 GetPointOnTubs(double fRMin, double fRMax, double zOne, double zTwo, double &totArea) const 
 
void SetOriginalParameters(UPolyconeHistorical *pars)
 
bool NormalSection(int index, const UVector3 &p, UVector3 &n) const 
 
int GetSection(double z) const 
 
UPolyconeHistorical * GetOriginalParameters() const 
 
void CopyStuff(const UPolycone &source)
 
std::vector< UPolyconeSection > fSections
 
UVector3 GetPointOnCut(double fRMin1, double fRMax1, double fRMin2, double fRMax2, double zOne, double zTwo, double &totArea) const 
 
double SafetyFromOutsideSection(int index, const double rho, const UVector3 &p) const 
 
std::ostream & StreamInfo(std::ostream &os) const 
 
UPolyconeHistorical & operator=(const UPolyconeHistorical &right)
 
double SafetyFromInsideR(const UVector3 &p, const double rho, bool) const 
 
virtual bool Normal(const UVector3 &aPoint, UVector3 &aNormal) const =0
 
double SafetyFromOutsideR(const UVector3 &p, const double rho, bool) const 
 
VUSolid::EnumInside Inside(const UVector3 &p) const 
 
void GetParametersList(int, double *) const 
 
std::vector< double > Rmax
 
bool Normal(const UVector3 &aPoint, UVector3 &aNormal) const 
 
static int BinarySearch(const std::vector< T > &vec, T value)
 
static const double kInfinity
 
double SafetyFromOutsideSection(int index, const UVector3 &p) const 
 
UVector3 GetPointOnSurface() const 
 
void Init(double phiStart, double phiTotal, int numZPlanes, const double zPlane[], const double rInner[], const double rOuter[])
 
double SafetyFromOutsideR(const UVector3 &p, const double rho, bool precise=false) const 
 
UPolyconeHistorical * fOriginalParameters
 
UPolyconeSideRZ * corners
 
UGeometryType GetEntityType() const 
 
void SetOriginalParameters()
 
VUSolid::EnumInside InsideSection(int index, const UVector3 &p) const 
 
virtual double SafetyFromOutside(const UVector3 &aPoint, bool aAccurate=false) const =0
 
double SafetyFromOutside(const UVector3 &aPoint, bool aAccurate=false) const 
 
double GetStartPhi() const 
 
double SafetyFromInside(const UVector3 &aPoint, bool aAccurate=false) const 
 
std::string UGeometryType
 
UVector3 GetPointOnRing(double fRMin, double fRMax, double fRMin2, double fRMax2, double zOne) const 
 
UVector3 GetPointOnCone(double fRmin1, double fRmax1, double fRmin2, double fRmax2, double zOne, double zTwo, double &totArea) const 
 
UPolycone & operator=(const UPolycone &source)
 
int GetNumRZCorner() const 
 
double SafetyFromInsideSection(int index, const double rho, const UVector3 &p) const 
 
std::vector< double > fZs
 
UEnclosingCylinder * enclosingCylinder
 
void Extent(UVector3 &aMin, UVector3 &aMax) const 
 
double SafetyFromInsideR(const UVector3 &p, const double rho, bool precise=false) const 
 
double DistanceToOut(const UVector3 &aPoint, const UVector3 &aDirection, UVector3 &aNormalVector, bool &aConvex, double aPstep=UUtils::kInfinity) const 
 
UPolycone(const std::string &name)
 
void ComputeBBox(UBBox *, bool)