Hi fellow wiki editors!

To help newly registered users get more familiar with the wiki (and maybe older users too) there is now a {{Welcome to the wiki}} template. Have a look at it and feel free to add it to new users discussion pages (and perhaps your own).

I have tried to keep the template short, but meaningful. /Johan G

User:Callahanp/Flightgear and Simgear Code

From FlightGear wiki
< User:Callahanp
Revision as of 10:08, 18 March 2018 by Hooray (Talk | contribs) (add relevant pointers)

Jump to: navigation, search

Flightgear and Simgear Code

This is my attempt to describe aspects of the Flightgear and Simgear Codebase as I learn how to do maintenenance, bug fixes and eventually, (one hopes!) new contributions to the project. Caveat: I'm doing this not as a software beginner, but as someone new to Flightgear's codebase. Any specific statements about flightgear's code may not have been checked for accuracy by others. While its unlikely that what I write will be totally off base, there may be specifics that I get wrong.

I learned C++ in the 1990's, but never got a chance to apply it in my work. I'm retired and now's the time.

First, I got encouragement from the core developers. Then I read a lot of stuff on the wiki about how the project actually works. Then I got to work. Detailed work. I'm not about to ask the core developers to hold my hand and walk me through it all. But of course advice is always welcome and I'll be asking a few questions on the developer's mailing list.

Here's what I've explored so far:

What's in progress:

  • A look at where and how extensively particular Language Features are used in Flightgear.]]

Maybe separate pages for:

What's next:

At this point I think the following topics are now open for further exploration:

At some point while exploring the topics above, I'll be taking a closer look at some of these:



  • Any Method to Set or Get a Property
  • The Property Tree
  • Why Properties are Tied and why you can't subscribe to them through telnet. See: Howto:Use Property Tree Objects (the background here being that tied properties don't use the listener interface, but are basically raw pointers (references actually) - thus, listeners never "see" values being changed, because that would require using the public SGPropertyNode API to change the value, whereas tied properties access the raw memory directly - they were a performance hack introduced over a decade ago).