#include <FrameChanger.h>
Static Public Member Functions | |
template<typename T , typename U > | |
static GloballyPositioned< T > | toFrame (const GloballyPositioned< T > &plane, const GloballyPositioned< U > &frame) |
template<typename T > | |
static Plane | transformPlane (const Plane &plane, const GloballyPositioned< T > &frame) |
Definition at line 7 of file FrameChanger.h.
static GloballyPositioned<T> FrameChanger::toFrame | ( | const GloballyPositioned< T > & | plane, |
const GloballyPositioned< U > & | frame | ||
) | [inline, static] |
Moves the first argument ("plane") to the reference frame given by the second argument ("frame"). The returned frame is not positioned globally!
Definition at line 28 of file FrameChanger.h.
References pos, GloballyPositioned< T >::position(), GloballyPositioned< T >::rotation(), and GloballyPositioned< T >::toLocal().
{ typedef GloballyPositioned<T> Plane; typedef GloballyPositioned<U> Frame; typename Plane::RotationType rot = plane.rotation() * frame.rotation().transposed(); typename Frame::LocalPoint lpos = frame.toLocal(plane.position()); typename Plane::PositionType pos( lpos.basicVector()); // cheat! return Plane( pos, rot); }
static Plane FrameChanger::transformPlane | ( | const Plane & | plane, |
const GloballyPositioned< T > & | frame | ||
) | [inline, static] |
Moves the first argument ("plane") to the reference frame given by the second argument ("frame"). The returned frame is not positioned globally!
Definition at line 14 of file FrameChanger.h.
References pos, GloballyPositioned< T >::position(), GloballyPositioned< T >::rotation(), and GloballyPositioned< T >::toLocal().
Referenced by PathToPlane2Order::operator()(), and RKPropagatorInS::propagateParametersOnPlane().
{ typedef GloballyPositioned<T> Frame; typename Plane::RotationType rot = plane.rotation() * frame.rotation().transposed(); typename Frame::LocalPoint lpos = frame.toLocal(plane.position()); typename Plane::PositionType pos( lpos.basicVector()); // cheat! return Plane(pos, rot); }