don't like it - going to create a different class

release/4.3a0
lcarlone 2021-08-24 20:56:40 -04:00
parent cf3cf39683
commit db2a9151e5
2 changed files with 13 additions and 34 deletions

View File

@ -10,7 +10,7 @@
* -------------------------------------------------------------------------- */ * -------------------------------------------------------------------------- */
/** /**
* @file SmartProjectionPoseFactorC.h * @file SmartProjectionFactorP.h
* @brief Smart factor on poses, assuming camera calibration is fixed * @brief Smart factor on poses, assuming camera calibration is fixed
* @author Luca Carlone * @author Luca Carlone
* @author Chris Beall * @author Chris Beall
@ -42,11 +42,11 @@ namespace gtsam {
* @addtogroup SLAM * @addtogroup SLAM
*/ */
template<class CAMERA> template<class CAMERA>
class SmartProjectionPoseFactorC: public SmartProjectionFactor<CAMERA> { class SmartProjectionFactorP: public SmartProjectionFactor<CAMERA> {
private: private:
typedef SmartProjectionFactor<CAMERA> Base; typedef SmartProjectionFactor<CAMERA> Base;
typedef SmartProjectionPoseFactorC<CAMERA> This; typedef SmartProjectionFactorP<CAMERA> This;
typedef CAMERA Camera; typedef CAMERA Camera;
typedef typename CAMERA::CalibrationType CALIBRATION; typedef typename CAMERA::CalibrationType CALIBRATION;
@ -62,7 +62,7 @@ public:
/** /**
* Default constructor, only for serialization * Default constructor, only for serialization
*/ */
SmartProjectionPoseFactorC() {} SmartProjectionFactorP() {}
/** /**
* Constructor * Constructor
@ -70,7 +70,7 @@ public:
* @param K (fixed) calibration, assumed to be the same for all cameras * @param K (fixed) calibration, assumed to be the same for all cameras
* @param params parameters for the smart projection factors * @param params parameters for the smart projection factors
*/ */
SmartProjectionPoseFactorC( SmartProjectionFactorP(
const SharedNoiseModel& sharedNoiseModel, const SharedNoiseModel& sharedNoiseModel,
const boost::shared_ptr<CALIBRATION> K, const boost::shared_ptr<CALIBRATION> K,
const SmartProjectionParams& params = SmartProjectionParams()) const SmartProjectionParams& params = SmartProjectionParams())
@ -84,17 +84,17 @@ public:
* @param body_P_sensor pose of the camera in the body frame (optional) * @param body_P_sensor pose of the camera in the body frame (optional)
* @param params parameters for the smart projection factors * @param params parameters for the smart projection factors
*/ */
SmartProjectionPoseFactorC( SmartProjectionFactorP(
const SharedNoiseModel& sharedNoiseModel, const SharedNoiseModel& sharedNoiseModel,
const boost::shared_ptr<CALIBRATION> K, const boost::shared_ptr<CALIBRATION> K,
const boost::optional<Pose3> body_P_sensor, const boost::optional<Pose3> body_P_sensor,
const SmartProjectionParams& params = SmartProjectionParams()) const SmartProjectionParams& params = SmartProjectionParams())
: SmartProjectionPoseFactorC(sharedNoiseModel, K, params) { : SmartProjectionFactorP(sharedNoiseModel, K, params) {
this->body_P_sensor_ = body_P_sensor; this->body_P_sensor_ = body_P_sensor;
} }
/** Virtual destructor */ /** Virtual destructor */
~SmartProjectionPoseFactorC() override { ~SmartProjectionFactorP() override {
} }
/** /**
@ -104,7 +104,7 @@ public:
*/ */
void print(const std::string& s = "", const KeyFormatter& keyFormatter = void print(const std::string& s = "", const KeyFormatter& keyFormatter =
DefaultKeyFormatter) const override { DefaultKeyFormatter) const override {
std::cout << s << "SmartProjectionPoseFactorC, z = \n "; std::cout << s << "SmartProjectionFactorP, z = \n ";
Base::print("", keyFormatter); Base::print("", keyFormatter);
} }
@ -162,32 +162,11 @@ public:
/// traits /// traits
template<class CAMERA> template<class CAMERA>
struct traits<SmartProjectionPoseFactorC<CAMERA> > : public Testable< struct traits<SmartProjectionFactorP<CAMERA> > : public Testable<
SmartProjectionPoseFactorC<CAMERA> > { SmartProjectionFactorP<CAMERA> > {
}; };
// legacy smart factor class, only templated on calibration and assuming pinhole // legacy smart factor class, only templated on calibration and assuming pinhole
template <class CALIBRATION> using SmartProjectionPoseFactor = SmartProjectionPoseFactorC< PinholePose<CALIBRATION> >; template <class CALIBRATION> using SmartProjectionPoseFactor = SmartProjectionFactorP< PinholePose<CALIBRATION> >;
//template <class CALIBRATION>
//using SmartProjectionPoseFactor = SmartProjectionPoseFactorC< PinholePose<CALIBRATION> >;
//template<class CALIBRATION>
//struct SmartProjectionPoseFactor{
// typedef SmartProjectionPoseFactorC< PinholePose<CALIBRATION> >;
//};
//template<class CALIBRATION>
//class SmartProjectionPoseFactor{
// typedef SmartProjectionPoseFactorC< PinholePose<CALIBRATION> >;
//};
//typedef typename CAMERA::CalibrationType CALIBRATION;
//template<class CALIBRATION>
//class SmartProjectionPoseFactor: public SmartProjectionPoseFactorC< <PinholePose<CALIBRATION> > {
// public:
// private:
//};
// end
} // \ namespace gtsam } // \ namespace gtsam

View File

@ -11,7 +11,7 @@
/** /**
* @file SmartStereoProjectionFactor.h * @file SmartStereoProjectionFactor.h
* @brief Smart stereo factor on StereoCameras (pose + calibration) * @brief Smart stereo factor on StereoCameras (pose)
* @author Luca Carlone * @author Luca Carlone
* @author Zsolt Kira * @author Zsolt Kira
* @author Frank Dellaert * @author Frank Dellaert