Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HOpCameraZoomBox Class Reference

The HOpCameraZoomBox class zooms the camera to a selected area. More...

#include <HOpCameraZoomBox.h>

List of all members.

Public Member Functions

virtual HBaseOperatorClone ()
bool GetLightFollowsCamera ()
virtual const char * GetName ()
 HOpCameraZoomBox (HBaseView *view, int DoRepeat=0, int DoCapture=1)
virtual int OnLButtonDblClk (HEventInfo &hevent)
virtual int OnLButtonUp (HEventInfo &hevent)
void SetLightFollowsCamera (bool follow)

Protected Member Functions

void ComputeNewField (float &width, float &height, HPoint min, HPoint max, HPoint const &new_tar)
bool ComputeReasonableTarget (HPoint &new_tar, HPoint const &min, HPoint const &max, HPoint const &tar_orig)

Protected Attributes

bool m_LightFollowsCamera

Detailed Description

The HOpCameraZoomBox class zooms the camera to a selected area.

HOpCameraZoomBox utilizes the drawing functionality of HOpConstructRectangle to define a selection rectangle, and then extends HOpConstructRectangle::OnLButtonUp to calculate a zoom factor and direction.

The operation consists of the following steps:

  1. Left Button Down: Registers the first point of the selection rectangle.
  2. Left Button Down and Drag: Rubberbands the rectangle to desired dimensions.
  3. Left Button Up: The is viewpoint calculated, camera position changed and the operation ends.

More Detailed Description: see event methods.


Constructor & Destructor Documentation

HOpCameraZoomBox::HOpCameraZoomBox ( HBaseView view,
int  DoRepeat = 0,
int  DoCapture = 1 
)

Constructs an HOpCameraZoomBox 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.

Member Function Documentation

virtual HBaseOperator* HOpCameraZoomBox::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 HOpCameraZoom object.

Reimplemented from HOpConstructRectangle.

bool HOpCameraZoomBox::GetLightFollowsCamera ( ) [inline]
Returns:
True if the light follows the camera or false if it doesn't.
virtual const char* HOpCameraZoomBox::GetName ( ) [virtual]
Returns:
A pointer to a character string denoting the name of the operator which is 'HOpCameraZoomBox'.

Reimplemented from HOpConstructRectangle.

virtual int HOpCameraZoomBox::OnLButtonDblClk ( HEventInfo hevent) [virtual]

OnLButtonDblClk points the camera at the location where the mouse is double clicked.

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

Reimplemented from HBaseOperator.

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

OnLButtonUp passes rectangle information from HOpConstructRectangle to the HOOPS routine HC_Compute_Selection_By_Area, then uses the information from the selection list to move the camera and point it in the right direction.

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

Reimplemented from HOpConstructRectangle.

void HOpCameraZoomBox::SetLightFollowsCamera ( bool  follow) [inline]

SetLightFollowsCamera sets the lights to follow the camera or to stay in one place during orbit. This has the effect of either lighting the scene during orbit or allowing the camera to move through shadow. The default is off.

Parameters:
followPass true to have the light follow the camera.

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