Free Electron
DroneMission.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2021 Free Electron Organization
2  Any use of this software requires a license. If a valid license
3  was not distributed with this file, visit freeelectron.org. */
4 
5 /** @file */
6 
7 #ifndef __flight_DroneMission_h__
8 #define __flight_DroneMission_h__
9 
10 namespace fe
11 {
12 namespace ext
13 {
14 
15 /**************************************************************************//**
16  @brief Plan and execute a drone flight
17 
18  @ingroup flight
19 *//***************************************************************************/
20 class FE_DL_EXPORT DroneMission:
21  virtual public FlightMissionI,
22  public Initialize<DroneMission>
23 {
24  public:
25 
26  DroneMission(void);
27 virtual ~DroneMission(void);
28 
29  void initialize(void);
30 
31  //* as FlightMissionI
32 virtual void load(String a_filename);
33 
34 virtual void use(sp<StateCatalog> a_spStateCatalog)
35  { m_spStateCatalog=a_spStateCatalog; }
36 
37 virtual void start(void);
38 
39 virtual void stop(void);
40 
41 virtual sp<StateCatalog> state(void) { return m_spStateCatalog; }
42 
43 virtual void step(Real a_deltaTime);
44 
45  private:
46 
47  I32 m_frame;
48 
49  sp<CatalogReaderI> m_spCatalogReader;
50  sp<Catalog> m_spPreCatalog;
51  sp<StateCatalog> m_spStateCatalog;
52 
53  sp<Scope> m_spScope;
54  sp<SignalerI> m_spSignaler;
55 
56  sp<HandlerI> m_spGameController;
57  sp<HandlerI> m_spDroneInput;
58  sp<HandlerI> m_spDroneControl;
59  sp<HandlerI> m_spDroneDynamics;
60 
61  sp<Layout> m_spPollLayout;
62  WindowEvent m_pollEvent;
63  Record m_pollRecord;
64 
65  AsCatalog m_asCatalog;
66 
67  sp<Layout> m_spStepLayout;
68  Record m_stepRecord;
69 };
70 
71 } /* namespace ext */
72 } /* namespace fe */
73 
74 #endif /* __flight_DroneMission_h__ */
Plan and execute a flight.
Definition: FlightMissionI.h:20
kernel
Definition: namespace.dox:3
Per-class participation in the Initialized <> mechanism.
Definition: Initialized.h:117
Plan and execute a drone flight.
Definition: DroneMission.h:20
Generalized windowing event.
Definition: WindowEvent.h:43
Automatically reference-counted string container.
Definition: String.h:128
virtual sp< StateCatalog > state(void)
get current StateCatalog
Definition: DroneMission.h:41
Reference to an instance of a Layout.
Definition: RecordSB.h:35
virtual void use(sp< StateCatalog > a_spStateCatalog)
use existing StateCatalog
Definition: DroneMission.h:34