]> git.mxchange.org Git - flightgear.git/blob - JSBsim/FGCoefficient.h
9a4d09ec68d3bde7e35407f56b3341ade420b45c
[flightgear.git] / JSBsim / FGCoefficient.h
1 /*******************************************************************************
2
3  Header:       FGCoefficient.h
4  Author:       Jon Berndt
5  Date started: 12/28/98
6
7  ------------- Copyright (C) 1999  Jon S. Berndt (jsb@hal-pc.org) -------------
8
9  This program is free software; you can redistribute it and/or modify it under
10  the terms of the GNU General Public License as published by the Free Software
11  Foundation; either version 2 of the License, or (at your option) any later
12  version.
13
14  This program is distributed in the hope that it will be useful, but WITHOUT
15  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16  FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
17  details.
18
19  You should have received a copy of the GNU General Public License along with
20  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
21  Place - Suite 330, Boston, MA  02111-1307, USA.
22
23  Further information about the GNU General Public License can also be found on
24  the world wide web at http://www.gnu.org.
25
26 HISTORY
27 --------------------------------------------------------------------------------
28 12/28/98   JSB   Created
29 *******************************************************************************/
30
31 /*******************************************************************************
32 SENTRY
33 *******************************************************************************/
34
35 #ifndef FGCOEFFICIENT_H
36 #define FGCOEFFICIENT_H
37
38 /*******************************************************************************
39 INCLUDES
40 *******************************************************************************/
41 #include <fstream.h>
42
43 /*******************************************************************************
44 DEFINES
45 *******************************************************************************/
46 #define FG_QBAR         1
47 #define FG_WINGAREA     2
48 #define FG_WINGSPAN     4
49 #define FG_CBAR         8
50 #define FG_ALPHA       16
51 #define FG_ALPHADOT    32
52 #define FG_BETA        64
53 #define FG_BETADOT    128
54 #define FG_PITCHRATE  256
55 #define FG_ROLLRATE   512
56 #define FG_YAWRATE   1024
57 #define FG_ELEVATOR  2048
58 #define FG_AILERON   4096
59 #define FG_RUDDER    8192
60 #define FG_MACH     16384
61 #define FG_ALTITUDE 32768L
62
63 /*******************************************************************************
64 CLASS DECLARATION
65 *******************************************************************************/
66
67 class FGCoefficient
68 {
69 public:
70   FGCoefficient(void);
71   FGCoefficient(int, int);
72   FGCoefficient(int);
73   FGCoefficient(char*);
74   ~FGCoefficient(void);
75
76   bool Allocate(int);
77   bool Allocate(int, int);
78
79   float Value(float, float);
80   float Value(float);
81   float Value(void);
82
83 protected:
84
85 private:
86   float StaticValue;
87   float *Table2D;
88   float **Table3D;
89   int rows, columns;
90   char filename[50];
91   char description[50];
92   char name[10];
93   int type;
94   char method[15];
95   int multipliers;
96   long int mult_idx[10];
97   int mult_count;
98   float LookupR, LookupC;
99
100   float GetCoeffVal(int);
101 };
102
103 /******************************************************************************/
104 #endif