From 5784f4d6364bba92e2771e69049d407872f1ab96 Mon Sep 17 00:00:00 2001 From: Nikolaus Demmel Date: Fri, 1 Dec 2017 14:29:36 +0100 Subject: [PATCH] Fix declarations of aligned allocators. It seems like you might need a `const` for the first argument of `std::pair` in `aligned_allocator`, see #111. Added some `override` statements to Output3DWrapper's derived classes. --- src/IOWrapper/Output3DWrapper.h | 2 +- .../OutputWrapper/SampleOutputWrapper.h | 14 +++++++------- src/IOWrapper/Pangolin/PangolinDSOViewer.cpp | 2 +- src/IOWrapper/Pangolin/PangolinDSOViewer.h | 16 ++++++++-------- src/OptimizationBackend/EnergyFunctional.h | 2 +- 5 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/IOWrapper/Output3DWrapper.h b/src/IOWrapper/Output3DWrapper.h index d3ddf1531..897ab3ad1 100644 --- a/src/IOWrapper/Output3DWrapper.h +++ b/src/IOWrapper/Output3DWrapper.h @@ -127,7 +127,7 @@ class Output3DWrapper * Calling: * Always called, no overhead if not used. */ - virtual void publishGraph(const std::map, Eigen::aligned_allocator > > &connectivity) {} + virtual void publishGraph(const std::map, Eigen::aligned_allocator > > &connectivity) {} diff --git a/src/IOWrapper/OutputWrapper/SampleOutputWrapper.h b/src/IOWrapper/OutputWrapper/SampleOutputWrapper.h index 2d2e2415b..d7d1b1ab3 100644 --- a/src/IOWrapper/OutputWrapper/SampleOutputWrapper.h +++ b/src/IOWrapper/OutputWrapper/SampleOutputWrapper.h @@ -56,7 +56,7 @@ class SampleOutputWrapper : public Output3DWrapper printf("OUT: Destroyed SampleOutputWrapper\n"); } - virtual void publishGraph(const std::map &connectivity) + virtual void publishGraph(const std::map, Eigen::aligned_allocator>> &connectivity) override { printf("OUT: got graph with %d edges\n", (int)connectivity.size()); @@ -74,7 +74,7 @@ class SampleOutputWrapper : public Output3DWrapper - virtual void publishKeyframes( std::vector &frames, bool final, CalibHessian* HCalib) + virtual void publishKeyframes( std::vector &frames, bool final, CalibHessian* HCalib) override { for(FrameHessian* f : frames) { @@ -98,7 +98,7 @@ class SampleOutputWrapper : public Output3DWrapper } } - virtual void publishCamPose(FrameShell* frame, CalibHessian* HCalib) + virtual void publishCamPose(FrameShell* frame, CalibHessian* HCalib) override { printf("OUT: Current Frame %d (time %f, internal ID %d). CameraToWorld:\n", frame->incoming_id, @@ -108,21 +108,21 @@ class SampleOutputWrapper : public Output3DWrapper } - virtual void pushLiveFrame(FrameHessian* image) + virtual void pushLiveFrame(FrameHessian* image) override { // can be used to get the raw image / intensity pyramid. } - virtual void pushDepthImage(MinimalImageB3* image) + virtual void pushDepthImage(MinimalImageB3* image) override { // can be used to get the raw image with depth overlay. } - virtual bool needPushDepthImage() + virtual bool needPushDepthImage() override { return false; } - virtual void pushDepthImageFloat(MinimalImageF* image, FrameHessian* KF ) + virtual void pushDepthImageFloat(MinimalImageF* image, FrameHessian* KF ) override { printf("OUT: Predicted depth for KF %d (id %d, time %f, internal frame-ID %d). CameraToWorld:\n", KF->frameID, diff --git a/src/IOWrapper/Pangolin/PangolinDSOViewer.cpp b/src/IOWrapper/Pangolin/PangolinDSOViewer.cpp index a2fdc6009..b97aa7861 100644 --- a/src/IOWrapper/Pangolin/PangolinDSOViewer.cpp +++ b/src/IOWrapper/Pangolin/PangolinDSOViewer.cpp @@ -419,7 +419,7 @@ void PangolinDSOViewer::drawConstraints() -void PangolinDSOViewer::publishGraph(const std::map &connectivity) +void PangolinDSOViewer::publishGraph(const std::map, Eigen::aligned_allocator>> &connectivity) { if(!setting_render_display3D) return; if(disableAllDisplay) return; diff --git a/src/IOWrapper/Pangolin/PangolinDSOViewer.h b/src/IOWrapper/Pangolin/PangolinDSOViewer.h index c87936231..c10e7a2e7 100644 --- a/src/IOWrapper/Pangolin/PangolinDSOViewer.h +++ b/src/IOWrapper/Pangolin/PangolinDSOViewer.h @@ -67,18 +67,18 @@ class PangolinDSOViewer : public Output3DWrapper // ==================== Output3DWrapper Functionality ====================== - virtual void publishGraph(const std::map &connectivity); - virtual void publishKeyframes( std::vector &frames, bool final, CalibHessian* HCalib); - virtual void publishCamPose(FrameShell* frame, CalibHessian* HCalib); + virtual void publishGraph(const std::map, Eigen::aligned_allocator>> &connectivity) override; + virtual void publishKeyframes( std::vector &frames, bool final, CalibHessian* HCalib) override; + virtual void publishCamPose(FrameShell* frame, CalibHessian* HCalib) override; - virtual void pushLiveFrame(FrameHessian* image); - virtual void pushDepthImage(MinimalImageB3* image); - virtual bool needPushDepthImage(); + virtual void pushLiveFrame(FrameHessian* image) override; + virtual void pushDepthImage(MinimalImageB3* image) override; + virtual bool needPushDepthImage() override; - virtual void join(); + virtual void join() override; - virtual void reset(); + virtual void reset() override; private: bool needReset; diff --git a/src/OptimizationBackend/EnergyFunctional.h b/src/OptimizationBackend/EnergyFunctional.h index 16d8bb920..93e463089 100644 --- a/src/OptimizationBackend/EnergyFunctional.h +++ b/src/OptimizationBackend/EnergyFunctional.h @@ -117,7 +117,7 @@ class EnergyFunctional { std::map, - Eigen::aligned_allocator> + Eigen::aligned_allocator> > connectivityMap; private: