# HOpObjectTranslate

## Fields

HPoint | `m_ptRecent`
HPoint | `m_ptRecentVP`

## Functions

| `HOpObjectTranslate`
| `~HOpObjectTranslate`
const char * | `GetName`
int | `OnLButtonDown`
int | `OnLButtonDownAndMove`
int | `OnLButtonUp`
int | `OnLButtonDblClk`
HBaseOperator * | `Clone`
void | `UpdateKeyList`

## Detailed Description

class HOpObjectTranslate : public HBaseOperator

  The HOpObjectTranslate class translates a selected object.

  HOpObjectTranslates implements three of the mouse event handlers defined on the base class and maps the event information to HOOPS routines which translates the currently selected objects. This provides the basic functionality for applying a translation transform to an object (as opposed to a global panning of the camera which affects the entire scene). The operation consists of the following steps:

  1. Left Button Down: The operation is initiated and an object is selected.

  2. Left Button Down and Drag: The object is translated using spriting.

  3. Left Button Up: The translation is finalized and the operation ends.

  More Detailed Description: see event methods.

  Subclassed by HOpCreateCuttingPlane, HOpObjectClash

  Public Functions

  HOpObjectTranslate(HBaseView *view, int DoRepeat = 0, int DoCapture = 1)

    Constructs an HOpObjectTranslate object.

    Parameters

      - view – A pointer to an HBaseView object,

      - DoRepeat – An integer denoting whether this is a repeatable operator. This parameter has been deprecated.

      - DoCapture – An integer denoting whether the mouse state should be captured, which means that all mouse events should be received after a mousedown, even if it leaves the window. This parameter has been deprecated.

  virtual ~HOpObjectTranslate()
  virtual const char *GetName()
    Returns

      A pointer to a character string denoting the name of the operator which is ‘HOpObjectTranslate’.

  virtual int OnLButtonDown(HEventInfo &hevent)

    OnLButtonDown records the first pointer position and initializes the translation mechanism.

    Parameters

      hevent – An HEventInfo object containing information about the current event.

    Returns

      An HOperatorReturn indicating the status of the event.

  virtual int OnLButtonDownAndMove(HEventInfo &hevent)

    OnLButtonDownAndMove computes the translation transform based on the distance between the first and current pointer positions, and translates the object accordingly.

    Parameters

      hevent – An HEventInfo object containing information about the current event.

    Returns

      An HOperatorReturn indicating the status of the event.

  virtual int OnLButtonUp(HEventInfo &hevent)

    OnLButtonUp cleans up the construction segments used during the transformation and ends the operation.

    Parameters

      hevent – An HEventInfo object containing information about the current event.

    Returns

      An HOperatorReturn indicating the status of the event.

  virtual int OnLButtonDblClk(HEventInfo &hevent)

    OnLButtonDblClk translates the object back to its original location.

    Parameters

      hevent – An HEventInfo object containing information about the current event.

    Returns

      An HOperatorReturn indicating the status of the event.

  virtual HBaseOperator *Clone()

    Creates a new operator which is a copy of the current operator. The user is responsible for deleting the newly created operator.

    Returns

      A pointer to the newly created HOpObjectTranslate object.

  virtual void UpdateKeyList(void *data)

    This method is used to update the list of keys to translate when the selection list changes.

  Public Members

  HPoint m_ptRecent

    A pointer to the current position in world coordinates.

  HPoint m_ptRecentVP

    A pointer to the current position in viewpoint (screen) coordinates.