]> git.mxchange.org Git - flightgear.git/commitdiff
remove lon/lat string representation generating functions; this is now
authormfranz <mfranz>
Sat, 17 Jun 2006 16:40:51 +0000 (16:40 +0000)
committermfranz <mfranz>
Sat, 17 Jun 2006 16:40:51 +0000 (16:40 +0000)
done in Main/fg_props.cxx and available via /position/{long,lat}itude-string

src/Cockpit/cockpit.cxx
src/Cockpit/hud.cxx
src/Cockpit/hud.hxx
src/Cockpit/hud_labl.cxx
src/Cockpit/hud_rwy.cxx

index 2a1029284982ccc5541648cc166b4da2a48a0905..fe3f9f3931f8be9eb1b32cb30d2d6d1a328833da 100644 (file)
@@ -522,158 +522,6 @@ float get_aux18 (void)
     return fdm->get_faux(10);
 }
 #endif
-// $$$ end - added, VS Renganathan 13 Oct 2K
-
-
-#ifdef NOT_USED
-/****************************************************************************/
-/* Convert degrees to dd mm'ss.s" (DMS-Format)                              */
-/****************************************************************************/
-char *dmshh_format(double degrees)
-{
-    static char buf[16];
-    int deg_part;
-    int min_part;
-    double sec_part;
-
-    if (degrees < 0)
-      degrees = -degrees;
-
-    deg_part = degrees;
-    min_part = 60.0 * (degrees - deg_part);
-    sec_part = 3600.0 * (degrees - deg_part - min_part / 60.0);
-
-    /* Round off hundredths */
-    if (sec_part + 0.005 >= 60.0)
-      sec_part -= 60.0, min_part += 1;
-    if (min_part >= 60)
-      min_part -= 60, deg_part += 1;
-
-    sprintf(buf,"%02d*%02d %05.2f",deg_part,min_part,sec_part);
-
-    return buf;
-}
-#endif // 0
-
-
-/************************************************************************
- Convert degrees to dd mm.mmm' (DMM-Format)
- Description: Converts using a round-off factor tailored to the required
- precision of the minutes field (three decimal places).  Round-off
- prevents function from returning a minutes value of 60.
-
- Input arguments: Coordinate value in decimal degrees
-
-************************************************************************/
-static char *toDM(float dd)
-{
-    static char  dm[16];
-    double tempdd;
-    double mn;
-    double sign = 1;
-    int deg;
-
-    if (dd < 0)
-        sign = -1;
-
-    /* round for minutes expressed to three decimal places */
-    tempdd = fabs(dd) + (5.0E-4 / 60.0);
-    deg = (int)tempdd;
-    mn = fabs( (tempdd - (double)(deg)) * 60.0 - 4.999E-4 );
-    deg *= (int)sign;
-    sprintf(dm, "%d*%06.3f", deg, mn);
-    return dm;
-}
-
-
-/************************************************************************
- Convert degrees to dd mm'ss.s'' (DMS-Format)
- Description: Converts using a round-off factor tailored to the required
- precision of the seconds field (one decimal place).  Round-off
- prevents function from returning a seconds value of 60.
-
- Input arguments: Coordinate value in decimal degrees
-
-************************************************************************/
-static char *toDMS(float dd)
-{
-    static char  dms[16];
-    double tempdd, tempmin;
-    int deg;
-    int mn;
-    double sec;
-    double sign = 1;
-
-    if (dd < 0)
-        sign = -1;
-
-    /* round up for seconds expressed to one decimal place */
-    tempdd = fabs(dd) + (0.05 / 3600.0);
-    deg = (int)tempdd;
-    tempmin =  (tempdd - (double)(deg)) * 60.0;
-    mn = (int)tempmin;
-    sec = fabs( (tempmin - (double)(mn)) * 60.0 - 0.049 );
-    deg *= (int)sign;
-    sprintf(dms, "%d*%02d %04.1f", deg, mn, sec);
-    return dms;
-}
-
-
-// Have to set the LatLon display type
-//static char *(*fgLatLonFormat)(float) = toDM;
-static char *(*fgLatLonFormat)(float);
-
-char *coord_format_lat(float latitude)
-{
-    static char buf[16];
-
-    sprintf(buf,"%s%c",
-//      dmshh_format(latitude),
-//      toDMS(latitude),
-//      toDM(latitude),
-        fgLatLonFormat(latitude),
-        latitude > 0 ? 'N' : 'S');
-    return buf;
-}
-
-char *coord_format_lon(float longitude)
-{
-    static char buf[80];
-
-    sprintf(buf,"%s%c",
-//      dmshh_format(longitude),
-//      toDMS(longitude),
-//      toDM(longitude),
-        fgLatLonFormat(longitude),
-        longitude > 0 ? 'E' : 'W');
-    return buf;
-}
-
-void fgLatLonFormatToggle( puObject *)
-{
-    static bool toggle = false;
-
-    if ( toggle )
-        fgLatLonFormat = toDM;
-    else
-        fgLatLonFormat = toDMS;
-
-    toggle = !toggle;
-}
-
-#ifdef NOT_USED
-char *coord_format_latlon(double latitude, double longitude)
-{
-    static char buf[1024];
-
-    sprintf(buf,"%s%c %s%c",
-        dmshh_format(latitude),
-        latitude > 0 ? 'N' : 'S',
-        dmshh_format(longitude),
-        longitude > 0 ? 'E' : 'W');
-    return buf;
-}
-#endif
 
 
 bool fgCockpitInit( fgAIRCRAFT *cur_aircraft )
