candlewick 0.6.0
A tiny cross-platform renderer based on SDL3
Loading...
Searching...
No Matches
candlewick::multibody::Visualizer Class Referencefinal

A Pinocchio robot visualizer. The display() function will perform the draw calls. More...

#include <candlewick/multibody/Visualizer.h>

Inheritance diagram for candlewick::multibody::Visualizer:

Classes

struct  Config
 
struct  EnvStatus
 

Public Member Functions

void defaultGuiCallback ()
 Default GUI callback for the Visualizer; provide your own callback to the Visualizer constructor to change this behaviour.
 
void resetCamera ()
 
void loadViewerModel () override
 
 Visualizer (const Config &config, const pin::Model &model, const pin::GeometryModel &visual_model, GuiSystem::GuiBehavior gui_callback)
 
 Visualizer (const Config &config, const pin::Model &model, const pin::GeometryModel &visual_model, pin::Data &data, pin::GeometryData &visual_data, GuiSystem::GuiBehavior callback)
 
 Visualizer (const Config &config, const pin::Model &model, const pin::GeometryModel &visual_model)
 
 Visualizer (const Config &config, const pin::Model &model, const pin::GeometryModel &visual_model, pin::Data &data, pin::GeometryData &visual_data)
 
 ~Visualizer () override
 
const Devicedevice () const
 
void setCameraTarget (const Eigen::Ref< const Vector3 > &target) override
 
void setCameraPosition (const Eigen::Ref< const Vector3 > &position) override
 
void setCameraPose (const Eigen::Ref< const Matrix4 > &pose) override
 
void enableCameraControl (bool v) override
 
void processEvents ()
 
bool shouldExit () const noexcept
 
void takeScreenshot (std::string_view filename)
 
void startRecording (std::string_view filename)
 
void stopRecording ()
 
void addFrameViz (pin::FrameIndex id, bool show_velocity=true)
 Add visualization for a given frame.
 
void removeFramesViz ()
 Remove all frame visualizations.
 
void clean () override
 Clear objects.
 

Public Attributes

entt::registry registry
 
RenderContext renderer
 
GuiSystem guiSystem
 
RobotScene robotScene
 
DebugScene debugScene
 
CylindricalCamera controller
 
CameraControlParams cameraParams
 
EnvStatus envStatus
 
AABB worldSceneBounds
 

Static Public Attributes

static constexpr Radf DEFAULT_FOV = 55.0_degf
 

Detailed Description

A Pinocchio robot visualizer. The display() function will perform the draw calls.

This visualizer is synchronous. The window is only updated when display() is called.

Constructor & Destructor Documentation

◆ Visualizer() [1/4]

candlewick::multibody::Visualizer::Visualizer ( const Config & config,
const pin::Model & model,
const pin::GeometryModel & visual_model,
GuiSystem::GuiBehavior gui_callback )

◆ Visualizer() [2/4]

candlewick::multibody::Visualizer::Visualizer ( const Config & config,
const pin::Model & model,
const pin::GeometryModel & visual_model,
pin::Data & data,
pin::GeometryData & visual_data,
GuiSystem::GuiBehavior callback )

◆ Visualizer() [3/4]

candlewick::multibody::Visualizer::Visualizer ( const Config & config,
const pin::Model & model,
const pin::GeometryModel & visual_model )
inline

◆ Visualizer() [4/4]

candlewick::multibody::Visualizer::Visualizer ( const Config & config,
const pin::Model & model,
const pin::GeometryModel & visual_model,
pin::Data & data,
pin::GeometryData & visual_data )
inline

◆ ~Visualizer()

candlewick::multibody::Visualizer::~Visualizer ( )
override

Member Function Documentation

◆ addFrameViz()

void candlewick::multibody::Visualizer::addFrameViz ( pin::FrameIndex id,
bool show_velocity = true )

Add visualization for a given frame.

Parameters
idFrame index
show_velocityWhether to show frame velocity (as an arrow)
Note
For the velocity to show up, first-order pinocchio::forwardKinematics() must be called with the joint velocity passed in. Since display() with the joint configuration argument q calls zeroth-order forward kinematics internally, you should call first-order forward kinematics, then display() without arguments instead.

◆ clean()

void candlewick::multibody::Visualizer::clean ( )
inlineoverride

Clear objects.

◆ defaultGuiCallback()

void candlewick::multibody::Visualizer::defaultGuiCallback ( )

Default GUI callback for the Visualizer; provide your own callback to the Visualizer constructor to change this behaviour.

◆ device()

const Device & candlewick::multibody::Visualizer::device ( ) const
inline

◆ enableCameraControl()

void candlewick::multibody::Visualizer::enableCameraControl ( bool v)
inlineoverride

◆ loadViewerModel()

void candlewick::multibody::Visualizer::loadViewerModel ( )
override

◆ processEvents()

void candlewick::multibody::Visualizer::processEvents ( )

◆ removeFramesViz()

void candlewick::multibody::Visualizer::removeFramesViz ( )
inline

Remove all frame visualizations.

◆ resetCamera()

void candlewick::multibody::Visualizer::resetCamera ( )

◆ setCameraPose()

void candlewick::multibody::Visualizer::setCameraPose ( const Eigen::Ref< const Matrix4 > & pose)
override

◆ setCameraPosition()

void candlewick::multibody::Visualizer::setCameraPosition ( const Eigen::Ref< const Vector3 > & position)
override

◆ setCameraTarget()

void candlewick::multibody::Visualizer::setCameraTarget ( const Eigen::Ref< const Vector3 > & target)
override

◆ shouldExit()

bool candlewick::multibody::Visualizer::shouldExit ( ) const
inlinenodiscardnoexcept

◆ startRecording()

void candlewick::multibody::Visualizer::startRecording ( std::string_view filename)

◆ stopRecording()

void candlewick::multibody::Visualizer::stopRecording ( )

◆ takeScreenshot()

void candlewick::multibody::Visualizer::takeScreenshot ( std::string_view filename)

Member Data Documentation

◆ cameraParams

CameraControlParams candlewick::multibody::Visualizer::cameraParams

◆ controller

CylindricalCamera candlewick::multibody::Visualizer::controller

◆ debugScene

DebugScene candlewick::multibody::Visualizer::debugScene

◆ DEFAULT_FOV

Radf candlewick::multibody::Visualizer::DEFAULT_FOV = 55.0_degf
staticconstexpr

◆ envStatus

EnvStatus candlewick::multibody::Visualizer::envStatus

◆ guiSystem

GuiSystem candlewick::multibody::Visualizer::guiSystem

◆ registry

entt::registry candlewick::multibody::Visualizer::registry

◆ renderer

RenderContext candlewick::multibody::Visualizer::renderer

◆ robotScene

RobotScene candlewick::multibody::Visualizer::robotScene

◆ worldSceneBounds

AABB candlewick::multibody::Visualizer::worldSceneBounds

The documentation for this class was generated from the following file: