hpp-pinocchio 5.0.0
Wrapping of the kinematic/dynamic chain Pinocchio for HPP.
Loading...
Searching...
No Matches
hpp::pinocchio::DeviceSync Class Reference

#include <hpp/pinocchio/device-sync.hh>

Inheritance diagram for hpp::pinocchio::DeviceSync:
Collaboration diagram for hpp::pinocchio::DeviceSync:

Public Member Functions

 DeviceSync (const DevicePtr_t &device, bool lock=true)
 
virtual ~DeviceSync ()
 
DeviceDatad ()
 
DeviceData const & d () const
 
void lock ()
 Lock the current DeviceData.
 
bool isLocked () const
 Check if the current DeviceData is locked.
 
void unlock ()
 Unlock the current DeviceData.
 
- Public Member Functions inherited from hpp::pinocchio::AbstractDevice
ModelConstPtr_t modelPtr () const
 Access to pinocchio model.
 
ModelPtr_t modelPtr ()
 Access to pinocchio model.
 
const Modelmodel () const
 Access to pinocchio model.
 
Modelmodel ()
 Access to pinocchio model.
 
GeomModelConstPtr_t geomModelPtr () const
 Access to pinocchio geomModel.
 
GeomModelPtr_t geomModelPtr ()
 Access to pinocchio geomModel.
 
const GeomModelgeomModel () const
 Access to pinocchio geomModel.
 
GeomModelgeomModel ()
 Access to pinocchio geomModel.
 
DataConstPtr_t dataPtr () const
 Access to Pinocchio data/.
 
DataPtr_t dataPtr ()
 Access to Pinocchio data/.
 
const Datadata () const
 Access to Pinocchio data/.
 
Datadata ()
 Access to Pinocchio data/.
 
GeomDataConstPtr_t geomDataPtr () const
 Access to Pinocchio geomData/.
 
GeomDataPtr_t geomDataPtr ()
 Access to Pinocchio geomData/.
 
const GeomDatageomData () const
 Access to Pinocchio geomData/.
 
GeomDatageomData ()
 Access to Pinocchio geomData/.
 
const Configuration_tcurrentConfiguration () const
 Get current configuration.
 
virtual bool currentConfiguration (ConfigurationIn_t configuration)
 
const vector_tcurrentVelocity () const
 Get current velocity.
 
bool currentVelocity (vectorIn_t velocity)
 Set current velocity.
 
const vector_tcurrentAcceleration () const
 Get current acceleration.
 
bool currentAcceleration (vectorIn_t acceleration)
 Set current acceleration.
 
const value_typemass () const
 Get mass of robot.
 
const vector3_tpositionCenterOfMass () const
 Get position of center of mass.
 
const ComJacobian_tjacobianCenterOfMass () const
 Get Jacobian of center of mass with respect to configuration.
 
void controlComputation (const Computation_t &) HPP_PINOCCHIO_DEPRECATED
 
Computation_t computationFlag () const HPP_PINOCCHIO_DEPRECATED
 
void computeForwardKinematics ()
 Compute forward kinematics computing everything.
 
void computeForwardKinematics (int flag)
 
void computeFramesForwardKinematics ()
 
void updateGeometryPlacements ()
 Update the geometry placement to the currentConfiguration.
 

Additional Inherited Members

- Protected Member Functions inherited from hpp::pinocchio::AbstractDevice
 AbstractDevice ()
 
 AbstractDevice (const ModelPtr_t &m, const GeomModelPtr_t &gm)
 
- Protected Attributes inherited from hpp::pinocchio::AbstractDevice
ModelPtr_t model_
 
GeomModelPtr_t geomModel_
 

Detailed Description

A thread-safe access to a Device.

To ensure thread safety, one can do

// In some place of the code:
DevicePtr_t device = ...;
device->numberDeviceData (4);
// Acquires a lock on the device.
DeviceSync deviceSync (device);
deviceSync.currentConfiguration(q);
deviceSync.computeForwardKinematics(JOINT_POSITION | JACOBIAN);
JointPtr_t joint = ...;
joint->currentTransformation (deviceSync.d());
body->fcl (deviceSync.d());
body->getTransform (deviceSync.d());
// The lock is release when deviceSync is destroyed.
Definition device-sync.hh:212
shared_ptr< Device > DevicePtr_t
Definition fwd.hh:118
@ JACOBIAN
Definition device-data.hh:42
@ JOINT_POSITION
Definition device-data.hh:41
shared_ptr< Joint > JointPtr_t
Definition fwd.hh:123
shared_ptr< CollisionObject > CollisionObjectPtr_t
Definition fwd.hh:116

Constructor & Destructor Documentation

◆ DeviceSync()

hpp::pinocchio::DeviceSync::DeviceSync ( const DevicePtr_t device,
bool  lock = true 
)

Constructor

Parameters
deviceto lock
lockwhether to acquire the lock.

◆ ~DeviceSync()

virtual hpp::pinocchio::DeviceSync::~DeviceSync ( )
virtual

Destructor. The lock is released if necessary.

Member Function Documentation

◆ d() [1/2]

DeviceData & hpp::pinocchio::DeviceSync::d ( )
inlinevirtual

Accessor to the locked DeviceData.

Note
this asserts that this isLocked()

Implements hpp::pinocchio::AbstractDevice.

◆ d() [2/2]

DeviceData const & hpp::pinocchio::DeviceSync::d ( ) const
inlinevirtual

Const accessor to the locked DeviceData.

Note
this asserts that this isLocked()

Implements hpp::pinocchio::AbstractDevice.

◆ isLocked()

bool hpp::pinocchio::DeviceSync::isLocked ( ) const
inline

Check if the current DeviceData is locked.

◆ lock()

void hpp::pinocchio::DeviceSync::lock ( )

Lock the current DeviceData.

◆ unlock()

void hpp::pinocchio::DeviceSync::unlock ( )

Unlock the current DeviceData.


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