5 #include "Rotorpart.hpp"
6 #include "Rotorblade.hpp"
19 void setNormal(float* normal); //the normal vector (direction of rotormast, pointing up)
20 void setForward(float* forward); //the normal vector pointing forward (for ele and ail)
21 //void setMaxPitchForce(float force);
22 void setForceAtPitchA(float force);
23 void setPowerAtPitch0(float value);
24 void setPowerAtPitchB(float value);
25 void setNotorque(int value);
26 void setPitchA(float value);
27 void setPitchB(float value);
28 void setMinCyclicail(float value);
29 void setMinCyclicele(float value);
30 void setMaxCyclicail(float value);
31 void setMaxCyclicele(float value);
32 void setMaxCollective(float value);
33 void setMinCollective(float value);
34 void setDiameter(float value);
35 void setWeightPerBlade(float value);
36 void setNumberOfBlades(float value);
37 void setRelBladeCenter(float value);
38 void setDelta3(float value);
39 void setDelta(float value);
40 void setDynamic(float value);
41 void setTranslift(float value);
42 void setC2(float value);
43 void setStepspersecond(float steps);
44 void setRPM(float value);
45 void setRelLenHinge(float value);
46 void setBase(float* base); // in local coordinates
47 void setCyclicail(float lval,float rval);
48 void setCyclicele(float lval,float rval);
49 void setCollective(float lval);
50 void setAlphaoutput(int i, const char *text);
52 void setSimBlades(int value);
53 void setEngineOn(int value);
55 int getValueforFGSet(int j,char *b,float *f);
56 void setName(const char *text);
57 void inititeration(float dt);
60 void getTip(float* tip);
64 // Ground effect information, stil missing
65 float getGroundEffect(float* posOut);
67 // Query the list of Rotorpart objects
69 Rotorpart* getRotorpart(int n);
70 // Query the list of Rotorblade objects
72 Rotorblade* getRotorblade(int n);
73 void setAlpha0(float f);
74 void setAlphamin(float f);
75 void setAlphamax(float f);
76 void setTeeterdamp(float f);
77 void setMaxteeterdamp(float f);
78 void setRelLenTeeterHinge(float value);
79 void setAlpha0factor(float f);
82 void strncpy(char *dest,const char *src,int maxlen);
83 void interp(float* v1, float* v2, float frac, float* out);
84 Rotorpart* newRotorpart(float* pos, float *posforceattac, float *normal,
85 float* speed,float *dirzentforce, float zentforce,float maxpitchforce,float maxpitch, float minpitch, float mincyclic,float maxcyclic,
86 float delta3,float mass,float translift,float rellenhinge,float len);
88 Rotorblade* newRotorblade(
89 float* pos, float *normal,float *front, float *right,
90 float lforceattac,float relenhinge,
91 float *dirzentforce, float zentforce,float maxpitchforce,float maxpitch,
92 float delta3,float mass,float translift,float phi,float omega,float len,float speed);
101 float _normal[3];//the normal vector (direction of rotormast, pointing up)
104 int _number_of_blades;
105 float _weight_per_blade;
106 float _rel_blade_center;
109 float _force_at_max_pitch;
110 float _force_at_pitch_a;
112 float _power_at_pitch_0;
113 float _power_at_pitch_b;
118 float _rel_len_hinge;
128 float _stepspersecond;
129 char _alphaoutput[8][256];
133 float _omega,_omegan,_omegarel;
134 float _alphamin,_alphamax,_alpha0,_alpha0factor;
135 float _teeterdamp,_maxteeterdamp;
136 float _rellenteeterhinge;
145 }; // namespace yasim