diff --git a/gtsam.h b/gtsam.h index ef5553220..dde44c074 100644 --- a/gtsam.h +++ b/gtsam.h @@ -641,7 +641,7 @@ class Cal3_S2Stereo { // Testable void print(string s) const; - bool equals(const gtsam::Cal3_S2Stereo& pose, double tol) const; + bool equals(const gtsam::Cal3_S2Stereo& K, double tol) const; // Standard Interface double fx() const; @@ -763,6 +763,34 @@ virtual class PinholeCamera : gtsam::Value { void serialize() const; }; +virtual class StereoCamera : gtsam::Value { + // Standard Constructors and Named Constructors + StereoCamera(); + StereoCamera(const gtsam::Pose3& pose, const gtsam::Cal3_S2Stereo* K); + + // Testable + void print(string s) const; + bool equals(const gtsam::StereoCamera& camera, double tol) const; + + // Standard Interface + gtsam::Pose3 pose() const; + double baseline() const; + gtsam::Cal3_S2Stereo* calibration() const; + + // Manifold + gtsam::StereoCamera retract(const Vector& d) const; + Vector localCoordinates(const gtsam::StereoCamera& T2) const; + size_t dim() const; + static size_t Dim(); + + // Transformations and measurement functions + gtsam::StereoPoint2 project(const gtsam::Point3& point); + gtsam::Point3 backproject(const gtsam::StereoPoint2& p) const; + + // enabling serialization functionality + void serialize() const; +}; + //************************************************************************* // inference //*************************************************************************