OpenLexocad
28.0
|
#include <CoordinateSystem.h>
Public Member Functions | |
CoordinateSystem () | |
void | setAxis (const Axis &v) |
void | setAxes (const Axis &, const Vector3d &xd) |
void | setAxes (const Vector3d &n, const Vector3d &xd) |
const Axis & | getAxis () const |
void | setXDirection (const Vector3d &) |
const Vector3d & | getXDirection () const |
void | setYDirection (const Vector3d &) |
const Vector3d & | getYDirection () const |
void | setZDirection (const Vector3d &) |
const Vector3d & | getZDirection () const |
void | setPosition (const Vector3d &p) |
const Vector3d & | getPosition () const |
Placement | displacement (const CoordinateSystem &cs) const |
void | transformTo (Vector3d &p) |
void | transform (const Placement &p) |
void | transform (const Rotation &r) |
void | setPlacement (const Placement &p) |
Describes a right-handed coordinate system in 3D space.
Base::CoordinateSystem::CoordinateSystem | ( | ) |
Construct a default coordinate system with position in (0,0,0), with X axis (1,0,0), with Y axis (0,1,0) and Z axis (0,0,1)
Placement Base::CoordinateSystem::displacement | ( | const CoordinateSystem & | cs | ) | const |
This computes the displacement from this coordinate system to the given coordinate system cs
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Sets the main axis. X and Y dir are adjusted accordingly. The main axis must not be parallel to xd
Sets the main axis. X and Y dir are adjusted accordingly. The main axis n must not be parallel to xd
void Base::CoordinateSystem::setAxis | ( | const Axis & | v | ) |
Sets the main axis. X and Y dir are adjusted accordingly. The main axis v must not be parallel to the X axis
void Base::CoordinateSystem::setPlacement | ( | const Placement & | p | ) |
Set the placement p to the coordinate system.
|
inline |
void Base::CoordinateSystem::setXDirection | ( | const Vector3d & | ) |
The passed vector must not be parallel to the main axis
void Base::CoordinateSystem::setYDirection | ( | const Vector3d & | ) |
The passed vector must not be parallel to the main axis
void Base::CoordinateSystem::setZDirection | ( | const Vector3d & | ) |
Sets the main axis. X and Y dir are adjusted accordingly. The main axis must not be parallel to the X axis
void Base::CoordinateSystem::transform | ( | const Placement & | p | ) |
Apply the placement p to the coordinate system.
void Base::CoordinateSystem::transform | ( | const Rotation & | r | ) |
Apply the rotation r to the coordinate system.
void Base::CoordinateSystem::transformTo | ( | Vector3d & | p | ) |
Transform the point p to be in this coordinate system