From 1f303325e99c719232285fb5bb4cd8c81cc3939a Mon Sep 17 00:00:00 2001 From: Vanessa Karolek <vaka1997@uni-koblenz.de> Date: Tue, 15 Jun 2021 10:09:28 +0200 Subject: [PATCH] [#42] add throwing exception if input index is invalid --- modules/camera/src/vkcv/camera/CameraManager.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/modules/camera/src/vkcv/camera/CameraManager.cpp b/modules/camera/src/vkcv/camera/CameraManager.cpp index cffc678a..cd9d3a22 100644 --- a/modules/camera/src/vkcv/camera/CameraManager.cpp +++ b/modules/camera/src/vkcv/camera/CameraManager.cpp @@ -94,6 +94,9 @@ namespace vkcv{ } Camera& CameraManager::getCamera(uint32_t cameraIndex) { + if (cameraIndex < 0 || cameraIndex > m_cameras.size() - 1) { + throw std::runtime_error("Invalid camera index."); + } return m_cameras[cameraIndex]; } @@ -101,8 +104,10 @@ namespace vkcv{ return m_cameras[getActiveCameraIndex()]; } - void CameraManager::setActiveCamera(uint32_t cameraIndex) { + if (cameraIndex < 0 || cameraIndex > m_cameras.size() - 1) { + throw std::runtime_error("Invalid camera index."); + } m_activeCameraIndex = cameraIndex; } @@ -111,10 +116,16 @@ namespace vkcv{ } void CameraManager::setControllerType(uint32_t cameraIndex, ControllerType controllerType) { + if (cameraIndex < 0 || cameraIndex > m_cameras.size() - 1) { + throw std::runtime_error("Invalid camera index."); + } m_cameraControllerTypes[cameraIndex] = controllerType; } ControllerType CameraManager::getControllerType(uint32_t cameraIndex) { + if (cameraIndex < 0 || cameraIndex > m_cameras.size() - 1) { + throw std::runtime_error("Invalid camera index."); + } return m_cameraControllerTypes[cameraIndex]; } -- GitLab