pitot system stalls at high angles, using /system/pitot[x]/stall-deg
[fg:hoorays-flightgear.git] / src / Systems / vacuum.hxx
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
19 /**
20  * Model a vacuum-pump system.
21  *
22  * Multiple pumps (i.e. for a multiengine aircraft) can be specified.
23  *
24  * Input properties:
25  *
26  * "rpm1"
27  * "rpm2"
28  * "..."
29  * /environment/pressure-inhg
30  * /systems/"name"/serviceable
31  *
32  * Output properties:
33  *
34  * /systems/"name"/suction-inhg
35  */
36 class VacuumSystem : public SGSubsystem
37 {
38
39 public:
40
41     VacuumSystem( SGPropertyNode *node );
42     VacuumSystem( int i );
43     virtual ~VacuumSystem ();
44
45     virtual void init ();
46     virtual void reinit ();
47     virtual void bind ();
48     virtual void unbind ();
49     virtual void update (double dt);
50
51 private:
52
53     std::string _name;
54     int _num;
55     string_list _rpms;
56     double _scale;
57     SGPropertyNode_ptr _serviceable_node;
58     std::vector<SGPropertyNode_ptr> _rpm_nodes;
59     SGPropertyNode_ptr _pressure_node;
60     SGPropertyNode_ptr _suction_node;
61     
62 };
63
64 #endif // __SYSTEMS_VACUUM_HXX