HOpCameraManipulate

Detailed Description

class HOpCameraManipulate : public HBaseOperator

The HOpCameraManipulate class combines the Orbit, Pan and Zoom Operators.

HOpCameraManipulate implements three mouse event methods defined on the base class and maps the event information to orbit, pan or zoom the camera. This operator has three modes of operation.

  1. With no key press, the camera orbits.
  2. With the Shift key down, the camera pans.
  3. With the Ctrl key down, the camer zooms.
More Detailed Description: see event methods.

Public Functions

HOpCameraManipulate(HBaseView *view, int DoRepeat = 0, int DoCapture = 1, HBaseOperator *orbit = 0, HBaseOperator *pan = 0, HBaseOperator *zoom = 0, HBaseOperator *relative = 0, bool AllowHandleActivation = false)

Constructs an HOpCameraManipulate 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.
  • orbit – A pointer to an HOpCameraOrbit object. If you pass null, HOpCameraManipulate will make construct a new one.
  • pan – A pointer to an HOpCameraPan object. If you pass null, HOpCameraManipulate will make construct a new one.
  • zoom – A pointer to an HOpCameraZoom object. If you pass null, HOpCameraManipulate will make construct a new one.
  • relative – A pointer to an HOpCameraRelativeOrbit object. If you pass null, HOpCameraManipulate will make construct a new one.
  • AllowHandleActivation – Pass true to allow manipulation using handles.
virtual ~HOpCameraManipulate()
virtual char const *GetName()
Returns:A pointer to a character string denoting the name of the operator which is ‘HOpCameraManipulate’.
virtual int OnLButtonDown(HEventInfo &hevent)

This method handles the left mouse button down event.

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)

This method handles the left mouse button down and move event. It determines if the shift or control key is down and then passes control over to the correct camera operator which can be pan, orbit or zoom.

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)

This method handles the left mouse button up event.

Parameters:hevent – An HEventInfo object containing information about the current event.
Returns:An HOperatorReturn indicating the status of the event.
virtual int OnMButtonDown(HEventInfo &hevent)

This methods passes the event to the relative orbit camera operator’s left button mouse down event handler.

Parameters:hevent – An HEventInfo object containing information about the current event.
Returns:An HOperatorReturn indicating the status of the event.
virtual int OnMButtonDownAndMove(HEventInfo &hevent)

This methods passes the event to the relative orbit camera operator’s left button mouse down and move event handler.

Parameters:hevent – An HEventInfo object containing information about the current event.
Returns:An HOperatorReturn indicating the status of the event.
virtual int OnMButtonUp(HEventInfo &hevent)

This methods passes the event to the relative orbit camera operator’s left button mouse up event handler.

Parameters:hevent – An HEventInfo object containing information about the current event.
Returns:An HOperatorReturn indicating the status of the event.
virtual int OnRButtonDown(HEventInfo &hevent)

This methods passes the event to the pan camera operator’s left button mouse down event handler.

Parameters:hevent – An HEventInfo object containing information about the current event.
Returns:An HOperatorReturn indicating the status of the event.
virtual int OnRButtonDownAndMove(HEventInfo &hevent)

This methods passes the event to the pan camera operator’s left button mouse down and move event handler.

Parameters:hevent – An HEventInfo object containing information about the current event.
Returns:An HOperatorReturn indicating the status of the event.
virtual int OnRButtonUp(HEventInfo &hevent)

This event handler passes the event to the pan camera operator’s OnLButtonUp handler.

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 HOpCameraManipulate object.
virtual bool OperatorStarted()

Operator has been started if true, and has not been started if false.

inline HOpCameraOrbit *GetOrbitOperator()
Returns:A pointer to the orbit operator.
void HandleDblClk(float requested_time, float actual_time)

This method is the double click function called from timer callback.

Parameters:
  • requested_time – The time that the event had requested.
  • actual_time – The actual time the event callback happened.
inline bool GetLButtonDown()
Returns:The state of the left button down flag.