Skip to content

Commit 4a1ec24

Browse files
committed
Merge branch 'develop' into release/4.2a5
2 parents f65bc05 + efe922b commit 4a1ec24

36 files changed

+405
-155
lines changed

gtsam/discrete/discrete.i

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ virtual class DecisionTreeFactor : gtsam::DiscreteFactor {
7070
string dot(
7171
const gtsam::KeyFormatter& keyFormatter = gtsam::DefaultKeyFormatter,
7272
bool showZero = true) const;
73-
std::vector<std::pair<DiscreteValues, double>> enumerate() const;
73+
std::vector<std::pair<gtsam::DiscreteValues, double>> enumerate() const;
7474
string markdown(const gtsam::KeyFormatter& keyFormatter =
7575
gtsam::DefaultKeyFormatter) const;
7676
string markdown(const gtsam::KeyFormatter& keyFormatter,
@@ -97,7 +97,7 @@ virtual class DiscreteConditional : gtsam::DecisionTreeFactor {
9797
const gtsam::Ordering& orderedKeys);
9898
gtsam::DiscreteConditional operator*(
9999
const gtsam::DiscreteConditional& other) const;
100-
DiscreteConditional marginal(gtsam::Key key) const;
100+
gtsam::DiscreteConditional marginal(gtsam::Key key) const;
101101
void print(string s = "Discrete Conditional\n",
102102
const gtsam::KeyFormatter& keyFormatter =
103103
gtsam::DefaultKeyFormatter) const;
@@ -269,16 +269,16 @@ class DiscreteFactorGraph {
269269
gtsam::DiscreteLookupDAG maxProduct(gtsam::Ordering::OrderingType type);
270270
gtsam::DiscreteLookupDAG maxProduct(const gtsam::Ordering& ordering);
271271

272-
gtsam::DiscreteBayesNet eliminateSequential();
273-
gtsam::DiscreteBayesNet eliminateSequential(gtsam::Ordering::OrderingType type);
274-
gtsam::DiscreteBayesNet eliminateSequential(const gtsam::Ordering& ordering);
275-
std::pair<gtsam::DiscreteBayesNet, gtsam::DiscreteFactorGraph>
272+
gtsam::DiscreteBayesNet* eliminateSequential();
273+
gtsam::DiscreteBayesNet* eliminateSequential(gtsam::Ordering::OrderingType type);
274+
gtsam::DiscreteBayesNet* eliminateSequential(const gtsam::Ordering& ordering);
275+
pair<gtsam::DiscreteBayesNet*, gtsam::DiscreteFactorGraph*>
276276
eliminatePartialSequential(const gtsam::Ordering& ordering);
277277

278-
gtsam::DiscreteBayesTree eliminateMultifrontal();
279-
gtsam::DiscreteBayesTree eliminateMultifrontal(gtsam::Ordering::OrderingType type);
280-
gtsam::DiscreteBayesTree eliminateMultifrontal(const gtsam::Ordering& ordering);
281-
std::pair<gtsam::DiscreteBayesTree, gtsam::DiscreteFactorGraph>
278+
gtsam::DiscreteBayesTree* eliminateMultifrontal();
279+
gtsam::DiscreteBayesTree* eliminateMultifrontal(gtsam::Ordering::OrderingType type);
280+
gtsam::DiscreteBayesTree* eliminateMultifrontal(const gtsam::Ordering& ordering);
281+
pair<gtsam::DiscreteBayesTree*, gtsam::DiscreteFactorGraph*>
282282
eliminatePartialMultifrontal(const gtsam::Ordering& ordering);
283283

284284
string dot(

gtsam/geometry/Cal3Bundler.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@ class GTSAM_EXPORT Cal3Bundler : public Cal3 {
4141
public:
4242
enum { dimension = 3 };
4343

44+
///< shared pointer to stereo calibration object
45+
using shared_ptr = boost::shared_ptr<Cal3Bundler>;
46+
4447
/// @name Standard Constructors
4548
/// @{
4649

gtsam/geometry/Cal3DS2.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ class GTSAM_EXPORT Cal3DS2 : public Cal3DS2_Base {
3737
public:
3838
enum { dimension = 9 };
3939

40+
///< shared pointer to stereo calibration object
41+
using shared_ptr = boost::shared_ptr<Cal3DS2>;
42+
4043
/// @name Standard Constructors
4144
/// @{
4245

gtsam/geometry/Cal3DS2_Base.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@ class GTSAM_EXPORT Cal3DS2_Base : public Cal3 {
4747
public:
4848
enum { dimension = 9 };
4949

50+
///< shared pointer to stereo calibration object
51+
using shared_ptr = boost::shared_ptr<Cal3DS2_Base>;
52+
5053
/// @name Standard Constructors
5154
/// @{
5255

gtsam/geometry/Cal3Unified.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@ class GTSAM_EXPORT Cal3Unified : public Cal3DS2_Base {
5252
public:
5353
enum { dimension = 10 };
5454

55+
///< shared pointer to stereo calibration object
56+
using shared_ptr = boost::shared_ptr<Cal3Unified>;
57+
5558
/// @name Standard Constructors
5659
/// @{
5760

gtsam/nonlinear/ISAM2Params.h

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -300,50 +300,23 @@ struct GTSAM_EXPORT ISAM2Params {
300300
RelinearizationThreshold getRelinearizeThreshold() const {
301301
return relinearizeThreshold;
302302
}
303-
int getRelinearizeSkip() const { return relinearizeSkip; }
304-
bool isEnableRelinearization() const { return enableRelinearization; }
305-
bool isEvaluateNonlinearError() const { return evaluateNonlinearError; }
306303
std::string getFactorization() const {
307304
return factorizationTranslator(factorization);
308305
}
309-
bool isCacheLinearizedFactors() const { return cacheLinearizedFactors; }
310306
KeyFormatter getKeyFormatter() const { return keyFormatter; }
311-
bool isEnableDetailedResults() const { return enableDetailedResults; }
312-
bool isEnablePartialRelinearizationCheck() const {
313-
return enablePartialRelinearizationCheck;
314-
}
315307

316308
void setOptimizationParams(OptimizationParams optimizationParams) {
317309
this->optimizationParams = optimizationParams;
318310
}
319311
void setRelinearizeThreshold(RelinearizationThreshold relinearizeThreshold) {
320312
this->relinearizeThreshold = relinearizeThreshold;
321313
}
322-
void setRelinearizeSkip(int relinearizeSkip) {
323-
this->relinearizeSkip = relinearizeSkip;
324-
}
325-
void setEnableRelinearization(bool enableRelinearization) {
326-
this->enableRelinearization = enableRelinearization;
327-
}
328-
void setEvaluateNonlinearError(bool evaluateNonlinearError) {
329-
this->evaluateNonlinearError = evaluateNonlinearError;
330-
}
331314
void setFactorization(const std::string& factorization) {
332315
this->factorization = factorizationTranslator(factorization);
333316
}
334-
void setCacheLinearizedFactors(bool cacheLinearizedFactors) {
335-
this->cacheLinearizedFactors = cacheLinearizedFactors;
336-
}
337317
void setKeyFormatter(KeyFormatter keyFormatter) {
338318
this->keyFormatter = keyFormatter;
339319
}
340-
void setEnableDetailedResults(bool enableDetailedResults) {
341-
this->enableDetailedResults = enableDetailedResults;
342-
}
343-
void setEnablePartialRelinearizationCheck(
344-
bool enablePartialRelinearizationCheck) {
345-
this->enablePartialRelinearizationCheck = enablePartialRelinearizationCheck;
346-
}
347320

348321
GaussianFactorGraph::Eliminate getEliminationFunction() const {
349322
return factorization == CHOLESKY

gtsam/nonlinear/nonlinear.i

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -588,21 +588,19 @@ class ISAM2Params {
588588
void setOptimizationParams(const gtsam::ISAM2DoglegParams& dogleg_params);
589589
void setRelinearizeThreshold(double threshold);
590590
void setRelinearizeThreshold(const gtsam::ISAM2ThresholdMap& threshold_map);
591-
int getRelinearizeSkip() const;
592-
void setRelinearizeSkip(int relinearizeSkip);
593-
bool isEnableRelinearization() const;
594-
void setEnableRelinearization(bool enableRelinearization);
595-
bool isEvaluateNonlinearError() const;
596-
void setEvaluateNonlinearError(bool evaluateNonlinearError);
597591
string getFactorization() const;
598592
void setFactorization(string factorization);
599-
bool isCacheLinearizedFactors() const;
600-
void setCacheLinearizedFactors(bool cacheLinearizedFactors);
601-
bool isEnableDetailedResults() const;
602-
void setEnableDetailedResults(bool enableDetailedResults);
603-
bool isEnablePartialRelinearizationCheck() const;
604-
void setEnablePartialRelinearizationCheck(
605-
bool enablePartialRelinearizationCheck);
593+
594+
int relinearizeSkip;
595+
bool enableRelinearization;
596+
bool evaluateNonlinearError;
597+
bool cacheLinearizedFactors;
598+
bool enableDetailedResults;
599+
bool enablePartialRelinearizationCheck;
600+
bool findUnusedFactorSlots;
601+
602+
enum Factorization { CHOLESKY, QR };
603+
Factorization factorization;
606604
};
607605

608606
class ISAM2Clique {

gtsam/slam/PoseRotationPrior.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ class PoseRotationPrior : public NoiseModelFactor1<POSE> {
3939

4040
public:
4141

42+
/** default constructor - only use for serialization */
43+
PoseRotationPrior() {}
44+
4245
/** standard constructor */
4346
PoseRotationPrior(Key key, const Rotation& rot_z, const SharedNoiseModel& model)
4447
: Base(model, key), measured_(rot_z) {}

gtsam/slam/slam.i

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -223,12 +223,12 @@ enum KernelFunctionType {
223223
KernelFunctionTypeTUKEY
224224
};
225225

226-
std::pair<gtsam::NonlinearFactorGraph*, gtsam::Values*> load2D(
226+
pair<gtsam::NonlinearFactorGraph*, gtsam::Values*> load2D(
227227
string filename, gtsam::noiseModel::Diagonal* model = nullptr,
228228
size_t maxIndex = 0, bool addNoise = false, bool smart = true,
229-
gtsam::NoiseFormat noiseFormat = gtsam::NoiseFormatAUTO,
229+
gtsam::NoiseFormat noiseFormat = gtsam::NoiseFormat::NoiseFormatAUTO,
230230
gtsam::KernelFunctionType kernelFunctionType =
231-
gtsam::KernelFunctionTypeNONE);
231+
gtsam::KernelFunctionType::KernelFunctionTypeNONE);
232232

233233
void save2D(const gtsam::NonlinearFactorGraph& graph,
234234
const gtsam::Values& config, gtsam::noiseModel::Diagonal* model,
@@ -259,7 +259,7 @@ pair<gtsam::NonlinearFactorGraph*, gtsam::Values*> load3D(string filename);
259259
pair<gtsam::NonlinearFactorGraph*, gtsam::Values*> readG2o(
260260
string filename, const bool is3D = false,
261261
gtsam::KernelFunctionType kernelFunctionType =
262-
gtsam::KernelFunctionTypeNONE);
262+
gtsam::KernelFunctionType::KernelFunctionTypeNONE);
263263
void writeG2o(const gtsam::NonlinearFactorGraph& graph,
264264
const gtsam::Values& estimate, string filename);
265265

gtsam_unstable/gtsam_unstable.i

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -566,7 +566,13 @@ virtual class FixedLagSmoother {
566566
gtsam::FixedLagSmootherKeyTimestampMap timestamps() const;
567567
double smootherLag() const;
568568

569-
gtsam::FixedLagSmootherResult update(const gtsam::NonlinearFactorGraph& newFactors, const gtsam::Values& newTheta, const gtsam::FixedLagSmootherKeyTimestampMap& timestamps);
569+
gtsam::FixedLagSmootherResult update(const gtsam::NonlinearFactorGraph &newFactors,
570+
const gtsam::Values &newTheta,
571+
const gtsam::FixedLagSmootherKeyTimestampMap &timestamps);
572+
gtsam::FixedLagSmootherResult update(const gtsam::NonlinearFactorGraph &newFactors,
573+
const gtsam::Values &newTheta,
574+
const gtsam::FixedLagSmootherKeyTimestampMap &timestamps,
575+
const gtsam::FactorIndices &factorsToRemove);
570576
gtsam::Values calculateEstimate() const;
571577
};
572578

@@ -576,6 +582,8 @@ virtual class BatchFixedLagSmoother : gtsam::FixedLagSmoother {
576582
BatchFixedLagSmoother(double smootherLag);
577583
BatchFixedLagSmoother(double smootherLag, const gtsam::LevenbergMarquardtParams& params);
578584

585+
void print(string s = "BatchFixedLagSmoother:\n") const;
586+
579587
gtsam::LevenbergMarquardtParams params() const;
580588
template <VALUE = {gtsam::Point2, gtsam::Rot2, gtsam::Pose2, gtsam::Point3,
581589
gtsam::Rot3, gtsam::Pose3, gtsam::Cal3_S2, gtsam::Cal3DS2,
@@ -589,7 +597,12 @@ virtual class IncrementalFixedLagSmoother : gtsam::FixedLagSmoother {
589597
IncrementalFixedLagSmoother(double smootherLag);
590598
IncrementalFixedLagSmoother(double smootherLag, const gtsam::ISAM2Params& params);
591599

600+
void print(string s = "IncrementalFixedLagSmoother:\n") const;
601+
592602
gtsam::ISAM2Params params() const;
603+
604+
gtsam::NonlinearFactorGraph getFactors() const;
605+
gtsam::ISAM2 getISAM2() const;
593606
};
594607

595608
#include <gtsam_unstable/nonlinear/ConcurrentFilteringAndSmoothing.h>

0 commit comments

Comments
 (0)