LinkData Class Reference

Helper class to store link data. More...

#include <ModelData.hh>

Inherits QObject.

Public Slots

void ShowCollisions (const bool _show)
 Show or hide collision visuals. More...
 
void ShowLinkFrame (const bool _show)
 Show or hide link frame visuals. More...
 
void ShowVisuals (const bool _show)
 Show or hide visual visuals. More...
 

Public Member Functions

 LinkData ()
 Constructor. More...
 
 ~LinkData ()
 Destructor. More...
 
void AddCollision (rendering::VisualPtr _collisionVis, const msgs::Collision *_msg=NULL)
 Add a collision to the link. More...
 
void AddVisual (rendering::VisualPtr _visual)
 Add a visual to the link. More...
 
LinkDataClone (const std::string &_newName)
 Clone the link data. More...
 
double ComputeVolume () const
 Computes the volume of the link. More...
 
rendering::VisualPtr LinkVisual () const
 Get the visual for the link. More...
 
void Load (sdf::ElementPtr _sdf)
 Load the link with data from SDF. More...
 
std::string Name () const
 Get the name of the link. More...
 
ignition::math::Pose3d Pose () const
 Get the pose of the link. More...
 
const std::map< std::string, ignition::math::Vector3d > & Scales () const
 Get the scale of all of the link's children. More...
 
void SetLinkVisual (const rendering::VisualPtr _visual)
 Set the visual for the link. More...
 
void SetName (const std::string &_name)
 Set the name of the link. More...
 
void SetPose (const ignition::math::Pose3d &_pose3d)
 Set the pose of the link. More...
 
void SetScales (const std::map< std::string, ignition::math::Vector3d > &_scales)
 Set the scales of the link. More...
 
void UpdateConfig ()
 Update the inspector widget if necessary. More...
 
void UpdateInspectorScale ()
 Update the scale of all the inspectors, making the necessary conversions to update inertial information. More...
 

Static Public Member Functions

static ignition::math::Vector3d ComputeMomentOfInertia (const msgs::Collision &_collision, const double _mass)
 Computes mass moment of inertia for a link. More...
 
static double ComputeVolume (const msgs::Collision &_collision)
 Computes the volume of a link. More...
 

Public Attributes

std::map< rendering::VisualPtr, msgs::Collision > collisions
 Collisions of the link. More...
 
std::vector< msgs::Collision * > collisionUpdateMsgs
 Msgs for updating collision visuals. More...
 
std::map< rendering::VisualPtr, msgs::Collision > deletedCollisions
 Deleted collisions of the link. More...
 
std::map< rendering::VisualPtr, msgs::Visual > deletedVisuals
 Deleted visuals of the link. More...
 
LinkInspectorinspector
 Inspector for configuring link properties. More...
 
rendering::LinkFrameVisualPtr linkFrameVis
 Link frame visual. More...
 
sdf::ElementPtr linkSDF
 SDF representing the link data. More...
 
bool nested
 Flag set to true if this is a link of a nested model. More...
 
std::map< std::string, ignition::math::Vector3d > scales
 Scale of all collisions and visuals in the link, indexed by their visual's names. More...
 
bool showCollisions = true
 True if all collisions are currently visible, false otherwise. More...
 
bool showLinkFrame = true
 True if all link frames are currently visible, false otherwise. More...
 
bool showVisuals = true
 True if all visuals are currently visible, false otherwise. More...
 
std::map< rendering::VisualPtr, msgs::Visual > visuals
 Visuals of the link. More...
 
std::vector< msgs::Visual * > visualUpdateMsgs
 Msgs for updating visuals. More...
 

Detailed Description

Helper class to store link data.

Constructor & Destructor Documentation

◆ LinkData()

LinkData ( )

Constructor.

◆ ~LinkData()

~LinkData ( )

Destructor.

Member Function Documentation

◆ AddCollision()

void AddCollision ( rendering::VisualPtr  _collisionVis,
const msgs::Collision *  _msg = NULL 
)

Add a collision to the link.

Parameters
[in]_collisionVisVisual representing the collision.
[in]_msgOptional message containing collision params.

◆ AddVisual()

void AddVisual ( rendering::VisualPtr  _visual)

Add a visual to the link.

Parameters
[in]_visualVisual to be added.

◆ Clone()

LinkData* Clone ( const std::string &  _newName)

Clone the link data.

Parameters
[in]_newNameName to give to the cloned link.
Returns
A clone of this link data.

