🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
EarthFrame.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24
25AST_NAMESPACE_BEGIN
26
27class TimePoint;
28class Rotation;
29class KinematicRotation;
30
31
79//----------------
80// ECI -> ECF
81//----------------
82
83
84
89AST_CORE_API void aECIToECFTransform(const TimePoint& tp, Rotation& rotation);
90
91
96AST_CORE_API void aECIToECFTransform(const TimePoint& tp, KinematicRotation& rotation);
97
98
103AST_CORE_CAPI void aECIToECFMatrix(const TimePoint& tp, Matrix3d& matrix);
104
105
111AST_CORE_API void aECIToECF(const TimePoint& tp, const Vector3d& vecECI, Vector3d& vecECF);
112
113
114
122AST_CORE_API void aECIToECF(
123 const TimePoint& tp,
124 const Vector3d& vecECI,
125 const Vector3d& velECI,
126 Vector3d& vecECF,
127 Vector3d& velECF
128);
129
130//----------------
131// J2000 -> ECF
132//----------------
133
138AST_CORE_API void aJ2000ToECFTransform(const TimePoint& tp, Rotation& rotation);
139
140
145AST_CORE_API void aJ2000ToECFTransform(const TimePoint& tp, KinematicRotation& rotation);
146
147
148
153AST_CORE_API void aJ2000ToECFMatrix(const TimePoint& tp, Matrix3d& matrix);
154
155
161AST_CORE_API void aJ2000ToECF(const TimePoint& tp, const Vector3d& vecJ2000, Vector3d& vecECF);
162
163
164
172AST_CORE_API void aJ2000ToECF(
173 const TimePoint& tp,
174 const Vector3d& vecJ2000,
175 const Vector3d& velJ2000,
176 Vector3d& vecECF,
177 Vector3d& velECF
178);
179
180
181//----------------
182// ECF -> J2000
183//----------------
184
189AST_CORE_API void aECFToJ2000Transform(const TimePoint& tp, Rotation& rotation);
190
195AST_CORE_API void aECFToJ2000Transform(const TimePoint& tp, KinematicRotation& rotation);
196
201AST_CORE_API void aECFToJ2000Matrix(const TimePoint& tp, Matrix3d& matrix);
202
203
209AST_CORE_API void aECFToJ2000(const TimePoint& tp, const Vector3d& vecECF, Vector3d& vecJ2000);
210
211
219AST_CORE_API void aECFToJ2000(
220 const TimePoint& tp,
221 const Vector3d& vecECF,
222 const Vector3d& velECF,
223 Vector3d& vecJ2000,
224 Vector3d& velJ2000
225);
226
227
228//----------------
229// J2000 -> MOD
230//----------------
231
232
237AST_CORE_CAPI void aJ2000ToMODTransform(const TimePoint& tp, Rotation& rotation);
238
239
244AST_CORE_CAPI void aJ2000ToMODMatrix(const TimePoint& tp, Matrix3d& matrix);
245
246
247
253AST_CORE_CAPI void aJ2000ToMOD(const TimePoint& tp, const Vector3d& vecJ2000, Vector3d& vecMOD);
254
255
256//----------------
257// MOD -> TOD
258//----------------
259
260
265AST_CORE_CAPI void aMODToTODTransform(const TimePoint& tp, Rotation& rotation);
266
267
272AST_CORE_CAPI void aMODToTODMatrix(const TimePoint& tp, Matrix3d& matrix);
273
274
280AST_CORE_CAPI void aMODToTOD(const TimePoint& tp, const Vector3d& vecMOD, Vector3d& vecTOD);
281
282
283
284
285//----------------
286// TOD -> GTOD
287//----------------
288
289
294AST_CORE_API void aTODToGTODTransform(const TimePoint& tp, Rotation& rotation);
295
296
301AST_CORE_API void aTODToGTODTransform(const TimePoint& tp, KinematicRotation& rotation);
302
303
308AST_CORE_API void aTODToGTODMatrix(const TimePoint& tp, Matrix3d& matrix);
309
310
316AST_CORE_API void aTODToGTOD(const TimePoint& tp, const Vector3d& vecTOD, Vector3d& vecGTOD);
317
318
319
327AST_CORE_API void aTODToGTOD(
328 const TimePoint& tp,
329 const Vector3d& vecTOD, const Vector3d& velTOD,
330 Vector3d& vecGTOC, Vector3d& velGTOC
331);
332
333
334//----------------
335// GTOD -> ECF
336//----------------
337
338
343AST_CORE_CAPI void aGTODToECFTransform(const TimePoint& tp, Rotation& rotation);
344
345
350AST_CORE_CAPI void aGTODToECFMatrix(const TimePoint& tp, Matrix3d& matrix);
351
352
353
359AST_CORE_CAPI void aGTODToECF(const TimePoint& tp, const Vector3d& vecGTOD, Vector3d& vecECF);
360
361
362
363//----------------
364// ICRF -> ECF
365//----------------
366
367
372AST_CORE_API void aICRFToECFTransform(const TimePoint& tp, Rotation& rotation);
373
374
379AST_CORE_API void aICRFToECFTransform(const TimePoint& tp, KinematicRotation& rotation);
380
381
386AST_CORE_CAPI void aICRFToECFMatrix(const TimePoint& tp, Matrix3d& matrix);
387
388
394AST_CORE_API void aICRFToECF(const TimePoint& tp, const Vector3d& vecICRF, Vector3d& vecECF);
395
401AST_CORE_API void aECFToICRF(const TimePoint& tp, const Vector3d& vecECF, Vector3d& vecICRF);
402
410AST_CORE_API void aICRFToECF(
411 const TimePoint& tp,
412 const Vector3d& vecICRF, const Vector3d& velICRF,
413 Vector3d& vecECF, Vector3d& velECF
414);
415
416// ----------------
417// ICRF -> CIRF
418// ----------------
419
420
425AST_CORE_CAPI void aICRFToCIRFTransform(const TimePoint& tp, Rotation& rotation);
426
427
432AST_CORE_CAPI void aICRFToCIRFMatrix(const TimePoint& tp, Matrix3d& matrix);
433
434
440AST_CORE_CAPI void aICRFToCIRF(const TimePoint& tp, const Vector3d& vecICRF, Vector3d& vecCIRF);
441
442
443
444// ----------------
445// CIRF -> TIRF
446// ----------------
447
452AST_CORE_API void aCIRFToTIRFTransform(const TimePoint& tp, Rotation& rotation);
453
458AST_CORE_API void aCIRFToTIRFTransform(const TimePoint& tp, KinematicRotation& rotation);
459
464AST_CORE_CAPI void aCIRFToTIRFMatrix(const TimePoint& tp, Matrix3d& matrix);
465
466
472AST_CORE_API void aCIRFToTIRF(const TimePoint& tp, const Vector3d& vecCIRF, Vector3d& vecTIRF);
473
474
482AST_CORE_API void aCIRFToTIRF(
483 const TimePoint& tp,
484 const Vector3d& vecCIRF, const Vector3d& velCIRF,
485 Vector3d& vecTIRF, Vector3d& velTIRF
486);
487
488
489// ----------------
490// TIRF -> ECF
491// ----------------
492
493
498AST_CORE_CAPI void aTIRFToECFTransform(const TimePoint& tp, Rotation& rotation);
499
500
505AST_CORE_CAPI void aTIRFToECFMatrix(const TimePoint& tp, Matrix3d& matrix);
506
512AST_CORE_CAPI void aTIRFToECF(const TimePoint& tp, const Vector3d& vecTIRF, Vector3d& vecECF);
513
514
515// ----------------
516// Alias
517// ----------------
518
519
520A_ALWAYS_INLINE void aICRFToECFMatrix(const TimePoint& tp, double matrix[3][3])
521{
522 return aICRFToECFMatrix(tp, *((Matrix3d*)matrix));
523}
524
527AST_NAMESPACE_END
void aECIToECFTransform(const TimePoint &tp, Rotation &rotation)
从ECI转换为ECF的坐标旋转变换
定义 EarthFrame.cpp:38
void aCIRFToTIRFTransform(const TimePoint &tp, Rotation &rotation)
从CIRF转换为TIRF的坐标旋转变换
定义 EarthFrame.cpp:412
void aJ2000ToMODTransform(const TimePoint &tp, Rotation &rotation)
从J2000转换为MOD的坐标旋转变换
定义 EarthFrame.cpp:150
void aCIRFToTIRF(const TimePoint &tp, const Vector3d &vecCIRF, Vector3d &vecTIRF)
从CIRF转换为TIRF的坐标转换
定义 EarthFrame.cpp:431
void aTIRFToECFMatrix(const TimePoint &tp, Matrix3d &matrix)
从TIRF转换为ECF的坐标转换矩阵
定义 EarthFrame.cpp:452
void aTODToGTOD(const TimePoint &tp, const Vector3d &vecTOD, Vector3d &vecGTOD)
从TOD转换为GTOD的坐标转换
定义 EarthFrame.cpp:231
void aJ2000ToECFMatrix(const TimePoint &tp, Matrix3d &matrix)
从J2000转换为ECF的坐标转换矩阵
定义 EarthFrame.cpp:88
void aICRFToECFTransform(const TimePoint &tp, Rotation &rotation)
从ICRF转换为ECF的坐标旋转变换
定义 EarthFrame.cpp:306
void aECIToECF(const TimePoint &tp, const Vector3d &vecECI, Vector3d &vecECF)
从ECI转换为ECF的坐标转换
定义 EarthFrame.cpp:53
void aECFToJ2000Matrix(const TimePoint &tp, Matrix3d &matrix)
从ECF转换为J2000的坐标转换矩阵
定义 EarthFrame.cpp:128
void aGTODToECFMatrix(const TimePoint &tp, Matrix3d &matrix)
从GTOD转换为ECF的坐标转换矩阵
定义 EarthFrame.cpp:286
void aICRFToCIRFMatrix(const TimePoint &tp, Matrix3d &matrix)
从ICRF转换为CIRF的坐标转换矩阵
定义 EarthFrame.cpp:394
void aJ2000ToECF(const TimePoint &tp, const Vector3d &vecJ2000, Vector3d &vecECF)
从J2000转换为ECF的坐标转换
定义 EarthFrame.cpp:102
void aECIToECFMatrix(const TimePoint &tp, Matrix3d &matrix)
从ECI转换为ECF的坐标转换矩阵
定义 EarthFrame.cpp:48
void aECFToJ2000Transform(const TimePoint &tp, Rotation &rotation)
从ECF转换为J2000的坐标旋转变换
定义 EarthFrame.cpp:116
void aICRFToCIRF(const TimePoint &tp, const Vector3d &vecICRF, Vector3d &vecCIRF)
从ICRF转换为CIRF的坐标转换
定义 EarthFrame.cpp:401
void aTODToGTODTransform(const TimePoint &tp, Rotation &rotation)
从TOD转换为GTOD的坐标旋转变换
定义 EarthFrame.cpp:212
void aTIRFToECFTransform(const TimePoint &tp, Rotation &rotation)
从TIRF转换为ECF的坐标旋转变换
定义 EarthFrame.cpp:447
void aICRFToECF(const TimePoint &tp, const Vector3d &vecICRF, Vector3d &vecECF)
从ICRF转换为ECF的坐标转换
定义 EarthFrame.cpp:340
void aJ2000ToMOD(const TimePoint &tp, const Vector3d &vecJ2000, Vector3d &vecMOD)
从J2000转换为MOD的坐标转换
定义 EarthFrame.cpp:164
void aJ2000ToECFTransform(const TimePoint &tp, Rotation &rotation)
从J2000转换为ECF的坐标旋转变换
定义 EarthFrame.cpp:63
void aGTODToECFTransform(const TimePoint &tp, Rotation &rotation)
从GTOD转换为ECF的坐标旋转变换
定义 EarthFrame.cpp:247
void aECFToICRF(const TimePoint &tp, const Vector3d &vecECF, Vector3d &vecICRF)
从ECF转换为ICRF的坐标转换
定义 EarthFrame.cpp:347
void aMODToTODMatrix(const TimePoint &tp, Matrix3d &matrix)
从MOD转换为TOD的坐标转换矩阵
定义 EarthFrame.cpp:179
void aTIRFToECF(const TimePoint &tp, const Vector3d &vecTIRF, Vector3d &vecECF)
从TIRF转换为ECF的坐标转换
定义 EarthFrame.cpp:457
void aTODToGTODMatrix(const TimePoint &tp, Matrix3d &matrix)
从TOD转换为GTOD的坐标转换矩阵
定义 EarthFrame.cpp:225
void aICRFToECFMatrix(const TimePoint &tp, Matrix3d &matrix)
从ICRF转换为ECF的坐标转换矩阵
定义 EarthFrame.cpp:328
void aECFToJ2000(const TimePoint &tp, const Vector3d &vecECF, Vector3d &vecJ2000)
从ECF转换为J2000的坐标转换
定义 EarthFrame.cpp:134
void aCIRFToTIRFMatrix(const TimePoint &tp, Matrix3d &matrix)
从CIRF转换为TIRF的坐标转换矩阵
定义 EarthFrame.cpp:425
void aMODToTODTransform(const TimePoint &tp, Rotation &rotation)
从MOD转换为TOD的坐标旋转变换
定义 EarthFrame.cpp:173
void aICRFToCIRFTransform(const TimePoint &tp, Rotation &rotation)
从ICRF转换为CIRF的坐标旋转变换
定义 EarthFrame.cpp:363
void aGTODToECF(const TimePoint &tp, const Vector3d &vecGTOD, Vector3d &vecECF)
从GTOD转换为ECF的坐标转换
定义 EarthFrame.cpp:297
void aMODToTOD(const TimePoint &tp, const Vector3d &vecMOD, Vector3d &vecTOD)
从MOD转换为TOD的坐标转换
定义 EarthFrame.cpp:203
void aJ2000ToMODMatrix(const TimePoint &tp, Matrix3d &matrix)
从J2000转换为MOD的坐标转换矩阵
定义 EarthFrame.cpp:156