HOpCameraRelativeOrbit.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 // HOpCameraRelativeOrbit.h : interface of the HOpCameraRelativeOrbit class
11 // orbits the camera of current view usual a virtual trackball
12 // interface
13 
14 #ifndef _HOPCAMERARELATIVEORBIT_H
15 #define _HOPCAMERARELATIVEORBIT_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"
24 #include "HOpCameraOrbit.h"
25 
26 
28 
38 class MVO_API HOpCameraRelativeOrbit : public HOpCameraOrbit
39 {
40  enum TargetType {
41  TARGET_IS_USER_DEFINED,
42  TARGET_IS_SELECTION_DEFINED,
43  TARGET_IS_CAMERA_TARGET,
44  };
45 
46 public:
47 
55  HOpCameraRelativeOrbit (HBaseView* view, int doRepeat=0, int doCapture=1);
56 
57  virtual ~HOpCameraRelativeOrbit();
58 
62  virtual const char * GetName();
63 
70  virtual int OnLButtonDown(HEventInfo &hevent);
71 
79  virtual int OnLButtonDownAndMove(HEventInfo &hevent);
80 
81 
87  virtual HBaseOperator * Clone();
88 
89 
94  void SetCenter(HPoint center);
95 
100  HPoint GetCenter();
101 
102 
103 private:
104  HPoint fauxTarget;
105  TargetType targetType;
106 };
107 
108 #ifdef H_PACK_8
109 #pragma pack(pop)
110 #endif
111 
112 #endif
113 
114 
115 
The HOpCameraOrbit class provides interactive orbiting of the camera around a scene.
Definition: HOpCameraOrbit.h:39
virtual const char * GetName()
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
The HBaseView class defines and manages a view of model information.
Definition: HBaseView.h:332
virtual int OnLButtonDown(HEventInfo &hevent)
The HOpCameraRelativeOrbit class provides interactive orbiting of the camera around elements in the s...
Definition: HOpCameraRelativeOrbit.h:38
The HEventInfo class stores and manages event information.
Definition: HEventInfo.h:207
virtual int OnLButtonDownAndMove(HEventInfo &hevent)