Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
pinocchio::visualizers::BaseVisualizer Class Referenceabstract

A base class for defining visualizers for Pinocchio in C++. This provides basic building blocks (a base constructor, data members, getters for the models). More...

#include <base-visualizer.hpp>

Inheritance diagram for pinocchio::visualizers::BaseVisualizer:
Inheritance graph
[legend]

Public Types

typedef SE3::Matrix4 Matrix4
 

Public Member Functions

 BaseVisualizer (const Model &model, const GeometryModel &visual_model, const GeometryModel *collision_model, Data &data, GeometryData &visual_data, GeometryData *collision_data)
 Class constructor for borrowing external data. More...
 
 BaseVisualizer (const Model &model, const GeometryModel &visual_model, const GeometryModel *collision_model=nullptr)
 Class constructor which will create internally-managed data objects. More...
 
virtual void clean ()
 Delete all objects from the scene. More...
 
GeometryDatacollisionData ()
 
const GeometryDatacollisionData () const
 
const GeometryModelcollisionModel () const
 
Datadata ()
 
const Datadata () const
 
virtual void display (const boost::optional< ConstVectorRef > &q=boost::none)
 Display configuration q (if an actual value is given) or update the Pinocchio frames. More...
 
template<typename D >
void display (const Eigen::MatrixBase< D > &q)
 Display configuration q (if an actual value is given) or update the Pinocchio frames. More...
 
virtual void enableCameraControl (bool)
 Enable/disable controlling the camera from keyboard and mouse. More...
 
virtual bool forceRedraw ()
 Override this in child class when the scene has to be redrawn. Useful for play(). More...
 
bool hasCollisionModel () const
 
bool hasExternalData () const
 Whether the internal data pointers are borrowed (external), or owned. More...
 
virtual void initViewer ()
 Initialize the viewer. More...
 
virtual void loadViewerModel ()=0
 Load the Pinocchio model. More...
 
const Modelmodel () const
 
void play (const ConstMatrixRef &qs, Scalar dt)
 
virtual void play (const std::vector< ConstVectorRef > &qs, Scalar dt)
 Play an entire trajectory, waiting for time dt between each keyframe. More...
 
virtual void rebuildData ()
 Re-build data objects. Required if the models were modified. More...
 
virtual void setCameraPose (const Eigen::Ref< const Matrix4 > &)
 Set the active camera 6D pose. More...
 
void setCameraPose (const SE3 &pose)
 Set the active camera 6D pose. More...
 
virtual void setCameraPosition (const Eigen::Ref< const Vector3 > &)
 Set the active camera position. More...
 
virtual void setCameraTarget (const Eigen::Ref< const Vector3 > &)
 Set the active camera target. More...
 
virtual void setCameraZoom (Scalar)
 Set camera zoom level; what this means depends on the implementation (FOV zoom or moving forwards). More...
 
GeometryDatavisualData ()
 
const GeometryDatavisualData () const
 
const GeometryModelvisualModel () const
 
virtual ~BaseVisualizer ()
 

Protected Member Functions

void destroyData ()
 
virtual void displayImpl ()=0
 
virtual void displayPrecall ()
 This method is called at the beginning of display(). More...
 

Protected Attributes

GeometryDatam_collisionData
 
const GeometryModelm_collisionModel
 
Datam_data
 
std::reference_wrapper< Model const > m_model
 
bool m_ownedData
 
GeometryDatam_visualData
 
const GeometryModelm_visualModel
 

Detailed Description

A base class for defining visualizers for Pinocchio in C++. This provides basic building blocks (a base constructor, data members, getters for the models).

The base API assumes that the visualizer is not the owner of the underlying Pinocchio multibody, visual or collision models. Their lifetimes should be managed by the application context itself.

Remarks
C++ port of the BaseVisualizer abstract class in Pinocchio's Python bindings.

Definition at line 34 of file base-visualizer.hpp.

Member Typedef Documentation

◆ Matrix4

Definition at line 37 of file base-visualizer.hpp.

Constructor & Destructor Documentation

◆ BaseVisualizer() [1/2]

pinocchio::visualizers::BaseVisualizer::BaseVisualizer ( const Model model,
const GeometryModel visual_model,
const GeometryModel collision_model,
Data data,
GeometryData visual_data,
GeometryData collision_data 
)

Class constructor for borrowing external data.

Parameters
modelReference to Pinocchio Model class.
visual_modelReference to visual GeometryModel.
collision_modelPointer to collision model. Pass nullptr if no collision model is to be provided.
dataReference to Data object. The visualizer will store an internal reference as a pointer.
visual_dataReference to visual (VISUAL) GeometryData object. The visualizer will store an internal reference as a pointer.
collision_dataPointer to collision (COLLISION) GeometryData object. The visualizer will store this pointer internally as a reference.
Remarks
This constructor throws if a collision_model is provided with no collision_data. If the reverse happens, then the collision GeometryData is simply ignored.

Definition at line 18 of file base-visualizer.cpp.

◆ BaseVisualizer() [2/2]

pinocchio::visualizers::BaseVisualizer::BaseVisualizer ( const Model model,
const GeometryModel visual_model,
const GeometryModel collision_model = nullptr 
)

Class constructor which will create internally-managed data objects.

Parameters
modelReference to Pinocchio Model class.
visual_modelReference to visual GeometryModel.
collision_modelPointer to collision model. Pass nullptr if no collision model is to be provided.

Definition at line 45 of file base-visualizer.cpp.

◆ ~BaseVisualizer()

pinocchio::visualizers::BaseVisualizer::~BaseVisualizer ( )
virtual

Definition at line 61 of file base-visualizer.cpp.

Member Function Documentation

◆ clean()

virtual void pinocchio::visualizers::BaseVisualizer::clean ( )
inlinevirtual

Delete all objects from the scene.

Definition at line 143 of file base-visualizer.hpp.

◆ collisionData() [1/2]

GeometryData& pinocchio::visualizers::BaseVisualizer::collisionData ( )
inline

Definition at line 193 of file base-visualizer.hpp.

◆ collisionData() [2/2]

const GeometryData& pinocchio::visualizers::BaseVisualizer::collisionData ( ) const
inline

Definition at line 200 of file base-visualizer.hpp.

◆ collisionModel()

const GeometryModel& pinocchio::visualizers::BaseVisualizer::collisionModel ( ) const
inline

Definition at line 157 of file base-visualizer.hpp.

◆ data() [1/2]

Data& pinocchio::visualizers::BaseVisualizer::data ( )
inline

Definition at line 175 of file base-visualizer.hpp.

◆ data() [2/2]

const Data& pinocchio::visualizers::BaseVisualizer::data ( ) const
inline

Definition at line 179 of file base-visualizer.hpp.

◆ destroyData()

void pinocchio::visualizers::BaseVisualizer::destroyData ( )
protected

Definition at line 66 of file base-visualizer.cpp.

◆ display() [1/2]

void pinocchio::visualizers::BaseVisualizer::display ( const boost::optional< ConstVectorRef > &  q = boost::none)
virtual

Display configuration q (if an actual value is given) or update the Pinocchio frames.

Definition at line 93 of file base-visualizer.cpp.

◆ display() [2/2]

template<typename D >
void pinocchio::visualizers::BaseVisualizer::display ( const Eigen::MatrixBase< D > &  q)
inline

Display configuration q (if an actual value is given) or update the Pinocchio frames.

Definition at line 91 of file base-visualizer.hpp.

◆ displayImpl()

virtual void pinocchio::visualizers::BaseVisualizer::displayImpl ( )
protectedpure virtual

Implemented in TestViz.

◆ displayPrecall()

virtual void pinocchio::visualizers::BaseVisualizer::displayPrecall ( )
inlineprotectedvirtual

This method is called at the beginning of display().

Definition at line 218 of file base-visualizer.hpp.

◆ enableCameraControl()

virtual void pinocchio::visualizers::BaseVisualizer::enableCameraControl ( bool  )
inlinevirtual

Enable/disable controlling the camera from keyboard and mouse.

Definition at line 138 of file base-visualizer.hpp.

◆ forceRedraw()

virtual bool pinocchio::visualizers::BaseVisualizer::forceRedraw ( )
inlinevirtual

Override this in child class when the scene has to be redrawn. Useful for play().

Definition at line 105 of file base-visualizer.hpp.

◆ hasCollisionModel()

bool pinocchio::visualizers::BaseVisualizer::hasCollisionModel ( ) const
inline

Definition at line 164 of file base-visualizer.hpp.

◆ hasExternalData()

bool pinocchio::visualizers::BaseVisualizer::hasExternalData ( ) const
inline

Whether the internal data pointers are borrowed (external), or owned.

Definition at line 170 of file base-visualizer.hpp.

◆ initViewer()

