DESERT 4.0.0
uwPosEstimation.h
Go to the documentation of this file.
1//
2// Copyright (c) 2017 Regents of the SIGNET lab, University of Padova.
3// All rights reserved.
4//
5// Redistribution and use in source and binary forms, with or without
6// modification, are permitted provided that the following conditions
7// are met:
8// 1. Redistributions of source code must retain the above copyright
9// notice, this list of conditions and the following disclaimer.
10// 2. Redistributions in binary form must reproduce the above copyright
11// notice, this list of conditions and the following disclaimer in the
12// documentation and/or other materials provided with the distribution.
13// 3. Neither the name of the University of Padova (SIGNET lab) nor the
14// names of its contributors may be used to endorse or promote products
15// derived from this software without specific prior written permission.
16//
17// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
21// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
24// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
26// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
27// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28//
29
39#ifndef UW_POS_EST_H
40#define UW_POS_EST_H
41
42#include "node-core.h"
43#include <cmath>
44#include <iostream>
45
46#define pi (4 * atan(1.0))
47
48class UwPosEstimation : public Position
49{
50public:
55
59 virtual ~UwPosEstimation();
60
69 virtual void update(Position newInitPos, Position newDest, double newTime,
70 double newSpeed);
71
77 virtual Position getEstimatePos(double time);
78
82 virtual Position getInitPos();
83
87 virtual Position getDest();
88
92 virtual double getTimestamp();
93
97 virtual double getSpeed();
98
99private:
106 virtual double nodesDistance(Position &p1, Position &p2);
107
108 Position initialPos;
109 Position destPos;
110 double timestamp;
111 double speed;
112};
113
114#endif // UW_POS_EST_H
Definition uwPosEstimation.h:49
virtual void update(Position newInitPos, Position newDest, double newTime, double newSpeed)
Definition uwPosEstimation.cpp:79
virtual ~UwPosEstimation()
Definition uwPosEstimation.cpp:50
virtual Position getDest()
Definition uwPosEstimation.cpp:61
UwPosEstimation()
Definition uwPosEstimation.cpp:42
double speed
Definition uwPosEstimation.h:111
virtual Position getInitPos()
Definition uwPosEstimation.cpp:55
Position destPos
Definition uwPosEstimation.h:109
Position initialPos
Definition uwPosEstimation.h:108
virtual double nodesDistance(Position &p1, Position &p2)
Definition uwPosEstimation.cpp:153
virtual Position getEstimatePos(double time)
Definition uwPosEstimation.cpp:98
virtual double getTimestamp()
Definition uwPosEstimation.cpp:67
virtual double getSpeed()
Definition uwPosEstimation.cpp:73
double timestamp
Definition uwPosEstimation.h:110