@@ -695,9 +543,6 @@ bool fgCockpitInit( fgAIRCRAFT *cur_aircraft )
     fgHUDInit( cur_aircraft );
     ac_cockpit = new fg_Cockpit();
 
-    // Have to set the LatLon display type
-    fgLatLonFormat = toDM;
-
     SG_LOG( SG_COCKPIT, SG_INFO,
         "  Code " << ac_cockpit->code() << " Status "
         << ac_cockpit->status() );
index ad2e65811d0eac39c0ea85486981961d1fbe8f4b..693fb00598ccd5ebd42f19d2b780d77607c23a4c 100644 (file)
@@ -54,7 +54,6 @@
 //#include <Autopilot/xmlauto.hxx>
 #include <GUI/new_gui.hxx>           // FGFontCache
 #include <Main/globals.hxx>
-#include <Main/fg_props.hxx>
 #include <Scenery/scenery.hxx>
 
 #include "hud.hxx"
index 2cc0acc84947ae55f211ae59ed568e4faa04fb80..b06fa7b23070f8b59eb934fb7aec2ebf30cdfa0d 100644 (file)
 
 #include <simgear/math/fastmath.hxx>    // float_to_int()
 #include <simgear/constants.h>
-#include <simgear/props/props.hxx>
 
 #include <Include/fg_typedefs.h>
 #include <Aircraft/aircraft.hxx>
 #include <Aircraft/controls.hxx>
 #include <FDM/flight.hxx>
 #include <GUI/gui.h>
+#include <Main/fg_props.hxx>
 #include <Main/globals.hxx>
 #include <Main/viewmgr.hxx>
 #include <Airports/runways.hxx>
@@ -541,6 +541,8 @@ private:
     bool        lat;
     bool        lon;
     bool        lbox;
+    SGPropertyNode_ptr lon_node;
+    SGPropertyNode_ptr lat_node;
 
 public:
     instr_label(const SGPropertyNode *);
index f6caaff78c8b89885a447f2eca77aaf5d5713ce4..320e85fd6116d73a7c61ccb6d8ce45350859033c 100644 (file)
@@ -3,8 +3,6 @@
 #  include <config.h>
 #endif
 
-#include <Main/fg_props.hxx>
-
 #include "hud.hxx"
 
 #ifdef USE_HUD_TextList
@@ -33,7 +31,9 @@ instr_label::instr_label(const SGPropertyNode *node) :
     blink(node->getIntValue("blinking")),
     lat(node->getBoolValue("latitude", false)),
     lon(node->getBoolValue("longitude", false)),
-    lbox(node->getBoolValue("label_box", false))
+    lbox(node->getBoolValue("label_box", false)),
+    lon_node(fgGetNode("/position/longitude-string", true)),
+    lat_node(fgGetNode("/position/latitude-string", true))
 {
     SG_LOG(SG_INPUT, SG_INFO, "Done reading instr_label instrument "
             << node->getStringValue("name", "[unnamed]"));
@@ -86,9 +86,9 @@ void instr_label::draw(void)
 
     if (data_available()) {
         if (lat)
-            sprintf(label_buffer, format_buffer, coord_format_lat(get_value()));
+            snprintf(label_buffer, 80, format_buffer, lat_node->getStringValue());
         else if (lon)
-            sprintf(label_buffer, format_buffer, coord_format_lon(get_value()));
+            snprintf(label_buffer, 80, format_buffer, lon_node->getStringValue());
         else {
             if (lbox) {// Box for label
                 float x = scrn_rect.left;
index 64d01a5b0f6411503615610498833d900790dc95..f050619cf0110f5a27e8f71cf724a97c8cbadc97 100644 (file)
@@ -25,7 +25,6 @@
 #include "hud.hxx"
 
 #include <math.h>
-#include <Main/fg_props.hxx>
 #include <Main/globals.hxx>
 #include <Scenery/scenery.hxx>
 #include <Aircraft/aircraft.hxx>