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

Reply via email to