Hi,

I have just pushed a little patch to SimGear to implement feature 
request #372 (http://code.google.com/p/flightgear-bugs/issues/detail?id=372)

This adds some fuzzy-logic to <condition> elements by introducing an 
optional <precision> element. Without the <precision> element the 
behavior is unchanged and existing conditions should evaluate as before.

The idea behind this is to make life easier for float/double comparisons.

Example:
<condition>
   <equals>
     <property>/more/or/less/pi</property>
     <value type="double">3.14</value>
     <precision type="double">0.001</precision>
   </equals>
</condition>
evaluates to true if /more/or/less/pi is between 3.135 and 3.145 (both 
inclusive).

The precision element works for int, long, float and double properties. 
It has no meaning for bool properties as I could not think of any fuzzy 
logic between true and false.

For string properties, the precision element dictates the length of the 
strings to compare, so
<condition>
   <equals>
     <property>/type/of/navaid</property>
     <value type="string">VOR</value>
     <precision>3</precision>
   </equals>
</condition>

evaluates to true if /type/of/navaid contains VOR, VOR/DME or VORTAC but 
evaluates to false for VO, VAR etc.

Beware that the first element dictates the comparison type. If, in the 
first example the type of /more/or/less/pi is string (or unspecified), 
precision would be interpreted as an int resulting in a string compare 
with length of zero (always true, I assume).

Please let me know what you think...

Torsten

------------------------------------------------------------------------------
EMC VNX: the world's simplest storage, starting under $10K
The only unified storage solution that offers unified management 
Up to 160% more powerful than alternatives and 25% more efficient. 
Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to