use custom typedefs for GNC + GaussNewton and GNC + LM
parent
6e788faf34
commit
30d028ef74
|
@ -523,13 +523,16 @@ virtual class DoglegParams : gtsam::NonlinearOptimizerParams {
|
|||
};
|
||||
|
||||
#include <gtsam/nonlinear/GncParams.h>
|
||||
template<PARAMS = {gtsam::GaussNewtonParams, gtsam::LevenbergMarquardtParams}>
|
||||
template<PARAMS>
|
||||
virtual class GncParams {
|
||||
GncParams(const PARAMS& baseOptimizerParams);
|
||||
GncParams();
|
||||
void print(const string& str) const;
|
||||
};
|
||||
|
||||
typedef GncParams<gtsam::GaussNewtonParams> GncGaussNewtonParams;
|
||||
typedef GncParams<gtsam::LevenbergMarquardtParams> GncLMParams;
|
||||
|
||||
#include <gtsam/nonlinear/NonlinearOptimizer.h>
|
||||
virtual class NonlinearOptimizer {
|
||||
gtsam::Values optimize();
|
||||
|
@ -561,8 +564,7 @@ virtual class DoglegOptimizer : gtsam::NonlinearOptimizer {
|
|||
};
|
||||
|
||||
#include <gtsam/nonlinear/GncOptimizer.h>
|
||||
template<PARAMS = {gtsam::GncParams<gtsam::GaussNewtonParams>,
|
||||
gtsam::GncParams<gtsam::LevenbergMarquardtParams>}>
|
||||
template<PARAMS>
|
||||
virtual class GncOptimizer {
|
||||
GncOptimizer(const gtsam::NonlinearFactorGraph& graph,
|
||||
const gtsam::Values& initialValues,
|
||||
|
@ -570,6 +572,9 @@ virtual class GncOptimizer {
|
|||
gtsam::Values optimize();
|
||||
};
|
||||
|
||||
typedef gtsam::GncOptimizer<gtsam::GncParams<gtsam::GaussNewtonParams> > GncGaussNewtonOptimizer;
|
||||
typedef gtsam::GncOptimizer<gtsam::GncParams<gtsam::LevenbergMarquardtParams> > GncLMOptimizer;
|
||||
|
||||
#include <gtsam/nonlinear/LevenbergMarquardtOptimizer.h>
|
||||
virtual class LevenbergMarquardtOptimizer : gtsam::NonlinearOptimizer {
|
||||
LevenbergMarquardtOptimizer(const gtsam::NonlinearFactorGraph& graph,
|
||||
|
|
Loading…
Reference in New Issue