Go to the documentation of this file.
44 class LX_GEOM_EXPORT
Dir
69 Dir(
const double Xv,
const double Yv,
const double Zv);
94 void setCoord(
const int Index,
const double Xi);
98 void setCoord(
const double Xv,
const double Yv,
const double Zv);
114 double coord(
const int Index)
const;
116 void coord(
double& Xv,
double& Yv,
double& Zv)
const;
128 bool isEqual(
const Dir& Other,
const double AngularTolerance)
const;
131 bool isNormal(
const Dir& Other,
const double AngularTolerance)
const;
void setXYZ(const Geom::XYZ &Coord)
Assigns the three coordinates of Coord to this unit vector.
void cross(const Dir &Right)
Dir rotated(const Geom::Ax1 &A1, const double Ang) const
void mirror(const Dir &V)
double angleWithRef(const Dir &Other, const Dir &VRef) const
double operator*(const Dir &Other) const
Definition: Dir.h:184
const Geom::XYZ & xyz() const
for this unit vector, returns its three coordinates as a number triplea.
bool isOpposite(const Dir &Other, const double AngularTolerance) const
Returns True if the angle between this unit vector and the unit vector Other is equal to Pi (opposite...
double dotCross(const Dir &V1, const Dir &V2) const
void setY(const double Y)
Assigns the given value to the Y coordinate of this unit vector.
Dir crossed(const Dir &Right) const
Dir mirrored(const Geom::Ax1 &A1) const
Dir()
Creates an indefinite direction.
Defines a non-persistent vector in 3D space.
Definition: Vec.h:41
void transform(const Geom::Trsf &T)
X
Definition: Globals.h:29
bool isEqual(const Dir &Other, const double AngularTolerance) const
void mirror(const Geom::Ax1 &A1)
bool operator==(const Geom::Dir &other) const
Checks whether two points are equal within linear tolerance (default 1E-07)
void setZ(const double Z)
Assigns the given value to the Z coordinate of this unit vector.
Dir crossCrossed(const Dir &V1, const Dir &V2) const
double z() const
Returns the Z coordinate for a unit vector.
double & operator[](int i)
void mirror(const Geom::Ax2 &A2)
bool isParallel(const Dir &Other, const double AngularTolerance) const
void rotate(const Geom::Ax1 &A1, const double Ang)
void setCoord(const double Xv, const double Yv, const double Zv)
Dir(const Geom::Vec &V)
Normalizes the vector V and creates a direction. Raises ConstructionError if V.Magnitude() <= Resolut...
void setX(const double X)
Assigns the given value to the X coordinate of this unit vector.
static Dir ZDir()
Definition: Dir.h:76
Dir transformed(const Geom::Trsf &T) const
Dir operator-() const
Definition: Dir.h:200
Dir(const double Xv, const double Yv, const double Zv)
Z
Definition: Globals.h:31
double coord(const int Index) const
double dot(const Dir &Other) const
Computes the scalar product
double x() const
Returns the X coordinate for a unit vector.
Dir(const Geom::XYZ &Coord)
Creates a direction from a triplet of coordinates. Raises ConstructionError if Coord....
double angle(const Dir &Other) const
static Dir XDir()
Definition: Dir.h:74
Y
Definition: Globals.h:30
void coord(double &Xv, double &Yv, double &Zv) const
Returns for the unit vector its three coordinates Xv, Yv, and Zv.
static Dir YDir()
Definition: Dir.h:75
double y() const
Returns the Y coordinate for a unit vector.
Dir operator^(const Dir &Right) const
Definition: Dir.h:169
bool isNormal(const Dir &Other, const double AngularTolerance) const
Returns True if the angle between this unit vector and the unit vector Other is equal to Pi/2 (normal...
const double & operator[](int i) const
LX_GEOM_EXPORT QString to_string(const Dir &dir)
void crossCross(const Dir &V1, const Dir &V2)
Dir(const Dir &rhs)
Copy constructor.
void operator^=(const Dir &Right)
Definition: Dir.h:161
void setCoord(const int Index, const double Xi)
Dir mirrored(const Dir &V) const
Definition: PropertyContainer.h:33
Dir mirrored(const Geom::Ax2 &A2) const