50 lines
942 B
C++
Executable File
50 lines
942 B
C++
Executable File
/**
|
|
* Handler for all trajectories
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Created by Norbert Thoden, ESVG, 2026-01-28
|
|
*/
|
|
#pragma once
|
|
|
|
#include "object_trajectory.h"
|
|
#include "logger.h"
|
|
|
|
namespace AreaEffectSimulation
|
|
{
|
|
|
|
/*!
|
|
* \brief The HandlerTrajectory class
|
|
*/
|
|
class HandlerTrajectory final
|
|
{
|
|
// Q_OBJECT
|
|
public:
|
|
explicit HandlerTrajectory(MainHandler *mainHandler);
|
|
~HandlerTrajectory();
|
|
|
|
int create(const TrajectoryData& providedData);
|
|
bool update(const TrajectoryData& providedData);
|
|
bool remove(const int trajId);
|
|
|
|
/*!
|
|
* \brief createUpdate
|
|
* \param providedData
|
|
* \return -1 on error, otherwise provided id;
|
|
*/
|
|
int createUpdate(const TrajectoryData& providedData);
|
|
|
|
private:
|
|
int count() const;
|
|
|
|
class Private;
|
|
/**
|
|
* The private d->pointer to not break BC when changing internals of this class
|
|
*/
|
|
Private *d = nullptr;
|
|
|
|
LOGGER_T m_logger;
|
|
};
|
|
|
|
} // Namespace AreaEffectSimulation
|