Qt Virtual Chart Table (QVCT)
CDataPositionValidity.cpp
Go to the documentation of this file.
1
// INDENTING (emacs/vi): -*- mode:c++; tab-width:2; c-basic-offset:2; intent-tabs-mode:nil; -*- ex: set tabstop=2 expandtab:
2
3
/*
4
* Qt Virtual Chart Table (QVCT)
5
* Copyright (C) 2012 Cedric Dufour <http://cedric.dufour.name>
6
* Author: Cedric Dufour <http://cedric.dufour.name>
7
*
8
* The Qt Virtual Chart Table (QVCT) is free software:
9
* you can redistribute it and/or modify it under the terms of the GNU General
10
* Public License as published by the Free Software Foundation, Version 3.
11
*
12
* The Qt Virtual Chart Table (QVCT) is distributed in the hope
13
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
14
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15
*
16
* See the GNU General Public License for more details.
17
*/
18
19
// QT
20
#include <QDateTime>
21
22
// QVCT
23
#include "
QVCTRuntime.hpp
"
24
#include "
data/CDataPositionValidity.hpp
"
25
26
27
//------------------------------------------------------------------------------
28
// CONSTRUCTORS / DESTRUCTOR
29
//------------------------------------------------------------------------------
30
31
CDataPositionValidity::CDataPositionValidity
()
32
: fdTimeLastPosition( UNDEFINED_VALUE )
33
, fdErrorPosition( UNDEFINED_VALUE )
34
, bInvalidPosition( false )
35
, fdTimeLastElevation( UNDEFINED_VALUE )
36
, fdErrorElevation( UNDEFINED_VALUE )
37
, bInvalidElevation( false )
38
{}
39
40
41
//------------------------------------------------------------------------------
42
// METHODS
43
//------------------------------------------------------------------------------
44
45
//
46
// GETTERS
47
//
48
49
bool
CDataPositionValidity::isValidPosition
()
const
50
{
51
if
(
bInvalidPosition
)
return
false
;
52
if
(
fdErrorPosition
!=
UNDEFINED_VALUE
&&
fdErrorPosition
>
QVCTRuntime::useSettings
()->getMaxErrorPosition() )
return
false
;
53
if
(
fdTimeLastPosition
!=
UNDEFINED_VALUE
&&
microtime
() -
fdTimeLastPosition
>
QVCTRuntime::useSettings
()->getMaxAgePosition() )
return
false
;
54
return
true
;
55
}
56
57
bool
CDataPositionValidity::isValidElevation
()
const
58
{
59
if
(
bInvalidElevation
)
return
false
;
60
if
(
fdErrorElevation
!=
UNDEFINED_VALUE
&&
fdErrorElevation
>
QVCTRuntime::useSettings
()->getMaxErrorElevation() )
return
false
;
61
if
(
fdTimeLastElevation
!=
UNDEFINED_VALUE
&&
microtime
() -
fdTimeLastElevation
>
QVCTRuntime::useSettings
()->getMaxAgeElevation() )
return
false
;
62
return
true
;
63
}
CDataPositionValidity.hpp
QVCTRuntime.hpp
CDataPositionValidity::fdTimeLastPosition
double fdTimeLastPosition
Position last-set time, in seconds from Unix epoch.
Definition:
CDataPositionValidity.hpp:42
CDataPositionValidity::isValidPosition
bool isValidPosition() const
Returns the position's (global) validity status.
Definition:
CDataPositionValidity.cpp:49
CDataPositionValidity::fdTimeLastElevation
double fdTimeLastElevation
Elevation last-set time, in seconds from Unix epoch.
Definition:
CDataPositionValidity.hpp:52
CDataPositionValidity::fdErrorPosition
double fdErrorPosition
Position error, in meters.
Definition:
CDataPositionValidity.hpp:45
CDataPositionValidity::CDataPositionValidity
CDataPositionValidity()
Definition:
CDataPositionValidity.cpp:31
CDataPositionValidity::isValidElevation
bool isValidElevation() const
Returns the elevation's (global) validity status.
Definition:
CDataPositionValidity.cpp:57
CDataPositionValidity::bInvalidPosition
bool bInvalidPosition
Position (forced) invalidity status.
Definition:
CDataPositionValidity.hpp:48
CDataPositionValidity::bInvalidElevation
bool bInvalidElevation
Elevation (forced) invalidity status.
Definition:
CDataPositionValidity.hpp:58
CDataPositionValidity::fdErrorElevation
double fdErrorElevation
Elevation error, in meters.
Definition:
CDataPositionValidity.hpp:55
CDataValidity::UNDEFINED_VALUE
static constexpr double UNDEFINED_VALUE
Definition:
CDataValidity.hpp:37
QVCTRuntime::useSettings
static CSettings * useSettings()
Definition:
QVCTRuntime.hpp:163
microtime
double microtime()
Returns the system time with microseconds resolution, in seconds.
Definition:
main.cpp:30
data
CDataPositionValidity.cpp
Generated on Wed May 25 2022 19:46:17 for Qt Virtual Chart Table (QVCT) by
1.9.1