Tim Moore wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Committed; thanks. > > Tim
It looks like this fix needs to be applied to the weather interpolation in the plib branch also. > > Anders Gidenstam wrote: > >>On Sun, 12 Aug 2007, Hans Fugal wrote: >> >> >>>That's because there is no custom comparison predicate for comparing >>>bucket*. vector<bucket*> is just a list of pointers, and so uses the >>>sort order for pointers. You'd have to set up an STL functor to sort >>>them, which is ugly and difficult (but certainly doable). If sorting >>>is unnecessary it's a better way to go, obviously. :-) >> >>Yep, that's what I figured out eventually. I think it is safer to keep the >>sorting for now - in case e.g. the user changes the layer elevations >>using the property browser. >> >>The patch included adds a comparison predicate for buckets. >> >>Please test it and commit it if it is acceptable. It works fine here. >> >>Cheers, >> >>Anders >> >> >>------------------------------------------------------------------------ >> >>diff --git a/src/Environment/environment_ctrl.cxx >>b/src/Environment/environment_ctrl.cxx >>index a1ed5f2..0ca2cba 100644 >>--- a/src/Environment/environment_ctrl.cxx >>+++ b/src/Environment/environment_ctrl.cxx >>@@ -231,7 +231,7 @@ FGInterpolateEnvironmentCtrl::read_table (const >>SGPropertyNode * node, >> table.push_back(b); >> } >> } >>- sort(table.begin(), table.end()); >>+ sort(table.begin(), table.end(), bucket::lessThan); >> } >> >> void >>@@ -312,6 +312,11 @@ FGInterpolateEnvironmentCtrl::bucket::operator< (const >>bucket &b) const >> return (altitude_ft < b.altitude_ft); >> } >> >>+bool >>+FGInterpolateEnvironmentCtrl::bucket::lessThan(bucket *a, bucket *b) >>+{ >>+ return (a->altitude_ft) < (b->altitude_ft); >>+} >> >> >> //////////////////////////////////////////////////////////////////////// >>diff --git a/src/Environment/environment_ctrl.hxx >>b/src/Environment/environment_ctrl.hxx >>index f561f05..cd01b55 100644 >>--- a/src/Environment/environment_ctrl.hxx >>+++ b/src/Environment/environment_ctrl.hxx >>@@ -134,6 +134,8 @@ private: >> double altitude_ft; >> FGEnvironment environment; >> bool operator< (const bucket &b) const; >>+ // LessThan predicate for bucket pointers. >>+ static bool lessThan(bucket *a, bucket *b); >> }; >> >> void read_table (const SGPropertyNode * node, vector<bucket *> &table); >> >> > > > - -- > Red Hat France SARL, 171 Avenue Georges Clemenceau > 92024 Nanterre Cedex, France. > Siret n° 421 199 464 00056 > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.7 (GNU/Linux) > Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org > > iD8DBQFGwxp3eDhWHdXrDRURAi06AJ9HC5lPWthjDXoBhb7C1WaQlLwfGACgph1s > FgxdcvBCmHOD/yjfJjMpLVQ= > =0m5Y > -----END PGP SIGNATURE----- > -- Reagan Thomas ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel