pinocchio  3.7.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
 
Loading...
Searching...
No Matches
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 <pinocchio/visualizers/base-visualizer.hpp>

Collaboration diagram for BaseVisualizer:

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.
 
 BaseVisualizer (const Model &model, const GeometryModel &visual_model, const GeometryModel *collision_model=nullptr)
 Class constructor which will create internally-managed data objects.
 
virtual void clean ()
 Delete all objects from the scene.
 
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.
 
template<typename D >
void display (const Eigen::MatrixBase< D > &q)
 
virtual void enableCameraControl (bool)
 Enable/disable controlling the camera from keyboard and mouse.
 
virtual bool forceRedraw ()
 Override this in child class when the scene has to be redrawn. Useful for play().
 
bool hasCollisionModel () const
 
bool hasExternalData () const
 Whether the internal data pointers are borrowed (external), or owned.
 
virtual void initViewer ()
 Initialize the viewer.
 
virtual void loadViewerModel ()=0
 Load the Pinocchio model.
 
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.
 
virtual void rebuildData ()
 Re-build data objects. Required if the models were modified.
 
virtual void setCameraPose (const Eigen::Ref< const Matrix4 > &)
 Set the active camera 6D pose.
 
void setCameraPose (const SE3 &pose)
 Set the active camera 6D pose.
 
virtual void setCameraPosition (const Eigen::Ref< const Vector3 > &)
 Set the active camera position.
 
virtual void setCameraTarget (const Eigen::Ref< const Vector3 > &)
 Set the active camera target.
 
virtual void setCameraZoom (Scalar)
 Set camera zoom level; what this means depends on the implementation (FOV zoom or moving forwards).
 
GeometryDatavisualData ()
 
const GeometryDatavisualData () const
 
const GeometryModelvisualModel () const
 

Protected Member Functions

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

Protected Attributes

GeometryDatam_collisionData
 
GeometryModel constm_collisionModel
 
Datam_data
 
std::reference_wrapper< Model constm_model
 
bool m_ownedData
 
GeometryDatam_visualData
 
GeometryModel constm_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

typedef SE3::Matrix4 Matrix4

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

Constructor & Destructor Documentation

◆ BaseVisualizer() [1/2]

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.

◆ BaseVisualizer() [2/2]

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.

Member Function Documentation

◆ clean()

virtual void clean ( )
inlinevirtual

Delete all objects from the scene.

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

◆ collisionData() [1/2]

GeometryData & collisionData ( )
inline

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

◆ collisionData() [2/2]

const GeometryData & collisionData ( ) const
inline

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

◆ collisionModel()

const GeometryModel & collisionModel ( ) const
inline

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

◆ data() [1/2]

Data & data ( )
inline

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

◆ data() [2/2]

const Data & data ( ) const
inline

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

◆ display()

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

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

◆ displayPrecall()

virtual void displayPrecall ( )
inlineprotectedvirtual

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

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

◆ enableCameraControl()

virtual void enableCameraControl ( bool  )
inlinevirtual

Enable/disable controlling the camera from keyboard and mouse.

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

◆ forceRedraw()

virtual bool 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 hasCollisionModel ( ) const
inline

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

◆ hasExternalData()

bool 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 initViewer ( )
inlinevirtual

Initialize the viewer.

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

◆ model()

const Model & model ( ) const
inline

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

◆ setCameraPose() [1/2]

virtual void 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 setCameraPose ( const SE3 &  pose)
inline

Set the active camera 6D pose.

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

◆ setCameraPosition()

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

Set the active camera position.

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

◆ setCameraTarget()

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

Set the active camera target.

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

◆ setCameraZoom()

virtual void 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 & visualData ( )
inline

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

◆ visualData() [2/2]

const GeometryData & visualData ( ) const
inline

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

◆ visualModel()

const GeometryModel & visualModel ( ) const
inline

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

Member Data Documentation

◆ m_collisionData

GeometryData* m_collisionData
protected

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

◆ m_collisionModel

GeometryModel const* m_collisionModel
protected

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

◆ m_data

Data* m_data
protected

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

◆ m_model

std::reference_wrapper<Model const> m_model
protected

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

◆ m_ownedData

bool m_ownedData
protected

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

◆ m_visualData

GeometryData* m_visualData
protected

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

◆ m_visualModel

GeometryModel const* m_visualModel
protected

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


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