Files
pilotclient/src/blackcore/interpolator.h
Roland Winklmeier fcbbe694ec Refactored Interpolator to be an abstract interface class
CInterpolator is now an IInterpolator interface. Sublcass in order
to implement different types of interpolation.

refs #169
2014-03-30 13:45:04 +02:00

48 lines
1.3 KiB
C++

/* Copyright (C) 2013 VATSIM Community / contributors
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef BLACKCORE_INTERPOLATOR_H
#define BLACKCORE_INTERPOLATOR_H
#include "blackmisc/avaircraftsituation.h"
namespace BlackCore
{
//! \brief Interpolator, calculation inbetween positions
class IInterpolator
{
public:
//! \brief Default constructor
IInterpolator() {}
//! \brief Virtual destructor
virtual ~IInterpolator() {}
//! \brief Init object
virtual void initialize() = 0;
/*!
* \brief Add new aircraft situation
* \param situation
*/
virtual void addAircraftSituation(const BlackMisc::Aviation::CAircraftSituation &situation) = 0;
/*!
* \brief Do we have enough situations to start calculating?
* \return
*/
virtual bool hasEnoughAircraftSituations() const = 0;
/*!
* \brief Get current aircraft situation
* \return
*/
virtual BlackMisc::Aviation::CAircraftSituation getCurrentSituation() = 0;
};
} // namespace BlackCore
#endif // guard