Free Electron
DrivelineISystem.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 __driveline_DrivelineISystem_h__
8 #define __driveline_DrivelineISystem_h__
9 
10 namespace fe
11 {
12 namespace ext
13 {
14 
15 /// @brief Driveline System
16 class FE_DL_EXPORT DrivelineISystem :
17  virtual public Stepper,
18  public Initialize<DrivelineISystem>
19 {
20  public:
21  DrivelineISystem(void);
22 virtual ~DrivelineISystem(void);
23  void initialize(void);
24 
25 virtual void compile(const t_note_id &a_note_id);
26 virtual void perform(const t_note_id &a_note_id);
27 virtual void step(t_moa_real a_dt);
28 virtual void connectOrchestrator(sp<OrchestratorI> a_spOrchestrator);
29 
30  private:
31  sp<Scope> m_spScope;
32  std::vector< Record > m_r_drivelines;
33  AsDrivelineLive m_asDrivelineLive;
34  t_note_id m_note_datapoint;
35 };
36 
37 } /* namespace ext */
38 } /* namespace fe */
39 
40 #endif /* __driveline_DrivelineISystem_h__ */
41 
Run Time Driveline.
Definition: drivelineAS.h:94
kernel
Definition: namespace.dox:3
Time Stepping System.
Definition: Stepper.h:15
Per-class participation in the Initialized <> mechanism.
Definition: Initialized.h:117
Intrusive Smart Pointer.
Definition: src/core/ptr.h:53
Driveline System.
Definition: DrivelineISystem.h:16