14#include <pinocchio/visualizers/base-visualizer.hpp>
15#include <SDL3/SDL_init.h>
16#include <entt/entity/registry.hpp>
21 using pinocchio::visualizers::BaseVisualizer;
22 using pinocchio::visualizers::ConstVectorRef;
23 using pinocchio::visualizers::Vector3;
24 using pinocchio::visualizers::VectorXs;
52 bool m_cameraControl =
true;
53 bool m_shouldExit =
false;
54 entt::entity m_plane, m_grid, m_triad;
55 std::string m_currentScreenshotFilename{};
56 std::string m_currentVideoFilename{};
60 void displayPrecall()
override {}
62 void displayImpl()
override;
75 using BaseVisualizer::setCameraPose;
99 const pin::GeometryModel &visual_model,
103 const pin::GeometryModel &visual_model)
119 [[nodiscard]]
bool shouldExit() const noexcept {
return m_shouldExit; }
Scene for organizing debug entities and render systems.
Definition DebugScene.h:42
Definition GuiSystem.h:11
std::function< void(const Renderer &)> GuiBehavior
Definition GuiSystem.h:16
A render system for Pinocchio robot geometries using Pinocchio.
Definition RobotScene.h:50
void clean() override
Clear objects.
Definition Visualizer.h:128
void startRecording(std::string_view filename)
DebugScene debugScene
Definition Visualizer.h:80
bool shouldExit() const noexcept
Definition Visualizer.h:119
RobotScene robotScene
Definition Visualizer.h:79
void defaultGuiCallback()
Default GUI callback for the Visualizer; provide your own callback to the Visualizer constructor to c...
CameraControlParams cameraParams
Definition Visualizer.h:82
void setCameraTarget(const Eigen::Ref< const Vector3 > &target) override
Visualizer(const Config &config, const pin::Model &model, const pin::GeometryModel &visual_model)
Definition Visualizer.h:102
entt::registry registry
Definition Visualizer.h:76
CylindricalCamera controller
Definition Visualizer.h:81
EnvStatus envStatus
Definition Visualizer.h:83
Visualizer(const Config &config, const pin::Model &model, const pin::GeometryModel &visual_model, GuiSystem::GuiBehavior gui_callback)
static constexpr Radf DEFAULT_FOV
Definition Visualizer.h:67
void takeScreenshot(std::string_view filename)
Renderer renderer
Definition Visualizer.h:77
void setCameraPose(const Eigen::Ref< const Matrix4 > &pose) override
void setCameraPosition(const Eigen::Ref< const Vector3 > &position) override
GuiSystem guiSystem
Definition Visualizer.h:78
void enableCameraControl(bool v) override
Definition Visualizer.h:115
void loadViewerModel() override
Rad< float > Radf
Definition math_types.h:125
Support for the Pinocchio rigid-body algorithms library and the Coal collision detection library.
Definition Components.h:5
void guiAddCameraParams(CylindricalCamera &controller, CameraControlParams ¶ms)
Definition CameraControls.h:68
RAII wrapper for SDL_GPUDevice.
Definition Device.h:17
The Renderer class provides a rendering context for a graphical application.
Definition Renderer.h:20
Definition Visualizer.h:37
SDL_MouseButtonFlags panButton
Definition Visualizer.h:38
Definition Visualizer.h:29
struct candlewick::multibody::CameraControlParams::MouseConfig mouseButtons
float localRotSensitivity
Definition Visualizer.h:33
float panSensitivity
Definition Visualizer.h:31
float zoomSensitivity
Definition Visualizer.h:32
float rotSensitivity
Definition Visualizer.h:30
bool yInvert
Definition Visualizer.h:34
Definition Visualizer.h:85
Uint32 height
Definition Visualizer.h:87
Uint32 width
Definition Visualizer.h:86
SDL_GPUTextureFormat depth_stencil_format
Definition Visualizer.h:88
Definition Visualizer.h:69
bool show_plane
Definition Visualizer.h:72
bool show_our_about
Definition Visualizer.h:70
bool show_imgui_about
Definition Visualizer.h:71