52 const TimePoint& getTime()
const {
return time_; }
54 double getA()
const {
return angles_.angle1(); }
55 double getB()
const {
return angles_.angle2(); }
56 double getC()
const {
return angles_.angle3(); }
58 double getADot()
const {
return rates_.angle1(); }
59 double getBDot()
const {
return rates_.angle2(); }
60 double getCDot()
const {
return rates_.angle3(); }
62 static DataElements Elements();
64 DataGroupEuler() =
default;
65 ~DataGroupEuler() =
default;
67 errc_t calculate(
const TimeList& timeList, VariantVector& result)
const override;
68 const DataElements& getElements()
const override;
70 errc_t calculate(
const TimeList& timeList, std::vector<Data>& result)
const;
71 errc_t calculate(
const TimeList& timeList, Span<Data> result)
const;
73 Axes* getAxes()
const {
return axes_.get(); }
74 Axes* getReferenceAxes()
const {
return referenceAxes_.get(); }
75 void setAxes(Axes* a) { axes_ = a; }
76 void setReferenceAxes(Axes* a) { referenceAxes_ = a; }
78 int getRotationOrder()
const {
return rotationOrder_; }
79 void setRotationOrder(
int order) { rotationOrder_ = order; }
81 WeakPtr<Axes> axes_{};
82 WeakPtr<Axes> referenceAxes_{};
83 int rotationOrder_{Euler::eXYX};
void aQuatAngvelToEuler(const Quaternion &quat, const Vector3d &angvel, int rotationOrder, Euler &angles, Euler &rates)
将四元数和体轴角速度转换为欧拉角及欧拉角速率
定义 DataGroupEuler.cpp:67