Caller-owned six-degree free-camera state ported from Pcg FreeCamera. 更多...
#include <PcgFreeCamera.h>
Public 成员函数 | |
| Result< void > | configure (bool enabled, bool lockCursor, bool holdRight, float lookSpeed, float moveSpeed, float sprintSpeed, bool scrollIncrease, float increase, float roll) |
| Configure capture and movement settings atomically. | |
| Result< void > | capture (graphics::Camera3D *camera) |
| Capture input and initialize pose from a live camera. | |
| void | release () noexcept |
| Release input capture. | |
| Result< void > | update (graphics::Camera3D *camera, const PcgFreeCameraInput &input, float dt) |
| Process one input snapshot and update the live camera. | |
| Result< void > | setRoll (float roll) |
| Change roll and immediately update orientation on the next frame. | |
| bool | getCaptured () const noexcept |
| Return capture state for cursor policy. | |
| float | getSprintSpeed () const noexcept |
| Return current sprint speed after scroll changes. | |
| float | getYaw () const noexcept |
| Return current yaw in degrees. | |
| float | getPitch () const noexcept |
| Return current pitch in degrees. | |
| float | getRoll () const noexcept |
| Return configured roll in degrees. | |
详细描述
Caller-owned six-degree free-camera state ported from Pcg FreeCamera.
在文件 PcgFreeCamera.h 第 5 行定义.
成员函数说明
◆ capture()
| Result< void > eve::camera::PcgFreeCamera::capture | ( | graphics::Camera3D * | camera | ) |
Capture input and initialize pose from a live camera.
在文件 PcgFreeCamera.cpp 第 10 行定义.
引用了 c, dx, dy, dz, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument , 以及 eve::Result< T >::success().
被这些函数引用 update().
◆ configure()
| Result< void > eve::camera::PcgFreeCamera::configure | ( | bool | enabled, |
| bool | lockCursor, | ||
| bool | holdRight, | ||
| float | lookSpeed, | ||
| float | moveSpeed, | ||
| float | sprintSpeed, | ||
| bool | scrollIncrease, | ||
| float | increase, | ||
| float | roll | ||
| ) |
Configure capture and movement settings atomically.
在文件 PcgFreeCamera.cpp 第 9 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), finite, h, eve::InvalidArgument, roll , 以及 eve::Result< T >::success().
◆ getCaptured()
|
inlinenoexcept |
Return capture state for cursor policy.
在文件 PcgFreeCamera.h 第 13 行定义.
◆ getPitch()
|
inlinenoexcept |
Return current pitch in degrees.
在文件 PcgFreeCamera.h 第 16 行定义.
◆ getRoll()
|
inlinenoexcept |
Return configured roll in degrees.
在文件 PcgFreeCamera.h 第 17 行定义.
◆ getSprintSpeed()
|
inlinenoexcept |
Return current sprint speed after scroll changes.
在文件 PcgFreeCamera.h 第 14 行定义.
◆ getYaw()
|
inlinenoexcept |
Return current yaw in degrees.
在文件 PcgFreeCamera.h 第 15 行定义.
◆ release()
|
inlinenoexcept |
Release input capture.
在文件 PcgFreeCamera.h 第 10 行定义.
◆ setRoll()
| Result< void > eve::camera::PcgFreeCamera::setRoll | ( | float | roll | ) |
Change roll and immediately update orientation on the next frame.
在文件 PcgFreeCamera.cpp 第 11 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), finite, eve::InvalidArgument, r , 以及 eve::Result< T >::success().
◆ update()
| Result< void > eve::camera::PcgFreeCamera::update | ( | graphics::Camera3D * | camera, |
| const PcgFreeCameraInput & | input, | ||
| float | dt | ||
| ) |
Process one input snapshot and update the live camera.
在文件 PcgFreeCamera.cpp 第 12 行定义.
引用了 c, capture(), eve::Diagnostic::error(), eve::camera::PcgFreeCameraInput::escapePressed, eye, f, eve::Result< T >::failure(), finite, eve::camera::PcgFreeCameraInput::focused, eve::camera::PcgFreeCameraInput::forward, eve::InvalidArgument, eve::camera::PcgFreeCameraInput::leftPressed, eve::camera::PcgFreeCameraInput::mouseX, eve::camera::PcgFreeCameraInput::mouseY, p, r, eve::camera::PcgFreeCameraInput::right, right, eve::camera::PcgFreeCameraInput::rightPressed, eve::camera::PcgFreeCameraInput::rightReleased, eve::camera::PcgFreeCameraInput::scroll, eve::camera::PcgFreeCameraInput::sprint, eve::Result< T >::success(), eve::camera::PcgFreeCameraInput::up, up , 以及 y.
该类的文档由以下文件生成:
- src/modules/camera/PcgFreeCamera.h
- src/modules/camera/PcgFreeCamera.cpp