swift
|
Cubic spline interpolator. More...
Classes | |
class | CInterpolant |
Cubic function that performs the actual interpolation. More... | |
struct | PosArray |
Position arrays for interpolation. More... | |
Public Member Functions | |
CInterpolatorSpline (const aviation::CCallsign &callsign, ISimulationEnvironmentProvider *envProvider, IInterpolationSetupProvider *setupProvider, IRemoteAircraftProvider *aircraftProvider, CInterpolationLogger *logger=nullptr) | |
Constructor. | |
const IInterpolant & | getInterpolant (SituationLog &log) |
Get the interpolant for the given time point. More... | |
![]() | |
const aviation::CAircraftSituation & | getLastInterpolatedSituation () const |
Latest interpolation result. | |
CInterpolationResult | getInterpolation (qint64 currentTimeSinceEpoch, const CInterpolationAndRenderingSetupPerCallsign &setup, uint32_t aircraftNumber) |
Get interpolated situation. More... | |
void | attachLogger (CInterpolationLogger *logger) |
Attach an observer to read the interpolator's state for debugging. More... | |
bool | hasAttachedLogger () const |
Is logger attached? | |
QString | getInterpolatorInfo () const |
Get an interpolator info string (for debug info) | |
void | resetLastInterpolation () |
Reset last interpolation to null. More... | |
void | initCorrespondingModel (const CAircraftModel &model={}) |
Init, or re-init the corressponding model. More... | |
void | markAsUnitTest () |
Mark as unit test. | |
int | getInvalidSituationsCount () const |
Get count of invalid situations. | |
const CStatusMessageList & | getInterpolationMessages () const |
Interpolation messages. | |
bool | hasInterpolationMessages () const |
Do we have interpolation messages. | |
Additional Inherited Members | |
![]() | |
static const QStringList & | getLogCategories () |
Log categories. | |
![]() | |
CInterpolator (const aviation::CCallsign &callsign, ISimulationEnvironmentProvider *simEnvProvider, IInterpolationSetupProvider *setupProvider, IRemoteAircraftProvider *remoteProvider, CInterpolationLogger *logger) | |
Constructor. | |
const physical_quantities::CLength & | getModelCG () const |
Center of gravity. | |
bool | doLogging () const |
Do logging. | |
![]() | |
CSimulationEnvironmentAware () | |
Default constructor. | |
CSimulationEnvironmentAware (ISimulationEnvironmentProvider *simEnvProvider) | |
Constructor. | |
void | setSimulationEnvironmentProvider (ISimulationEnvironmentProvider *provider) |
Set the provider. | |
geo::CElevationPlane | findClosestElevationWithinRange (const geo::ICoordinateGeodetic &reference, const physical_quantities::CLength &range) const |
Find closest elevation (or return NULL) More... | |
geo::CElevationPlane | findClosestElevationWithinRangeOrRequest (const geo::ICoordinateGeodetic &reference, const physical_quantities::CLength &range, const aviation::CCallsign &callsign) |
Find closest elevation or request elevation. More... | |
geo::CElevationPlane | averageElevationOfOnGroundAircraft (const aviation::CAircraftSituation &reference, const physical_quantities::CLength &range, int minValues, int sufficientValues) const |
Average elevation of "on ground" cached values. More... | |
aviation::CAltitude | highestElevation () const |
Highest elevation. More... | |
bool | requestElevation (const geo::ICoordinateGeodetic &reference, const aviation::CCallsign &callsign) |
Request elevation, there is no guarantee the requested elevation will be available in the provider. More... | |
bool | requestElevation (const aviation::CAircraftSituation &situation) |
Request elevation, there is no guarantee the requested elevation will be available in the provider. More... | |
QPair< int, int > | getElevationsFoundMissed () const |
Elevations found/missed statistics. More... | |
QString | getElevationsFoundMissedInfo () const |
Elevations found/missed statistics info as string. More... | |
QPair< qint64, qint64 > | getElevationRequestTimes () const |
The elevation request times. More... | |
QString | getElevationRequestTimesInfo () const |
Elevation request times. More... | |
CSimulatorPluginInfo | getSimulatorPluginInfo () const |
Get the represented plugin. More... | |
CSimulatorInfo | getSimulatorInfo () const |
Get the represented plugin. More... | |
QString | getSimulatorNameAndVersion () const |
Version and simulator details info. More... | |
CAircraftModel | getDefaultModel () const |
Default model. More... | |
physical_quantities::CLength | getSimulatorCG (const aviation::CCallsign &callsign) const |
Get CG per callsign, NULL if not found. More... | |
physical_quantities::CLength | getSimulatorOrDbCG (const aviation::CCallsign &callsign, const physical_quantities::CLength &dbCG) const |
Get CG per callsign, NULL if not found. More... | |
bool | hasSimulatorCG (const aviation::CCallsign &callsign) const |
Has a CG? More... | |
bool | cleanElevationValues (const aviation::CAircraftSituation &reference, const physical_quantities::CLength &range, bool forced=false) |
Remove cached elevations outside range, "forced" cleans always, otherwise only if max.values are reached. More... | |
![]() | |
IProviderAware (ISimulationEnvironmentProvider *provider=nullptr) | |
Ctor. | |
virtual | ~IProviderAware () |
Dtor. | |
bool | hasProvider () const |
Has provider? | |
ISimulationEnvironmentProvider * | getProvider () const |
Provider. | |
void | setProvider (ISimulationEnvironmentProvider *provider) |
Set the provider. More... | |
ISimulationEnvironmentProvider * | provider () |
Provider. | |
const ISimulationEnvironmentProvider * | provider () const |
Const provider. | |
![]() | |
CInterpolationSetupAware () | |
Default constructor. | |
CInterpolationSetupAware (IInterpolationSetupProvider *setupProvider) | |
Constructor. | |
void | setInterpolationSetupProvider (IInterpolationSetupProvider *provider) |
Provider. | |
CInterpolationAndRenderingSetupPerCallsign | getInterpolationSetupPerCallsignOrDefault (const aviation::CCallsign &callsign) const |
Get the setup for callsign, if not existing the global setup. More... | |
CInterpolationAndRenderingSetupGlobal | getInterpolationSetupGlobal () const |
The global setup. More... | |
![]() | |
IProviderAware (IInterpolationSetupProvider *provider=nullptr) | |
Ctor. | |
virtual | ~IProviderAware () |
Dtor. | |
bool | hasProvider () const |
Has provider? | |
IInterpolationSetupProvider * | getProvider () const |
Provider. | |
void | setProvider (IInterpolationSetupProvider *provider) |
Set the provider. More... | |
IInterpolationSetupProvider * | provider () |
Provider. | |
const IInterpolationSetupProvider * | provider () const |
Const provider. | |
![]() | |
CRemoteAircraftAware () | |
Default constructor. | |
CRemoteAircraftAware (IRemoteAircraftProvider *remoteAircraftProvider) | |
Constructor. | |
virtual | ~CRemoteAircraftAware () |
Destructor. | |
CSimulatedAircraftList | getAircraftInRange () const |
All remote aircraft. More... | |
bool | isAircraftInRange (const aviation::CCallsign &callsign) const |
Is aircraft in range? More... | |
bool | isVtolAircraft (const aviation::CCallsign &callsign) const |
Is VTOL aircraft? More... | |
int | getAircraftInRangeCount () const |
Count remote aircraft. More... | |
aviation::CCallsignSet | getAircraftInRangeCallsigns () const |
Unique callsigns for aircraft in range. More... | |
CSimulatedAircraft | getAircraftInRangeForCallsign (const aviation::CCallsign &callsign) const |
Aircraft for callsign. More... | |
CAircraftModel | getAircraftInRangeModelForCallsign (const aviation::CCallsign &callsign) const |
Aircraft model for callsign. More... | |
CAirspaceAircraftSnapshot | getLatestAirspaceAircraftSnapshot () const |
Current snapshot. More... | |
aviation::CAircraftSituationList | remoteAircraftSituations (const aviation::CCallsign &callsign) const |
Rendered aircraft situations (per callsign, time history) More... | |
aviation::CAircraftSituation | remoteAircraftSituation (const aviation::CCallsign &callsign, int index) const |
Rendered aircraft situations (per callsign and index) More... | |
aviation::CAircraftSituationList | latestRemoteAircraftSituations () const |
Latest aircraft situation for all callsigns. More... | |
aviation::CAircraftSituationList | latestOnGroundProviderElevations () const |
Latest aircraft situation "on ground" having a provider elevation. More... | |
int | remoteAircraftSituationsCount (const aviation::CCallsign &callsign) const |
Number of remote aircraft situations for callsign. More... | |
aviation::CAircraftPartsList | remoteAircraftParts (const aviation::CCallsign &callsign) const |
All parts (per callsign, time history) More... | |
int | remoteAircraftPartsCount (const aviation::CCallsign &callsign) const |
All parts (per callsign, time history) More... | |
aviation::CAircraftSituationChangeList | remoteAircraftSituationChanges (const aviation::CCallsign &callsign) const |
Aircraft changes. More... | |
aviation::CCallsignSet | remoteAircraftSupportingParts () const |
Remote aircraft supporting parts. More... | |
bool | isRemoteAircraftSupportingParts (const aviation::CCallsign &callsign) const |
Is remote aircraft supporting parts? More... | |
int | getRemoteAircraftSupportingPartsCount () const |
Number of aircraft supporting parts. More... | |
bool | updateAircraftEnabled (const aviation::CCallsign &callsign, bool enabledForRendering) |
Enable/disable aircraft and follow up logic like sending signals. More... | |
bool | setAircraftEnabledFlag (const aviation::CCallsign &callsign, bool enabledForRendering) |
Just set enable/disable aircraft flag, no further logic. More... | |
bool | updateMultipleAircraftEnabled (const aviation::CCallsignSet &callsigns, bool enabledForRendering) |
Enable/disable aircraft. More... | |
bool | updateAircraftModel (const aviation::CCallsign &callsign, const CAircraftModel &model, const CIdentifier &originator) |
Change model. More... | |
bool | updateAircraftNetworkModel (const aviation::CCallsign &callsign, const CAircraftModel &model, const CIdentifier &originator) |
Change network model. More... | |
bool | updateAircraftRendered (const aviation::CCallsign &callsign, bool rendered) |
Set aircraft rendered. More... | |
bool | updateMultipleAircraftRendered (const aviation::CCallsignSet &callsigns, bool rendered) |
Set aircraft rendered. More... | |
int | updateAircraftGroundElevation (const aviation::CCallsign &callsign, const geo::CElevationPlane &elevation, aviation::CAircraftSituation::GndElevationInfo info, bool *updateAircraftGroundElevation) |
Update the ground elevation. More... | |
bool | updateCG (const aviation::CCallsign &callsign, const physical_quantities::CLength &cg) |
Update the CG. More... | |
aviation::CCallsignSet | updateCGForModel (const QString &modelString, const physical_quantities::CLength &cg) |
Update the CG for this model string. More... | |
bool | updateCGAndModelString (const aviation::CCallsign &callsign, const physical_quantities::CLength &cg, const QString &modelString) |
Update the CG and model string. More... | |
void | updateMarkAllAsNotRendered () |
Mark all as not rendered. More... | |
int | aircraftSituationsAdded () const |
Number of situations added. More... | |
int | aircraftPartsAdded () const |
Number of parts added. More... | |
qint64 | situationsLastModified (const aviation::CCallsign &callsign) const |
When last modified. More... | |
qint64 | partsLastModified (const aviation::CCallsign &callsign) const |
When last modified. More... | |
geo::CElevationPlane | averageElevationOfNonMovingAircraft (const aviation::CAircraftSituation &reference, const physical_quantities::CLength &range, int minValues=1) const |
Average elevation of aircraft in given range, which are NOT moving. More... | |
void | setRemoteAircraftProvider (IRemoteAircraftProvider *remoteAircraftProvider) |
Set remote aircraft provider. | |
IRemoteAircraftProvider * | getRemoteAircraftProvider () const |
Get the aircraft provider. | |
![]() | |
IProviderAware (IRemoteAircraftProvider *provider=nullptr) | |
Ctor. | |
virtual | ~IProviderAware () |
Dtor. | |
bool | hasProvider () const |
Has provider? | |
IRemoteAircraftProvider * | getProvider () const |
Provider. | |
void | setProvider (IRemoteAircraftProvider *provider) |
Set the provider. More... | |
IRemoteAircraftProvider * | provider () |
Provider. | |
const IRemoteAircraftProvider * | provider () const |
Const provider. | |
![]() | |
const aviation::CCallsign | m_callsign |
corresponding callsign | |
CAircraftModel | m_model |
corresponding model (required for CG) | |
qint64 | m_currentTimeMsSinceEpoch = -1 |
current time | |
qint64 | m_lastInvalidLogTs = -1 |
last invalid situation timestamp | |
aviation::CAircraftSituationList | m_currentSituations |
current situations obtained by remoteAircraftSituationsAndChange | |
aviation::CAircraftSituationChange | m_pastSituationsChange |
situations change of provider (i.e. More... | |
CInterpolationAndRenderingSetupPerCallsign | m_currentSetup |
used setup | |
CInterpolationStatus | m_currentInterpolationStatus |
this step's situation status | |
CPartsStatus | m_currentPartsStatus |
this step's parts status | |
CPartsStatus | m_lastPartsStatus |
status for last parts, used when last parts are re-used because of m_partsToSituationInterpolationRatio | |
int | m_partsToSituationInterpolationRatio |
ratio between parts and situation interpolation, 1..always, 2..every 2nd situation More... | |
int | m_partsToSituationGuessingRatio = 5 |
ratio between parts guessing and situation interpolation | |
int | m_invalidSituations = 0 |
mainly when there are no new situations | |
CStatusMessageList | m_interpolationMessages |
interpolation messages | |
aviation::CAircraftSituation | m_lastSituation { aviation::CAircraftSituation::null() } |
latest interpolation | |
aviation::CAircraftParts | m_lastParts { aviation::CAircraftParts::null() } |
latest parts | |
physical_quantities::CLength | m_currentSceneryOffset |
calculated scenery offset if any More... | |
qint64 | m_situationsLastModified { -1 } |
when situations were last modified | |
qint64 | m_situationsLastModifiedUsed { -1 } |
interpolant based on situations last updated | |
int | m_interpolatedSituationsCounter |
counter for each interpolated situations: used for statistics, every n-th interpolation .... More... | |
Cubic spline interpolator.
Definition at line 18 of file interpolatorspline.h.
|
virtual |
Get the interpolant for the given time point.
Implements swift::misc::simulation::CInterpolator.
Definition at line 178 of file interpolatorspline.cpp.