10 // FIXME: need to handle "inverted" controls for mirrored wings.
16 // Do we mirror ourselves about the XZ plane?
17 void setMirror(bool mirror);
20 void setBase(float* base); // in local coordinates
21 void setLength(float length); // dist. ALONG wing (not span!)
22 void setChord(float chord); // at base, measured along X axis
23 void setTaper(float taper); // fraction, 0-1
24 void setSweep(float sweep); // radians
25 void setDihedral(float dihedral); // radians, positive is "up"
27 void setStall(float aoa);
28 void setStallWidth(float angle);
29 void setStallPeak(float fraction);
30 void setTwist(float angle);
31 void setCamber(float camber);
32 void setIncidence(float incidence);
33 void setInducedDrag(float drag) { _inducedDrag = drag; }
35 void setFlap0(float start, float end, float lift, float drag);
36 void setFlap1(float start, float end, float lift, float drag);
37 void setSpoiler(float start, float end, float lift, float drag);
38 void setSlat(float start, float end, float aoa, float drag);
40 // Set the control axes for the sub-surfaces
41 void setFlap0(float lval, float rval);
42 void setFlap1(float lval, float rval);
43 void setSpoiler(float lval, float rval);
44 void setSlat(float val);
45 void setFlap0Effectiveness(float lval);
46 void setFlap1Effectiveness(float lval);
48 // Compile the thing into a bunch of Surface objects
51 void getTip(float* tip);
55 // Ground effect information
56 float getGroundEffect(float* posOut);
58 // Query the list of Surface objects
60 Surface* getSurface(int n);
61 float getSurfaceWeight(int n);
63 // The overall drag coefficient for the wing as a whole. Units are
65 void setDragScale(float scale);
68 // The ratio of force along the Z (lift) direction of each wing
69 // segment to that along the X (drag) direction.
70 void setLiftRatio(float ratio);
74 void interp(float* v1, float* v2, float frac, float* out);
75 Surface* newSurface(float* pos, float* orient, float chord,
76 bool flap0, bool flap1, bool slat, bool spoiler);
78 struct SurfRec { Surface * surface; float weight; };
127 }; // namespace yasim