Curtis Olson wrote:
> I agree that the property system is for generic data ... so adding
> color_vectors or position_vectors is really out of the scope of what it
> should be intended for.  This is too specific and I agree that it
> creates a mess and there's then no good place to draw the line when the
> next person comes along and wants to add some other specific aggregate
> structure.
> 
> However, if the proposal is to add support for storing generic float (or
> double, or int) arrays in the property system, then I think that could
> be supported.  Again we already support character arrays (although as
> has been pointed out, without an interface to be able to access
> individual elements of the array.)
> 
> Two misconceptions I am hearing, and maybe Tim can respond to these:
> 
> 1. Adding float arrays to the property system for the purpose of
> representing colors and vectors will require all modelers to convert all
> their existing models, structures, and code to the new system.  There
> seems to be a lot of push back from modelers based on this fear, and I
> wonder if this is going to be the case?  If so, then they have a point. 
> Is this a misconception of Tim's proposal or not?
It's certainly not a part of my proposal. I don't intend for a single line
of XML in any model file to change. Eventually there may be a need to
directly set effects properties from Nasal code included in models or
have properties that "connect" to effect properties, but that is certainly
way down the line.
> 
> 2. Adding float/double arrays to the property system will also require
> adding a myriad of operations on those arrays ... do we need to now
> implement a full suite of vector and matrix math operations inside the
> property system.
I don't see why that would be necessary.
> 
> I just want to keep the discussion clear and make sure that we are all
> on the same page with what we are talking about here.  I sense that a
> large amount of negative imagination is creeping into the discussion, so
> let's clarify if these fears are founded or not?
> 
> Regards,
> 
> Curt.
> 
> 
> 
> On Sun, Apr 5, 2009 at 9:19 AM, wrote:
> 
>     > Except for a few inconsistencies in xml style that already have been
>     > mentioned I think it's worth adding it then.
> 
>     Maybe I am misunderstanding this issue, but I have been involved in
>     using FlightGear at work for a number of simulation related projects
>     during the last couple of years, and to me some things are still
>     unclear:
> 
>     Personally, my understanding of the property tree is that of an IPC
>     enabling mechanism, that ties together all FlightGear subsystems and
>     often also many non-FlightGear related tools/software even outside
>     its own address space.
> 
>     So from my point of view, it is seems important to keep in mind that
>     the property tree is not only about global variable storage but that
>     it's also FlightGear's one and only standardized IPC mechanism, all
>     subsystems and many FlightGear related tools that work outside the
>     fgfs process space communicate with each other using the property
>     tree and its natively supported types.
> 
>     With this in mind, it really seems of paramount importance that all
>     property tree users (fgfs subsystems or external tools) have a
>     concept and way of dealing with the native data types represented in
>     the property tree. This exactly is it what makes the property tree,
>     and more generally, FlightGear so intuitive, unobfuscated, powerful
>     and easy to extend.
>     This has been my experience when interfacing FlightGear to other
>     software.
> 
>     Enhancing the property tree to support new component-specific native
>     types that cannot be directly accessed, manipulated or processed by
>     all or at least many other FlightGear related subsystems and tools
>     seems like a troubling idea to me, in particular when it's not even
>     foreseeable that other subsystems are going to develop a demand to
>     also benefit from such a change eventually (just because they can
>     already do all of this simply by using a more verbose, user-friendly
>     and self-explanatory format that's been in use for years).
> 
>     Just think about some of the more complex systems that depend on
>     having a full understanding of all property tree data and types,
>     such as Nasal, the XML protocol system, the telnet interface to the
>     property tree or the multiplayer system, all of which depend on
>     working with arbitrary native property types.
> 
>     In its current form the property tree and its potential is virtually
>     unrestricted and many new features were and still can be implemented
>     on top of this very genericity without requiring modifications to
>     the core implementation of the property tree.
> 
>     The natural tree-structure of XML and the natively supported data
>     types allow users to emulate even complex data structures just by
>     using the existing -admittedly verbose- syntax. But that's simply
>     the cost of directly mapping XML to the key/value format used by the
>     property tree.
> 
>     So the question really appears to be if FlightGear wants to end up
>     with property types that are so purpose- and system-specific that
>     only certain subsystems really know how to deal with them,
>     essentially resulting in "second class properties" that cannot be
>     processed by much of the currently existing FlightGear infrastructure?
>     Basically, this is introducing a form of forced encapsulation into
>     the property tree.
> 
>     I am not trying to dramatize this issue, this is just my current
>     understanding of the likely repercussions.
> 
>     For the time being, the property tree system doesn't have a single
>     feature (to my knowledge) that is really specific to just one single
>     FlightGear component or purpose - the property tree code has been so
>     well generalized that it can be equally used by all components,
>     without restrictions.
>     It just consists of primitives, building blocks that can be used to
>     model more complex data structures on top of it.
> 
>     Changing this would probably not only result in second class
>     properties but eventually also in second class subsystems and after
>     some time also in second class software interfaces and tools,
>     because not every property tree "user" may be able to deal with all
>     of FlightGear's internals represented by such non-POD types.
> 
>     According to my understanding of the situation, this would be a very
>     unfortunate situation.
> 
>     It seems logical and plausible from that from this point of view,
>     this proposal would actually contribute to obfuscating FlightGear
>     and degrading the current property tree system, which really is
>     currently fully self-documenting and 100% open and accessible to all
>     components.
> 
>     So adding new non-POD types raises not only the issue of inter-type
>     conversions for such non-POD types, but also the issue of
>     serialization for persistence/network transfer purposes (i.e. custom
>     protocols, multiplayer). It seems to me, such additions may cause a
>     whole new dimension of potential issues.
> 
>     It's obvious and understandable that, in the light of Tim Moore's
>     very significant and highly appreciated contributions to FlightGear,
>     it is very easy to overlook the potential architectural implications
>     and ramifications in this proposal.
> 
>     Even if this is ultimately accepted for the time being: where is the
>     line to be drawn?
> 
>     Are there going to be aggregate types that can be directly mapped to
>     C++ data structures such as arrays, structs or unions?
> 
>     Or might there even be binary blobs one day in the property tree in
>     order to directly store textures, audio files or 3D models and
>     animations in the property tree?
>     I'm sure there are scenarios where having support for something like
>     that would be useful.
> 
>     And how are those non-POD types going to be serialized (i.e. for
>     network or XML use)?
> 
>     Finally, it seems very likely that there are always going to be more
>     aircraft-set.xml files than there'll ever be XML/effects files - if
>     aircraft developers manage to cope with the verbosity of these
>     aircraft-related XML files, they surely won't bother too much about
>     some self-documenting explicitness in an XML/effects files?
> 
>     best regards
> 
>     -hfitz
> 
>     ----------
>     Get even more from your private email hosting service. Visit the
>     pages of Zoner Software and download your free copy of the Zoner
>     Photo Studio 11 program today! Learn more - www.zoner.com
>     <http://www.zoner.com/ww-en/photo-studio-professional/>.
> 
>     
> ------------------------------------------------------------------------------
> 
>     _______________________________________________
>     Flightgear-devel mailing list
>     Flightgear-devel@lists.sourceforge.net
>     <mailto:Flightgear-devel@lists.sourceforge.net>
>     https://lists.sourceforge.net/lists/listinfo/flightgear-devel
> 
> 
> 
> 
> -- 
> Curtis Olson: http://baron.flightgear.org/~curt/
> 
> 
> ------------------------------------------------------------------------
> 
> ------------------------------------------------------------------------------
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Flightgear-devel mailing list
> Flightgear-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/flightgear-devel


------------------------------------------------------------------------------
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to