Avionics
Dropship Simulator
Module Class Referenceabstract

Abstract base class for modules By definition, instruments don't do any of the work (they don't modify bus values) If you have something that takes data like VSI and AGL and then triggers GPWS that would be in a module It is a computer but not on the component level, it only has access to bus values from other modules. More...

#include <Module.h>

Inheritance diagram for Module:
[legend]
Collaboration diagram for Module:
[legend]

Public Member Functions

 Module (Bus *prmBus)
 
virtual void FrameMove (float fElapsedTime)=0
 
virtual ~Module ()
 

Protected Attributes

Busbus
 

Private Member Functions

 Module ()
 

Detailed Description

Abstract base class for modules By definition, instruments don't do any of the work (they don't modify bus values) If you have something that takes data like VSI and AGL and then triggers GPWS that would be in a module It is a computer but not on the component level, it only has access to bus values from other modules.

Definition at line 11 of file Module.h.

Constructor & Destructor Documentation

◆ Module() [1/2]

Module::Module ( )
private

◆ Module() [2/2]

Module::Module ( Bus prmBus)
inline

Definition at line 20 of file Module.h.

◆ ~Module()

virtual Module::~Module ( )
inlinevirtual

Polymorphism gotcha - if this isn't here then std::vector embedded in derived classes don't clean up!

See also
http://www.cplusplus.com/forum/general/17754/ My theory is that they won't inherit a public destructor if one isn't declared in the base class

Definition at line 30 of file Module.h.

Member Function Documentation

◆ FrameMove()

virtual void Module::FrameMove ( float  fElapsedTime)
pure virtual

Implemented in Logo, Door, Fdr, Fms, Ase, Afcs, Pfd, Mcu, Rtu, Cas, Fadec, Fcs, Vmu, Tcas, and Gpws.

Here is the caller graph for this function:

Member Data Documentation

◆ bus

Bus* Module::bus
protected

Definition at line 17 of file Module.h.


The documentation for this class was generated from the following file: