84 const Eigen::Vector4d& qvec2);
93 const Eigen::Vector3d& point);
105 const std::vector<double>& weights);
111 const Eigen::Vector3d& vec2);
125 const Eigen::Vector3d& tvec);
133 const Eigen::Vector3d& tvec1,
134 const Eigen::Vector4d& qvec2,
135 const Eigen::Vector3d& tvec2,
136 Eigen::Vector4d* qvec12,
137 Eigen::Vector3d* tvec12);
145 const Eigen::Vector3d& tvec1,
146 const Eigen::Vector4d& qvec2,
147 const Eigen::Vector3d& tvec2,
148 Eigen::Vector4d* qvec12,
149 Eigen::Vector3d* tvec12);
155 const Eigen::Vector3d& tvec,
156 Eigen::Vector4d* inv_qvec,
157 Eigen::Vector3d* inv_tvec);
166 const Eigen::Vector3d& tvec1,
167 const Eigen::Vector4d& qvec2,
168 const Eigen::Vector3d& tvec2,
170 Eigen::Vector4d* qveci,
171 Eigen::Vector3d* tveci);
185 const Eigen::Vector3d& tvec1,
186 const Eigen::Vector4d& qvec2,
187 const Eigen::Vector3d& tvec2);
200 const Eigen::Vector3d& t,
201 const std::vector<Eigen::Vector2d>& points1,
202 const std::vector<Eigen::Vector2d>& points2,
203 std::vector<Eigen::Vector3d>* points3D);
210 return Eigen::Vector4d(1, 0, 0, 0);
Matrix< double, 3, 4 > Matrix3x4d
Eigen::Vector3d ProjectionCenterFromMatrix(const Eigen::Matrix3x4d &proj_matrix)
Eigen::Matrix3d RotationFromUnitVectors(const Eigen::Vector3d &vector1, const Eigen::Vector3d &vector2)
void ComputeRelativePose(const Eigen::Vector4d &qvec1, const Eigen::Vector3d &tvec1, const Eigen::Vector4d &qvec2, const Eigen::Vector3d &tvec2, Eigen::Vector4d *qvec12, Eigen::Vector3d *tvec12)
Eigen::Matrix3d EulerAnglesToRotationMatrix(const double rx, const double ry, const double rz)
Eigen::Vector4d ComposeIdentityQuaternion()
void InvertPose(const Eigen::Vector4d &qvec, const Eigen::Vector3d &tvec, Eigen::Vector4d *inv_qvec, Eigen::Vector3d *inv_tvec)
Eigen::Matrix3d CrossProductMatrix(const Eigen::Vector3d &vector)
Eigen::Vector4d NormalizeQuaternion(const Eigen::Vector4d &qvec)
Eigen::Vector4d AverageQuaternions(const std::vector< Eigen::Vector4d > &qvecs, const std::vector< double > &weights)
void ConcatenatePoses(const Eigen::Vector4d &qvec1, const Eigen::Vector3d &tvec1, const Eigen::Vector4d &qvec2, const Eigen::Vector3d &tvec2, Eigen::Vector4d *qvec12, Eigen::Vector3d *tvec12)
Eigen::Vector4d RotationMatrixToQuaternion(const Eigen::Matrix3d &rot_mat)
Eigen::Vector4d ConcatenateQuaternions(const Eigen::Vector4d &qvec1, const Eigen::Vector4d &qvec2)
Eigen::Vector4d InvertQuaternion(const Eigen::Vector4d &qvec)
Eigen::Vector3d QuaternionRotatePoint(const Eigen::Vector4d &qvec, const Eigen::Vector3d &point)
Eigen::Vector3d ProjectionCenterFromPose(const Eigen::Vector4d &qvec, const Eigen::Vector3d &tvec)
Eigen::Vector3d CalculateBaseline(const Eigen::Vector4d &qvec1, const Eigen::Vector3d &tvec1, const Eigen::Vector4d &qvec2, const Eigen::Vector3d &tvec2)
void RotationMatrixToEulerAngles(const Eigen::Matrix3d &R, double *rx, double *ry, double *rz)
void InterpolatePose(const Eigen::Vector4d &qvec1, const Eigen::Vector3d &tvec1, const Eigen::Vector4d &qvec2, const Eigen::Vector3d &tvec2, const double t, Eigen::Vector4d *qveci, Eigen::Vector3d *tveci)
bool CheckCheirality(const Eigen::Matrix3d &R, const Eigen::Vector3d &t, const std::vector< Eigen::Vector2d > &points1, const std::vector< Eigen::Vector2d > &points2, std::vector< Eigen::Vector3d > *points3D)
Eigen::Matrix3d QuaternionToRotationMatrix(const Eigen::Vector4d &qvec)