OpenLexocad
27.1
|
#include <Ax2.h>
Public Member Functions | |
Ax2 ()=default | |
Creates an indefinite coordinate system. More... | |
Ax2 (const Geom::Pnt &P, const Geom::Dir &N, const Geom::Dir &Vx) | |
Ax2 (const Geom::Pnt &P, const Geom::Dir &V) | |
Ax2 (const Geom::Pnt &aP, const Geom::Dir &aZDir, const Geom::Dir &aYDir, const Geom::Dir &aXDir) | |
void | setAxis (const Geom::Ax1 &A1) |
void | setDirection (const Geom::Dir &V) |
void | setLocation (const Geom::Pnt &P) |
Changes the "Location" point (origin) of <me>. More... | |
void | setXDirection (const Geom::Dir &Vx) |
void | setYDirection (const Geom::Dir &Vy) |
double | angle (const Ax2 &Other) const |
const Geom::Ax1 & | axis () const |
const Geom::Dir & | direction () const |
Returns the main direction of <me>. More... | |
const Geom::Pnt & | location () const |
Returns the "Location" point (origin) of <me>. More... | |
const Geom::Dir & | xDirection () const |
Returns the "XDirection" of <me>. More... | |
const Geom::Dir & | yDirection () const |
Returns the "YDirection" of <me>. More... | |
bool | isCoplanar (const Ax2 &Other, const double LinearTolerance, const double AngularTolerance) const |
bool | isCoplanar (const Geom::Ax1 &A1, const double LinearTolerance, const double AngularTolerance) const |
void | mirror (const Geom::Pnt &P) |
Ax2 | mirrored (const Geom::Pnt &P) const |
void | mirror (const Geom::Ax1 &A1) |
Ax2 | mirrored (const Geom::Ax1 &A1) const |
void | mirror (const Ax2 &A2) |
Ax2 | mirrored (const Ax2 &A2) const |
void | rotate (const Geom::Ax1 &A1, const double Ang) |
Ax2 | rotated (const Geom::Ax1 &A1, const double Ang) const |
void | scale (const Geom::Pnt &P, const double S) |
Ax2 | scaled (const Geom::Pnt &P, const double S) const |
void | transform (const Geom::Trsf &T) |
Ax2 | transformed (const Geom::Trsf &T) const |
void | translate (const Geom::Vec &V) |
Ax2 | translated (const Geom::Vec &V) const |
void | translate (const Geom::Pnt &P1, const Geom::Pnt &P2) |
Ax2 | translated (const Geom::Pnt &P1, const Geom::Pnt &P2) const |
bool | isEqual (const Ax2 &Other, const double tolerance) const |
Describes a right-handed coordinate system in 3D space.
A coordinate system is defined by:
|
default |
Creates an indefinite coordinate system.
Creates an axis placement with an origin P such that:
Creates - a coordinate system with an origin P, where V
gives the "main Direction" (here, "X Direction" and "Y <br>
Direction" are defined automatically).
Geom::Ax2::Ax2 | ( | const Geom::Pnt & | aP, |
const Geom::Dir & | aZDir, | ||
const Geom::Dir & | aYDir, | ||
const Geom::Dir & | aXDir | ||
) |
double Geom::Ax2::angle | ( | const Ax2 & | Other | ) | const |
Computes the angular value, in radians, between the main direction of
<me> and the main direction of <Other>. Returns the angle
between 0 and PI in radians.
const Geom::Ax1& Geom::Ax2::axis | ( | ) | const |
Returns the main axis of <me>. It is the "Location" point
and the main "Direction".
const Geom::Dir& Geom::Ax2::direction | ( | ) | const |
Returns the main direction of <me>.
bool Geom::Ax2::isCoplanar | ( | const Ax2 & | Other, |
const double | LinearTolerance, | ||
const double | AngularTolerance | ||
) | const |
bool Geom::Ax2::isCoplanar | ( | const Geom::Ax1 & | A1, |
const double | LinearTolerance, | ||
const double | AngularTolerance | ||
) | const |
Returns True if
. the distance between <me> and the "Location" point of A1
is lower of equal to LinearTolerance and
. the main direction of <me> and the direction of A1 are normal.
Note: the tolerance criterion for angular equality is given by AngularTolerance.
bool Geom::Ax2::isEqual | ( | const Ax2 & | Other, |
const double | tolerance | ||
) | const |
const Geom::Pnt& Geom::Ax2::location | ( | ) | const |
Returns the "Location" point (origin) of <me>.
void Geom::Ax2::mirror | ( | const Geom::Pnt & | P | ) |
Performs a symmetrical transformation of this coordinate
system with respect to:
void Geom::Ax2::mirror | ( | const Geom::Ax1 & | A1 | ) |
Performs a symmetrical transformation of this coordinate
system with respect to:
void Geom::Ax2::mirror | ( | const Ax2 & | A2 | ) |
Performs a symmetrical transformation of this coordinate
system with respect to:
Performs a symmetrical transformation of this coordinate
system with respect to:
Performs a symmetrical transformation of this coordinate
system with respect to:
Performs a symmetrical transformation of this coordinate
system with respect to:
void Geom::Ax2::rotate | ( | const Geom::Ax1 & | A1, |
const double | Ang | ||
) |
Rotates an axis placement. <A1> is the axis of the
rotation . Ang is the angular value of the rotation
in radians.
void Geom::Ax2::scale | ( | const Geom::Pnt & | P, |
const double | S | ||
) |
Applies a scaling transformation on the axis placement.
The "Location" point of the axisplacement is modified.
Warnings :
If the scale <S> is negative :
. the main direction of the axis placement is not changed.
. The "XDirection" and the "YDirection" are reversed.
So the axis placement stay right handed.
void Geom::Ax2::setAxis | ( | const Geom::Ax1 & | A1 | ) |
Assigns the origin and "main Direction" of the axis A1 to
this coordinate system, then recomputes its "X Direction" and "Y Direction".
Note: The new "X Direction" is computed as follows:
new "X Direction" = V1 ^(previous "X Direction" ^ V)
where V is the "Direction" of A1.
Exceptions
Standard_ConstructionError if A1 is parallel to the "X <br>
Direction" of this coordinate system.
void Geom::Ax2::setDirection | ( | const Geom::Dir & | V | ) |
Changes the "main Direction" of this coordinate system,
then recomputes its "X Direction" and "Y Direction".
Note: the new "X Direction" is computed as follows:
new "X Direction" = V ^ (previous "X Direction" ^ V)
Exceptions
Standard_ConstructionError if V is parallel to the "X <br>
Direction" of this coordinate system.
void Geom::Ax2::setLocation | ( | const Geom::Pnt & | P | ) |
Changes the "Location" point (origin) of <me>.
void Geom::Ax2::setXDirection | ( | const Geom::Dir & | Vx | ) |
Changes the "Xdirection" of <me>. The main direction
"Direction" is not modified, the "Ydirection" is modified.
If <Vx> is not normal to the main direction then <XDirection>
is computed as follows XDirection = Direction ^ (Vx ^ Direction).
Exceptions
Standard_ConstructionError if Vx or Vy is parallel to
the "main Direction" of this coordinate system.
void Geom::Ax2::setYDirection | ( | const Geom::Dir & | Vy | ) |
Changes the "Ydirection" of <me>. The main direction is not
modified but the "Xdirection" is changed.
If <Vy> is not normal to the main direction then "YDirection"
is computed as follows
YDirection = Direction ^ (<Vy> ^ Direction).
Exceptions
Standard_ConstructionError if Vx or Vy is parallel to
the "main Direction" of this coordinate system.
void Geom::Ax2::transform | ( | const Geom::Trsf & | T | ) |
Ax2 Geom::Ax2::transformed | ( | const Geom::Trsf & | T | ) | const |
Transforms an axis placement with a Trsf.
The "Location" point, the "XDirection" and the
"YDirection" are transformed with T. The resulting
main "Direction" of <me> is the cross product between
the "XDirection" and the "YDirection" after transformation.
void Geom::Ax2::translate | ( | const Geom::Vec & | V | ) |
Translates an axis plaxement in the direction of the vector
<V>. The magnitude of the translation is the vector's magnitude.
Translates an axis placement from the point <P1> to the
point <P2>.
const Geom::Dir& Geom::Ax2::xDirection | ( | ) | const |
Returns the "XDirection" of <me>.
const Geom::Dir& Geom::Ax2::yDirection | ( | ) | const |
Returns the "YDirection" of <me>.