-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Committed; thanks.

Tim

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);
> 
> 
> ------------------------------------------------------------------------
> 
> -------------------------------------------------------------------------
> 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


- --
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-----

-------------------------------------------------------------------------
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