##

ModelSnap Class Reference

A gui tool for snapping one model to another. More...

`#include <gui/Gui.hh>`

Inherits SingletonT< ModelSnap >.

## Public Member Functions

void | Clear ()
| Clear the model snapping tool. More...
void | Fini ()
| Clean up the model snap tool. More...
void | Init ()
| Initialize the model snapping tool. More...
void | OnMouseMoveEvent (const common::MouseEvent &_event)
| Process an object translate mouse move event. More...
void | OnMousePressEvent (const common::MouseEvent &_event)
| Process an object translate mouse press event. More...
void | OnMouseReleaseEvent (const common::MouseEvent &_event)
| Process an object translate mouse release event. More...
void | Reset ()
| Reset the model snapping tool. More...
void | Snap (const ignition::math::Triangle3d &_triangleSrc, const ignition::math::Triangle3d &_triangleDest, rendering::VisualPtr _visualSrc)
| Calculate the translation and rotation needed to snap the centroid of a mesh triangle of a visual to another, taking into account any pose offsets. More...

## Static Public Member Functions

static ModelSnap * | Instance ()
| Get an instance of the singleton. More...
static void | SnapTransform (const ignition::math::Triangle3d &_triangleSrc, const ignition::math::Triangle3d &_triangleDest, const ignition::math::Pose3d &_poseSrc, ignition::math::Vector3d &_trans, ignition::math::Quaterniond &_rot)
| Calculate the translation and rotation needed to snap the centroid of a mesh triangle of a visual to another, taking into account any pose offsets. More...

## Detailed Description

A gui tool for snapping one model to another.

## Member Function Documentation

## Clear()

void Clear | ( |  | ) |

Clear the model snapping tool.

This explicity cleans up the internal state of the singleton and prepares it for exit.

## Fini()

void Fini | ( |  | ) |

Clean up the model snap tool.

## Init()

void Init | ( |  | ) |

Initialize the model snapping tool.

## Instance()

static ModelSnap * Instance | ( |  | ) |

inline static inherited

Get an instance of the singleton.

## OnMouseMoveEvent()

void OnMouseMoveEvent | ( | const common::MouseEvent & | _event | ) |

Process an object translate mouse move event.

Parameters

  [in] | _event | Mouse event.

## OnMousePressEvent()

void OnMousePressEvent | ( | const common::MouseEvent & | _event | ) |

Process an object translate mouse press event.

Parameters

  [in] | _event | Mouse event.

## OnMouseReleaseEvent()

void OnMouseReleaseEvent | ( | const common::MouseEvent & | _event | ) |

Process an object translate mouse release event.

Parameters

  [in] | _event | Mouse event.

## Reset()

void Reset | ( |  | ) |

Reset the model snapping tool.

## Snap()

void Snap | ( | const ignition::math::Triangle3d & | _triangleSrc,
|  | const ignition::math::Triangle3d & | _triangleDest,
|  | rendering::VisualPtr | _visualSrc
| ) |  |

Calculate the translation and rotation needed to snap the centroid of a mesh triangle of a visual to another, taking into account any pose offsets.

Parameters

  [in] | _triangleSrc | vertices of target triangle being snapped to.
  [in] | _triangleDest | vertices of the other triangle that will be moved.
  [in] | _visualSrc | Visual being moved by the snap action.

## SnapTransform()

static void SnapTransform | ( | const ignition::math::Triangle3d & | _triangleSrc,
|  | const ignition::math::Triangle3d & | _triangleDest,
|  | const ignition::math::Pose3d & | _poseSrc,
|  | ignition::math::Vector3d & | _trans,
|  | ignition::math::Quaterniond & | _rot
| ) |  |

static

Calculate the translation and rotation needed to snap the centroid of a mesh triangle of a visual to another, taking into account any pose offsets.

Parameters

  [in] | _triangleSrc | vertices of target triangle being snapped to.
  [in] | _triangleDest | vertices of the other triangle that will be moved.
  [in] | _poseSrc | Pose offset of triangleB relative to its model visual.
  [out] | _trans | Translation output.
  [out] | _rotation | Rotation output.

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

- ModelSnap.hh