From bf38bc81aa5e3f2e39a0d5a14aa8a21c85289c09 Mon Sep 17 00:00:00 2001 From: Longquan Chen Date: Mon, 27 Sep 2021 10:56:00 -0400 Subject: [PATCH] Fix for Issue #175. 1. switch conversion issue, 2. static constexpr issue in class definition --- include/kimera-vio/mesh/MeshOptimization.h | 12 ++++++------ src/backend/VioBackend.cpp | 18 ++++++++---------- src/frontend/VisionImuFrontend.cpp | 14 ++++++-------- 3 files changed, 20 insertions(+), 24 deletions(-) diff --git a/include/kimera-vio/mesh/MeshOptimization.h b/include/kimera-vio/mesh/MeshOptimization.h index fa1da6515..6545d7eec 100644 --- a/include/kimera-vio/mesh/MeshOptimization.h +++ b/include/kimera-vio/mesh/MeshOptimization.h @@ -167,12 +167,12 @@ class MeshOptimization { private: const MeshOptimizerType mesh_optimizer_type_; - static constexpr bool kUseSpringEnergies = false; - static constexpr float kSpringNoiseSigma = 0.5f; - static constexpr float kDepthMeasNoiseSigma = 0.1f; - static constexpr float kMissingZ = 10000.0f; - static constexpr float kMinZ = 0.00001f; - static constexpr float kMaxZ = 10.0f; + const bool kUseSpringEnergies = false; + const float kSpringNoiseSigma = 0.5f; + const float kDepthMeasNoiseSigma = 0.1f; + const float kMissingZ = 10000.0f; + const float kMinZ = 0.00001f; + const float kMaxZ = 10.0f; //! Camera with which the noisy point cloud and the 2d mesh were generated. Camera::ConstPtr mono_camera_; diff --git a/src/backend/VioBackend.cpp b/src/backend/VioBackend.cpp index a45d45ea9..fe822093a 100644 --- a/src/backend/VioBackend.cpp +++ b/src/backend/VioBackend.cpp @@ -133,21 +133,19 @@ BackendOutput::UniquePtr VioBackend::spinOnce(const BackendInput& input) { if (VLOG_IS_ON(10)) input.print(); bool backend_status = false; - switch (backend_state_) { - case BackendState::Bootstrap: { + if(backend_state_ == BackendState::Bootstrap) + { initializeBackend(input); backend_status = true; - break; - } - case BackendState::Nominal: { + } + else if (backend_state_ == BackendState::Nominal) + { // Process data with VIO. backend_status = addVisualInertialStateAndOptimize(input); - break; - } - default: { + } + else + { LOG(FATAL) << "Unrecognized Backend state."; - break; - } } // Fill ouput_payload (it will remain nullptr if the backend_status is not ok) diff --git a/src/frontend/VisionImuFrontend.cpp b/src/frontend/VisionImuFrontend.cpp index a14fa9764..7d0727369 100644 --- a/src/frontend/VisionImuFrontend.cpp +++ b/src/frontend/VisionImuFrontend.cpp @@ -53,17 +53,15 @@ VisionImuFrontend::~VisionImuFrontend() { FrontendOutputPacketBase::UniquePtr VisionImuFrontend::spinOnce( FrontendInputPacketBase::UniquePtr&& input) { - switch (frontend_state_) { - case FrontendState::Bootstrap: { + if (frontend_state_ == FrontendState::Bootstrap) { return bootstrapSpin(std::move(input)); - } break; - case FrontendState::Nominal: { + } + else if (frontend_state_ == FrontendState::Nominal) { return nominalSpin(std::move(input)); - } break; - default: { + } + else { LOG(FATAL) << "Unrecognized Frontend state."; - } break; - } + } } void VisionImuFrontend::outlierRejectionMono(