Umasoft
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
EnviroGUI.h
1 //
2 // EnviroGUI.h
3 // GUI-specific functionality of the Enviro class
4 //
5 // Copyright (c) 2003-2011 Virtual Terrain Project
6 // Free for all uses, see license.txt for details.
7 //
8 
9 #include "../Enviro.h"
10 
11 class vtJoystickEngine : public vtEngine
12 {
13 public:
15  void Eval();
16 
17  void SetSpeed(float f) { m_fSpeed = f; };
18  float GetSpeed() { return m_fSpeed; }
19 
20  class wxJoystick *m_pStick;
21  float m_fSpeed, m_fLastTime;
22 };
23 
28 class EnviroGUI : public Enviro
29 {
30 public:
31  EnviroGUI();
32  ~EnviroGUI();
33 
34  // The following are overrides, to handle situations in which the
35  // GUI must be informed of what happens in the Enviro object.
36  virtual void ShowPopupMenu(const IPoint2 &pos);
37  virtual void SetTerrainToGUI(vtTerrain *pTerrain);
38  virtual void ShowLayerView();
39  virtual void RefreshLayerView();
40  virtual void UpdateLayerView();
41  virtual void CameraChanged();
42  virtual void EarthPosUpdated();
43  virtual void ShowDistance(const DPoint2 &p1, const DPoint2 &p2,
44  double fGround, double fVertical);
45  virtual void ShowDistance(const DLine2 &path,
46  double fGround, double fVertical);
47  virtual vtTagArray *GetInstanceFromGUI();
48  virtual bool OnMouseEvent(vtMouseEvent &event);
49  virtual void SetupScene3();
50  virtual void SetTimeEngineToGUI(class vtTimeEngine *pEngine);
51  virtual bool IsAcceptable(vtTerrain *pTerr);
52  virtual void OnCreateTerrain(vtTerrain *pTerr);
53  virtual void ShowMessage(const vtString &str);
54  virtual void SetFlightSpeed(float speed);
55  virtual void SetState(AppState s);
56  virtual vtString GetStringFromUser(const vtString &title, const vtString &msg);
57  virtual void ShowProgress(bool bShow);
58  virtual void SetProgressTerrain(vtTerrain *pTerr);
59  virtual void UpdateProgress(const char *msg, int amount1, int amount2);
60  virtual void ExtendStructure(vtStructInstance *si);
61  virtual void AddVehicle(CarEngine *eng);
62  virtual void RemoveVehicle(CarEngine *eng);
63 
64  void SetScenario(int num);
65 
66  // The following are useful methods
67  bool SaveVegetation(bool bAskFilename);
68  bool SaveStructures(bool bAskFilename);
69  void OnSetDelete(vtFeatureSet *set);
70 
71  // navigation engines
72  vtJoystickEngine *m_pJFlyer;
73 };
74 
75 // Helper
76 vtAbstractLayer *CreateNewAbstractPointLayer(vtTerrain *pTerr, bool bAskStyle = true);
77 vtAbstractLayer *CreateNewAbstractLineLayer(vtTerrain *pTerr, bool bAskStyle = true);
78 
80 extern EnviroGUI g_App;
81