HOpCameraManipulate.h
1 // Copyright (c) Tech Soft 3D
2 //
3 // The information contained herein is confidential and proprietary to Tech Soft 3D, Inc.,
4 // and considered a trade secret as defined under civil and criminal statutes.
5 // Tech Soft 3D, Inc. shall pursue its civil and criminal remedies in the event of
6 // unauthorized use or misappropriation of its trade secrets. Use of this information
7 // by anyone other than authorized employees of Tech Soft 3D, Inc. is granted only under
8 // a written non-disclosure agreement, expressly prescribing the scope and manner of such use.
9 
10 // HOpCameraManipulate.h : interface of the HOpCameraManipulate class
11 // Manipulates the camera of current view usual a virtual trackball
12 // interface
13 
14 #ifndef _HOPCAMERAManipulate_H
15 #define _HOPCAMERAManipulate_H
16 
17 #ifdef H_PACK_8
18 #pragma pack(push)
19 #pragma pack(8)
20 #endif
21 
22 #include "HTools.h"
23 #include "HBaseOperator.h"
25 class HOpCameraOrbit;
26 class HOpCameraPan;
27 class HOpCameraZoom;
28 class HTClient;
29 class HEventInfo;
31 
42 class MVO_API HOpCameraManipulate : public HBaseOperator
43 {
44 public:
57  HOpCameraManipulate (HBaseView* view, int DoRepeat=0, int DoCapture=1, HBaseOperator *orbit = 0, HBaseOperator *pan = 0, HBaseOperator *zoom = 0, HBaseOperator *relative = 0, bool AllowHandleActivation = false);
58  virtual ~HOpCameraManipulate();
59 
61  virtual const char * GetName();
62 
63 
69  virtual int OnLButtonDown (HEventInfo &hevent);
70 
71 
79  virtual int OnLButtonDownAndMove(HEventInfo &hevent);
80 
81 
82 
88  virtual int OnLButtonUp (HEventInfo &hevent);
89 
90 
96  virtual int OnMButtonDown (HEventInfo &hevent);
97 
98 
104  virtual int OnMButtonDownAndMove(HEventInfo &hevent);
105 
106 
107 
113  virtual int OnMButtonUp (HEventInfo &hevent);
114 
115 
121  virtual int OnRButtonDown (HEventInfo &hevent);
122 
123 
129  virtual int OnRButtonDownAndMove(HEventInfo &hevent);
130 
131 
132 
138  virtual int OnRButtonUp (HEventInfo &hevent);
139 
145  virtual HBaseOperator * Clone();
146 
147  virtual bool OperatorStarted();
148 
152  HOpCameraOrbit * GetOrbitOperator() { return reinterpret_cast<HOpCameraOrbit *>(m_pOrbitOperator); }
153 
154 
160  void HandleDblClk(float requested_time, float actual_time);
161 
165  bool GetLButtonDown() { return m_bLButtonDown; }
166 
167 protected:
168 
177 private:
178  bool m_bAllowHandleActivation;
179  bool m_bLButtonDown;
180  bool m_bLButtonUp;
181  bool m_bForceDown;
182  HPoint m_ptRealFirst;
183  HEventInfo *m_LastEvent;
184  float m_time;
185 
186 };
187 
188 #ifdef H_PACK_8
189 #pragma pack(pop)
190 #endif
191 
192 #endif
193 
194 
195 
196 
virtual int OnLButtonDownAndMove(HEventInfo &hevent)
HOpCameraOrbit * GetOrbitOperator()
Definition: HOpCameraManipulate.h:152
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:106
HPoint m_ptRealOld
Definition: HOpCameraManipulate.h:176
virtual int OnLButtonUp(HEventInfo &hevent)
The HOpCameraOrbit class provides interactive orbiting of the camera around a scene.
Definition: HOpCameraOrbit.h:39
HBaseOperator * m_pOrbitOperator
Definition: HOpCameraManipulate.h:171
HBaseOperator * m_pRelativeOrbitOperator
Definition: HOpCameraManipulate.h:172
Definition: HTManager.h:157
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:60
The HPoint class is the data type of a three-dimensional point.
Definition: HGlobals.h:121
virtual int OnRButtonDown(HEventInfo &hevent)
The HBaseView class defines and manages a view of model information.
Definition: HBaseView.h:332
The HOpCameraRelativeOrbit class provides interactive orbiting of the camera around elements in the s...
Definition: HOpCameraRelativeOrbit.h:38
virtual int OnRButtonDownAndMove(HEventInfo &hevent)
virtual int OnMButtonDownAndMove(HEventInfo &hevent)
The HEventInfo class stores and manages event information.
Definition: HEventInfo.h:207
bool GetLButtonDown()
Definition: HOpCameraManipulate.h:165
virtual int OnLButtonDown(HEventInfo &hevent)
The HOpCameraManipulate class combines the Orbit, Pan and Zoom Operators.
Definition: HOpCameraManipulate.h:42
HBaseOperator * m_pPanOperator
Definition: HOpCameraManipulate.h:173
The HOpCameraZoom class zooms the camera toward a target.
Definition: HOpCameraZoom.h:36
The HOpCameraPan class pans the camera about a current view.
Definition: HOpCameraPan.h:35
HBaseOperator * m_pZoomOperator
Definition: HOpCameraManipulate.h:174
HTClient * m_pDblClkTimer
Definition: HOpCameraManipulate.h:169