22 #ifndef UVCSGfaceted_hh
23 #define UVCSGfaceted_hh
80 virtual std::ostream&
StreamInfo(std::ostream& os)
const;
107 if (section < 0) section = 0;
132 void FindCandidates(
double z, std::vector <int>& candidates,
bool sides =
false);
void SetCubVolStatistics(int st)
double DistanceTo(const UVector3 &p, const bool outgoing) const
virtual bool Normal(const UVector3 &p, UVector3 &n) const
void FindCandidates(double z, std::vector< int > &candidates, bool sides=false)
double DistanceToOutNoVoxels(const UVector3 &p, const UVector3 &v, UVector3 &n, bool &aConvex) const
void SetAreaStatistics(int st)
int GetCubVolStatistics() const
virtual double SafetyFromInsideNoVoxels(const UVector3 &aPoint, bool aAccurate=false) const
void SetCubVolEpsilon(double ep)
std::vector< double > fZs
static int BinarySearch(const std::vector< T > &vec, T value)
static const double kInfinity
void InitVoxels(UReduciblePolygon &z, double radius)
void SetAreaAccuracy(double ep)
UVCSGfaceted & operator=(const UVCSGfaceted &source)
int GetSection(double z) const
virtual double Capacity()
virtual double SurfaceArea()
double SafetyFromInsideSection(int index, const UVector3 &p, UBits &bits) const
double DistanceToInNoVoxels(const UVector3 &p, const UVector3 &v) const
std::vector< std::vector< int > > fCandidates
std::string UGeometryType
UVCSGfaceted(const std::string &name)
void CopyStuff(const UVCSGfaceted &source)
UVector3 GetPointOnSurfaceGeneric() const
virtual double SafetyFromOutside(const UVector3 &aPoint, bool aAccurate=false) const
virtual double DistanceToIn(const UVector3 &p, const UVector3 &v, double aPstep=UUtils::kInfinity) const
double GetCubVolEpsilon() const
VUSolid::EnumInside InsideNoVoxels(const UVector3 &p) const
virtual double DistanceToOut(const UVector3 &p, const UVector3 &v, UVector3 &n, bool &aConvex, double aPstep=UUtils::kInfinity) const
virtual VUSolid::EnumInside Inside(const UVector3 &p) const
int GetAreaStatistics() const
virtual UGeometryType GetEntityType() const
double GetAreaAccuracy() const
virtual std::ostream & StreamInfo(std::ostream &os) const
virtual double SafetyFromInside(const UVector3 &aPoint, bool aAccurate=false) const