--------------------------------------------------
From: "Torsten Dreyer" <tors...@t3r.de>
Sent: Thursday, June 24, 2010 4:24 PM
To: <flightgear-devel@lists.sourceforge.net>
Subject: [Flightgear-devel] Heads up: new autopilot subsystem implementation

> Hi all,
>
> I have just commited a pretty large commit for a new implementation of the
> autopilot subsystem(group). The reason for that was that the old way of 
> having
> everything stuffed into one single source file of 1360 lines and a header 
> file
> of 514 lines made working on this piece of code allways a little 
> challenging.
> While at it, I replaced some design patterns to look a little more OO-ish 
> and
> added some doxygen compatible comments to the class definition.
>
snip
>
> Because I touched at least 90% of all code lines, it is very likely that I
> introduced a new bug. Especially the build process was tested on linux 
> only. I
> have no chance to test the build on Windows on OS/X.
>
snip
>
> Torsten

Now that the config.h file is sorted (many thanks for the commit) I have 
again been able to make an MSCV09 from the "next" branch.

However it was not without problems ;-)

In the autopilot logic.cx was failing due to NOMINMAX not being set. There 
were also several problems due to SGvec3 and SGvec4 not being defined.

These I have sorted by re-arranging the order of include file calls. There 
may be a better solution, and perhaps  my solution will not work on other 
platforms.

The changes are all at the beginning of files:-

 in analogcomponenet.hxx...........................................

#ifndef __ANALOGCOMPONENT_HXX
#define __ANALOGCOMPONENT_HXX 1

#include "component.hxx"
#include "inputvalue.hxx"


namespace FGXMLAutopilot {

in inputvalue.cxx........................................

// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 
02110-1301, USA.
//


#include <Main/fg_props.hxx>
#include "inputvalue.hxx"

using namespace FGXMLAutopilot;

in logic.hxx...................................................

#ifndef __LOGICCOMPONENT_HXX
#define __LOGICCOMPONENT_HXX 1

#include "analogcomponent.hxx"
#include "digitalcomponent.hxx"

namespace FGXMLAutopilot {


Once it all compiled there were some undefined variables.

To solve these fdm_shell.cxx/.hxx and flightProperties.cxx/.hxx needed to be 
added to Lib_Flight.

This produced another compilation error:-

The correction in flightProperties.cxx is

#include <Main/globals.hxx>

#include <FDM/flightProperties.hxx>

#include <simgear/props/props.hxx>
#include <simgear/math/SGMath.hxx>

#include <Main/globals.hxx>

FlightProperties::FlightProperties(SGPropertyNode* root) :

Also note that fdm_shell.cxx/.hxx and flightProperties.cxx/.hxx do not have 
the usual copyright header.


All compiles and links now. I have not tested to see if it runs OK.

Thanks for all the continuing work by all concerned.

Alan



 


------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to