Vesna
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Public Attributes | List of all members
GPSBearingCalculator::DataClass Class Reference

Public Member Functions

int CalculateBearing (QQueue< CalculationPoint > &receivedPoints)
 CalculateBearing - calculate bearing (angle from true north) from collection of positions. More...
 
double CalculateBearingForTwoPositions (const CalculationPoint &firstPosition, const CalculationPoint &secondPosition) const
 CalculateBearingForTwoPositions - calculates bearing (angle from true north) between two positions. More...
 
int CalculateAverageAngleInCircle (const QVector< double > calculatedBearings) const
 CalculateAverageAngleInCircle - calculate average angle from multiple angles in circle. More...
 
double DifferenceBetweenTwoAnglesInCircle (const double first, const double second) const
 DifferenceBetweenTwoAngles - calculate difference between two angles in circle. More...
 
int ApplyLowPassFilter (const int previousValue, const int nextValue) const
 ApplyLowPassFilter - apply simple first order low-pass filter with fixed coefficient. More...
 

Public Attributes

int mLastCalculatedGPSBearing
 
QQueue< CalculationPointmReceivedPoints
 

Member Function Documentation

int GPSBearingCalculator::DataClass::ApplyLowPassFilter ( const int  previousValue,
const int  nextValue 
) const

ApplyLowPassFilter - apply simple first order low-pass filter with fixed coefficient.

Returns
angle in degrees between 0-360°

Here is the caller graph for this function:

int GPSBearingCalculator::DataClass::CalculateAverageAngleInCircle ( const QVector< double >  calculatedBearings) const

CalculateAverageAngleInCircle - calculate average angle from multiple angles in circle.

Note
we cannot use simple average - angles can be in interval <0,360> => difference between 10° and 350° is -20°
Returns
angle in degrees between 0-360°

Here is the caller graph for this function:

int GPSBearingCalculator::DataClass::CalculateBearing ( QQueue< CalculationPoint > &  receivedPoints)

CalculateBearing - calculate bearing (angle from true north) from collection of positions.

Parameters
receivedPoints- collection of positions
Returns
angle in degrees between 0-360°

Here is the call graph for this function:

double GPSBearingCalculator::DataClass::CalculateBearingForTwoPositions ( const CalculationPoint firstPosition,
const CalculationPoint secondPosition 
) const

CalculateBearingForTwoPositions - calculates bearing (angle from true north) between two positions.

Parameters
firstPosition
secondPosition
Returns
angle in degrees between 0-360°

Here is the caller graph for this function:

double GPSBearingCalculator::DataClass::DifferenceBetweenTwoAnglesInCircle ( const double  first,
const double  second 
) const

DifferenceBetweenTwoAngles - calculate difference between two angles in circle.

Returns
angle in degrees between -180° and +180°

Member Data Documentation

int GPSBearingCalculator::DataClass::mLastCalculatedGPSBearing
QQueue<CalculationPoint> GPSBearingCalculator::DataClass::mReceivedPoints

The documentation for this class was generated from the following file: