@@ -136,8 +136,8 @@ class GTSAM_EXPORT LeggedEstimator {
136136 * estimation." The International Journal of Robotics Research 39, no. 4
137137 * (2020): 402-430.
138138 */
139- class LeggedInvariantEKF : public LeftLinearEKF <ExtendedPose3d>,
140- public LeggedEstimator {
139+ class GTSAM_EXPORT LeggedInvariantEKF : public LeftLinearEKF<ExtendedPose3d>,
140+ public LeggedEstimator {
141141 public:
142142 using EkfBase = LeftLinearEKF<ExtendedPose3d>;
143143 using TangentVector = typename EkfBase::TangentVector;
@@ -229,9 +229,10 @@ class LeggedInvariantEKF : public LeftLinearEKF<ExtendedPose3d>,
229229 Matrix footholdMatrix () const {
230230 return this ->X_ .xMatrix ().rightCols (static_cast <Eigen::Index>(numFeet ()));
231231 }
232- void resetFootToMeasurement (size_t foot, const Vector3& bodyPoint);
233- void marginalizeFoot (size_t foot);
234- virtual void applyContactUpdate (
232+ GTSAM_EXPORT void resetFootToMeasurement (size_t foot,
233+ const Vector3& bodyPoint);
234+ GTSAM_EXPORT void marginalizeFoot (size_t foot);
235+ GTSAM_EXPORT virtual void applyContactUpdate (
235236 const std::vector<ContactMeasurement>& activeContacts);
236237 bool awaitingFullContactInitialization () const {
237238 return params_.useFullContactInitialization && !fullContactInitialized_;
@@ -262,7 +263,7 @@ class LeggedInvariantEKF : public LeftLinearEKF<ExtendedPose3d>,
262263 * measurement phase as a small nonlinear graph solve rather than as sequential
263264 * EKF corrections.
264265 */
265- class LeggedInvariantIEKF : public LeggedInvariantEKF {
266+ class GTSAM_EXPORT LeggedInvariantIEKF : public LeggedInvariantEKF {
266267 public:
267268 // / Construct the graph-update ExtendedPose3 estimator.
268269 GTSAM_EXPORT LeggedInvariantIEKF (
0 commit comments