Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HOpCameraManipulate Class Reference

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

#include <HOpCameraManipulate.h>

List of all members.

Public Member Functions

virtual HBaseOperatorClone ()
bool GetLButtonDown ()
virtual const char * GetName ()
HOpCameraOrbitGetOrbitOperator ()
void HandleDblClk (float requested_time, float actual_time)
 HOpCameraManipulate (HBaseView *view, int DoRepeat=0, int DoCapture=1, HBaseOperator *orbit=0, HBaseOperator *pan=0, HBaseOperator *zoom=0, HBaseOperator *relative=0, bool AllowHandleActivation=false)
virtual int OnLButtonDown (HEventInfo &hevent)
virtual int OnLButtonDownAndMove (HEventInfo &hevent)
virtual int OnLButtonUp (HEventInfo &hevent)
virtual int OnMButtonDown (HEventInfo &hevent)
virtual int OnMButtonDownAndMove (HEventInfo &hevent)
virtual int OnMButtonUp (HEventInfo &hevent)
virtual int OnRButtonDown (HEventInfo &hevent)
virtual int OnRButtonDownAndMove (HEventInfo &hevent)
virtual int OnRButtonUp (HEventInfo &hevent)
virtual bool OperatorStarted ()
 Operator has been started if true, and has not been started if false.

Protected Attributes

HTClientm_pDblClkTimer
HBaseOperatorm_pOrbitOperator
HBaseOperatorm_pPanOperator
HBaseOperatorm_pRelativeOrbitOperator
HPoint m_ptRealOld
HBaseOperatorm_pZoomOperator

Detailed Description

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.


Constructor & Destructor Documentation

HOpCameraManipulate::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:
viewA pointer to an HBaseView object.
DoRepeatAn integer denoting whether this is a repeatable operator. This parameter has been deprecated.
DoCaptureAn 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.
orbitA pointer to an HOpCameraOrbit object. If you pass null, HOpCameraManipulate will make construct a new one.
panA pointer to an HOpCameraPan object. If you pass null, HOpCameraManipulate will make construct a new one.
zoomA pointer to an HOpCameraZoom object. If you pass null, HOpCameraManipulate will make construct a new one.
relativeA pointer to an HOpCameraRelativeOrbit object. If you pass null, HOpCameraManipulate will make construct a new one.
AllowHandleActivationPass true to allow manipulation using handles.

Member Function Documentation

virtual HBaseOperator* HOpCameraManipulate::Clone ( ) [virtual]

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.

Reimplemented from HBaseOperator.

bool HOpCameraManipulate::GetLButtonDown ( ) [inline]
Returns:
The state of the left button down flag.
virtual const char* HOpCameraManipulate::GetName ( ) [virtual]
Returns:
A pointer to a character string denoting the name of the operator which is 'HOpCameraManipulate'.

Reimplemented from HBaseOperator.

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

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

Parameters:
requested_timeThe time that the event had requested.
actual_timeThe actual time the event callback happened.
virtual int HOpCameraManipulate::OnLButtonDown ( HEventInfo hevent) [virtual]

This method handles the left mouse button down event.

Parameters:
heventAn HEventInfo object containing information about the current event.
Returns:
An HOperatorReturn indicating the status of the event.

Reimplemented from HBaseOperator.

virtual int HOpCameraManipulate::OnLButtonDownAndMove ( HEventInfo hevent) [virtual]

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:
heventAn HEventInfo object containing information about the current event.
Returns:
An HOperatorReturn indicating the status of the event.

Reimplemented from HBaseOperator.

virtual int HOpCameraManipulate::OnLButtonUp ( HEventInfo hevent) [virtual]

This method handles the left mouse button up event.

Parameters:
heventAn HEventInfo object containing information about the current event.
Returns:
An HOperatorReturn indicating the status of the event.

Reimplemented from HBaseOperator.

virtual int HOpCameraManipulate::OnMButtonDown ( HEventInfo hevent) [virtual]

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

Parameters:
heventAn HEventInfo object containing information about the current event.
Returns:
An HOperatorReturn indicating the status of the event.

Reimplemented from HBaseOperator.

virtual int HOpCameraManipulate::OnMButtonDownAndMove ( HEventInfo hevent) [virtual]

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

Parameters:
heventAn HEventInfo object containing information about the current event.
Returns:
An HOperatorReturn indicating the status of the event.

Reimplemented from HBaseOperator.

virtual int HOpCameraManipulate::OnMButtonUp ( HEventInfo hevent) [virtual]

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

Parameters:
heventAn HEventInfo object containing information about the current event.
Returns:
An HOperatorReturn indicating the status of the event.

Reimplemented from HBaseOperator.

virtual int HOpCameraManipulate::OnRButtonDown ( HEventInfo hevent) [virtual]

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

Parameters:
heventAn HEventInfo object containing information about the current event.
Returns:
An HOperatorReturn indicating the status of the event.

Reimplemented from HBaseOperator.

virtual int HOpCameraManipulate::OnRButtonDownAndMove ( HEventInfo hevent) [virtual]

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

Parameters:
heventAn HEventInfo object containing information about the current event.
Returns:
An HOperatorReturn indicating the status of the event.

Reimplemented from HBaseOperator.

virtual int HOpCameraManipulate::OnRButtonUp ( HEventInfo hevent) [virtual]

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

Parameters:
heventAn HEventInfo object containing information about the current event.
Returns:
An HOperatorReturn indicating the status of the event.

Reimplemented from HBaseOperator.


Member Data Documentation

A pointer to the timer client for detection of double click events.

A pointer to the orbit operator.

A pointer to the pan operator.

A pointer to the relative orbit operator.

For internal use only.

A pointer to the zoom operator.


The documentation for this class was generated from the following file: