Skip to content

Commit 8f3a447

Browse files
committed
Extend template values with Similarity2 and Similarity3
1 parent 8588084 commit 8f3a447

File tree

2 files changed

+22
-4
lines changed

2 files changed

+22
-4
lines changed

gtsam/nonlinear/nonlinear.i

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ namespace gtsam {
1717
#include <gtsam/geometry/Point3.h>
1818
#include <gtsam/geometry/Pose2.h>
1919
#include <gtsam/geometry/Pose3.h>
20+
#include <gtsam/geometry/Similarity2.h>
21+
#include <gtsam/geometry/Similarity3.h>
2022
#include <gtsam/geometry/Rot2.h>
2123
#include <gtsam/geometry/Rot3.h>
2224
#include <gtsam/geometry/SO3.h>
@@ -74,6 +76,8 @@ class NonlinearFactorGraph {
7476
gtsam::Rot3,
7577
gtsam::Pose2,
7678
gtsam::Pose3,
79+
gtsam::Similarity2,
80+
gtsam::Similarity3,
7781
gtsam::Cal3_S2,
7882
gtsam::Cal3f,
7983
gtsam::Cal3Bundler,
@@ -544,7 +548,7 @@ class ISAM2 {
544548
bool valueExists(gtsam::Key key) const;
545549
gtsam::Values calculateEstimate() const;
546550
template <VALUE = {gtsam::Point2, gtsam::Rot2, gtsam::Pose2, gtsam::Point3,
547-
gtsam::Rot3, gtsam::Pose3, gtsam::Cal3_S2, gtsam::Cal3DS2,
551+
gtsam::Rot3, gtsam::Pose3, gtsam::Similarity2, gtsam::Similarity3, gtsam::Cal3_S2, gtsam::Cal3DS2,
548552
gtsam::Cal3f, gtsam::Cal3Bundler,
549553
gtsam::EssentialMatrix, gtsam::FundamentalMatrix, gtsam::SimpleFundamentalMatrix,
550554
gtsam::PinholeCamera<gtsam::Cal3_S2>,
@@ -609,6 +613,8 @@ template <T = {double,
609613
gtsam::Rot3,
610614
gtsam::Pose2,
611615
gtsam::Pose3,
616+
gtsam::Similarity2,
617+
gtsam::Similarity3,
612618
gtsam::Unit3,
613619
gtsam::Cal3_S2,
614620
gtsam::Cal3DS2,
@@ -633,7 +639,7 @@ virtual class PriorFactor : gtsam::NoiseModelFactor {
633639
#include <gtsam/nonlinear/NonlinearEquality.h>
634640
template <T = {gtsam::Point2, gtsam::StereoPoint2, gtsam::Point3, gtsam::Rot2,
635641
gtsam::SO3, gtsam::SO4, gtsam::SOn, gtsam::Rot3, gtsam::Pose2,
636-
gtsam::Pose3, gtsam::Cal3_S2, gtsam::CalibratedCamera,
642+
gtsam::Pose3, gtsam::Similarity2, gtsam::Similarity3, gtsam::Cal3_S2, gtsam::CalibratedCamera,
637643
gtsam::PinholeCamera<gtsam::Cal3_S2>,
638644
gtsam::PinholeCamera<gtsam::Cal3Bundler>,
639645
gtsam::PinholeCamera<gtsam::Cal3Fisheye>,
@@ -651,7 +657,7 @@ virtual class NonlinearEquality : gtsam::NoiseModelFactor {
651657

652658
template <T = {gtsam::Point2, gtsam::StereoPoint2, gtsam::Point3, gtsam::Rot2,
653659
gtsam::SO3, gtsam::SO4, gtsam::SOn, gtsam::Rot3, gtsam::Pose2,
654-
gtsam::Pose3, gtsam::Cal3_S2, gtsam::CalibratedCamera,
660+
gtsam::Pose3, gtsam::Similarity2, gtsam::Similarity3, gtsam::Cal3_S2, gtsam::CalibratedCamera,
655661
gtsam::PinholeCamera<gtsam::Cal3_S2>,
656662
gtsam::PinholeCamera<gtsam::Cal3Bundler>,
657663
gtsam::PinholeCamera<gtsam::Cal3Fisheye>,
@@ -720,7 +726,7 @@ virtual class BatchFixedLagSmoother : gtsam::FixedLagSmoother {
720726
gtsam::NonlinearFactorGraph getFactors() const;
721727

722728
template <VALUE = {gtsam::Point2, gtsam::Rot2, gtsam::Pose2, gtsam::Point3,
723-
gtsam::Rot3, gtsam::Pose3, gtsam::Cal3_S2, gtsam::Cal3DS2,
729+
gtsam::Rot3, gtsam::Pose3, gtsam::Similarity2, gtsam::Similarity3, gtsam::Cal3_S2, gtsam::Cal3DS2,
724730
gtsam::Vector, gtsam::Matrix}>
725731
VALUE calculateEstimate(size_t key) const;
726732
};
@@ -732,6 +738,8 @@ template <T = {gtsam::Point2,
732738
gtsam::Rot3,
733739
gtsam::Pose2,
734740
gtsam::Pose3,
741+
gtsam::Similarity2,
742+
gtsam::Similarity3,
735743
gtsam::NavState,
736744
gtsam::imuBias::ConstantBias}>
737745
virtual class ExtendedKalmanFilter {

gtsam/nonlinear/values.i

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ namespace gtsam {
1717
#include <gtsam/geometry/Point3.h>
1818
#include <gtsam/geometry/Pose2.h>
1919
#include <gtsam/geometry/Pose3.h>
20+
#include <gtsam/geometry/Similarity2.h>
21+
#include <gtsam/geometry/Similarity3.h>
2022
#include <gtsam/geometry/Rot2.h>
2123
#include <gtsam/geometry/Rot3.h>
2224
#include <gtsam/geometry/SO3.h>
@@ -80,6 +82,8 @@ class Values {
8082
void insert(size_t j, const gtsam::SOn& P);
8183
void insert(size_t j, const gtsam::Rot3& rot3);
8284
void insert(size_t j, const gtsam::Pose3& pose3);
85+
void insert(size_t j, const gtsam::Similarity2& similarity2);
86+
void insert(size_t j, const gtsam::Similarity3& similarity3);
8387
void insert(size_t j, const gtsam::Unit3& unit3);
8488
void insert(size_t j, const gtsam::Cal3Bundler& cal3bundler);
8589
void insert(size_t j, const gtsam::Cal3f& cal3f);
@@ -122,6 +126,8 @@ class Values {
122126
void update(size_t j, const gtsam::SOn& P);
123127
void update(size_t j, const gtsam::Rot3& rot3);
124128
void update(size_t j, const gtsam::Pose3& pose3);
129+
void update(size_t j, const gtsam::Similarity2& similarity2);
130+
void update(size_t j, const gtsam::Similarity3& similarity3);
125131
void update(size_t j, const gtsam::Unit3& unit3);
126132
void update(size_t j, const gtsam::Cal3Bundler& cal3bundler);
127133
void update(size_t j, const gtsam::Cal3f& cal3f);
@@ -161,6 +167,8 @@ class Values {
161167
void insert_or_assign(size_t j, const gtsam::SOn& P);
162168
void insert_or_assign(size_t j, const gtsam::Rot3& rot3);
163169
void insert_or_assign(size_t j, const gtsam::Pose3& pose3);
170+
void insert_or_assign(size_t j, const gtsam::Similarity2& similarity2);
171+
void insert_or_assign(size_t j, const gtsam::Similarity3& similarity3);
164172
void insert_or_assign(size_t j, const gtsam::Unit3& unit3);
165173
void insert_or_assign(size_t j, const gtsam::Cal3Bundler& cal3bundler);
166174
void insert_or_assign(size_t j, const gtsam::Cal3f& cal3f);
@@ -196,6 +204,8 @@ class Values {
196204
gtsam::SOn,
197205
gtsam::Rot3,
198206
gtsam::Pose3,
207+
gtsam::Similarity2,
208+
gtsam::Similarity3,
199209
gtsam::Unit3,
200210
gtsam::Cal3Bundler,
201211
gtsam::Cal3f,

0 commit comments

Comments
 (0)