浏览该文件的文档.
24#include "AstCore/BuiltinFrame.hpp"
33#define _AST_DECL_POINT(NAME) \
34 class AST_CORE_API Point##NAME : public Point \
37 Point##NAME() = default; \
38 ~Point##NAME() override= default; \
39 static Point##NAME* Instance();\
40 Frame* getFrame() const override;\
41 errc_t getPos(const TimePoint &tp, Vector3d &pos) const override;\
42 errc_t getPosVel(const TimePoint &tp, Vector3d &pos, Vector3d &vel) const override;\
44 A_ALWAYS_INLINE Point* aPoint##NAME()\
46 return Point##NAME::Instance();\
50#define _AST_IMPL_POINT(NAME, FRAME)\
51 Point##NAME* Point##NAME::Instance()\
53 static SharedPtr<Point##NAME> instance(new Point##NAME());\
54 return instance.get();\
56 Frame* Point##NAME::getFrame() const\
58 return Frame##FRAME::Instance();\
60 errc_t Point##NAME::getPos(const TimePoint &tp, Vector3d &pos) const\
62 return a##NAME##PosIn##FRAME(tp, pos);\
64 errc_t Point##NAME::getPosVel(const TimePoint &tp, Vector3d &pos, Vector3d &vel) const\
66 return a##NAME##PosVelIn##FRAME(tp, pos, vel);\