Defines a right-handed or left-handed axis placement in 3D. More...
Public Member Functions | |
ModelData_Axis3Placement () | |
Constructor. | |
ModelData_Axis3Placement (const ModelData_Point &theLocation, const ModelData_Direction &theAxis, const ModelData_Direction &theRefDirection) | |
Constructor. | |
ModelData_Axis3Placement (const ModelData_Axis2Placement &theOther) | |
Constructor. | |
ModelData_Axis3Placement (const gp_Ax3 &) | |
Constructor. | |
operator const gp_Ax3 & () const | |
operator gp_Ax3 & () | |
const ModelData_Point & | Location () const |
Returns a location point of the axis placement. | |
const ModelData_Direction & | Axis () const |
Returns a Z-direction of the axis placement. | |
const ModelData_Direction & | XDirection () const |
Returns a X-direction of the axis placement. | |
const ModelData_Direction & | YDirection () const |
Returns a Y-direction of the axis placement. | |
bool | IsRightHanded () const |
Returns true if the axis placement is right-handed. | |
void | Transform (const ModelData_Transformation &theTransformation) |
Transforms the axis with a transformation matrix. | |
ModelData_Axis3Placement | Transformed (const ModelData_Transformation &theTransformation) const |
Returns an axis which is transformed with a transformation matrix. | |
void | Mirror (const ModelData_Point &theAxis) |
void | Mirror (const ModelData_Axis1Placement &theAxis) |
void | Mirror (const ModelData_Axis2Placement &theAxis) |
template<typename T > | |
ModelData_Axis3Placement | Mirrored (const T &theRef) const |
void | Rotate (const ModelData_Axis1Placement &theAxis, double theAngle) |
ModelData_Axis3Placement | Rotated (const ModelData_Axis1Placement &theAxis, double theAngle) |
void | Translate (const ModelData_Vector &theVector) |
ModelData_Axis3Placement | Translated (const ModelData_Vector &theVector) |
Defines a right-handed or left-handed axis placement in 3D.
An axis placement is defined similar to ModelData_Axis2Placement, however its directions can be reversed independently.
The following images depict examples of right- and left-handed axis placements:
const ModelData_Direction & cadex::ModelData_Axis3Placement::Axis | ( | ) | const |
Returns a Z-direction of the axis placement.
bool cadex::ModelData_Axis3Placement::IsRightHanded | ( | ) | const |
Returns true if the axis placement is right-handed.
Returns true if (XDirection() ^ YDirection()) dot Axis() > 0.
|
inline |
Returns an axis which is transformed with a transformation matrix.
const ModelData_Direction & cadex::ModelData_Axis3Placement::XDirection | ( | ) | const |
Returns a X-direction of the axis placement.
const ModelData_Direction & cadex::ModelData_Axis3Placement::YDirection | ( | ) | const |
Returns a Y-direction of the axis placement.