23 #ifndef USOLIDS_UMultiUnion
24 #define USOLIDS_UMultiUnion
60 bool aAccurate =
false)
const;
63 bool aAccurate =
false)
const;
89 std::vector<int>& candidates)
const;
120 std::ostream&
StreamInfo(std::ostream& os)
const;
double DistanceToOutVoxels(const UVector3 &aPoint, const UVector3 &aDirection, UVector3 &aNormalVector, bool &aConvex, double aPstep=UUtils::kInfinity) const
int GetNumberOfSolids() const
void SetVoxelFinder(const UVoxelizer &finder)
std::ostream & StreamInfo(std::ostream &os) const
double SafetyFromInside(const UVector3 &aPoint, bool aAccurate=false) const
UMultiUnion & operator=(const UMultiUnion &rhs)
bool Normal(const UVector3 &aPoint, UVector3 &aNormal) const
double DistanceToIn(const UVector3 &aPoint, const UVector3 &aDirection, double aPstep) const
EnumInside Inside(const UVector3 &aPoint) const
int SafetyFromOutsideNumberNode(const UVector3 &aPoint, bool aAccurate, double &safety) const
double DistanceToInNoVoxels(const UVector3 &aPoint, const UVector3 &aDirection, double aPstep=UUtils::kInfinity) const
EnumInside InsideWithExclusion(const UVector3 &aPoint, UBits *bits=NULL) const
UGeometryType GetEntityType() const
double SafetyFromOutside(const UVector3 &aPoint, bool aAccurate=false) const
virtual void GetParametersList(int, double *) const
const UTransform3D & GetTransformation(int index) const
static const double kInfinity
EnumInside InsideIterator(const UVector3 &aPoint) const
std::vector< UTransform3D > fTransformObjs
UVoxelizer & GetVoxels() const
EnumInside InsideNoVoxels(const UVector3 &aPoint) const
void ComputeBBox(UBBox *aBox, bool aStore=false)
UVector3 GetPointOnSurface() const
double DistanceToOutVoxelsCore(const UVector3 &aPoint, const UVector3 &aDirection, UVector3 &aNormalVector, bool &aConvex, std::vector< int > &candidates) const
std::string UGeometryType
double DistanceToOut(const UVector3 &aPoint, const UVector3 &aDirection, UVector3 &aNormalVector, bool &aConvex, double aPstep=UUtils::kInfinity) const
void AddNode(VUSolid &solid, UTransform3D &trans)
std::vector< VUSolid * > fSolids
double DistanceToOutNoVoxels(const UVector3 &aPoint, const UVector3 &aDirection, UVector3 &aNormalVector, bool &aConvex, double aPstep=UUtils::kInfinity) const
VUSolid * GetSolid(int index) const
void Extent(EAxisType aAxis, double &aMin, double &aMax) const
double DistanceToInCandidates(const UVector3 &aPoint, const UVector3 &aDirection, double aPstep, std::vector< int > &candidates, UBits &bits) const