##

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...
LinkData * | Clone (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...
LinkInspector * | inspector
| 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] | _collisionVis | Visual representing the collision.
  [in] | _msg | Optional message containing collision params.

## AddVisual()

void AddVisual | ( | rendering::VisualPtr | _visual | ) |

Add a visual to the link.

Parameters

  [in] | _visual | Visual to be added.

## Clone()

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

Clone the link data.

Parameters

  [in] | _newName | Name 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] | _collision | A collision message.
  [in] | _mass | The mass of the link.

Returns
  Vector of principal moments of inertia.

## ComputeVolume() [1/2]

double ComputeVolume | ( |  | ) | const

Computes the volume of the link.

Returns
  The volume.

## ComputeVolume() [2/2]

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

static

Computes the volume of a link.

Parameters

  [in] | _collision | A collision message.

Returns
  The computed 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] | _sdf | Link 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] | _visual | Visual for the link.

## SetName()

void SetName | ( | const std::string & | _name | ) |

Set the name of the link.

Parameters

  [in] | _name | Name of link.

## SetPose()

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

Set the pose of the link.

Parameters

  [in] | _pose | Pose 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] | _scale | Scales of all of the link's children.

## ShowCollisions

void ShowCollisions | ( | const bool | _show | ) |

slot

Show or hide collision visuals.

Parameters

  [in] | _show | True to show, false to hide.

## ShowLinkFrame

void ShowLinkFrame | ( | const bool | _show | ) |

slot

Show or hide link frame visuals.

Parameters

  [in] | _show | True to show, false to hide.

## ShowVisuals

void ShowVisuals | ( | const bool | _show | ) |

slot

Show or hide visual visuals.

Parameters

  [in] | _show | True 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

rendering::LinkFrameVisualPtr 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:

- ModelData.hh