The HOpCameraZoomBox class zooms the camera to a selected area. More...
#include <HOpCameraZoomBox.h>
Public Member Functions | |
virtual HBaseOperator * | Clone () |
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 |
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:
More Detailed Description: see event methods.
HOpCameraZoomBox::HOpCameraZoomBox | ( | HBaseView * | view, |
int | DoRepeat = 0 , |
||
int | DoCapture = 1 |
||
) |
Constructs an HOpCameraZoomBox object.
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 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.
Reimplemented from HOpConstructRectangle.
bool HOpCameraZoomBox::GetLightFollowsCamera | ( | ) | [inline] |
virtual const char* HOpCameraZoomBox::GetName | ( | ) | [virtual] |
Reimplemented from HOpConstructRectangle.
virtual int HOpCameraZoomBox::OnLButtonDblClk | ( | HEventInfo & | hevent | ) | [virtual] |
OnLButtonDblClk points the camera at the location where the mouse is double clicked.
hevent | An HEventInfo object containing information about the current 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.
hevent | An HEventInfo object containing information about the current 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.
follow | Pass true to have the light follow the camera. |