@@ -10,11 +10,15 @@ class gtsam::Point2Vector;
1010class gtsam ::Rot2;
1111class gtsam ::Pose2;
1212class gtsam ::Point3;
13+ class gtsam ::StereoCamera;
1314class gtsam ::SO3;
1415class gtsam ::SO4;
1516class gtsam ::SOn;
1617class gtsam ::Rot3;
1718class gtsam ::Pose3;
19+ class gtsam ::StereoCamera;
20+ class gtsam ::SmartProjectionParams;
21+ class gtsam ::SmartStereoProjectionFactor;
1822virtual class gtsam ::noiseModel::Base;
1923virtual class gtsam ::noiseModel::Gaussian;
2024virtual class gtsam ::noiseModel::Isotropic;
@@ -27,6 +31,7 @@ virtual class gtsam::HessianFactor;
2731virtual class gtsam ::JacobianFactor;
2832class gtsam ::Cal3_S2;
2933class gtsam ::Cal3DS2;
34+ class gtsam ::Cal3_S2Stereo;
3035class gtsam ::GaussianFactorGraph;
3136class gtsam ::NonlinearFactorGraph;
3237class gtsam ::Ordering;
@@ -41,6 +46,7 @@ class gtsam::ISAM2Params;
4146class gtsam ::GaussianDensity;
4247class gtsam ::LevenbergMarquardtOptimizer;
4348class gtsam ::FixedLagSmoother;
49+ class gtsam ::StereoPoint2;
4450
4551namespace gtsam {
4652
@@ -731,6 +737,58 @@ typedef gtsam::ProjectionFactorPPPC<gtsam::Pose3, gtsam::Point3, gtsam::Cal3_S2>
731737typedef gtsam::ProjectionFactorPPPC<gtsam::Pose3, gtsam::Point3, gtsam::Cal3DS2> ProjectionFactorPPPCCal3DS2;
732738typedef gtsam::ProjectionFactorPPPC<gtsam::Pose3, gtsam::Point3, gtsam::Cal3Fisheye> ProjectionFactorPPPCCal3Fisheye;
733739
740+ #include < gtsam_unstable/slam/SmartStereoProjectionFactor.h>
741+ virtual class SmartStereoProjectionFactor : gtsam::NonlinearFactor {
742+ SmartStereoProjectionFactor (const gtsam::noiseModel::Base* sharedNoiseModel,
743+ const gtsam::SmartProjectionParams& params,
744+ const gtsam::Pose3& body_P_sensor);
745+ SmartStereoProjectionFactor (const gtsam::noiseModel::Base* sharedNoiseModel,
746+ const gtsam::SmartProjectionParams& params);
747+ SmartStereoProjectionFactor (const gtsam::noiseModel::Base* sharedNoiseModel);
748+
749+ void print (string s) const ;
750+ bool equals (const gtsam::NonlinearFactor& p, double tol) const ;
751+ double error (const gtsam::Values& values) const ;
752+
753+ gtsam::TriangulationResult point () const ;
754+ gtsam::TriangulationResult point (const gtsam::Values& values) const ;
755+
756+ bool isValid () const ;
757+ bool isDegenerate () const ;
758+ bool isPointBehindCamera () const ;
759+ bool isOutlier () const ;
760+ bool isFarPoint () const ;
761+
762+ gtsam::GaussianFactor linearizeDamped (const gtsam::CameraSet<gtsam::StereoCamera>& cameras,
763+ const double lambda) const ;
764+ gtsam::GaussianFactor linearizeDamped (const gtsam::Values& values,
765+ const double lambda) const ;
766+ };
767+
768+ #include < gtsam_unstable/slam/SmartStereoProjectionPoseFactor.h>
769+ virtual class SmartStereoProjectionPoseFactor : gtsam::SmartStereoProjectionFactor {
770+ SmartStereoProjectionPoseFactor (const gtsam::noiseModel::Base* sharedNoiseModel,
771+ const gtsam::SmartProjectionParams& params,
772+ const gtsam::Pose3& body_P_sensor);
773+ SmartStereoProjectionPoseFactor (const gtsam::noiseModel::Base* sharedNoiseModel,
774+ const gtsam::SmartProjectionParams& params);
775+ SmartStereoProjectionPoseFactor (const gtsam::noiseModel::Base* sharedNoiseModel);
776+
777+ void add (const gtsam::StereoPoint2& measured, gtsam::Key poseKey,
778+ const std::shared_ptr<gtsam::Cal3_S2Stereo>& K);
779+ void add (const std::vector<gtsam::StereoPoint2>& measurements,
780+ const gtsam::KeyVector& poseKeys,
781+ const std::vector<std::shared_ptr<gtsam::Cal3_S2Stereo>>& Ks);
782+ void add (const std::vector<gtsam::StereoPoint2>& measurements,
783+ const gtsam::KeyVector& poseKeys,
784+ const std::shared_ptr<gtsam::Cal3_S2Stereo>& K);
785+
786+ void print (string s) const ;
787+ bool equals (const gtsam::NonlinearFactor& p, double tol) const ;
788+ double error (const gtsam::Values& values) const ;
789+ std::vector<std::shared_ptr<gtsam::Cal3_S2Stereo>> calibration () const ;
790+ };
791+
734792#include < gtsam_unstable/slam/ProjectionFactorRollingShutter.h>
735793virtual class ProjectionFactorRollingShutter : gtsam::NoiseModelFactor {
736794 ProjectionFactorRollingShutter (const gtsam::Point2& measured, double alpha, const gtsam::noiseModel::Base* noiseModel,
0 commit comments