23#include <gtsam/dllexport.h>
40 typedef Rot3 Rotation;
41 typedef Point3 Translation;
44 using Vector16 = Eigen::Matrix<double, 16, 1>;
65 Similarity3(
const Matrix3& R,
const Vector3& t,
double s);
83 void print(
const std::string& s =
"")
const;
85 GTSAM_EXPORT
friend std::ostream& operator<<(std::ostream& os,
149 using LieAlgebra = Matrix4;
183 static Matrix4
Hat(
const Vector7& xi);
186 static Vector7
Vee(
const Matrix4& X);
202 double scale(OptionalJacobian<1, 7> Hself = {})
const;
208#ifdef GTSAM_ALLOW_DEPRECATED_SINCE_V43
210 static Matrix4 wedge(
const Vector7& xi) {
211 return Similarity3::Hat(xi);
221 #if GTSAM_ENABLE_BOOST_SERIALIZATION
223 friend class boost::serialization::access;
224 template<
class Archive>
225 void serialize(Archive & ar,
const unsigned int ) {
226 ar & BOOST_SERIALIZATION_NVP(R_);
227 ar & BOOST_SERIALIZATION_NVP(t_);
228 ar & BOOST_SERIALIZATION_NVP(s_);
233 static Matrix3 GetV(Vector3 w,
double lambda);
238#ifdef GTSAM_ALLOW_DEPRECATED_SINCE_V43
241inline Matrix wedge<Similarity3>(
const Vector& xi) {
Base class and basic functions for Manifold types.
Base class and basic functions for Lie types.
3D Pose manifold SO(3) x R^3 and group SE(3)
3D rotation represented as a rotation matrix or quaternion
Global functions in a separate testing namespace.
Definition chartTesting.h:28
Vector3 Point3
As of GTSAM 4, in order to make GTSAM more lean, it is now possible to just typedef Point3 to Vector3...
Definition Point3.h:38
A manifold defines a space in which there is a notion of a linear tangent space that can be centered ...
Definition Group.h:37
A CRTP helper class that implements Lie group methods Prerequisites: methods operator*,...
Definition Lie.h:114
A CRTP helper class that implements matrix Lie group methods.
Definition MatrixLieGroup.h:51
Both LieGroupTraits and Testable.
Definition MatrixLieGroup.h:350
OptionalJacobian is an Eigen::Ref like class that can take be constructed using either a fixed size o...
Definition OptionalJacobian.h:40
A 3D pose (R,t) : (Rot3,Point3).
Definition Pose3.h:42
Rot3 is a 3D rotation represented as a rotation matrix if the preprocessor symbol GTSAM_USE_QUATERNIO...
Definition Rot3.h:65
3D similarity transform
Definition Similarity3.h:36
Matrix7 AdjointMap() const
Project from one tangent space to another.
Definition Similarity3.cpp:260
void print(const std::string &s="") const
Print with optional string.
Definition Similarity3.cpp:114
static Similarity3 Identity()
Return an identity transform.
Definition Similarity3.cpp:144
static Similarity3 Expmap(const Vector7 &v)
Exponential map at the identity.
Definition Similarity3.cpp:355
Similarity3 inverse() const
Return the inverse.
Definition Similarity3.cpp:151
static Similarity3 Align(const Point3Pairs &abPointPairs)
Create Similarity3 by aligning at least three point pairs.
Definition Similarity3.cpp:207
Similarity3()
Default constructor.
Definition Similarity3.cpp:85
Rot3 rotation(OptionalJacobian< 3, 7 > Hself={}) const
Return a rotation.
Definition Similarity3.cpp:121
static Matrix4 Hat(const Vector7 &xi)
Hat for Similarity3:
Definition Similarity3.cpp:242
Point3 transformFrom(const Point3 &p, OptionalJacobian< 3, 7 > H1={}, OptionalJacobian< 3, 3 > H2={}) const
Action on a point p is s*(R*p+t).
Definition Similarity3.cpp:157
static Vector7 Vee(const Matrix4 &X)
Vee maps from Lie algebra to tangent vector.
Definition Similarity3.cpp:252
Matrix4 matrix() const
Calculate 4*4 matrix group equivalent.
Definition Similarity3.cpp:375
bool equals(const Similarity3 &sim, double tol) const
Compare with tolerance.
Definition Similarity3.cpp:105
static Matrix7 adjointMap(const Vector7 &xi)
Compute the Lie algebra adjoint map associated with a tangent vector.
Definition Similarity3.cpp:272
Similarity3 operator*(const Similarity3 &S) const
Composition.
Definition Similarity3.cpp:147
static Vector7 Logmap(const Similarity3 &s)
Log map at the identity .
Definition Similarity3.cpp:345
bool operator==(const Similarity3 &other) const
Exact equality.
Definition Similarity3.cpp:110
Chart at the origin.
Definition Similarity3.h:161