Umasoft
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Engines.h
1 //
2 // Engines.h
3 //
4 // Engines used by Enviro
5 //
6 // Copyright (c) 2001-2011 Virtual Terrain Project
7 // Free for all uses, see license.txt for details.
8 //
9 
10 #ifndef ENVIRO_ENGINESH
11 #define ENVIRO_ENGINESH
12 
13 #include "vtlib/core/NavEngines.h"
14 
15 class TerrainPicker;
16 
18 
19 class FlatFlyer : public vtLastMouse
20 {
21 public:
22  FlatFlyer();
23 
24  void Eval();
25  void OnMouse(vtMouseEvent &event);
26 
27 protected:
28  bool m_bDrag;
29  bool m_bZoom;
30  FPoint3 m_start_wp;
31  IPoint2 m_startpos;
32 };
33 
35 
40 class GrabFlyer : public vtTerrainFlyer
41 {
42 public:
43  GrabFlyer(float fSpeed);
44  void Eval();
45  void OnMouse(vtMouseEvent &event);
46 
47  void SetTerrainPicker(TerrainPicker *pTP) { m_pTP = pTP; }
48 
49 protected:
50  bool m_bDrag;
51  bool m_bPivot;
52  bool m_bZoom;
53  IPoint2 m_startpos;
54 
55  TerrainPicker *m_pTP;
56  FPoint3 m_start_wp;
57  FMatrix4 m_start_eye;
58 
59  // for dragging
60  float m_fHeight;
61 };
62 
63 #endif // ENVIRO_ENGINESH
64