30 enum ESide {kUndefined, kPX, kMX, kPY, kMY, kPZ, kMZ};
32 UTrd() :
VUSolid(), fDx1(0), fDx2(0), fDy1(0), fDy2(0), fDz(0) {}
33 UTrd(
const std::string& pName,
double pdx1,
double pdx2,
double pdy1,
double pdy2,
double pdz);
70 double aPstep = UUtils::kInfinity)
const;
77 double aPstep = UUtils::kInfinity)
const;
82 double pdy1,
double pdy2,
86 double pdy1,
double pdy2,
95 return new UTrd(
GetName(), fDx1, fDx2, fDy1, fDy2, fDz);
103 std::ostream&
StreamInfo(std::ostream& os)
const;
109 inline double amin(
int n,
const double*
a)
const;
110 inline double amax(
int n,
const double*
a)
const;
111 double fDx1, fDx2, fDy1, fDy2, fDz;
virtual double SafetyFromInside(const UVector3 &aPoint, bool aAccurate=false) const
void SetYHalfLength2(double val)
double GetZHalfLength() const
void SetYHalfLength1(double val)
virtual bool Normal(const UVector3 &aPoint, UVector3 &aNormal) const
const std::string & GetName() const
double SafetyFromOutsideAccurate(const UVector3 &aPoint) const
void SetXHalfLength1(double val)
UVector3 GetPointOnSurface() const
double GetXHalfLength2() const
virtual void ComputeBBox(UBBox *, bool)
virtual void GetParametersList(int, double *) const
void SetXHalfLength2(double val)
double SafetyFromInsideAccurate(const UVector3 &aPoint) const
void SetZHalfLength(double val)
void CheckAndSetAllParameters(double pdx1, double pdx2, double pdy1, double pdy2, double pdz)
double GetYHalfLength2() const
void SetAllParameters(double pdx1, double pdx2, double pdy1, double pdy2, double pdz)
double GetYHalfLength1() const
EnumInside Inside(const UVector3 &aPoint) const
void Extent(UVector3 &aMin, UVector3 &aMax) const
UTrd & operator=(const UTrd &rhs)
double GetXHalfLength1() const
std::string UGeometryType
UGeometryType GetEntityType() const
virtual double DistanceToOut(const UVector3 &aPoint, const UVector3 &aDirection, UVector3 &aNormalVector, bool &aConvex, double aPstep=UUtils::kInfinity) const
std::ostream & StreamInfo(std::ostream &os) const
virtual double SafetyFromOutside(const UVector3 &aPoint, bool aAccurate=false) const
virtual double DistanceToIn(const UVector3 &aPoint, const UVector3 &aDirection, double aPstep=UUtils::kInfinity) const