Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HOpCameraManipulate.h
1 //
2 // Copyright (c) 2000 by Tech Soft 3D, LLC.
3 // The information contained herein is confidential and proprietary to
4 // Tech Soft 3D, LLC., and considered a trade secret as defined under
5 // civil and criminal statutes. Tech Soft 3D shall pursue its civil
6 // and criminal remedies in the event of unauthorized use or misappropriation
7 // of its trade secrets. Use of this information by anyone other than
8 // authorized employees of Tech Soft 3D, LLC. is granted only under a
9 // written non-disclosure agreement, expressly prescribing the scope and
10 // manner of such use.
11 //
12 // $Id: dd5393cbd94a46b9bf04bef1dfa103e5c56ca440 $
13 //
14 
15 // HOpCameraManipulate.h : interface of the HOpCameraManipulate class
16 // Manipulates the camera of current view usual a virtual trackball
17 // interface
18 
19 #ifndef _HOPCAMERAManipulate_H
20 #define _HOPCAMERAManipulate_H
21 
22 #ifdef H_PACK_8
23 #pragma pack(push)
24 #pragma pack(8)
25 #endif
26 
27 #include "HTools.h"
28 #include "HBaseOperator.h"
30 class HOpCameraOrbit;
31 class HOpCameraPan;
32 class HOpCameraZoom;
33 class HTClient;
34 class HEventInfo;
36 
47 class MVO_API HOpCameraManipulate : public HBaseOperator
48 {
49 public:
62  HOpCameraManipulate (HBaseView* view, int DoRepeat=0, int DoCapture=1, HBaseOperator *orbit = 0, HBaseOperator *pan = 0, HBaseOperator *zoom = 0, HBaseOperator *relative = 0, bool AllowHandleActivation = false);
63  virtual ~HOpCameraManipulate();
64 
66  virtual const char * GetName();
67 
68 
74  virtual int OnLButtonDown (HEventInfo &hevent);
75 
76 
84  virtual int OnLButtonDownAndMove(HEventInfo &hevent);
85 
86 
87 
93  virtual int OnLButtonUp (HEventInfo &hevent);
94 
95 
101  virtual int OnMButtonDown (HEventInfo &hevent);
102 
103 
109  virtual int OnMButtonDownAndMove(HEventInfo &hevent);
110 
111 
112 
118  virtual int OnMButtonUp (HEventInfo &hevent);
119 
120 
126  virtual int OnRButtonDown (HEventInfo &hevent);
127 
128 
134  virtual int OnRButtonDownAndMove(HEventInfo &hevent);
135 
136 
137 
143  virtual int OnRButtonUp (HEventInfo &hevent);
144 
150  virtual HBaseOperator * Clone();
151 
152  virtual bool OperatorStarted();
153 
157  HOpCameraOrbit *GetOrbitOperator() { return (HOpCameraOrbit *)m_pOrbitOperator; }
158 
159 
165  void HandleDblClk(float requested_time, float actual_time);
166 
170  bool GetLButtonDown() { return m_bLButtonDown; }
171 
172 protected:
173 
182 private:
183  bool m_bAllowHandleActivation;
184  bool m_bLButtonDown;
185  bool m_bLButtonUp;
186  bool m_bForceDown;
187  HPoint m_ptRealFirst;
188  HEventInfo *m_LastEvent;
189  float m_time;
190 
191 };
192 
193 #ifdef H_PACK_8
194 #pragma pack(pop)
195 #endif
196 
197 #endif
198 
199 
200 
201 
virtual int OnLButtonDownAndMove(HEventInfo &hevent)
HOpCameraOrbit * GetOrbitOperator()
Definition: HOpCameraManipulate.h:157
virtual int OnMButtonDown(HEventInfo &hevent)
virtual const char * GetName()
virtual bool OperatorStarted()
Operator has been started if true, and has not been started if false.
Definition: HBaseOperator.h:111
HPoint m_ptRealOld
Definition: HOpCameraManipulate.h:181
virtual int OnLButtonUp(HEventInfo &hevent)
The HOpCameraOrbit class provides interactive orbiting of the camera around a scene.
Definition: HOpCameraOrbit.h:44
HBaseOperator * m_pOrbitOperator
Definition: HOpCameraManipulate.h:176
HBaseOperator * m_pRelativeOrbitOperator
Definition: HOpCameraManipulate.h:177
Definition: HTManager.h:162
virtual int OnMButtonUp(HEventInfo &hevent)
virtual int OnRButtonUp(HEventInfo &hevent)
virtual HBaseOperator * Clone()
The HBaseOperator class serves as a base for classes which handle user input and operate on the scene...
Definition: HBaseOperator.h:65
The HPoint class is the data type of a three-dimensional point.
Definition: HGlobals.h:126
virtual int OnRButtonDown(HEventInfo &hevent)
The HBaseView class defines and manages a view of model information.
Definition: HBaseView.h:337
The HOpCameraRelativeOrbit class provides interactive orbiting of the camera around elements in the s...
Definition: HOpCameraRelativeOrbit.h:43
virtual int OnRButtonDownAndMove(HEventInfo &hevent)
virtual int OnMButtonDownAndMove(HEventInfo &hevent)
The HEventInfo class stores and manages event information.
Definition: HEventInfo.h:214
bool GetLButtonDown()
Definition: HOpCameraManipulate.h:170
virtual int OnLButtonDown(HEventInfo &hevent)
The HOpCameraManipulate class combines the Orbit, Pan and Zoom Operators.
Definition: HOpCameraManipulate.h:47
HBaseOperator * m_pPanOperator
Definition: HOpCameraManipulate.h:178
The HOpCameraZoom class zooms the camera toward a target.
Definition: HOpCameraZoom.h:41
The HOpCameraPan class pans the camera about a current view.
Definition: HOpCameraPan.h:40
HBaseOperator * m_pZoomOperator
Definition: HOpCameraManipulate.h:179
HTClient * m_pDblClkTimer
Definition: HOpCameraManipulate.h:174