Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef POSE_H
00025 #define POSE_H
00026
00027 #include "Alvar.h"
00028 #include "Rotation.h"
00029
00036 namespace alvar {
00037
00050 class ALVAR_EXPORT Pose : public Rotation {
00051 protected:
00052
00053 public:
00054 double translation[4];
00055 CvMat translation_mat;
00056
00058 void Output() const;
00060 Pose();
00066 Pose(CvMat *tra, CvMat *rot, RotationType t);
00070 Pose(CvMat *mat);
00072 Pose(const Pose& p);
00074 void Reset();
00078 void SetMatrix(const CvMat *mat);
00083 void SetMatrixGL(double gl[16], bool mirror=true);
00087 void GetMatrix(CvMat *mat) const;
00092 void GetMatrixGL(double gl[16], bool mirror=true);
00094 void Transpose();
00096 void Invert();
00102 void Mirror(bool x, bool y, bool z);
00106 void SetTranslation(const CvMat *tra);
00110 void SetTranslation(const double *tra);
00112 void SetTranslation(const double x, const double y, const double z);
00116 void GetTranslation(CvMat *tra) const;
00118 Pose& operator = (const Pose& p);
00119 };
00120
00121 }
00122
00123 #endif