23#include <gtsam/geometry/Cal3DS2_Base.h>
38 enum { dimension = 9 };
46 Cal3DS2(
double fx,
double fy,
double s,
double u0,
double v0,
double k1,
47 double k2,
double p1 = 0.0,
double p2 = 0.0,
double tol = 1e-5)
48 :
Base(fx, fy, s, u0, v0, k1, k2, p1, p2, tol) {}
56 Cal3DS2(
const Vector9& v) : Base(v) {}
63 GTSAM_EXPORT
friend std::ostream& operator<<(std::ostream& os,
67 void print(
const std::string& s =
"")
const override;
70 bool equals(
const Cal3DS2& K,
double tol = 10e-9)
const;
77 Cal3DS2 retract(
const Vector& d)
const;
80 Vector localCoordinates(
const Cal3DS2& T2)
const;
83 size_t dim()
const override {
return Dim(); }
86 inline static size_t Dim() {
return dimension; }
93 boost::shared_ptr<Base>
clone()
const override {
94 return boost::shared_ptr<Base>(
new Cal3DS2(*
this));
104 friend class boost::serialization::access;
105 template <
class Archive>
106 void serialize(Archive& ar,
const unsigned int ) {
107 ar& boost::serialization::make_nvp(
108 "Cal3DS2", boost::serialization::base_object<Cal3DS2_Base>(*
this));
Global functions in a separate testing namespace.
Definition: chartTesting.h:28
std::string serialize(const T &input)
serializes to a string
Definition: serialization.h:112
void print(const Matrix &A, const string &s, ostream &stream)
print without optional string, must specify cout yourself
Definition: Matrix.cpp:155
A manifold defines a space in which there is a notion of a linear tangent space that can be centered ...
Definition: concepts.h:30
Both ManifoldTraits and Testable.
Definition: Manifold.h:120
size_t dim() const override
Return dimensions of calibration manifold object.
Definition: Cal3DS2.h:83
boost::shared_ptr< Base > clone() const override
Definition: Cal3DS2.h:93
static size_t Dim()
Return dimensions of calibration manifold object.
Definition: Cal3DS2.h:86
Cal3DS2()=default
Default Constructor with only unit focal length.
Definition: Cal3DS2_Base.h:41