OpenLexocad  27.1
Base::CoordinateSystem Class Reference

#include <CoordinateSystem.h>

Public Member Functions

 CoordinateSystem ()
 
 ~CoordinateSystem ()
 
void setAxis (const Axis &v)
 
void setAxes (const Axis &, const Vector3d &xd)
 
void setAxes (const Vector3d &n, const Vector3d &xd)
 
const AxisgetAxis () const
 
void setXDirection (const Vector3d &)
 
const Vector3dgetXDirection () const
 
void setYDirection (const Vector3d &)
 
const Vector3dgetYDirection () const
 
void setZDirection (const Vector3d &)
 
const Vector3dgetZDirection () const
 
void setPosition (const Vector3d &p)
 
const Vector3dgetPosition () 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)
 

Detailed Description

Describes a right-handed coordinate system in 3D space.

Author
Werner Mayer

Constructor & Destructor Documentation

◆ CoordinateSystem()

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)

◆ ~CoordinateSystem()

Base::CoordinateSystem::~CoordinateSystem ( )

Member Function Documentation

◆ displacement()

Placement Base::CoordinateSystem::displacement ( const CoordinateSystem cs) const

This computes the displacement from this coordinate system to the given coordinate system cs

◆ getAxis()

const Axis& Base::CoordinateSystem::getAxis ( ) const
inline

◆ getPosition()

const Vector3d& Base::CoordinateSystem::getPosition ( ) const
inline

◆ getXDirection()

const Vector3d& Base::CoordinateSystem::getXDirection ( ) const
inline

◆ getYDirection()

const Vector3d& Base::CoordinateSystem::getYDirection ( ) const
inline

◆ getZDirection()

const Vector3d& Base::CoordinateSystem::getZDirection ( ) const
inline

◆ setAxes() [1/2]

void Base::CoordinateSystem::setAxes ( const Axis ,
const Vector3d xd 
)

Sets the main axis. X and Y dir are adjusted accordingly. The main axis must not be parallel to xd

◆ setAxes() [2/2]

void Base::CoordinateSystem::setAxes ( const Vector3d n,
const Vector3d xd 
)

Sets the main axis. X and Y dir are adjusted accordingly. The main axis n must not be parallel to xd

◆ setAxis()

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

◆ setPlacement()

void Base::CoordinateSystem::setPlacement ( const Placement p)

Set the placement p to the coordinate system.

◆ setPosition()

void Base::CoordinateSystem::setPosition ( const Vector3d p)
inline

◆ setXDirection()

void Base::CoordinateSystem::setXDirection ( const Vector3d )

The passed vector must not be parallel to the main axis

◆ setYDirection()

void Base::CoordinateSystem::setYDirection ( const Vector3d )

The passed vector must not be parallel to the main axis

◆ setZDirection()

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

◆ transform() [1/2]

void Base::CoordinateSystem::transform ( const Placement p)

Apply the placement p to the coordinate system.

◆ transform() [2/2]

void Base::CoordinateSystem::transform ( const Rotation r)

Apply the rotation r to the coordinate system.

◆ transformTo()

void Base::CoordinateSystem::transformTo ( Vector3d p)

Transform the point p to be in this coordinate system


The documentation for this class was generated from the following file: