/* * ProcessFramesTransformation.hh * * Created on: Jul 18, 2016 * Author: AKKA IS */ #ifndef PROCESSFRAMESTRANSFORMATION_HH_ #define PROCESSFRAMESTRANSFORMATION_HH_ #include "SingleParamProcess.hh" namespace AMDA { namespace Parameters { class ProcessFramesTransformationBase : public AMDA::Parameters::SingleParamProcess_CRTP { public: /** * @brief Constructor. */ ProcessFramesTransformationBase(Parameter ¶meter); /** * @brief Copy Constructor. */ ProcessFramesTransformationBase(const ProcessFramesTransformationBase& pProcess, Parameter &pParameter); /** * @brief Destructor. */ ~ProcessFramesTransformationBase(); // Overload Process methods /** * @overload Process::init() */ TimeStamp init(); protected: std::string _fromFrame; std::string _toFrame; bool _isPosition; }; /** * @class ProcessFramesTransformation * @brief Process to compute the transformation of a vector from a frame to another frame. */ class ProcessFramesTransformation : public ProcessFramesTransformationBase { public: /** * @brief Constructor. */ ProcessFramesTransformation(Parameter ¶meter); // Overload Process methods /** * @overload Process::init() */ TimeStamp init(); }; class ProcessGSEToGSMFrameTransformation : public ProcessFramesTransformationBase { public: /** * @brief Constructor. */ ProcessGSEToGSMFrameTransformation(Parameter ¶meter); // Overload Process methods /** * @overload Process::init() */ TimeStamp init(); }; class ProcessGSMToGSEFrameTransformation : public ProcessFramesTransformationBase { public: /** * @brief Constructor. */ ProcessGSMToGSEFrameTransformation(Parameter ¶meter); // Overload Process methods /** * @overload Process::init() */ TimeStamp init(); }; } /* namespace Parameters */ } /* namespace AMDA */ #endif /* PROCESSFRAMESTRANSFORMATION_HH_ */