Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HOpCameraOrbitTurntable.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: 9d1611dcd60e20f8c5e059498d24624f9aeafdef $
13 //
14 
15 // HOpCameraOrbitTurntable.h : interface of the HOpCameraOrbitTurntable class
16 // pans the camera of current view
17 
18 #ifndef _HOpCameraOrbitTurntable_H
19 #define _HOpCameraOrbitTurntable_H
20 
21 #ifdef H_PACK_8
22 #pragma pack(push)
23 #pragma pack(8)
24 #endif
25 
26 #include "HTools.h"
27 #include "HBaseOperator.h"
28 
30 
44 class MVO_API HOpCameraOrbitTurntable : public HBaseOperator
45 {
46 public:
54  HOpCameraOrbitTurntable(HBaseView* view, int DoRepeat=0, int DoCapture=1);
55  virtual ~HOpCameraOrbitTurntable();
56 
60  virtual const char * GetName();
61 
67  virtual int OnLButtonDown (HEventInfo &hevent);
68 
75  virtual int OnLButtonDownAndMove(HEventInfo &hevent);
76 
82  virtual int OnLButtonUp (HEventInfo &hevent);
83 
89  virtual int OnMouseWheel (HEventInfo &hevent);
90 
97  void SetLightFollowsCamera(bool follow){m_LightFollowsCamera = follow;};
98 
100  bool GetLightFollowsCamera(){return m_LightFollowsCamera;};
105  void SetCenter(HPoint center) { m_Center = center; m_bCenterPointSet = true; }
110  void UnSetCenter() { m_bCenterPointSet = false; }
116  virtual HBaseOperator * Clone();
117 
118 protected:
119 
125  void RotateAroundAxis(HPoint axis, float rf);
126 
127 private:
128 
129 
130  bool m_LightFollowsCamera;
131  bool m_bDoOnce;
132  bool m_bCenterPointSet;
133  HPoint m_Center;
134 
135 };
136 
137 
138 #ifdef H_PACK_8
139 #pragma pack(pop)
140 #endif
141 
142 #endif
143 
144 
145 
146 
virtual int OnLButtonDownAndMove(HEventInfo &hevent)
virtual const char * GetName()
virtual int OnLButtonUp(HEventInfo &hevent)
void UnSetCenter()
Definition: HOpCameraOrbitTurntable.h:110
bool GetLightFollowsCamera()
Definition: HOpCameraOrbitTurntable.h:100
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
The HBaseView class defines and manages a view of model information.
Definition: HBaseView.h:337
The HOpCameraOrbitTurntable class orbits the camera around a predefined vertical and horizontal axis...
Definition: HOpCameraOrbitTurntable.h:44
The HEventInfo class stores and manages event information.
Definition: HEventInfo.h:214
virtual int OnLButtonDown(HEventInfo &hevent)
void SetLightFollowsCamera(bool follow)
Definition: HOpCameraOrbitTurntable.h:97
virtual int OnMouseWheel(HEventInfo &hevent)
void SetCenter(HPoint center)
Definition: HOpCameraOrbitTurntable.h:105