Blame view

src/ExternLib/FramesTransformation/ProcessFramesTransformation.hh 1.88 KB
cebd3f0e   Benjamin Renard   First implementat...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/*
 * ProcessFramesTransformation.hh
 *
 *  Created on: Jul 18, 2016
 *      Author: AKKA IS
 */

#ifndef PROCESSFRAMESTRANSFORMATION_HH_
#define PROCESSFRAMESTRANSFORMATION_HH_

#include "SingleParamProcess.hh"

namespace AMDA {
namespace Parameters {

86dc0e65   Benjamin Renard   Add GSE2GSM & GSM...
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
class ProcessFramesTransformationBase : public AMDA::Parameters::SingleParamProcess_CRTP<ProcessFramesTransformationBase> {

public:
	/**
	 * @brief Constructor.
	 */ 
	ProcessFramesTransformationBase(Parameter &parameter);
	/**
	 * @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;
};

cebd3f0e   Benjamin Renard   First implementat...
44
45
46
47
/**
 * @class ProcessFramesTransformation
 * @brief Process to compute the transformation of a vector from a frame to another frame.
 */
86dc0e65   Benjamin Renard   Add GSE2GSM & GSM...
48
class ProcessFramesTransformation : public ProcessFramesTransformationBase {
cebd3f0e   Benjamin Renard   First implementat...
49
50
51
52
53
public:
	/**
	 * @brief Constructor.
	 */
	ProcessFramesTransformation(Parameter &parameter);
86dc0e65   Benjamin Renard   Add GSE2GSM & GSM...
54
55

	// Overload Process methods
cebd3f0e   Benjamin Renard   First implementat...
56
	/**
86dc0e65   Benjamin Renard   Add GSE2GSM & GSM...
57
	 * @overload Process::init()
cebd3f0e   Benjamin Renard   First implementat...
58
	 */
86dc0e65   Benjamin Renard   Add GSE2GSM & GSM...
59
60
61
62
63
	TimeStamp init();
};

class ProcessGSEToGSMFrameTransformation : public ProcessFramesTransformationBase {
public:
cebd3f0e   Benjamin Renard   First implementat...
64
	/**
86dc0e65   Benjamin Renard   Add GSE2GSM & GSM...
65
	 * @brief Constructor.
cebd3f0e   Benjamin Renard   First implementat...
66
	 */
86dc0e65   Benjamin Renard   Add GSE2GSM & GSM...
67
	ProcessGSEToGSMFrameTransformation(Parameter &parameter);
cebd3f0e   Benjamin Renard   First implementat...
68
69
70
71
72
73

	// Overload Process methods
	/**
	 * @overload Process::init()
	 */
	TimeStamp init();
86dc0e65   Benjamin Renard   Add GSE2GSM & GSM...
74
};
cebd3f0e   Benjamin Renard   First implementat...
75

86dc0e65   Benjamin Renard   Add GSE2GSM & GSM...
76
77
78
79
80
81
82
83
84
85
86
87
class ProcessGSMToGSEFrameTransformation : public ProcessFramesTransformationBase {
public:
	/**
	 * @brief Constructor.
	 */
	ProcessGSMToGSEFrameTransformation(Parameter &parameter);

	// Overload Process methods
	/**
	 * @overload Process::init()
	 */
	TimeStamp init();
cebd3f0e   Benjamin Renard   First implementat...
88
89
90
91
92
};

} /* namespace Parameters */
} /* namespace AMDA */
#endif /* PROCESSFRAMESTRANSFORMATION_HH_ */