--------------------------------------------------
From: "Torsten Dreyer" <[email protected]>
Sent: Thursday, June 24, 2010 4:24 PM
To: <[email protected]>
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/flightgear-devel