versor
3.0
C++11 library for Geometric algebra
|
Orthonormal Frame composed from a Position and Orientation. More...
#include <vsr_cga3D_frame.h>
Public Types | |
using | space = typename conformal< 5 >::types |
Public Member Functions | |
Frame () | |
Default Constructor. | |
Frame (VSR_PRECISION _x, VSR_PRECISION _y, VSR_PRECISION _z) | |
Construct from x,y,z Coordinates. | |
Frame (const Vec &v, const Rotor &r=Rot(1, 0, 0, 0), VSR_PRECISION s=1) | |
Construct from Vec. | |
Frame (const Point &p, const Rotor &r=Rot(1, 0, 0, 0), VSR_PRECISION s=1) | |
Construct from Point, Rotor, and Scale. | |
Frame (const DualLine &d) | |
Construct from Dual Line (log of motor relative to origin) | |
Frame (const Motor &m) | |
Construct from Motor (relative to origin) | |
Frame & | set (Pnt p, Rot r=Rot(1, 0, 0, 0)) |
Set Position and Orientation from Point and Rotor. | |
Frame & | scale (VSR_PRECISION s) |
Set Scale. | |
Frame & | reset () |
Reset to Origin. | |
VSR_PRECISION | scale () const |
Get Scale. | |
VSR_PRECISION & | scale () |
Rotor | rot () const |
Get 4x4 Rotation Matrix. More... | |
Rotor | rotor () const |
Get Rotor. | |
Rot & | rot () |
Get Rotor by reference. | |
Rot & | rotor () |
Frame & | rot (const Rot &r) |
Set rotor with rotor. | |
Frame & | rot (const Biv &B) |
Set rotor with bivector generator. | |
Rot | quat () const |
Transpose rotor to quaternionic representation. | |
Frame & | orient (const Vec &v, bool pos=true) |
Orient z axis towards coordinate v, keeping y axis as vertical as possible (uses projection) boolean parameter uses negative z (i.e. More... | |
Frame & | orient (const Vec &v, float amt, bool pos=true) |
Orient z axis towards coordinate v, by amt t, keeping y axis as vertical as possible (uses projection) boolean parameter uses negative z (i.e. More... | |
Frame & | orientX (const Vec &v, float amt, bool pos=true) |
Orient X axis towards coordinate v, by amt t, keeping y axis as vertical as possible (uses projection) boolean parameter uses negative z (i.e. More... | |
Rotor | relOrientRot (const Vec &v, bool pos=true) |
Rotor to Orient Current Orientation towards v Rotor to Orient Current Orientation towards v. | |
Biv | relOrientBiv (const Vec &v, bool pos=true) |
Get Bivector generator to Orient towards v. | |
Frame & | relOrient (const Vec &v, float t, bool pos=true) |
Relative Orientation by amt t. | |
Motor | relMotor (const Frame &target) |
Relative Motor to Take this to Frame f. | |
Frame & | relTwist (const Frame &target, float t) |
Relative twist towards frame f by amt t. | |
Frame & | relTwistAway (const Frame &target, float t) |
Relative twist away frome frame f by amt t. | |
Point | pos () const |
Get Position. | |
Point & | pos () |
Get / Set Position by Reference. | |
Vec | vec () const |
Get Euclidean Vector of position. | |
Frame & | pos (const Vec &v) |
Set Postion from Vec v. | |
Frame & | pos (const Pnt &p) |
Set Position from Point p. | |
Frame & | pos (VSR_PRECISION _x, VSR_PRECISION _y, VSR_PRECISION _z) |
Set Position from x,y,z coordinates. | |
Vec | x () const |
Local x. | |
Vec | y () const |
Local y. | |
Vec | z () const |
Local z. | |
Point | posX () const |
Point | negX () const |
Point | posY () const |
Point | negY () const |
Point | posZ () const |
Point | negZ () const |
Biv | xy () const |
xz euclidean bivector | |
Biv | xz () const |
xy euclidean bivector | |
Biv | yz () const |
yz euclidean bivector | |
Lin | lx () const |
x direction direct line | |
Lin | ly () const |
y direction direct line | |
Lin | lz () const |
z direction direct line | |
Dll | dlx () const |
x direction dual line | |
Dll | dly () const |
y direction dual line | |
Dll | dlz () const |
z direction dual line | |
Dlp | dxz () const |
xz dual plane | |
Dlp | dxy () const |
xy dual plane | |
Dlp | dyz () const |
yz dual plane | |
Par | px () const |
x direction point pair around center | |
Par | py () const |
y direction point pair around center | |
Par | pz () const |
z direction point pair around center | |
Par | ipx () const |
x direction imaginary point pair around center | |
Par | ipy () const |
y direction imaginary point pair around center | |
Par | ipz () const |
z direction imaginary point pair around center | |
Par | tx () const |
Null Point Pair in local x direction. | |
Par | ty () const |
Null Point Pair in local y direction. | |
Par | tz () const |
Null Point Pair in local z direction. | |
Par | tx (VSR_PRECISION v) const |
Null Point Pair in local x direction. | |
Par | ty (VSR_PRECISION v) const |
Null Point Pair in local y direction. | |
Par | tz (VSR_PRECISION v) const |
Null Point Pair in local z direction. | |
Cir | cxy () const |
xy circle (real, direct) | |
Cir | cxz () const |
xz circle (real, direct) | |
Cir | cyz () const |
yz circle (real, direct) | |
Cir | icxy () const |
xy circle (imaginary, direct) | |
Cir | icxz () const |
xz circle (imaginary, direct) | |
Cir | icyz () const |
yz circle (imaginary, direct) | |
Vec | right () const |
Vec | up () const |
Vec | forward () const |
Frame & | mot (const Mot &m) |
Set position and orientation by motor (absolute) | |
Trs | trs () const |
Generate Translation versor based on Position. | |
Mot | mot () const |
Get Absolute Motor Relative to Origin. | |
Motor | motor () const |
Get Absolute Motor Relative to Origin. | |
Dls | bound () const |
Dual Sphere Shell. | |
Dls | ibound () const |
Dual Imaginary Sphere Shell. | |
Dll | dll () const |
DualLine Representation of Pose. | |
DualLine | dualLine () const |
VSR_PRECISION & | ab () |
Set bivector accelerator (rotational) | |
VSR_PRECISION | ab () const |
Get bivector accelerator (rotational) | |
VSR_PRECISION & | ax () |
Set vector accelerator. | |
VSR_PRECISION | ax () const |
Get vector accelerator. | |
Biv & | db () |
Set bivector velocity (rotational) | |
Biv | db () const |
Get bivector velocity (rotational) | |
Vec & | dx () |
Set vector velocity. | |
Vec | dx () const |
Get vector velocity. | |
Frame & | step () |
Move and Spin. | |
Frame & | move () |
Translation Step (translate by velocity vector) | |
Frame & | spin () |
Spin Step (Local Rotation) */. | |
Frame & | dilate (double t) |
Dilate by t around center. | |
Frame & | dilate (const Point &p, double t) |
Dilate by t around some point p. | |
Frame | rotXY (VSR_PRECISION amt) const |
Rotate around local xy and return a new frame. | |
Frame & | move (VSR_PRECISION dx, VSR_PRECISION dy, VSR_PRECISION dz) |
Move by dx, dy, dz and return this. | |
Frame & | move (const Vec &v) |
Move by Vec. | |
Frame & | rotate (const Biv &b) |
Frame & | rotate (const Rot &r) |
Rotate by Rot. | |
Frame & | twist (const Dll &) |
Twist by dualLine and return *this. | |
Frame & | twist (const Mot &) |
Twist by Motor and return *this. | |
Frame & | boost (const Par &) |
Boost by point pair and return *this. | |
Frame & | boost (const Bst &) |
Boost by bst and return *this. | |
Frame | moveX (VSR_PRECISION amt) const |
Frame | moveY (VSR_PRECISION amt) const |
Frame | moveZ (VSR_PRECISION amt) const |
Protected Attributes | |
Point | mPos |
Position. | |
Rotor | mRot |
Orientation. | |
VSR_PRECISION | aBiv |
Rotational acceleration. | |
Biv | dBiv |
Rotational Velocity. | |
VSR_PRECISION | aVec |
Translational acceleration. | |
Vec | dVec |
Translational Velocity. | |
VSR_PRECISION | mScale |
Scale. | |
Orthonormal Frame composed from a Position and Orientation.
3D position and orientation along with methods for extracting local geometry. (i.e. a circle on a local xy plane, or a line in the in local y axis)
Orient z axis towards coordinate v, keeping y axis as vertical as possible (uses projection) boolean parameter uses negative z (i.e.
for camera)
Orient z axis towards coordinate v, by amt t, keeping y axis as vertical as possible (uses projection) boolean parameter uses negative z (i.e.
for camera)
Orient X axis towards coordinate v, by amt t, keeping y axis as vertical as possible (uses projection) boolean parameter uses negative z (i.e.
for camera)
|
inline |
Get 4x4 Rotation Matrix.
Get Rotor