47   Create(phiStart, phiTotal, rz);
 
   68     std::ostringstream message;
 
   69     message << 
"Illegal input parameters - " << 
GetName() << std::endl
 
   70             << 
"                                All R values must be >= 0 !";
 
   75   double rzArea = rz->
Area();
 
   81     std::ostringstream message;
 
   82     message << 
"Illegal input parameters - " << 
GetName() << std::endl
 
   83             << 
"                                R/Z Cross section is zero or near zero: " << rzArea;
 
   91     std::ostringstream message;
 
   92     message << 
"Illegal input parameters - " << 
GetName() << std::endl
 
   93             << 
"                                Too few unique R/Z values !";
 
  100     std::ostringstream message;
 
  101     message << 
"Illegal input parameters - " << 
GetName() << std::endl
 
  102             << 
"                                R/Z segments Cross !";
 
  113   if (phiTotal <= 0 || phiTotal > 2 * 
UUtils::kPi - 1E-10)
 
  129     endPhi = phiStart + phiTotal;
 
  147     next->
r = iterRZ.
GetA();
 
  148     next->
z = iterRZ.
GetB();
 
  150   while (++next, iterRZ.
Next());
 
  182     if (corner->
z > next->
z)
 
  200   while (prev = corner, corner = next, corner > 
corners);
 
  269   if (
this == &source) 
return *
this;
 
  322   std::ostringstream message;
 
  323   message << 
"Solid " << 
GetName() << 
" built using generic construct." 
  324           << std::endl << 
"Not applicable to the generic construct !";
 
  359                                       const UVector3& v, 
double aPstep)
 const 
  378   return std::string(
"GenericPolycone");
 
  394   int oldprc = os.precision(16);
 
  395   os << 
"-----------------------------------------------------------\n" 
  396      << 
"               *** Dump for solid - " << 
GetName() << 
" ***\n" 
  397      << 
"               ===================================================\n" 
  398      << 
" Solid type: UGenericPolycone\n" 
  404   os << 
"    number of RZ points: " << 
numCorner << 
"\n" 
  405      << 
"              RZ values (corners): \n";
 
  412   os << 
"-----------------------------------------------------------\n";
 
  413   os.precision(oldprc);
 
std::ostream & StreamInfo(std::ostream &os) const 
 
UPolyconeSideRZ * corners
 
UVector3 GetPointOnSurface() const 
 
bool RemoveRedundantVertices(double tolerance)
 
UGeometryType GetEntityType() const 
 
bool MustBeOutside(const UVector3 &p) const 
 
const std::string & GetName() const 
 
VUSolid::EnumInside Inside(const UVector3 &p) const 
 
UGenericPolycone(const std::string &name, double phiStart, double phiTotal, int numZPlanes, const double zPlane[], const double rInner[], const double rOuter[])
 
void Create(double phiStart, double phiTotal, UReduciblePolygon *rz)
 
bool RemoveDuplicateVertices(double tolerance)
 
bool BisectedBy(double a1, double b1, double a2, double b2, double tolerance)
 
static double Tolerance()
 
UEnclosingCylinder * enclosingCylinder
 
void Extent(UVector3 &aMin, UVector3 &aMax) const 
 
static const double kInfinity
 
void InitVoxels(UReduciblePolygon &z, double radius)
 
UVCSGfaceted & operator=(const UVCSGfaceted &source)
 
virtual ~UGenericPolycone()
 
void CopyStuff(const UGenericPolycone &source)
 
bool ShouldMiss(const UVector3 &p, const UVector3 &v) const 
 
bool CrossesItself(double tolerance)
 
UGenericPolycone & operator=(const UGenericPolycone &source)
 
void Exception(const char *originOfException, const char *exceptionCode, UExceptionSeverity severity, int level, const char *description)
 
std::string UGeometryType
 
void Extent(UVector3 &aMin, UVector3 &aMax) const 
 
UVector3 GetPointOnSurfaceGeneric() const 
 
virtual double DistanceToIn(const UVector3 &p, const UVector3 &v, double aPstep=UUtils::kInfinity) const 
 
virtual VUSolid::EnumInside Inside(const UVector3 &p) const 
 
double DistanceToIn(const UVector3 &p, const UVector3 &v, double aPstep=UUtils::kInfinity) const