diff --git a/modules/camera/src/vkcv/camera/CameraManager.cpp b/modules/camera/src/vkcv/camera/CameraManager.cpp index cffc678a251c9a510c47f7ff0c8cb94e2965ae6e..cd9d3a22aa67364f152afd62b1acef0f5743992a 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]; }