# IRdPositionSnapTool Interface Reference

Inherits IUnknown.

List of all members.

## Public Member Functions
HRESULT | SetParameters (IRsNode *pViewNode, IRsObjectList *pObjectList)
HRESULT | GetSnappedPosition ([in] RtPositionSnappingParameters *pSnapParams,[out] RtPoint *pptOutPos,[out] RtFloat *pfWeight)
HRESULT | SetSnappedPosition ([in] RtPositionSnappingParameters *pSnapParams,[in] RtPoint *ptSnapPos)
HRESULT | ApplyMovementConstraints ([in] RtPositionSnappingParameters *pSnapParams)
HRESULT | NotifyPositionSnapActive ()
HRESULT | NotifyPositionSnapperDeactivate ()
HRESULT | HidePositionSnapMarkers ()

## Detailed Description

IRdPositionSnapTool is interface for data objects that provide snapping capabilities.

## Member Function Documentation

HRESULT IRdPositionSnapTool::SetParameters | ( | IRsNode * | pViewNode,
|  | IRsObjectList * | pObjectList |
| ) |  |  |

Snapping manager calls SetParameters of the tool, to setup it's internal structures and update pObjectList if needed. This is called once during initialization of snapping manager session.

Parameters:

  | pViewNode | defines node of current view
  | pObjectList | defines list of objects. Tool can modify this list as it needs

Returns:
  standard HRESULT processing will be applied to returned value

HRESULT IRdPositionSnapTool::GetSnappedPosition | ( | [in] RtPositionSnappingParameters * | pSnapParams,
|  | [out] RtPoint * | pptOutPos,
|  | [out] RtFloat * | pfWeight |
| ) |  |  |

Compute snapped position.

Parameters:

  | pSnapParams | Snapping parameters
  | pptOutputPos | Pointer that should be filled by snapped position.
  | pfWeight | Weight of snapped position. This weight is used to choose best snapping position from all active tools.

Returns:
  standard HRESULT processing will be applied to returned value

HRESULT IRdPositionSnapTool::SetSnappedPosition | ( | [in] RtPositionSnappingParameters * | pSnapParams,
|  | [in] RtPoint * | ptSnapPos |
| ) |  |  |

Called by snapping manager to notify snapping tool about snapped position after snapping position has been evaluated.

Parameters:

  | pSnapParams | Snapping parameters
  | ptSnapPos | Snapped position.

Returns:
  standard HRESULT processing will be applied to returned value

HRESULT IRdPositionSnapTool::ApplyMovementConstraints | ( | [in] RtPositionSnappingParameters * | pSnapParams | ) |

Compute constraints. Tool should update basis inside pSnapperInfo structure of RtPositionSnappingParameters structure to constraint movement. Current step will be constrained to calculated movement.

Parameters:

  | pSnapParams | Snapping parameters

Returns:
  standard HRESULT processing will be applied to returned value

HRESULT IRdPositionSnapTool::NotifyPositionSnapActive | ( |  | ) |

Notification called by snap manager after tool becomes active (it's snapping position was chosen as the best)

HRESULT IRdPositionSnapTool::NotifyPositionSnapperDeactivate | ( |  | ) |

Notification called by snap manager when snapping session is terminated.

HRESULT IRdPositionSnapTool::HidePositionSnapMarkers | ( |  | ) |

Force tool to hide snapping markers.