From 33dab8776599cf595b3193f0c9b16a16a90d0a25 Mon Sep 17 00:00:00 2001 From: Di Zeng Date: Thu, 28 Jul 2016 11:59:24 -0700 Subject: [PATCH] added the type virtual function to avoid dynamic cast --- corelib/include/rtabmap/core/Odometry.h | 2 ++ corelib/include/rtabmap/core/OdometryF2F.h | 2 ++ corelib/include/rtabmap/core/OdometryF2M.h | 2 ++ 3 files changed, 6 insertions(+) diff --git a/corelib/include/rtabmap/core/Odometry.h b/corelib/include/rtabmap/core/Odometry.h index 0c694589..3b4784c7 100644 --- a/corelib/include/rtabmap/core/Odometry.h +++ b/corelib/include/rtabmap/core/Odometry.h @@ -57,6 +57,8 @@ public: Transform process(SensorData & data, OdometryInfo * info = 0); Transform process(SensorData & data, const Transform & guess, OdometryInfo * info = 0); virtual void reset(const Transform & initialPose = Transform::getIdentity()); + virtual bool isF2F(){return false;} + virtual bool isF2M(){return false;} //getters const Transform & getPose() const {return _pose;} diff --git a/corelib/include/rtabmap/core/OdometryF2F.h b/corelib/include/rtabmap/core/OdometryF2F.h index 3555ab2d..34b8d6e1 100644 --- a/corelib/include/rtabmap/core/OdometryF2F.h +++ b/corelib/include/rtabmap/core/OdometryF2F.h @@ -45,6 +45,8 @@ public: const Signature & getRefFrame() const {return refFrame_;} + bool isF2F(){return true;}; + private: virtual Transform computeTransform(SensorData & image, const Transform & guess = Transform(), OdometryInfo * info = 0); diff --git a/corelib/include/rtabmap/core/OdometryF2M.h b/corelib/include/rtabmap/core/OdometryF2M.h index 0de3c61a..ff6b9b16 100644 --- a/corelib/include/rtabmap/core/OdometryF2M.h +++ b/corelib/include/rtabmap/core/OdometryF2M.h @@ -48,6 +48,8 @@ public: const Signature & getMap() const {return *map_;} const Signature & getLastFrame() const {return *lastFrame_;} + bool isF2M(){return true;} + private: virtual Transform computeTransform(SensorData & data, const Transform & guess = Transform(), OdometryInfo * info = 0);