Pull 12 patches: documentation, SDL

View: New views
4 Messages — Rating Filter:   Alert me  

Pull 12 patches: documentation, SDL

by Max Kellermann :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi John,

this patch set contains 5 documentation patches from Tobias Bieniek,
which I'm forwarding to you.  He has been working on documenting the
internal XCSoar API.  His work looks promising, it's another important
step towards more code quality.

The other 7 patches apply several tweaks to the test suite.  The
RunCanvas test now compiles on Linux (major milestone!), but it
doesn't actually work yet.  The event system isn't implemented on SDL,
but I'll start working on that soon.

Max

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Xcsoar-devel mailing list
Xcsoar-devel@...
https://lists.sourceforge.net/lists/listinfo/xcsoar-devel

Re: Pull 12 patches: documentation, SDL

by Max Kellermann :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Here's the shortlog:

Max Kellermann (7):
      global whitespace cleanup
      Screen/BufferCanvas: disable code on SDL
      test: renamed RunPaintCanvas to RunCanvas
      test: don't compile PaintCanvas.cpp on SDL
      test: link with ts_string.o instead of compat.a
      test: declare main() instead of WinMain() on UNIX
      test/RunCanvas: added SDL main loop

Tobias Bieniek (5):
      Added documentation via Doxygen
      Various comments added
      Various comments added:
      Moved Doxygen file to the Doc folder
      Enabled automatic brief descriptions

 Common/Header/AATDistance.h                  |    4
 Common/Header/Airspace.h                     |   16
 Common/Header/Audio/VegaVoice.h              |    4
 Common/Header/Blackboard.hpp                 |    2
 Common/Header/DeviceBlackboard.hpp           |    2
 Common/Header/Gauge/GaugeVario.hpp           |    6
 Common/Header/GlideComputer.hpp              |    2
 Common/Header/GlideComputerAirData.hpp       |    2
 Common/Header/GlideComputerBlackboard.hpp    |    2
 Common/Header/GlideComputerTask.hpp          |    2
 Common/Header/GlideSolvers.hpp               |    2
 Common/Header/InfoBoxManager.h               |    2
 Common/Header/InstrumentBlackboard.hpp       |    2
 Common/Header/Interface.hpp                  |    6
 Common/Header/InterfaceBlackboard.hpp        |    2
 Common/Header/Language.hpp                   |    2
 Common/Header/Logger.h                       |    6
 Common/Header/LoggerImpl.hpp                 |   20
 Common/Header/MapWindowBlackboard.hpp        |    2
 Common/Header/Math/Earth.hpp                 |    6
 Common/Header/Math/NavFunctions.hpp          |   18
 Common/Header/Math/Pressure.h                |    7
 Common/Header/McReady.h                      |    2
 Common/Header/NMEA/Derived.hpp               |    2
 Common/Header/Poco/Foundation.h              |    4
 Common/Header/Poco/RWLock.h                  |   12
 Common/Header/Poco/RWLock_POSIX.h            |   10
 Common/Header/Poco/RWLock_WIN32.h            |    6
 Common/Header/RasterMap.h                    |    4
 Common/Header/Screen/Chart.hpp               |    4
 Common/Header/Screen/Graphics.hpp            |    2
 Common/Header/Screen/MaskedPaintWindow.hpp   |   18
 Common/Header/SettingsAirspace.hpp           |   20
 Common/Header/SettingsComputer.hpp           |   14
 Common/Header/SettingsComputerBlackboard.hpp |    4
 Common/Header/SettingsMapBlackboard.hpp      |    4
 Common/Header/Task.h                         |   12
 Common/Header/TaskImpl.hpp                   |   14
 Common/Header/TaskVisitor.hpp                |   16
 Common/Header/TerrainRenderer.h              |    8
 Common/Header/WayPoint.hpp                   |    4
 Common/Source/AATDistance.cpp                |    4
 Common/Source/Abort.cpp                      |   10
 Common/Source/AirfieldDetails.cpp            |   22
 Common/Source/Airspace.cpp                   |   10
 Common/Source/AirspaceParser.cpp             |    2
 Common/Source/AirspaceWarning.cpp            |   88 -
 Common/Source/BestAlternate.cpp              |    8
 Common/Source/ButtonLabel.cpp                |    2
 Common/Source/CalculationThread.cpp          |    2
 Common/Source/Components.cpp                 |    2
 Common/Source/ConditionMonitor.cpp           |    6
 Common/Source/Device/Geoid.cpp               |    2
 Common/Source/Device/Parser.cpp              |    2
 Common/Source/Device/devVolkslogger.cpp      |   10
 Common/Source/DeviceBlackboard.cpp           |   42
 Common/Source/Dialogs/dlgAirspaceDetails.cpp |   24
 Common/Source/Dialogs/dlgAirspaceSelect.cpp  |   16
 Common/Source/Dialogs/dlgBasicSettings.cpp   |    2
 Common/Source/Dialogs/dlgConfiguration.cpp   |   18
 Common/Source/Dialogs/dlgHelpers.cpp         |   20
 Common/Source/Dialogs/dlgStartPoint.cpp      |    2
 Common/Source/Dialogs/dlgStatistics.cpp      |    2
 Common/Source/Dialogs/dlgStatus.cpp          |    8
 Common/Source/Dialogs/dlgTarget.cpp          |   12
 Common/Source/Dialogs/dlgTaskCalculator.cpp  |    2
 Common/Source/Dialogs/dlgTaskRules.cpp       |    2
 Common/Source/Dialogs/dlgWayPointDetails.cpp |   10
 Common/Source/Dialogs/dlgWindSettings.cpp    |    2
 Common/Source/DrawThread.cpp                 |    2
 Common/Source/ExpandMacros.cpp               |    8
 Common/Source/FlarmCalculations.cpp          |    2
 Common/Source/FlightStatistics.cpp           |   26
 Common/Source/Formatter/TeamCode.cpp         |    2
 Common/Source/Formatter/WayPoint.cpp         |   14
 Common/Source/GlideComputer.cpp              |   14
 Common/Source/GlideComputerAirData.cpp       |  162 +-
 Common/Source/GlideComputerBlackboard.cpp    |   12
 Common/Source/GlideComputerInterface.cpp     |    2
 Common/Source/GlideComputerStats.cpp         |    8
 Common/Source/GlideComputerTask.cpp          |  220 +--
 Common/Source/GlideRatio.cpp                 |   26
 Common/Source/InfoBoxEvents.cpp              |   48
 Common/Source/InfoBoxManager.cpp             |    8
 Common/Source/InputEvents.cpp                |   14
 Common/Source/InputEventsActions.cpp         |    8
 Common/Source/Interface.cpp                  |    8
 Common/Source/InterfaceBlackboard.cpp        |   10
 Common/Source/Logger.cpp                     |   38
 Common/Source/LoggerImpl.cpp                 |   70 -
 Common/Source/LoggerSign.cpp                 |    6
 Common/Source/MainWindow.cpp                 |    2
 Common/Source/MapProjectionBlackboard.cpp    |    2
 Common/Source/MapWindow.cpp                  |   18
 Common/Source/MapWindowBlackboard.cpp        |   16
 Common/Source/MapWindowEvents.cpp            |   20
 Common/Source/MapWindowGlideRange.cpp        |    4
 Common/Source/MapWindowProjection.cpp        |   50
 Common/Source/MapWindowRender.cpp            |    8
 Common/Source/MapWindowScale.cpp             |    8
 Common/Source/MapWindowSymbols.cpp           |   70 -
 Common/Source/MapWindowTarget.cpp            |    2
 Common/Source/MapWindowTask.cpp              |  154 +-
 Common/Source/MapWindowThermal.cpp           |    6
 Common/Source/MapWindowTraffic.cpp           |    2
 Common/Source/MapWindowTrail.cpp             |    6
 Common/Source/MapWindowWaypoints.cpp         |    4
 Common/Source/Math/Earth.cpp                 |    2
 Common/Source/Math/FastMath.c                |   15
 Common/Source/Math/Geometry.cpp              |   58 -
 Common/Source/Math/Pressure.c                |   84 +
 Common/Source/Math/Screen.cpp                |    4
 Common/Source/Math/SunEphemeris.cpp          |   58 -
 Common/Source/McReady.cpp                    |    2
 Common/Source/Persist.cpp                    |    2
 Common/Source/Poco/RWLock.cpp                |    6
 Common/Source/Poco/RWLock_POSIX.cpp          |    4
 Common/Source/Poco/RWLock_WIN32.cpp          |    4
 Common/Source/ProcessTimer.cpp               |    2
 Common/Source/RasterMap.cpp                  |    4
 Common/Source/RasterMapCache.cpp             |    8
 Common/Source/RasterMapJPG2000.cpp           |    4
 Common/Source/RasterMapRaw.cpp               |    4
 Common/Source/RasterWeather.cpp              |    6
 Common/Source/Registry.cpp                   |   34
 Common/Source/ReplayLogger.cpp               |    4
 Common/Source/Screen/BufferCanvas.cpp        |    4
 Common/Source/Screen/Canvas.cpp              |    2
 Common/Source/Screen/Chart.cpp               |    6
 Common/Source/Screen/Fonts.cpp               |   14
 Common/Source/Screen/Graphics.cpp            |    2
 Common/Source/Screen/LabelBlock.cpp          |    4
 Common/Source/Screen/MaskedPaintWindow.cpp   |   26
 Common/Source/Task.cpp                       |  148 +-
 Common/Source/TaskFile.cpp                   |   20
 Common/Source/TaskImpl.cpp                   |   58 -
 Common/Source/TaskVisitor.cpp                |  100 -
 Common/Source/TerrainRenderer.cpp            |  112 -
 Common/Source/ThermalLocator.cpp             |    8
 Common/Source/Topology.cpp                   |    8
 Common/Source/TopologyStore.cpp              |    6
 Common/Source/UtilsSettings.cpp              |    2
 Common/Source/Waypointparser.cpp             |   14
 Common/Source/XCSoar.cpp                     |    2
 Doc/XCSoar.doxyfile                          | 1514 +++++++++++++++++++++++++++
 test/Makefile                                |   18
 test/src/RunCanvas.cpp                       |   19
 test/src/RunDialog.cpp                       |    6
 148 files changed, 2859 insertions(+), 1228 deletions(-)

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Xcsoar-devel mailing list
Xcsoar-devel@...
https://lists.sourceforge.net/lists/listinfo/xcsoar-devel

