1
0
Fork 0

- remove lots of traling spaces

- fix indendation and alignment
This commit is contained in:
mfranz 2006-06-09 21:29:40 +00:00
parent 265e411791
commit 925e1578cd
2 changed files with 326 additions and 328 deletions

View file

@ -86,12 +86,12 @@ float HUD_matrix[16];
//$$$ begin - added, Neetha, 28 Nov 2k
static string name;
static int x;
static int y;
static string name;
static int x;
static int y;
static UINT width;
static UINT height;
static float factor;
static float factor;
static float span_units;
static float division_units;
static float minor_division = 0;
@ -99,7 +99,7 @@ static UINT screen_hole;
static UINT lbl_pos;
static bool working;
static string loadfn;
static UINT options;
static UINT options;
static float maxValue;
static float minValue;
static float scaling;
@ -111,50 +111,50 @@ static string label_format;
static string prelabel;
static string postlabel;
static int justi;
static int blinking;
static int blinking;
static float maxBankAngle;
static float maxSlipAngle;
static UINT gap_width;
static bool latitude;
static bool longitude;
static bool tick_bottom;
static bool tick_top;
static bool tick_right;
static bool tick_left;
static bool cap_bottom;
static bool cap_top;
static bool cap_right;
static bool cap_left;
static bool latitude;
static bool longitude;
static bool tick_bottom;
static bool tick_top;
static bool tick_right;
static bool tick_left;
static bool cap_bottom;
static bool cap_top;
static bool cap_right;
static bool cap_left;
static float marker_off;
static string type;
static bool enable_pointer;
static string type_pointer;
static bool frl_spot;
static bool target;
static bool target;
static bool vel_vector;
static bool drift;
static bool alpha;
static bool energy;
static bool climb_dive;
static bool glide;
static float glide_slope_val;
static bool worm_energy;
static bool waypoint;
static string type_tick;//hud
static string length_tick;//hud
static bool label_box;//hud
static int digits; //suma
static float radius; //suma
static int divisions; //suma
static int zoom; //suma
static int zenith; //suma
static int nadir ; //suma
static int hat; //suma
static bool tsi; //suma
static float rad; //suma
static bool energy;
static bool climb_dive;
static bool glide;
static float glide_slope_val;
static bool worm_energy;
static bool waypoint;
static string type_tick;//hud
static string length_tick;//hud
static bool label_box;//hud
static int digits; //suma
static float radius; //suma
static int divisions; //suma
static int zoom; //suma
static int zenith; //suma
static int nadir ; //suma
static int hat; //suma
static bool tsi; //suma
static float rad; //suma
static FLTFNPTR load_fn;
static FLTFNPTR load_fn;
static fgLabelJust justification;
static const char *pre_label_string = 0;
static const char *post_label_string = 0;
@ -201,37 +201,37 @@ locRECT :: locRECT( UINT left, UINT top, UINT right, UINT bottom)
#define INSTRDEFS 21
//$$$ begin - added, Neetha, 28 Nov 2k
static instr_item *
static instr_item *
readLadder(const SGPropertyNode * node)
{
instr_item *p;
name = node->getStringValue("name");
x = node->getIntValue("x");
y = node->getIntValue("y");
width = node->getIntValue("width");
height = node->getIntValue("height");
factor = node->getFloatValue("compression_factor");
span_units = node->getFloatValue("span_units");
division_units = node->getFloatValue("division_units");
screen_hole = node->getIntValue("screen_hole");
lbl_pos = node->getIntValue("lbl_pos");
frl_spot = node->getBoolValue("enable_frl",false);
target = node->getBoolValue("enable_target_spot",false);
vel_vector = node->getBoolValue("enable_velocity_vector",false);
drift = node->getBoolValue("enable_drift_marker",false);
alpha = node->getBoolValue("enable_alpha_bracket",false);
energy = node->getBoolValue("enable_energy_marker",false);
climb_dive = node->getBoolValue("enable_climb_dive_marker",false);
glide = node->getBoolValue("enable_glide_slope_marker",false);
glide_slope_val = node->getFloatValue("glide_slope",-4.0);
worm_energy = node->getBoolValue("enable_energy_marker",false);
waypoint = node->getBoolValue("enable_waypoint_marker",false);
working = node->getBoolValue("working");
zenith = node->getIntValue("zenith"); //suma
nadir = node->getIntValue("nadir"); //suma
hat = node->getIntValue("hat");
name = node->getStringValue("name");
x = node->getIntValue("x");
y = node->getIntValue("y");
width = node->getIntValue("width");
height = node->getIntValue("height");
factor = node->getFloatValue("compression_factor");
span_units = node->getFloatValue("span_units");
division_units = node->getFloatValue("division_units");
screen_hole = node->getIntValue("screen_hole");
lbl_pos = node->getIntValue("lbl_pos");
frl_spot = node->getBoolValue("enable_frl",false);
target = node->getBoolValue("enable_target_spot",false);
vel_vector = node->getBoolValue("enable_velocity_vector",false);
drift = node->getBoolValue("enable_drift_marker",false);
alpha = node->getBoolValue("enable_alpha_bracket",false);
energy = node->getBoolValue("enable_energy_marker",false);
climb_dive = node->getBoolValue("enable_climb_dive_marker",false);
glide = node->getBoolValue("enable_glide_slope_marker",false);
glide_slope_val = node->getFloatValue("glide_slope",-4.0);
worm_energy = node->getBoolValue("enable_energy_marker",false);
waypoint = node->getBoolValue("enable_waypoint_marker",false);
working = node->getBoolValue("working");
zenith = node->getIntValue("zenith"); //suma
nadir = node->getIntValue("nadir"); //suma
hat = node->getIntValue("hat");
// The factor assumes a base of 55 degrees per 640 pixels.
// Invert to convert the "compression" factor to a
// pixels-per-degree number.
@ -245,58 +245,58 @@ readLadder(const SGPropertyNode * node)
}
SG_LOG(SG_INPUT, SG_INFO, "Done reading instrument " << name);
p = (instr_item *) new HudLadder( name, x, y,
width, height, factor,
get_roll, get_pitch,
span_units, division_units, minor_division,
screen_hole, lbl_pos, frl_spot, target, vel_vector,
drift, alpha, energy, climb_dive,
glide, glide_slope_val, worm_energy,
screen_hole, lbl_pos, frl_spot, target, vel_vector,
drift, alpha, energy, climb_dive,
glide, glide_slope_val, worm_energy,
waypoint, working, zenith, nadir, hat);
return p;
} //end readLadder
static instr_item *
static instr_item *
readCard(const SGPropertyNode * node)
{
instr_item *p;
name = node->getStringValue("name");
x = node->getIntValue("x");
y = node->getIntValue("y");
width = node->getIntValue("width");
height = node->getIntValue("height");
loadfn = node->getStringValue("loadfn");
options = node->getIntValue("options");
maxValue = node->getFloatValue("maxValue");
minValue = node->getFloatValue("minValue");
scaling = node->getFloatValue("disp_scaling");
major_divs = node->getIntValue("major_divs");
minor_divs = node->getIntValue("minor_divs");
modulator = node->getIntValue("modulator");
span_units = node->getFloatValue("value_span");
type = node->getStringValue("type");
tick_bottom = node->getBoolValue("tick_bottom",false);
tick_top = node->getBoolValue("tick_top",false);
tick_right = node->getBoolValue("tick_right",false);
tick_left = node->getBoolValue("tick_left",false);
cap_bottom = node->getBoolValue("cap_bottom",false);
cap_top = node->getBoolValue("cap_top",false);
cap_right = node->getBoolValue("cap_right",false);
cap_left = node->getBoolValue("cap_left",false);
marker_off = node->getFloatValue("marker_offset",0.0);
enable_pointer = node->getBoolValue("enable_pointer",true);
type_pointer = node->getStringValue("pointer_type");
type_tick = node->getStringValue("tick_type");//hud Can be 'circle' or 'line'
length_tick = node->getStringValue("tick_length");//hud For variable length
working = node->getBoolValue("working");
radius = node->getFloatValue("radius"); //suma
divisions = node->getIntValue("divisions"); //suma
zoom = node->getIntValue("zoom"); //suma
name = node->getStringValue("name");
x = node->getIntValue("x");
y = node->getIntValue("y");
width = node->getIntValue("width");
height = node->getIntValue("height");
loadfn = node->getStringValue("loadfn");
options = node->getIntValue("options");
maxValue = node->getFloatValue("maxValue");
minValue = node->getFloatValue("minValue");
scaling = node->getFloatValue("disp_scaling");
major_divs = node->getIntValue("major_divs");
minor_divs = node->getIntValue("minor_divs");
modulator = node->getIntValue("modulator");
span_units = node->getFloatValue("value_span");
type = node->getStringValue("type");
tick_bottom = node->getBoolValue("tick_bottom",false);
tick_top = node->getBoolValue("tick_top",false);
tick_right = node->getBoolValue("tick_right",false);
tick_left = node->getBoolValue("tick_left",false);
cap_bottom = node->getBoolValue("cap_bottom",false);
cap_top = node->getBoolValue("cap_top",false);
cap_right = node->getBoolValue("cap_right",false);
cap_left = node->getBoolValue("cap_left",false);
marker_off = node->getFloatValue("marker_offset",0.0);
enable_pointer = node->getBoolValue("enable_pointer",true);
type_pointer = node->getStringValue("pointer_type");
type_tick = node->getStringValue("tick_type");//hud Can be 'circle' or 'line'
length_tick = node->getStringValue("tick_length");//hud For variable length
working = node->getBoolValue("working");
radius = node->getFloatValue("radius"); //suma
divisions = node->getIntValue("divisions"); //suma
zoom = node->getIntValue("zoom"); //suma
SG_LOG(SG_INPUT, SG_INFO, "Done reading instrument " << name);
@ -336,7 +336,7 @@ readCard(const SGPropertyNode * node)
if ( (type == "dial") | (type == "tape") ) {
p = (instr_item *) new hud_card( x,
y,
y,
width,
height,
load_fn,
@ -367,10 +367,10 @@ readCard(const SGPropertyNode * node)
zoom //suma
);
} else {
p = (instr_item *) new gauge_instr( x, // x
y, // y
width, // width
height, // height
p = (instr_item *) new gauge_instr( x, // x
y, // y
width, // width
height, // height
load_fn, // data source
options,
scaling,
@ -391,24 +391,24 @@ readLabel(const SGPropertyNode * node)
int font_size = (fgGetInt("/sim/startup/xsize") > 1000) ? HUD_FONT_LARGE : HUD_FONT_SMALL;
name = node->getStringValue("name");
x = node->getIntValue("x");
y = node->getIntValue("y");
width = node->getIntValue("width");
height = node->getIntValue("height");
loadfn = node->getStringValue("data_source");
label_format = node->getStringValue("label_format");
prelabel = node->getStringValue("pre_label_string");
postlabel = node->getStringValue("post_label_string");
scaling = node->getFloatValue("scale_data");
options = node->getIntValue("options");
justi = node->getIntValue("justification");
blinking = node->getIntValue("blinking");
latitude = node->getBoolValue("latitude",false);
longitude = node->getBoolValue("longitude",false);
label_box = node->getBoolValue("label_box",false);//hud
working = node->getBoolValue("working");
digits = node->getIntValue("digits"); //suma
name = node->getStringValue("name");
x = node->getIntValue("x");
y = node->getIntValue("y");
width = node->getIntValue("width");
height = node->getIntValue("height");
loadfn = node->getStringValue("data_source");
label_format = node->getStringValue("label_format");
prelabel = node->getStringValue("pre_label_string");
postlabel = node->getStringValue("post_label_string");
scaling = node->getFloatValue("scale_data");
options = node->getIntValue("options");
justi = node->getIntValue("justification");
blinking = node->getIntValue("blinking");
latitude = node->getBoolValue("latitude",false);
longitude = node->getBoolValue("longitude",false);
label_box = node->getBoolValue("label_box",false);//hud
working = node->getBoolValue("working");
digits = node->getIntValue("digits"); //suma
SG_LOG(SG_INPUT, SG_INFO, "Done reading instrument " << name);
@ -489,7 +489,7 @@ readLabel(const SGPropertyNode * node)
load_fn = get_aux18;
} else
#endif
if ( loadfn == "ax" ) {
if ( loadfn == "ax" ) {
load_fn = get_Ax;
} else if ( loadfn == "speed" ) {
load_fn = get_speed;
@ -543,7 +543,7 @@ readLabel(const SGPropertyNode * node)
return p;
} // end readLabel
static instr_item *
static instr_item *
readTBI(const SGPropertyNode * node)
{
@ -558,19 +558,19 @@ readTBI(const SGPropertyNode * node)
maxSlipAngle = node->getFloatValue("maxSlipAngle");
gap_width = node->getIntValue("gap_width");
working = node->getBoolValue("working");
tsi = node->getBoolValue("tsi"); //suma
rad = node->getFloatValue("rad"); //suma
tsi = node->getBoolValue("tsi"); //suma
rad = node->getFloatValue("rad"); //suma
SG_LOG(SG_INPUT, SG_INFO, "Done reading instrument " << name);
p = (instr_item *) new fgTBI_instr( x,
y,
p = (instr_item *) new fgTBI_instr( x,
y,
width,
height,
get_roll,
get_sideslip,
maxBankAngle,
maxBankAngle,
maxSlipAngle,
gap_width,
working,
@ -580,27 +580,27 @@ readTBI(const SGPropertyNode * node)
return p;
} //end readTBI
static instr_item *
static instr_item *
readRunway(const SGPropertyNode * node) {
name = node->getStringValue("name");
x = node->getIntValue("x");
y = node->getIntValue("y");
width = node->getIntValue("width");
height = node->getIntValue("height");
scaling = node->getDoubleValue("scale");
working = node->getBoolValue("working",true);
runway_instr *ri = new runway_instr(x,y,width,height,scaling,working);
double scale = node->getDoubleValue("arrow_scale",1.0);
ri->setDrawArrow((scale>0)?true:false);
ri->setDrawArrowAlways((scale>0)?node->getBoolValue("arrow_always"):false);
ri->setStippleOutline(node->getIntValue("outer_stipple",0xFFFF));
ri->setStippleCenterline(node->getIntValue("center_stipple",0xFFFF));
ri->setArrowRotationRadius(node->getDoubleValue("arrow_radius"));
ri->setArrowScale(scale);
ri->setLineScale(node->getDoubleValue("line_scale",1.0));
ri->setScaleDist(node->getDoubleValue("scale_dist_nm"));
SG_LOG(SG_INPUT, SG_INFO, "Done reading instrument " << name);
return (instr_item *) ri;
name = node->getStringValue("name");
x = node->getIntValue("x");
y = node->getIntValue("y");
width = node->getIntValue("width");
height = node->getIntValue("height");
scaling = node->getDoubleValue("scale");
working = node->getBoolValue("working",true);
runway_instr *ri = new runway_instr(x,y,width,height,scaling,working);
double scale = node->getDoubleValue("arrow_scale",1.0);
ri->setDrawArrow((scale>0)?true:false);
ri->setDrawArrowAlways((scale>0)?node->getBoolValue("arrow_always"):false);
ri->setStippleOutline(node->getIntValue("outer_stipple",0xFFFF));
ri->setStippleCenterline(node->getIntValue("center_stipple",0xFFFF));
ri->setArrowRotationRadius(node->getDoubleValue("arrow_radius"));
ri->setArrowScale(scale);
ri->setLineScale(node->getDoubleValue("line_scale",1.0));
ri->setScaleDist(node->getDoubleValue("scale_dist_nm"));
SG_LOG(SG_INPUT, SG_INFO, "Done reading instrument " << name);
return (instr_item *) ri;
}
@ -610,7 +610,7 @@ int readInstrument(const SGPropertyNode * node)
= fgGetNode("/sim/startup/units");
instr_item *HIptr;
if ( !strcmp(startup_units_node->getStringValue(), "feet") ) {
strcpy(units, " ft");
} else {
@ -622,10 +622,10 @@ int readInstrument(const SGPropertyNode * node)
if (ladder_group != 0) {
int nLadders = ladder_group->nChildren();
for (int j = 0; j < nLadders; j++) {
HIptr = readLadder(ladder_group->getChild(j));
HUD_deque.insert( HUD_deque.begin(), HIptr);
}// for - ladders
}
@ -633,7 +633,7 @@ int readInstrument(const SGPropertyNode * node)
if (card_group != 0) {
int nCards = card_group->nChildren();
for (int j = 0; j < nCards; j++) {
HIptr = readCard(card_group->getChild(j));
HUD_deque.insert( HUD_deque.begin(), HIptr);
@ -661,7 +661,7 @@ int readInstrument(const SGPropertyNode * node)
}//for - tbis
}
const SGPropertyNode * rwy_group = node->getNode("runways");
if (rwy_group != 0) {
int nRwy = rwy_group->nChildren();
@ -672,12 +672,12 @@ int readInstrument(const SGPropertyNode * node)
HUD_deque.insert( HUD_deque.begin(), HIptr);
}//for - runways
}
}
return 0;
}//end readinstrument
int readHud( istream &input )
int readHud( istream &input )
{
SGPropertyNode root;
@ -688,13 +688,13 @@ int readHud( istream &input )
guiErrorMessage("Error reading HUD: ", e);
return 0;
}
SG_LOG(SG_INPUT, SG_INFO, "Read properties for " <<
root.getStringValue("name"));
HUD_deque.erase( HUD_deque.begin(), HUD_deque.end()); // empty the HUD deque
HUD_deque.erase( HUD_deque.begin(), HUD_deque.end());
SG_LOG(SG_INPUT, SG_INFO, "Reading Hud instruments");
@ -703,7 +703,7 @@ int readHud( istream &input )
int nInstruments = instrument_group->nChildren();
for (int i = 0; i < nInstruments; i++) {
const SGPropertyNode * node = instrument_group->getChild(i);
SGPath path( globals->get_fg_root() );
@ -720,7 +720,7 @@ int readHud( istream &input )
} catch (const sg_exception &e) {
guiErrorMessage("Error reading HUD instrument: ", e);
continue;
}
}
readInstrument(&root2);
}//for loop(i)
@ -736,10 +736,10 @@ int fgHUDInit( fgAIRCRAFT * /* current_aircraft */ )
SG_LOG( SG_COCKPIT, SG_INFO, "Initializing current aircraft HUD" );
string hud_path =
fgGetString("/sim/hud/path", "Huds/Default/default.xml");
fgGetString("/sim/hud/path", "Huds/Default/default.xml");
SGPath path(globals->get_fg_root());
path.append(hud_path);
ifstream input(path.c_str());
if (!input.good()) {
SG_LOG(SG_INPUT, SG_ALERT,
@ -804,7 +804,7 @@ int fgHUDInit2( fgAIRCRAFT * /* current_aircraft */ )
return 0; // For now. Later we may use this for an error code.
}
//$$$ End - added, Neetha, 28 Nov 2k
//$$$ End - added, Neetha, 28 Nov 2k
void fgHUDReshape(void) {
@ -836,14 +836,13 @@ void fgHUDReshape(void) {
// all C++.
//
void fgUpdateHUD( void ) {
static const SGPropertyNode *enable3d_node = fgGetNode("/sim/hud/enable3d");
if( HUD_style == 1 && enable3d_node->getBoolValue() )
{
if( HUD_style == 1 && enable3d_node->getBoolValue() ) {
fgUpdateHUDVirtual();
return;
}
static const float normal_aspect = float(640) / float(480);
// note: aspect_ratio is Y/X
float current_aspect = 1.0f/globals->get_current_view()->get_aspect_ratio();
@ -872,7 +871,7 @@ void fgUpdateHUDVirtual()
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
// Standard fgfs view direction computation
float lookat[3];
lookat[0] = -sin(SG_DEGREES_TO_RADIANS * view->getHeadingOffset_deg());
@ -930,14 +929,13 @@ void fgUpdateHUD( GLfloat x_start, GLfloat y_start,
void drawHUD()
{
if( !HUD_deque.size() ) { // Trust everyone, but ALWAYS cut the cards!
if( !HUD_deque.size() ) // Trust everyone, but ALWAYS cut the cards!
return;
}
HUD_TextList.erase();
HUD_LineList.erase();
// HUD_StippleLineList.erase();
glDisable(GL_DEPTH_TEST);
glDisable(GL_LIGHTING);
@ -974,8 +972,8 @@ void drawHUD()
int apY = 480 - 80;
if (strcmp( heading_enabled->getStringValue(), "dg-heading-hold") == 0 ) {
snprintf( hud_hdg_text, 256, "hdg = %.1f\n",
fgGetDouble("/autopilot/settings/heading-bug-deg") );
@ -989,7 +987,7 @@ void drawHUD()
string wp0_id = fgGetString( "/autopilot/route-manager/wp[0]/id" );
if ( wp0_id.length() > 0 ) {
snprintf( hud_wp0_text, 256, "%5s %6.1fnm %s", wp0_id.c_str(),
snprintf( hud_wp0_text, 256, "%5s %6.1fnm %s", wp0_id.c_str(),
fgGetDouble( "/autopilot/route-manager/wp[0]/dist" ),
fgGetString( "/autopilot/route-manager/wp[0]/eta" ) );
HUD_TextList.add( fgText( 40, apY, hud_wp0_text ) );
@ -997,7 +995,7 @@ void drawHUD()
}
string wp1_id = fgGetString( "/autopilot/route-manager/wp[1]/id" );
if ( wp1_id.length() > 0 ) {
snprintf( hud_wp1_text, 256, "%5s %6.1fnm %s", wp1_id.c_str(),
snprintf( hud_wp1_text, 256, "%5s %6.1fnm %s", wp1_id.c_str(),
fgGetDouble( "/autopilot/route-manager/wp[1]/dist" ),
fgGetString( "/autopilot/route-manager/wp[1]/eta" ) );
HUD_TextList.add( fgText( 40, apY, hud_wp1_text ) );
@ -1005,14 +1003,14 @@ void drawHUD()
}
string wp2_id = fgGetString( "/autopilot/route-manager/wp-last/id" );
if ( wp2_id.length() > 0 ) {
snprintf( hud_wp2_text, 256, "%5s %6.1fnm %s", wp2_id.c_str(),
snprintf( hud_wp2_text, 256, "%5s %6.1fnm %s", wp2_id.c_str(),
fgGetDouble( "/autopilot/route-manager/wp-last/dist" ),
fgGetString( "/autopilot/route-manager/wp-last/eta" ) );
HUD_TextList.add( fgText( 40, apY, hud_wp2_text ) );
apY -= 15;
}
}
if ( strcmp( altitude_enabled->getStringValue(), "altitude-hold" ) == 0 ) {
snprintf( hud_alt_text, 256, "alt = %.0f\n",
fgGetDouble("/autopilot/settings/target-altitude-ft") );

View file

@ -75,7 +75,7 @@ SG_USING_NAMESPACE(std);
typedef struct {
int x, y;
} POINT;
typedef struct {
int top, bottom, left, right;
} RECT;
@ -239,7 +239,7 @@ public:
}
~fgLineSeg2D() {}
void draw() const
{
glVertex2f(x0, y0);
@ -268,20 +268,20 @@ private:
public:
int digit; //suma
fgText(float x = 0, float y = 0, char *c = NULL,int digits=0): x(x), y(y) //suma
{
{
strcpy(msg,c);
digit=digits; //suma
}
fgText( const fgText & image )
: x(image.x), y(image.y),digit(image.digit) {strcpy(msg,image.msg);} //suma
: x(image.x), y(image.y),digit(image.digit) { strcpy(msg,image.msg); } //suma
fgText& operator = ( const fgText & image ) {
strcpy(msg,image.msg); x = image.x; y = image.y;digit=image.digit; //suma
return *this;
return *this;
}
~fgText() {msg[0]='\0';}
~fgText() { msg[0]='\0'; }
int getStringWidth ( char *str )
{
@ -292,7 +292,7 @@ public:
}
return 0 ;
}
int StringWidth (void )
{
if ( HUDtext && strlen( msg )) {
@ -302,7 +302,7 @@ public:
}
return 0 ;
}
// this code is changed to display Numbers with big/small digits
// according to MIL Standards for example Altitude above 10000 ft
// is shown as 10ooo. begin suma
@ -320,7 +320,7 @@ public:
}
char *tmp=msg;
while(tmp[i]!='\0') {
if((tmp[i]>='0') && (tmp[i]<='9'))
if((tmp[i]>='0') && (tmp[i]<='9'))
c++;
i++;
}
@ -329,7 +329,7 @@ public:
int p1=c-3;
char *tmp1=msg+p1;
int p2=p1*8;
fnt->start2f(x+p2,y);
fnt->puts(tmp1);
@ -337,7 +337,7 @@ public:
char tmp2[64];
strncpy(tmp2,msg,p1);
tmp2[p1]='\0';
fnt->start2f(x,y);
fnt->puts(tmp2);
} else {
@ -380,7 +380,7 @@ class fgTextList {
public:
fgTextList ( void ) { Font = 0; }
~fgTextList( void ) {}
void setFont( fntRenderer *Renderer ) { Font = Renderer; }
void add( const fgText& String ) { List.push_back(String); }
void erase( void ) { List.erase( List.begin(), List.end() ); }
@ -426,8 +426,8 @@ private:
bool broken;
UINT scr_span; // Working values for draw;
POINT mid_span; //
int digits; //suma
int digits; //suma
public:
instr_item( int x,
int y,
@ -437,7 +437,7 @@ public:
float data_scaling,
UINT options,
bool working = true,
int digit = 0); //suma
int digit = 0); //suma
instr_item( const instr_item & image );
@ -454,7 +454,7 @@ public:
UINT get_span ( void ) { return scr_span; }
POINT get_centroid ( void ) { return mid_span; }
UINT get_options ( void ) { return opts; }
int get_digits ( void ) { return digits; } //suma
int get_digits ( void ) { return digits; } //suma
UINT huds_vert (UINT options) { return( options & HUDS_VERT ); }
UINT huds_left (UINT options) { return( options & HUDS_LEFT ); }
@ -466,7 +466,7 @@ public:
UINT huds_notext (UINT options) { return( options & HUDS_NOTEXT ); }
UINT huds_top (UINT options) { return( options & HUDS_TOP ); }
UINT huds_bottom (UINT options) { return( options & HUDS_BOTTOM ); }
virtual void display_enable( bool working ) { is_enabled = !! working;}
virtual void update( void );
@ -475,7 +475,7 @@ public:
void SetPosition ( int x, int y, UINT width, UINT height );
UINT get_Handle( void );
virtual void draw( void ) = 0; // Required method in derived classes
void drawOneLine( float x1, float y1, float x2, float y2)
{
HUD_LineList.add(fgLineSeg2D(x1,y1,x2,y2));
@ -486,7 +486,7 @@ public:
}
void TextString( char *msg, float x, float y,int digit ) //suma
{
HUD_TextList.add(fgText(x, y, msg,digit)); //suma
HUD_TextList.add(fgText(x, y, msg,digit)); //suma
}
int getStringWidth ( char *str )
{
@ -501,15 +501,15 @@ public:
//code to draw ticks as small circles
void drawOneCircle(float x1, float y1, float r)
{
glBegin(GL_LINE_LOOP); // Use polygon to approximate a circle
for(int count=0; count<25; count++) {
float cosine = r * cos(count * 2 * SG_PI/10.0);
float sine = r * sin(count * 2 * SG_PI/10.0);
glBegin(GL_LINE_LOOP); // Use polygon to approximate a circle
for(int count=0; count<25; count++) {
float cosine = r * cos(count * 2 * SG_PI/10.0);
float sine = r * sin(count * 2 * SG_PI/10.0);
glVertex2f(cosine+x1, sine+y1);
}
glEnd();
}
glEnd();
}
};
typedef instr_item *HIptr;
@ -544,9 +544,9 @@ private:
int fontSize;
int blink;
char format_buffer[80];
bool lat;
bool lon;
bool lbox;
bool lat;
bool lon;
bool lbox;
public:
instr_label( int x,
@ -562,9 +562,9 @@ public:
fgLabelJust justification,
int font_size,
int blinking,
bool latitude,
bool longitude,
bool label_box,
bool latitude,
bool longitude,
bool label_box,
bool working,
int digit ); //suma);
@ -597,13 +597,13 @@ public:
const char *label_format,
const char *pre_label_string,
const char *post_label_string,
float scale_data,
float scale_data,
UINT options,
fgLabelJust justification,
int font_size,
int blinking,
bool working,
int digits =0 );//suma
int digits =0 );//suma
~lat_label();
@ -633,13 +633,13 @@ public:
const char *label_format,
const char *pre_label_string,
const char *post_label_string,
float scale_data,
float scale_data,
UINT options,
fgLabelJust justification,
int font_size,
int blinking,
bool working,
int digit=0); //suma
int digit=0); //suma
~lon_label();
@ -652,46 +652,46 @@ public:
typedef lon_label * pLonlabel;
//
// fgRunway_instr This class is responsible for rendering the active runway
// in the hud (if visible).
class runway_instr : public instr_item
// fgRunway_instr This class is responsible for rendering the active runway
// in the hud (if visible).
class runway_instr : public instr_item
{
private:
void boundPoint(const sgdVec3& v, sgdVec3& m);
bool boundOutsidePoints(sgdVec3& v, sgdVec3& m);
bool drawLine(const sgdVec3& a1, const sgdVec3& a2, const sgdVec3& p1, const sgdVec3& p2);
void drawArrow();
bool get_active_runway(FGRunway& rwy);
void get_rwy_points(sgdVec3 *points);
void setLineWidth(void);
private:
void boundPoint(const sgdVec3& v, sgdVec3& m);
bool boundOutsidePoints(sgdVec3& v, sgdVec3& m);
bool drawLine(const sgdVec3& a1, const sgdVec3& a2, const sgdVec3& p1, const sgdVec3& p2);
void drawArrow();
bool get_active_runway(FGRunway& rwy);
void get_rwy_points(sgdVec3 *points);
void setLineWidth(void);
sgdVec3 points3d[6],points2d[6];
double mm[16],pm[16], arrowScale, arrowRad, lnScale, scaleDist, default_pitch, default_heading;
GLint view[4];
FGRunway runway;
FGViewer* cockpit_view;
unsigned short stippleOut,stippleCen;
bool drawIA,drawIAAlways;
RECT location;
POINT center;
sgdVec3 points3d[6],points2d[6];
double mm[16],pm[16], arrowScale, arrowRad, lnScale, scaleDist, default_pitch, default_heading;
GLint view[4];
FGRunway runway;
FGViewer* cockpit_view;
unsigned short stippleOut,stippleCen;
bool drawIA,drawIAAlways;
RECT location;
POINT center;
public:
runway_instr( int x,
int y,
int width,
int height,
float scale_data,
bool working = true);
int y,
int width,
int height,
float scale_data,
bool working = true);
virtual void draw( void ); // Required method in base class
void setArrowRotationRadius(double radius);
void setArrowScale(double scale); // Scales the runway indication arrow
void setDrawArrow(bool draw); // Draws arrow when runway is not visible in HUD if draw=true
void setDrawArrowAlways(bool draw); //Always draws arrow if draw=true;
void setLineScale(double scale); //Sets the maximum line scale
void setScaleDist(double dist_nm); //Sets the distance where to start scaling the lines
void setStippleOutline(unsigned short stipple); //Sets the stipple pattern of the outline of the runway
void setStippleCenterline(unsigned short stipple); //Sets the stipple patter of the center line of the runway
void setArrowRotationRadius(double radius);
void setArrowScale(double scale); // Scales the runway indication arrow
void setDrawArrow(bool draw); // Draws arrow when runway is not visible in HUD if draw=true
void setDrawArrowAlways(bool draw); //Always draws arrow if draw=true;
void setLineScale(double scale); //Sets the maximum line scale
void setScaleDist(double dist_nm); //Sets the distance where to start scaling the lines
void setStippleOutline(unsigned short stipple); //Sets the stipple pattern of the outline of the runway
void setStippleCenterline(unsigned short stipple); //Sets the stipple patter of the center line of the runway
};
@ -719,10 +719,10 @@ public:
UINT height,
FLTFNPTR load_fn,
UINT options,
float show_range,
float max_value,
float min_value,
float disp_scaling,
float show_range,
float max_value,
float min_value,
float disp_scaling,
UINT major_divs,
UINT minor_divs,
UINT rollover,
@ -736,11 +736,11 @@ public:
virtual void draw ( void ) {}; // No-op here. Defined in derived classes.
UINT div_min ( void ) { return Min_div;}
UINT div_max ( void ) { return Maj_div;}
float min_val ( void ) { return Minimum_value;}
float max_val ( void ) { return Maximum_value;}
float min_val ( void ) { return Minimum_value;}
float max_val ( void ) { return Maximum_value;}
UINT modulo ( void ) { return Modulo; }
float factor ( void ) { return scale_factor;}
float range_to_show( void ) { return range_shown;}
float factor ( void ) { return scale_factor;}
float range_to_show ( void ) { return range_shown;}
};
// hud_card_ This class displays the indicated quantity on
@ -750,31 +750,31 @@ public:
class hud_card : public instr_scale {
private:
float val_span;
float val_span;
string type;
float half_width_units;
bool draw_tick_bottom;
bool draw_tick_top;
bool draw_tick_right;
bool draw_tick_left;
bool draw_cap_bottom;
bool draw_cap_top;
bool draw_cap_right;
bool draw_cap_left;
float marker_offset;
bool pointer;
string pointer_type;
string tick_type;
string tick_length;
float radius; //suma
float maxValue; //suma
float minValue; //suma
int divisions; //suma
int zoom; //suma
UINT Maj_div; //suma
UINT Min_div; //suma
float half_width_units;
bool draw_tick_bottom;
bool draw_tick_top;
bool draw_tick_right;
bool draw_tick_left;
bool draw_cap_bottom;
bool draw_cap_top;
bool draw_cap_right;
bool draw_cap_left;
float marker_offset;
bool pointer;
string pointer_type;
string tick_type;
string tick_length;
float radius; //suma
float maxValue; //suma
float minValue; //suma
int divisions; //suma
int zoom; //suma
UINT Maj_div; //suma
UINT Min_div; //suma
public:
hud_card( int x,
int y,
@ -790,24 +790,24 @@ public:
UINT modulator,
int dp_showing,
float value_span,
string type,
bool draw_tick_bottom,
bool draw_tick_top,
bool draw_tick_right,
bool draw_tick_left,
bool draw_cap_bottom,
bool draw_cap_top,
bool draw_cap_right,
bool draw_cap_left,
float marker_offset,
bool pointer,
string pointer_type,
string type,
bool draw_tick_bottom,
bool draw_tick_top,
bool draw_tick_right,
bool draw_tick_left,
bool draw_cap_bottom,
bool draw_cap_top,
bool draw_cap_right,
bool draw_cap_left,
float marker_offset,
bool pointer,
string pointer_type,
string tick_type,
string tick_length,
bool working,
float radius, //suma
int divisions, //suma
int zoom //suma
int zoom //suma
);
@ -871,10 +871,10 @@ public:
float current_ch1( void ) { return (float)alt_data_source();}
float current_ch2( void ) { return (float)get_value();}
virtual void draw ( void ) { }
virtual void draw( void ) { }
};
class fgTBI_instr : public dual_instr_item
class fgTBI_instr : public dual_instr_item
{
private:
UINT BankLimit;
@ -890,11 +890,11 @@ public:
UINT height,
FLTFNPTR chn1_source,
FLTFNPTR chn2_source,
float maxBankAngle,
float maxSlipAngle,
float maxBankAngle,
float maxSlipAngle,
UINT gap_width,
bool working,
bool tsi, //suma
bool tsi, //suma
float rad); //suma
fgTBI_instr( const fgTBI_instr & image);
@ -926,16 +926,16 @@ private:
bool velocity_vector;
bool drift_marker;
bool alpha_bracket;
bool energy_marker;
bool climb_dive_marker;
bool glide_slope_marker;
float glide_slope;
bool energy_worm;
bool waypoint_marker;
int zenith; //suma
int nadir; //suma
int hat; //suma
bool energy_marker;
bool climb_dive_marker;
bool glide_slope_marker;
float glide_slope;
bool energy_worm;
bool waypoint_marker;
int zenith; //suma
int nadir; //suma
int hat; //suma
// The Ladder has it's own temporary display lists
fgTextList TextList;
@ -944,11 +944,11 @@ private:
public:
HudLadder( const string& name,
int x,
int x,
int y,
UINT width,
UINT height,
float factor,
float factor,
FLTFNPTR ptch_source,
FLTFNPTR roll_source,
float span_units,
@ -956,21 +956,21 @@ public:
float minor_division,
UINT screen_hole,
UINT lbl_pos,
bool frl,
bool target_spot,
bool velocity_vector,
bool drift_marker,
bool alpha_bracket,
bool energy_marker,
bool climb_dive_marker,
bool glide_slope_marker,
float glide_slope,
bool energy_worm,
bool waypoint_marker,
bool working,
int zenith, //suma
int nadir, //suma
int hat
bool frl,
bool target_spot,
bool velocity_vector,
bool drift_marker,
bool alpha_bracket,
bool energy_marker,
bool climb_dive_marker,
bool glide_slope_marker,
float glide_slope,
bool energy_worm,
bool waypoint_marker,
bool working,
int zenith, //suma
int nadir, //suma
int hat
); //suma