diff --git a/modules/camera/include/vkcv/camera/CameraManager.hpp b/modules/camera/include/vkcv/camera/CameraManager.hpp index 5dbaad43f4b16427dc76cbf45227bf0ee043f0bd..b7e1554bf8b07faf16ea841ff054a1a337f1fe12 100644 --- a/modules/camera/include/vkcv/camera/CameraManager.hpp +++ b/modules/camera/include/vkcv/camera/CameraManager.hpp @@ -105,39 +105,68 @@ namespace vkcv { ~CameraManager(); /** - * @brief Adds a new camera object to the #CameraManager. + * @brief Adds a new camera object to the #CameraManager. The camera is not binded to a controller type. * @return The index of the newly created camera object. */ int addCamera(); - // TODO: Add docu! + /** + * @brief Adds a new camera object to the #CameraManager and binds it to a camera controller object of specified + * @p controllerType. + * @param controllerType The type of the camera controller + * @return The index of the newly created camera object. + */ int addCamera(ControllerType controllerType); /** * @brief Gets the stored camera object located at @p cameraIndex. - * @param cameraIndex The index of the stored camera object. + * @param cameraIndex The camera index. * @return The camera object at @p cameraIndex. + * @throws std::runtime_error If @p cameraIndex is not a valid camera index. */ Camera& getCamera(uint32_t cameraIndex); - // TODO: Add docu! + /** + * @brief Gets the stored camera object set as the active camera. + * @return The active camera. + */ Camera& getActiveCamera(); - // TODO: Add docu! + /** + * @brief Sets the stored camera object located at @p cameraIndex as the active camera. + * @param cameraIndex The camera index. + * @throws std::runtime_error If @p cameraIndex is not a valid camera index. + */ void setActiveCamera(uint32_t cameraIndex); - - - // TODO: Add docu! + /** + * @brief Gets the index of the stored active camera object. + * @return The active camera index. + */ uint32_t getActiveCameraIndex(); - // TODO: Add docu! + /** + * @brief Binds a stored camera object located at @p cameraIndex to a camera controller of specified + * @p controllerType. + * @param cameraIndex The camera index. + * @param controllerType The type of the camera controller. + * @throws std::runtime_error If @p cameraIndex is not a valid camera index. + */ void setControllerType(uint32_t cameraIndex, ControllerType controllerType); - // TODO: Add docu! + /** + * @brief Gets the currently bound camera controller type of the stored camera object located at @p cameraIndex. + * @param cameraIndex The camera index. + * @return The type of the camera controller of the specified camera object. + * @throws std::runtime_error If @p cameraIndex is not a valid camera index. + */ ControllerType getControllerType(uint32_t cameraIndex); - // TODO: Add docu! + /** + * @brief Gets a camera controller object of specified @p controllerType. + * @param controllerType The type of the camera controller. + * @return The specified camera controller object. + */ CameraController& getControllerByType(ControllerType controllerType); /**