# IRsPrimitivePositionTool Interface Reference

Inherits IUnknown.

List of all members.

## Public Member Functions
HRESULT | SetPreferencesNode (IRsNode *pNode)
HRESULT | UpdateFromPreferences ()
HRESULT | SetPrimitiveManager (IRsPrimitiveManager *pManager)
HRESULT | SetPrimitiveFactory (IRsPrimitiveFactory *pFactory)
HRESULT | SetParameters (IRsNode *pViewNode, RtPoint2f *pScreenPoint)
HRESULT | GetCurrentPosition (RtPoint *pPosition, RtVector3f *pNormal)
HRESULT | GetSnappingNode (IRsNode **ppSnappingNode)

## Detailed Description

IRsPrimitivePositionTool is an interface to helper that calculates position where to place control point for primitive tool.

## Member Function Documentation

HRESULT IRsPrimitivePositionTool::SetPreferencesNode | ( | IRsNode * | pNode | ) |

Set preferences panel node.

Parameters:

  | pNode | Preferences panel.

Returns:
  standard HRESULT processing can be applied to returned value

HRESULT IRsPrimitivePositionTool::UpdateFromPreferences | ( |  | ) |

Called to update from preferences. Preferences are set using SetPreferencesNode before this call.

Returns:
  standard HRESULT processing can be applied to returned value

HRESULT IRsPrimitivePositionTool::SetPrimitiveManager | ( | IRsPrimitiveManager * | pManager | ) |

Set primitive manager to tool. Tool can customize it's behavior depending on primitive manager state.

Parameters:

  | pManager | Primitive manager to set

Returns:
  standard HRESULT processing can be applied to returned value

HRESULT IRsPrimitivePositionTool::SetPrimitiveFactory | ( | IRsPrimitiveFactory * | pFactory | ) |

Set primitive factory to tool. Tool can customize it's behavior depending on primitive factory state.

Parameters:

  | pManager | Primitive manager to set

Returns:
  standard HRESULT processing can be applied to returned value

HRESULT IRsPrimitivePositionTool::SetParameters | ( | IRsNode * | pViewNode,
|  | RtPoint2f * | pScreenPoint |
| ) |  |  |

Set current view and mouse position.

Parameters:

  | pPosition | should be filled by current position
  | pNormal | should be filled by current normal

Returns:
  standard HRESULT processing can be applied to returned value

HRESULT IRsPrimitivePositionTool::GetCurrentPosition | ( | RtPoint * | pPosition,
|  | RtVector3f * | pNormal |
| ) |  |  |

Get current position depending on parameters set previously.

Parameters:

  | pPosition | should be filled by current position
  | pNormal | should be filled by current normal

Returns:
  standard HRESULT processing can be applied to returned value

HRESULT IRsPrimitivePositionTool::GetSnappingNode | ( | IRsNode ** | ppSnappingNode | ) |

Get node intended for snapping.

Parameters:

  | ppWorkNode | should be filled with node intended for snapping.

Returns:
  standard HRESULT processing can be applied to returned value