Re: Pull 12 patches: documentation, SDL

by John Wharington-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Max and Tobias,

Nice work to both of you.

I have been working hard on the new task system.  

It consolidates a lot of functionality; I will document this with
doxygen, and prepare test cases.  It's still a work in progress (not
ready to be integrated with the main code) but much improved.  It's on
sourceforge git under ex_xcsoar.



On Wed, 2009-10-14 at 09:57 +0200, Max Kellermann wrote:

> Hi John,
>
> this patch set contains 5 documentation patches from Tobias Bieniek,
> which I'm forwarding to you.  He has been working on documenting the
> internal XCSoar API.  His work looks promising, it's another important
> step towards more code quality.
>
> The other 7 patches apply several tweaks to the test suite.  The
> RunCanvas test now compiles on Linux (major milestone!), but it
> doesn't actually work yet.  The event system isn't implemented on SDL,
> but I'll start working on that soon.
>
> Max


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Xcsoar-devel mailing list
Xcsoar-devel@...
https://lists.sourceforge.net/lists/listinfo/xcsoar-devel

Parent Message unknown Re: Pull 12 patches: documentation, SDL

by John Wharington-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Max (and cc'ed xcsoar-devel),

> Hi John,
>
> I have had a very rough look on your code.  Looks like excellent work.
> The code looks easy to read, and well-designed.  Much better than the
> old code.  Will be a good amount of work to integrate it into the
> existing code base..

Great, thanks!

I have done more work on the new task system code, and more testing.
There are test programs in the Test/ directory.  One of the main ones to
try is Test/test after it is finished, run gnuplot Test/plotres.gnuplot

I am also experimenting with KD-tree storage of airspaces and waypoints.
Currently XCSoar calculates bounding boxes for airspaces but has to do
an exhaustive search for range/visibility queries.  This is expensive
and doesn't scale well.

I have (just for fun...) compiled in the test program into XCSoar to see
what the performance is like on my PDA.  It looks pretty good so far,
70ms to perform all calculations (including best MC optimisation, target
range and target point optimisation).  With these advanced features
switched off, it drops to about 25 ms.   That also includes scanning for
airspaces in range etc.

Note that one major difference between this code and old XCSoar is that
it performs AAT max/min calculations "exactly" (well, not quite since it
uses discrete points), via a Dijkstra search.  This is more expensive
than XCSOar's way of doing it, but it is much more accurate.

Note also that waypoint and airspaces are stored in KD-tree's to save
time on searches.  For airspaces, we can now do ray-airspace
intersection testing quickly.  I have used libkdtree++ for the KD tree
implementation but note that I have modified this to handle bounding box
intersection types and to fix a couple of bugs.

I am gradually working on documentation also.

Yes, it will be a big job to pull this into the main program and it is
not ready yet.  I want to have proper test cases for every feature set
up and review the deprecated code first to ensure that the new system
replaces all of the old functionality.


Johnny



------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Xcsoar-devel mailing list
Xcsoar-devel@...
https://lists.sourceforge.net/lists/listinfo/xcsoar-devel