After a year and a half (really!), it's becoming clear how people are
and are not using the property code, and I think that a big
simplification is in order.  As far as I can tell, nearly everyone

(a) leaves the property values in the tree, or

(b) ties them to object methods

I made the property manager flexible enough that you could provide any
back-end retrieval by implementing, and provided default SGRawValue
implementations for internal values, variable pointers, static
functions, and object methods.  I think that I'm the only one using
variable pointers (panel.cxx) static functions (fg_props.cxx), and no
one else has ever created a new SGRawValue type, so I obviously
overdesigned the code a bit.

If I remove SGRawValue completely and leave only internal values and
tied object methods, the property code will become simpler and will
lose a couple of levels of indirection.  This will matter if the C++
code ever runs slower than the framerate (i.e. if 200fps video cards
become common).


All the best,


David Megginson

Flightgear-devel mailing list

Reply via email to