# IRsPositionSnappingManager Interface Reference

Inherits IUnknown.

List of all members.

## Public Member Functions
HRESULT | HideMarkers ()
HRESULT | SetParameters ([in] RtMovementSnapperInfo *sp)
HRESULT | ApplyMovementConstraints ([in] RtVector2f *pScreenPosition,[in] RtPoint *pInputPosition)
HRESULT | GetSnappedPosition ([in] RtVector2f *pScreenPosition,[in] RtPoint *pInputPosition,[out, retval]RtPoint *pSnapPosition)
HRESULT | GetContinuePositionTracking ([out, retval] RtBool *pbFlag)
HRESULT | RemoveSoftConstraints ([in] RtVector3f *pConstraints,[in]RtUlong dwNum)
HRESULT | GetCurrentPosition ([out, retval] RtVector3f *pPos)
HRESULT | GetCurrentView ([out, retval] IRsNode **ppNode)
HRESULT | RemoveObject (IRsObject *pNode)
HRESULT | AddObject (IRsObject *pNode)

## Detailed Description

Position snapping manager provides Movement snapping functionality.

## Member Function Documentation

HRESULT IRsPositionSnappingManager::HideMarkers | ( |  | ) |

Hide active markers. Markers will be shown after next execution of snapping manager.

HRESULT IRsPositionSnappingManager::SetParameters | ( | [in] RtMovementSnapperInfo * | sp | ) |

Set snapper runtime parameters. This must be called before ApplyMovementConstraints or GetSnappedPosition is called to setup internal structures.

HRESULT IRsPositionSnappingManager::ApplyMovementConstraints | ( | [in] RtVector2f * | pScreenPosition,
|  | [in] RtPoint * | pInputPosition |
| ) |  |  |

Apply movement constraints and evaluate constrained position.

HRESULT IRsPositionSnappingManager::GetSnappedPosition | ( | [in] RtVector2f * | pScreenPosition,
|  | [in] RtPoint * | pInputPosition,
|  | [out, retval] RtPoint * | pSnapPosition |
| ) |  |  |

Evaluate snapped position.

HRESULT IRsPositionSnappingManager::GetContinuePositionTracking | ( | [out, retval] RtBool * | pbFlag | ) |

Check, if we should snap current position to stop position tracking.

HRESULT IRsPositionSnappingManager::RemoveSoftConstraints | ( | [in] RtVector3f * | pConstraints,
|  | [in] RtUlong | dwNum |
| ) |  |  |

Remove soft constraints from enabled coordiantes. Soft axis is the one that has angle>45degs from each constraint

HRESULT IRsPositionSnappingManager::GetCurrentPosition | ( | [out, retval] RtVector3f * | pPos | ) |

Return current position, movement active movement constraint basis is used to evaluate it.

HRESULT IRsPositionSnappingManager::GetCurrentView | ( | [out, retval] IRsNode ** | ppNode | ) |

Return current view node for which this snapping manager was created

HRESULT IRsPositionSnappingManager::RemoveObject | ( | IRsObject * | pNode | ) |

Remove node from snapping manager.

Call this method to change list of nodes used to evaluate snapping. Note, that frequent calling of this method may cause performance penalties since tools may cache various data.

Snapping tools are notified about this event.

HRESULT IRsPositionSnappingManager::AddObject | ( | IRsObject * | pNode | ) |

Add node to snapping manager.

Call this method to change list of nodes used to evaluate snapping. Note, that frequent calling of this method may cause performance penalties since tools may cache various data.

Snapping tools are notified about this event.