Skip to content

Commit

Permalink
Doxygen documentation added
Browse files Browse the repository at this point in the history
  • Loading branch information
mpusz committed Oct 28, 2009
1 parent a6a13ad commit 5ddde83
Show file tree
Hide file tree
Showing 5 changed files with 150 additions and 10 deletions.
2 changes: 1 addition & 1 deletion src/tools.h
Expand Up @@ -35,7 +35,7 @@ namespace condor2nav {
/**
* @brief Pointer version of std::less
*
* Pointer version of std::less.
* Pointer version of std::less used for STL containers sorting.
*/
struct CPtrCmp {
template <class T>
Expand Down
19 changes: 19 additions & 0 deletions src/translator.cpp
Expand Up @@ -29,18 +29,37 @@
#include "tools.h"


/**
* @brief Class constructor.
*
* condor2nav::CTranslator class constructor.
*
* @param outputPath Translation output directory.
**/
condor2nav::CTranslator::CTranslator(const std::string &outputPath):
_outputPath(outputPath)
{
DirectoryCreate(_outputPath);
}


/**
* @brief Class destructor.
*
* condor2nav::CTranslator class destructor.
**/
condor2nav::CTranslator::~CTranslator()
{
}


/**
* @brief Returns translation output directory.
*
* Method returns translation output directory.
*
* @return Translation output directory.
**/
const std::string &condor2nav::CTranslator::OutputPath() const
{
return _outputPath;
Expand Down
60 changes: 57 additions & 3 deletions src/translator.h
Expand Up @@ -33,11 +33,16 @@

namespace condor2nav {

/**
* @brief Translators hierarchy base class.
*
* condor2nav::CTranslator is a base abstract class for all translations.
*/
class CTranslator {
const std::string _outputPath;
const std::string _outputPath; ///< @brief Translation output directory

CTranslator(const CTranslator &); // disallowed
const CTranslator &operator=(const CTranslator &); // disallowed
CTranslator(const CTranslator &); ///< @brief Disallowed
const CTranslator &operator=(const CTranslator &); ///< @brief Disallowed

protected:
const std::string &OutputPath() const;
Expand All @@ -46,11 +51,60 @@ namespace condor2nav {
explicit CTranslator(const std::string &outputPath);
virtual ~CTranslator();

/**
* @brief Sets scenery map.
*
* Method sets scenery map data.
*
* @param sceneryData Information describing the scenery.
**/
virtual void SceneryMap(const CFileParserCSV::CStringArray &sceneryData) = 0;

/**
* @brief Sets time for scenery time zone.
*
* Method sets time for scenery time zone.
*
* @param sceneryData Information describing the scenery.
**/
virtual void SceneryTime(const CFileParserCSV::CStringArray &sceneryData) = 0;

/**
* @brief Set glider data.
*
* Method sets all the data related to the glider.
*
* @param gliderData Information describing the glider.
**/
virtual void Glider(const CFileParserCSV::CStringArray &gliderData) = 0;

/**
* @brief Sets task information.
*
* Method sets task information.
*
* @param taskParser Condor task parser.
* @param coordConv Condor coordinates converter.
**/
virtual void Task(const CFileParserINI &taskParser, const CCondor::CCoordConverter &coordConv) = 0;

/**
* @brief Sets task airspaces.
*
* Method sets airspaces used in the task.
*
* @param taskParser Condor task parser.
* @param coordConv Condor coordinates converter.
**/
virtual void Airspaces(const CFileParserINI &taskParser, const CCondor::CCoordConverter &coordConv) = 0;

/**
* @brief Sets weather data.
*
* Method sets task weather data (e.g wind).
*
* @param taskParser Condor task parser.
**/
virtual void Weather(const CFileParserINI &taskParser) = 0;
};

Expand Down
61 changes: 61 additions & 0 deletions src/xcsoar.cpp
Expand Up @@ -40,6 +40,9 @@ const char *condor2nav::CTranslatorXCSoar::WP_FILE_NAME = "WP_CondorTask.dat";
const char *condor2nav::CTranslatorXCSoar::POLAR_FILE_NAME = "Polar_Condor.plr";


/**
* @brief Data imported from XCSoar project.
**/
namespace xcsoar {

const unsigned BINFILEMAGICNUMBER = 0x5c378fcf;
Expand Down Expand Up @@ -139,6 +142,14 @@ namespace xcsoar {
}


/**
* @brief Class constructor.
*
* condor2nav::CTranslatorXCSoar class constructor.
*
* @param outputPath Translation output directory.
* @param xcsoarDataPath The destination directory path (in XCSoar format) on the target device that runs XCSoar.
**/
condor2nav::CTranslatorXCSoar::CTranslatorXCSoar(const std::string &outputPath, const std::string &xcsoarDataPath):
CTranslator(outputPath),
_xcsoarDataPath(xcsoarDataPath),
Expand All @@ -147,25 +158,52 @@ _profileParser(CCondor2Nav::DATA_PATH + std::string("\\") + XCSOAR_PROFILE_NAME)
}


/**
* @brief Class destructor.
*
* condor2nav::CTranslatorXCSoar class destructor.
**/
condor2nav::CTranslatorXCSoar::~CTranslatorXCSoar()
{
_profileParser.Dump(OutputPath() + std::string("\\") + OUTPUT_PROFILE_NAME);
}


/**
* @brief Sets scenery map.
*
* Method sets scenery map XCM data file according to the Condor landscape name.
*
* @param sceneryData Information describing the scenery.
**/
void condor2nav::CTranslatorXCSoar::SceneryMap(const CFileParserCSV::CStringArray &sceneryData)
{
_profileParser.Value("", "MapFile", "\"" + _xcsoarDataPath + "\\" + sceneryData.at(CCondor2Nav::SCENERY_FILE) + "\"");
}


/**
* @brief Sets time for scenery time zone.
*
* Method sets UTC time offset for selected scenery and forces time synchronization to the GPS source.
*
* @param sceneryData Information describing the scenery.
**/
void condor2nav::CTranslatorXCSoar::SceneryTime(const CFileParserCSV::CStringArray &sceneryData)
{
_profileParser.Value("", "UTCOffset", sceneryData.at(CCondor2Nav::SCENERY_UTC_OFFSET));
_profileParser.Value("", "SetSystemTimeFromGPS", "1");
}


/**
* @brief Set glider data.
*
* Method created and sets glider polar file, handicap, safety speed, the time to empty the water
* ballast and glider name for the logger.
*
* @param gliderData Information describing the glider.
**/
void condor2nav::CTranslatorXCSoar::Glider(const CFileParserCSV::CStringArray &gliderData)
{
// set WinPilot Polar
Expand Down Expand Up @@ -195,6 +233,14 @@ void condor2nav::CTranslatorXCSoar::Glider(const CFileParserCSV::CStringArray &g
}


/**
* @brief Sets task information.
*
* Method sets task information.
*
* @param taskParser Condor task parser.
* @param coordConv Condor coordinates converter.
**/
void condor2nav::CTranslatorXCSoar::Task(const CFileParserINI &taskParser, const CCondor::CCoordConverter &coordConv)
{
using namespace xcsoar;
Expand Down Expand Up @@ -350,13 +396,28 @@ void condor2nav::CTranslatorXCSoar::Task(const CFileParserINI &taskParser, const
//}


/**
* @brief Sets task airspaces.
*
* Method sets airspaces used in the task.
*
* @param taskParser Condor task parser.
* @param coordConv Condor coordinates converter.
**/
void condor2nav::CTranslatorXCSoar::Airspaces(const CFileParserINI &taskParser, const CCondor::CCoordConverter &coordConv)
{
// AirspaceFile
// AdditionalAirspaceFile
}


/**
* @brief Sets weather data.
*
* Method sets the wind data.
*
* @param taskParser Condor task parser.
**/
void condor2nav::CTranslatorXCSoar::Weather(const CFileParserINI &taskParser)
{
unsigned dir = static_cast<unsigned>(Convert<float>(taskParser.Value("Weather", "WindDir")) + 0.5);
Expand Down
18 changes: 12 additions & 6 deletions src/xcsoar.h
Expand Up @@ -36,17 +36,23 @@

namespace condor2nav {

/**
* @brief Translator to XCSoar data format.
*
* condor2nav::CTranslatorXCSoar class is responsible for Condor data translation
* to XCSoar (http://www.xcsoar.org) format.
**/
class CTranslatorXCSoar : public CTranslator {
// inputs
static const char *XCSOAR_PROFILE_NAME;
static const char *XCSOAR_PROFILE_NAME; ///< @brief XCSoar profile file name to use for input.

// outputs
static const char *OUTPUT_PROFILE_NAME;
static const char *WP_FILE_NAME;
static const char *POLAR_FILE_NAME;
static const char *OUTPUT_PROFILE_NAME; ///< @brief The name of XCSoar profile file to generate.
static const char *WP_FILE_NAME; ///< @brief The name of XCSoar waypoints file to generate.
static const char *POLAR_FILE_NAME; ///< @brief The name of XCSoar glider polar file to generate.

const std::string _xcsoarDataPath;
CFileParserINI _profileParser;
const std::string _xcsoarDataPath; ///< @brief The destination directory path (in XCSoar format) on the target device that runs XCSoar.
CFileParserINI _profileParser; ///< @brief XCSoar profile file parser.

public:
explicit CTranslatorXCSoar(const std::string &outputPath, const std::string &xcsoarDataPath);
Expand Down

0 comments on commit 5ddde83

Please sign in to comment.