included new constructors (still commented out)

release/4.3a0
Luca 2015-06-19 14:59:33 -04:00
parent f1e5c61762
commit dcce21639f
2 changed files with 26 additions and 4 deletions

View File

@ -44,7 +44,7 @@ enum DegeneracyMode {
/* /*
* Parameters for the smart projection factors * Parameters for the smart projection factors
*/ */
class GTSAM_EXPORT SmartProjectionFactorParams { class GTSAM_EXPORT SmartProjectionParams {
public: public:
@ -64,7 +64,7 @@ public:
/// @} /// @}
// Constructor // Constructor
SmartProjectionFactorParams(LinearizationMode linMode = HESSIAN, SmartProjectionParams(LinearizationMode linMode = HESSIAN,
DegeneracyMode degMode = IGNORE_DEGENERACY, double rankTol = 1, DegeneracyMode degMode = IGNORE_DEGENERACY, double rankTol = 1,
bool enableEPI = false, double landmarkDistanceThreshold = 1e10, bool enableEPI = false, double landmarkDistanceThreshold = 1e10,
double dynamicOutlierRejectionThreshold = -1): double dynamicOutlierRejectionThreshold = -1):
@ -74,7 +74,7 @@ public:
retriangulationThreshold(1e-5), retriangulationThreshold(1e-5),
throwCheirality(false), verboseCheirality(false) {} throwCheirality(false), verboseCheirality(false) {}
virtual ~SmartProjectionFactorParams() {} virtual ~SmartProjectionParams() {}
void print(const std::string& str) const { void print(const std::string& str) const {
std::cout << " linearizationMode: " << linearizationMode << "\n"; std::cout << " linearizationMode: " << linearizationMode << "\n";
@ -117,7 +117,7 @@ protected:
/// @name Parameters /// @name Parameters
/// @{ /// @{
const SmartProjectionFactorParams params_; const SmartProjectionParams params_;
/// @} /// @}
/// @name Caching triangulation /// @name Caching triangulation
@ -154,6 +154,17 @@ public:
dynamicOutlierRejectionThreshold), // dynamicOutlierRejectionThreshold), //
result_(TriangulationResult::Degenerate()) {} result_(TriangulationResult::Degenerate()) {}
/**
* Constructor
* @param body_P_sensor pose of the camera in the body frame
* @param params internal parameters of the smart factors
*/
// SmartProjectionFactor(const boost::optional<Pose3> body_P_sensor = boost::none,
// const SmartProjectionParams params = SmartProjectionParams()) :
// Base(body_P_sensor),
// params_(params), //
// result_(TriangulationResult::Degenerate()) {}
/** Virtual destructor */ /** Virtual destructor */
virtual ~SmartProjectionFactor() { virtual ~SmartProjectionFactor() {
} }

View File

@ -72,6 +72,17 @@ public:
Base(linearizeTo, rankTol, manageDegeneracy, enableEPI, landmarkDistanceThreshold, Base(linearizeTo, rankTol, manageDegeneracy, enableEPI, landmarkDistanceThreshold,
dynamicOutlierRejectionThreshold, body_P_sensor), K_(K) {} dynamicOutlierRejectionThreshold, body_P_sensor), K_(K) {}
/**
* Constructor
* @param K (fixed) calibration, assumed to be the same for all cameras
* @param body_P_sensor pose of the camera in the body frame
* @param params internal parameters of the smart factors
*/
// SmartProjectionPoseFactor(const boost::shared_ptr<CALIBRATION> K,
// const boost::optional<Pose3> body_P_sensor = boost::none,
// const SmartProjectionParams params = SmartProjectionParams()) :
// Base(body_P_sensor, params), K_(K) {}
/** Virtual destructor */ /** Virtual destructor */
virtual ~SmartProjectionPoseFactor() {} virtual ~SmartProjectionPoseFactor() {}