-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathSimVars.cpp
86 lines (71 loc) · 2.55 KB
/
SimVars.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
/*
This file is part of swan2 project.
Copyright (C) 2013 by Nick Sharmanzhinov
except134@gmail.com
*/
#include "PCH.h"
using namespace swan2;
using namespace swan2::lib;
using namespace swan2::lib::fsx;
bool XMLDimUnits::enumsInitialized = false;
ENUM XMLDimUnits::boolean = 0;
ENUM XMLDimUnits::celsius = 0;
ENUM XMLDimUnits::degrees = 0;
ENUM XMLDimUnits::feet = 0;
ENUM XMLDimUnits::feetPerSecond = 0;
ENUM XMLDimUnits::kg = 0;
ENUM XMLDimUnits::kgPerSecond = 0;
ENUM XMLDimUnits::km = 0;
ENUM XMLDimUnits::kmPerHour = 0;
ENUM XMLDimUnits::knots = 0;
ENUM XMLDimUnits::meters = 0;
ENUM XMLDimUnits::meterPerSecond = 0;
ENUM XMLDimUnits::number = 0;
ENUM XMLDimUnits::percent = 0;
ENUM XMLDimUnits::radians = 0;
ENUM XMLDimUnits::fahrenheit = 0;
void XMLDimUnits::Init()
{
if( enumsInitialized )
return;
boolean = get_units_enum( "bool" );
celsius = get_units_enum( "celsius" );
degrees = get_units_enum( "degrees" );
feet = get_units_enum( "feet" );
feetPerSecond = get_units_enum( "feet per second" );
kg = get_units_enum( "kilogram" );
kgPerSecond = get_units_enum( "kilogram per second" );
km = get_units_enum( "kilometer" );
kmPerHour = get_units_enum( "kilometer per hour" );
knots = get_units_enum( "knots" );
meters = get_units_enum( "meters" );
meterPerSecond = get_units_enum( "meters per second" );
number = get_units_enum( "number" );
percent = get_units_enum( "percent" );
radians = get_units_enum( "radian" );
fahrenheit = get_units_enum( "fahrenheit" );
enumsInitialized = true;
}
XMLNamedVar::XMLNamedVar(const char* name, bool unregister_after_use) : unregisterAfterUse( unregister_after_use )
{
if((varID=check_named_variable(name))==-1)
varID=register_named_variable(name);
XMLDimUnits::Init();
}
XMLNamedVar::XMLNamedVar(const std::string& name, bool unregister_after_use) : unregisterAfterUse( unregister_after_use )
{
if((varID=check_named_variable(name.c_str()))==-1)
varID=register_named_variable(name.c_str());
XMLDimUnits::Init();
}
XMLNamedVar::~XMLNamedVar(void)
{
if(unregisterAfterUse&&varID!=-1)
unregister_var_by_name((PSTRINGZ)get_name_of_named_variable(varID));
}
SimVar::SimVar(GAUGE_TOKEN id) : varID(id)
{
XMLDimUnits::Init();
token.id=(GAUGE_TOKEN)varID;
initialize_var(&token);
}