Public Member Functions | Public Attributes
alvar::Pose Class Reference

Pose representation derived from the Rotation class More...

#include <Pose.h>

Inheritance diagram for alvar::Pose:
Inheritance graph
[legend]

List of all members.

Public Member Functions

void GetMatrix (CvMat *mat) const
void GetMatrixGL (double gl[16], bool mirror=true)
 Get the transformation matrix representation of the Pose using OpenGL's transposed format. Note, that by default this also mirrors both the y- and z-axis (see Camera and Pose for more information)
void GetTranslation (CvMat *tra) const
void Invert ()
void Mirror (bool x, bool y, bool z)
Poseoperator= (const Pose &p)
void Output () const
 Pose ()
 Pose (CvMat *tra, CvMat *rot, RotationType t)
 Pose (CvMat *mat)
 Pose (const Pose &p)
void Reset ()
void SetMatrix (const CvMat *mat)
void SetMatrixGL (double gl[16], bool mirror=true)
 Set the Pose using OpenGL's transposed format. Note, that by default this also mirrors both the y- and z-axis (see Camera and Pose for more information)
void SetTranslation (const CvMat *tra)
void SetTranslation (const double *tra)
void SetTranslation (const double x, const double y, const double z)
void Transpose ()

Public Attributes

double translation [4]
CvMat translation_mat

Detailed Description

Pose representation derived from the Rotation class

The rotation part of the transformation is handled by Rotation . The translation part is stored internally using homogeneous 4-vector.

Internally in ALVAR we assume coordinate system where 'x' is right, 'y' is down, and 'z' is forward. However the SetMatrixGL and GetMatrixGL change the pose to support coordinates commonly used in OpenGL: 'x' is right, 'y' is up, and 'z' is backward.

Examples:
SampleCamCalib.cpp, SampleMarkerCreator.cpp, SampleMarkerDetector.cpp, SampleMarkerHide.cpp, SampleMarkerlessDetector.cpp, SampleMultiMarker.cpp, SampleMultiMarkerBundle.cpp, and SamplePointcloud.cpp.

Definition at line 50 of file Pose.h.


Constructor & Destructor Documentation

Constructor

Definition at line 36 of file Pose.cpp.

alvar::Pose::Pose ( CvMat *  tra,
CvMat *  rot,
RotationType  t 
)

Constructor using the given translation and rotation elements

Parameters:
traColumn vector containing three translation elements
rotHandled using the Rotation class
tHandled using the Rotation class

Definition at line 42 of file Pose.cpp.

alvar::Pose::Pose ( CvMat *  mat)

Constructor with 3x3, 3x4 or 4x4 matrix representation

Parameters:
matA 3x3 rotation matrix or 3x4 / 4x4 transformation matrix

Definition at line 52 of file Pose.cpp.

alvar::Pose::Pose ( const Pose p)

Copy constructor

Definition at line 64 of file Pose.cpp.


Member Function Documentation

void alvar::Pose::GetMatrix ( CvMat *  mat) const

Get the transformation into the given matrix mat

Parameters:
matA 3x3 rotation matrix or 3x4 / 4x4 transformation matrix

Reimplemented from alvar::Rotation.

Definition at line 91 of file Pose.cpp.

void alvar::Pose::GetMatrixGL ( double  gl[16],
bool  mirror = true 
)

Get the transformation matrix representation of the Pose using OpenGL's transposed format. Note, that by default this also mirrors both the y- and z-axis (see Camera and Pose for more information)

Parameters:
glOpenGL 4x4 transformation matrix elements in column-order
Examples:
SampleMarkerDetector.cpp, SampleMarkerHide.cpp, SampleMarkerlessDetector.cpp, and SamplePointcloud.cpp.

Definition at line 104 of file Pose.cpp.

void alvar::Pose::GetTranslation ( CvMat *  tra) const

Get the translation part from the Pose

Parameters:
traColumn vector where the three translation elements are filled in

Definition at line 168 of file Pose.cpp.

Invert the pose

Examples:
SamplePointcloud.cpp.

Definition at line 132 of file Pose.cpp.

void alvar::Pose::Mirror ( bool  x,
bool  y,
bool  z 
)

Mirror the Pose

Parameters:
xIf true mirror the x-coordinates
yIf true mirror the y-coordinates
zIf true mirror the z-coordinates

Reimplemented from alvar::Rotation.

Definition at line 141 of file Pose.cpp.

Pose & alvar::Pose::operator= ( const Pose p)

Assignment operator for copying Pose class

Definition at line 175 of file Pose.cpp.

void alvar::Pose::Output ( ) const

Output for debugging purposes

Definition at line 31 of file Pose.cpp.

Reset the pose

Reimplemented from alvar::Rotation.

Examples:
SampleMarkerCreator.cpp, SampleMultiMarker.cpp, SampleMultiMarkerBundle.cpp, and SamplePointcloud.cpp.

Definition at line 69 of file Pose.cpp.

void alvar::Pose::SetMatrix ( const CvMat *  mat)

Set the transformation from the given matrix mat

Parameters:
matA 3x3 rotation matrix or 3x4 / 4x4 transformation matrix

Reimplemented from alvar::Rotation.

Definition at line 75 of file Pose.cpp.

void alvar::Pose::SetMatrixGL ( double  gl[16],
bool  mirror = true 
)

Set the Pose using OpenGL's transposed format. Note, that by default this also mirrors both the y- and z-axis (see Camera and Pose for more information)

Parameters:
glOpenGL 4x4 transformation matrix elements in column-order

Definition at line 113 of file Pose.cpp.

void alvar::Pose::SetTranslation ( const CvMat *  tra)

Set the translation part for the Pose

Parameters:
traColumn vector containing three translation elements
Examples:
SampleMarkerCreator.cpp, SampleMultiMarker.cpp, and SamplePointcloud.cpp.

Definition at line 150 of file Pose.cpp.

void alvar::Pose::SetTranslation ( const double *  tra)

Set the translation part for the Pose

Parameters:
traArray containing three translation elements

Definition at line 156 of file Pose.cpp.

void alvar::Pose::SetTranslation ( const double  x,
const double  y,
const double  z 
)

Set the translation part for the Pose

Definition at line 162 of file Pose.cpp.

Transpose the transformation

Reimplemented from alvar::Rotation.

Definition at line 123 of file Pose.cpp.


Member Data Documentation

Definition at line 54 of file Pose.h.

Definition at line 55 of file Pose.h.


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


ar_track_alvar
Author(s): Scott Niekum
autogenerated on Thu Jun 6 2019 21:12:55