◆ ComputeMomentOfInertia()

static ignition::math::Vector3d ComputeMomentOfInertia ( const msgs::Collision &  _collision,
const double  _mass 
)
static

Computes mass moment of inertia for a link.

Parameters
[in]_collisionA collision message.
[in]_massThe mass of the link.
Returns
Vector of principal moments of inertia.

◆ ComputeVolume() [1/2]

static double ComputeVolume ( const msgs::Collision &  _collision)
static

Computes the volume of a link.

Parameters
[in]_collisionA collision message.
Returns
The computed volume.

◆ ComputeVolume() [2/2]

double ComputeVolume ( ) const

Computes the volume of the link.

Returns
The volume.

◆ LinkVisual()

rendering::VisualPtr LinkVisual ( ) const

Get the visual for the link.

Returns
Visual for the link.

◆ Load()

void Load ( sdf::ElementPtr  _sdf)

Load the link with data from SDF.

Parameters
[in]_sdfLink SDF element.

◆ Name()

std::string Name ( ) const

Get the name of the link.

Returns
Name of link.

◆ Pose()

ignition::math::Pose3d Pose ( ) const

Get the pose of the link.

Returns
Pose of link.

◆ Scales()

const std::map<std::string, ignition::math::Vector3d>& Scales ( ) const

Get the scale of all of the link's children.

Returns
Scales of visuals and collisions.

◆ SetLinkVisual()

void SetLinkVisual ( const rendering::VisualPtr  _visual)

Set the visual for the link.

Parameters
[in]_visualVisual for the link.

◆ SetName()

void SetName ( const std::string &  _name)

Set the name of the link.

Parameters
[in]_nameName of link.

◆ SetPose()

void SetPose ( const ignition::math::Pose3d &  _pose3d)

Set the pose of the link.

Parameters
[in]_posePose of link.

◆ SetScales()

void SetScales ( const std::map< std::string, ignition::math::Vector3d > &  _scales)

Set the scales of the link.

This function calls UpdateInspectorScale.

See also
UpdateInspectorScale
Parameters
[in]_scaleScales of all of the link's children.

◆ ShowCollisions

void ShowCollisions ( const bool  _show)
slot

Show or hide collision visuals.

Parameters
[in]_showTrue to show, false to hide.

◆ ShowLinkFrame

void ShowLinkFrame ( const bool  _show)
slot

Show or hide link frame visuals.

Parameters
[in]_showTrue to show, false to hide.

◆ ShowVisuals

void ShowVisuals ( const bool  _show)
slot

Show or hide visual visuals.

Parameters
[in]_showTrue to show, false to hide.

◆ UpdateConfig()

void UpdateConfig ( )

Update the inspector widget if necessary.

◆ UpdateInspectorScale()

void UpdateInspectorScale ( )

Update the scale of all the inspectors, making the necessary conversions to update inertial information.

The scale is updated based on the current geometry of 3D visuals. This does not alter the internal scale value returned by Scale().

See also
SetScale

Member Data Documentation

◆ collisions

std::map<rendering::VisualPtr, msgs::Collision> collisions

Collisions of the link.

◆ collisionUpdateMsgs

std::vector<msgs::Collision *> collisionUpdateMsgs

Msgs for updating collision visuals.

◆ deletedCollisions

std::map<rendering::VisualPtr, msgs::Collision> deletedCollisions

Deleted collisions of the link.

◆ deletedVisuals

std::map<rendering::VisualPtr, msgs::Visual> deletedVisuals

Deleted visuals of the link.

◆ inspector

LinkInspector* inspector

Inspector for configuring link properties.

◆ linkFrameVis

Link frame visual.

◆ linkSDF

sdf::ElementPtr linkSDF

SDF representing the link data.

◆ nested

bool nested

Flag set to true if this is a link of a nested model.

◆ scales

std::map<std::string, ignition::math::Vector3d> scales

Scale of all collisions and visuals in the link, indexed by their visual's names.

◆ showCollisions

bool showCollisions = true

True if all collisions are currently visible, false otherwise.

◆ showLinkFrame

bool showLinkFrame = true

True if all link frames are currently visible, false otherwise.

◆ showVisuals

bool showVisuals = true

True if all visuals are currently visible, false otherwise.

◆ visuals

std::map<rendering::VisualPtr, msgs::Visual> visuals

Visuals of the link.

◆ visualUpdateMsgs

std::vector<msgs::Visual *> visualUpdateMsgs

Msgs for updating visuals.


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