From 74a6d3d699caa8f2bfaf404bb9d6216f85f2db71 Mon Sep 17 00:00:00 2001 From: Christian Forster Date: Mon, 31 Mar 2014 21:21:24 +0200 Subject: [PATCH] refactoring --- svo/src/frame_handler_base.cpp | 24 ++++++++++-------------- svo/src/frame_handler_mono.cpp | 30 ++++++++++-------------------- 2 files changed, 20 insertions(+), 34 deletions(-) diff --git a/svo/src/frame_handler_base.cpp b/svo/src/frame_handler_base.cpp index 5a36bbc..504890a 100644 --- a/svo/src/frame_handler_base.cpp +++ b/svo/src/frame_handler_base.cpp @@ -35,8 +35,7 @@ namespace svo vk::PerformanceMonitor* g_permon = NULL; #endif -FrameHandlerBase:: -FrameHandlerBase() : +FrameHandlerBase::FrameHandlerBase() : stage_(STAGE_PAUSED), set_reset_(false), set_start_(false), @@ -85,16 +84,14 @@ FrameHandlerBase() : SVO_INFO_STREAM("NanoSlam initialized"); } -FrameHandlerBase:: -~FrameHandlerBase() +FrameHandlerBase::~FrameHandlerBase() { SVO_INFO_STREAM("SVO destructor invoked."); delete depth_filter_; SVO_INFO_STREAM("SVO destructed."); } -bool FrameHandlerBase:: -startFrameProcessingCommon(const double timestamp) +bool FrameHandlerBase::startFrameProcessingCommon(const double timestamp) { if(set_start_) { @@ -115,8 +112,7 @@ startFrameProcessingCommon(const double timestamp) return true; } -int FrameHandlerBase:: -finishFrameProcessingCommon( +int FrameHandlerBase::finishFrameProcessingCommon( const size_t update_id, const UpdateResult dropout, const size_t num_observations) @@ -146,8 +142,7 @@ finishFrameProcessingCommon( return 0; } -void FrameHandlerBase:: -resetCommon() +void FrameHandlerBase::resetCommon() { map_.reset(); stage_ = STAGE_PAUSED; @@ -159,8 +154,7 @@ resetCommon() SVO_INFO_STREAM("RESET"); } -void FrameHandlerBase:: -setTrackingQuality(const size_t num_observations) +void FrameHandlerBase::setTrackingQuality(const size_t num_observations) { tracking_quality_ = TRACKING_GOOD; if(num_observations < Config::qualityMinFts()) @@ -186,8 +180,10 @@ bool ptLastOptimComparator(Point* lhs, Point* rhs) return (lhs->last_structure_optim_ < rhs->last_structure_optim_); } -void FrameHandlerBase:: -optimizeStructure(FramePtr frame, size_t max_n_pts, int max_iter) +void FrameHandlerBase::optimizeStructure( + FramePtr frame, + size_t max_n_pts, + int max_iter) { deque pts; for(Features::iterator it=frame->fts_.begin(); it!=frame->fts_.end(); ++it) diff --git a/svo/src/frame_handler_mono.cpp b/svo/src/frame_handler_mono.cpp index 441a262..641bb14 100644 --- a/svo/src/frame_handler_mono.cpp +++ b/svo/src/frame_handler_mono.cpp @@ -30,19 +30,16 @@ namespace svo { -FrameHandlerMono:: -FrameHandlerMono(vk::AbstractCamera* cam) : +FrameHandlerMono::FrameHandlerMono(vk::AbstractCamera* cam) : FrameHandlerBase(), cam_(cam), reprojector_(cam_, map_) {} -FrameHandlerMono:: -~FrameHandlerMono() +FrameHandlerMono::~FrameHandlerMono() {} -void FrameHandlerMono:: -addImage(const cv::Mat& img, const double timestamp) +void FrameHandlerMono::addImage(const cv::Mat& img, const double timestamp) { if(!startFrameProcessingCommon(timestamp)) return; @@ -73,8 +70,7 @@ addImage(const cv::Mat& img, const double timestamp) finishFrameProcessingCommon(last_frame_->id_, res, last_frame_->nObs()); } -void FrameHandlerMono:: -setFirstFrame(const FramePtr& first_frame) +void FrameHandlerMono::setFirstFrame(const FramePtr& first_frame) { resetAll(); last_frame_ = first_frame; @@ -83,8 +79,7 @@ setFirstFrame(const FramePtr& first_frame) stage_ = STAGE_DEFAULT_FRAME; } -FrameHandlerMono::UpdateResult FrameHandlerMono:: -processFirstFrame() +FrameHandlerMono::UpdateResult FrameHandlerMono::processFirstFrame() { new_frame_->T_f_w_ = T_f_w_init_; if(klt_homography_init_.addFirstFrame(new_frame_) == initialization::FAILURE) @@ -96,8 +91,7 @@ processFirstFrame() return RESULT_IS_KEYFRAME; } -FrameHandlerMono::UpdateResult FrameHandlerMono:: -processSecondFrame() +FrameHandlerBase::UpdateResult FrameHandlerMono::processSecondFrame() { initialization::InitResult res = klt_homography_init_.addSecondFrame(new_frame_); if(res == initialization::FAILURE) @@ -123,8 +117,7 @@ processSecondFrame() return RESULT_IS_KEYFRAME; } -FrameHandlerMono::UpdateResult FrameHandlerMono:: -processFrame() +FrameHandlerBase::UpdateResult FrameHandlerMono::processFrame() { // Set initial pose TODO use prior new_frame_->T_f_w_ = last_frame_->T_f_w_; @@ -225,8 +218,7 @@ processFrame() return RESULT_IS_KEYFRAME; } -void FrameHandlerMono:: -resetAll() +void FrameHandlerMono::resetAll() { resetCommon(); last_frame_.reset(); @@ -235,8 +227,7 @@ resetAll() overlap_kfs_.clear(); } -bool FrameHandlerMono:: -needNewKf(double scene_depth_mean) +bool FrameHandlerMono::needNewKf(double scene_depth_mean) { for(auto it=overlap_kfs_.begin(), ite=overlap_kfs_.end(); it!=ite; ++it) { @@ -249,8 +240,7 @@ needNewKf(double scene_depth_mean) return true; } -void FrameHandlerMono:: -setCoreKfs(size_t n_closest) +void FrameHandlerMono::setCoreKfs(size_t n_closest) { size_t n = min(n_closest, overlap_kfs_.size()-1); std::partial_sort(overlap_kfs_.begin(), overlap_kfs_.begin()+n, overlap_kfs_.end(),