FlightGear next
vacuum.hxx
Go to the documentation of this file.
1// vacuum.hxx - a vacuum pump connected to the aircraft engine.
2// Written by David Megginson, started 2002.
3//
4// This file is in the Public Domain and comes with no warranty.
5
6
7#ifndef __SYSTEMS_VACUUM_HXX
8#define __SYSTEMS_VACUUM_HXX 1
9
10#ifndef __cplusplus
11# error This library requires C++
12#endif
13
14#include <simgear/math/sg_types.hxx>
15#include <simgear/props/props.hxx>
16#include <simgear/structure/subsystem_mgr.hxx>
17
18
36class VacuumSystem : public SGSubsystem
37{
38public:
39 VacuumSystem( SGPropertyNode *node );
41 virtual ~VacuumSystem ();
42
43 // Subsystem API.
44 void bind() override;
45 void init() override;
46 void reinit() override;
47 void unbind() override;
48 void update(double dt) override;
49
50 // Subsystem identification.
51 static const char* staticSubsystemClassId() { return "vacuum"; }
52
53private:
54 std::string _name;
55 int _num;
56 string_list _rpms;
57 double _scale;
58 SGPropertyNode_ptr _serviceable_node;
59 std::vector<SGPropertyNode_ptr> _rpm_nodes;
60 SGPropertyNode_ptr _pressure_node;
61 SGPropertyNode_ptr _suction_node;
62};
63
64#endif // __SYSTEMS_VACUUM_HXX
#define i(x)
VacuumSystem(int i)
void unbind() override
Definition vacuum.cxx:65
void init() override
Definition vacuum.cxx:35
virtual ~VacuumSystem()
Definition vacuum.cxx:30
void bind() override
Definition vacuum.cxx:60
void reinit() override
Definition vacuum.cxx:54
void update(double dt) override
Definition vacuum.cxx:70
VacuumSystem(SGPropertyNode *node)
Definition vacuum.cxx:17
static const char * staticSubsystemClassId()
Definition vacuum.hxx:51
std::vector< std::string > string_list
Definition globals.hxx:36