Files
qt5-legatus-legacy/Lts/Services/CentralEffectSimulation/Plugins/GeoPairing/GeoPairingImpl/GeoPairingImplFactory.hpp
T
2026-08-13 18:33:10 +02:00

106 lines
2.2 KiB
C++
Executable File

#pragma once
// **************************************************************************
//
// (C) Copyright 2009 Swiss SIMTEC AG
//
// **************************************************************************
//
// $HeadURL$
// $LastChangedBy$
// $LastChangedDate$
// $LastChangedRevision$
//
// **************************************************************************
#include <GBL_Global/Types.hpp>
#include "GeoPairingImpl.hpp"
namespace N_GeoPairingImpl
{
/**
* This class serves is the entry point to the GeoPairing Software. It must be
* initialized before use.
*
* @author Daniel.Schmid
* @version 1.0
* @created 17-Jul-2009 14:27:37
*/
class GeoPairingImplFactory
{
public:
/**
* Creates a new air target tracker
*/
static GeoPairingImplAirTargetTracker *createAirTargetTracker();
/**
* Creates a new air target updater
*/
static GeoPairingImplAirTargetUpdater *createAirTargetUpdater();
/**
* Creates a new air target cache
*
* @param a_playerID
*/
static GeoPairingImplAirTargetCache *createAirTargetCache(SInt32 a_playerID);
/**
* Creates a new fired bulled according to the given SensorData
*
* @param a_sensorData
*/
static GeoPairingImplFiredBullet *createFiredBullet(GeoPairingImplSensorData &a_sensorData);
/**
* Populates a SensorData instance according to the given transparent datastream
*
* @param a_sensorData
* @param a_transparentData
* @param a_sizeOfTransparentData
*/
static SInt32 createSensorData(GeoPairingImplSensorData *a_sensorData, const QByteArray& a_transparentData, int &isDefault);
static SInt32 createSensorData(GeoPairingImplSensorData *a_sensorData, const QByteArray& a_transparentData);
/**
* Initialize the GeoPairing component
*
* @param a_config
*/
static bool initialize(const QString &filePath);
/**
* installs an implementation
*
* @param a_impl
*/
static void setImpl(GeoPairingImpl *a_impl);
/**
* Sets global meteo conditions
*
* @param a_meteoData
*/
static void setMeteoData(const GeoPairingImplMeteoData &a_meteoData);
protected:
private:
static GeoPairingImpl *m_Impl;
/**
* retrieves the implementation object pointer
*/
static GeoPairingImpl *getImpl();
};
}