virtual void pinocchio::visualizers::BaseVisualizer::initViewer ( )
inlinevirtual

Initialize the viewer.

Definition at line 75 of file base-visualizer.hpp.

◆ loadViewerModel()

virtual void pinocchio::visualizers::BaseVisualizer::loadViewerModel ( )
pure virtual

Load the Pinocchio model.

Implemented in TestViz.

◆ model()

const Model& pinocchio::visualizers::BaseVisualizer::model ( ) const
inline

Definition at line 147 of file base-visualizer.hpp.

◆ play() [1/2]

void pinocchio::visualizers::BaseVisualizer::play ( const ConstMatrixRef qs,
Scalar  dt 
)

Definition at line 124 of file base-visualizer.cpp.

◆ play() [2/2]

void pinocchio::visualizers::BaseVisualizer::play ( const std::vector< ConstVectorRef > &  qs,
Scalar  dt 
)
virtual

Play an entire trajectory, waiting for time dt between each keyframe.

Definition at line 108 of file base-visualizer.cpp.

◆ rebuildData()

void pinocchio::visualizers::BaseVisualizer::rebuildData ( )
virtual

Re-build data objects. Required if the models were modified.

Definition at line 82 of file base-visualizer.cpp.

◆ setCameraPose() [1/2]

virtual void pinocchio::visualizers::BaseVisualizer::setCameraPose ( const Eigen::Ref< const Matrix4 > &  )
inlinevirtual

Set the active camera 6D pose.

Definition at line 121 of file base-visualizer.hpp.

◆ setCameraPose() [2/2]

void pinocchio::visualizers::BaseVisualizer::setCameraPose ( const SE3 pose)
inline

Set the active camera 6D pose.

Definition at line 126 of file base-visualizer.hpp.

◆ setCameraPosition()

virtual void pinocchio::visualizers::BaseVisualizer::setCameraPosition ( const Eigen::Ref< const Vector3 > &  )
inlinevirtual

Set the active camera position.

Definition at line 116 of file base-visualizer.hpp.

◆ setCameraTarget()

virtual void pinocchio::visualizers::BaseVisualizer::setCameraTarget ( const Eigen::Ref< const Vector3 > &  )
inlinevirtual

Set the active camera target.

Definition at line 111 of file base-visualizer.hpp.

◆ setCameraZoom()

virtual void pinocchio::visualizers::BaseVisualizer::setCameraZoom ( Scalar  )
inlinevirtual

Set camera zoom level; what this means depends on the implementation (FOV zoom or moving forwards).

Definition at line 133 of file base-visualizer.hpp.

◆ visualData() [1/2]

GeometryData& pinocchio::visualizers::BaseVisualizer::visualData ( )
inline

Definition at line 184 of file base-visualizer.hpp.

◆ visualData() [2/2]

const GeometryData& pinocchio::visualizers::BaseVisualizer::visualData ( ) const
inline

Definition at line 188 of file base-visualizer.hpp.

◆ visualModel()

const GeometryModel& pinocchio::visualizers::BaseVisualizer::visualModel ( ) const
inline

Definition at line 152 of file base-visualizer.hpp.

Member Data Documentation

◆ m_collisionData

GeometryData* pinocchio::visualizers::BaseVisualizer::m_collisionData
protected

Definition at line 214 of file base-visualizer.hpp.

◆ m_collisionModel

const GeometryModel* pinocchio::visualizers::BaseVisualizer::m_collisionModel
protected

Definition at line 210 of file base-visualizer.hpp.

◆ m_data

Data* pinocchio::visualizers::BaseVisualizer::m_data
protected

Definition at line 212 of file base-visualizer.hpp.

◆ m_model

std::reference_wrapper<Model const> pinocchio::visualizers::BaseVisualizer::m_model
protected

Definition at line 208 of file base-visualizer.hpp.

◆ m_ownedData

bool pinocchio::visualizers::BaseVisualizer::m_ownedData
protected

Definition at line 215 of file base-visualizer.hpp.

◆ m_visualData

GeometryData* pinocchio::visualizers::BaseVisualizer::m_visualData
protected

Definition at line 213 of file base-visualizer.hpp.

◆ m_visualModel

const GeometryModel* pinocchio::visualizers::BaseVisualizer::m_visualModel
protected

Definition at line 209 of file base-visualizer.hpp.


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


pinocchio
Author(s):
autogenerated on Wed May 28 2025 02:41:26