mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-07-05 23:40:34 +08:00
Reformat of math library with astyle.
This commit is contained in:
@@ -48,48 +48,46 @@ namespace math
|
||||
{
|
||||
|
||||
EulerAngles::EulerAngles() :
|
||||
Vector(3)
|
||||
Vector(3)
|
||||
{
|
||||
setPhi(0.0f);
|
||||
setTheta(0.0f);
|
||||
setPsi(0.0f);
|
||||
setPhi(0.0f);
|
||||
setTheta(0.0f);
|
||||
setPsi(0.0f);
|
||||
}
|
||||
|
||||
EulerAngles::EulerAngles(float phi, float theta, float psi) :
|
||||
Vector(3)
|
||||
Vector(3)
|
||||
{
|
||||
setPhi(phi);
|
||||
setTheta(theta);
|
||||
setPsi(psi);
|
||||
setPhi(phi);
|
||||
setTheta(theta);
|
||||
setPsi(psi);
|
||||
}
|
||||
|
||||
EulerAngles::EulerAngles(const Quaternion & q) :
|
||||
Vector(3)
|
||||
EulerAngles::EulerAngles(const Quaternion &q) :
|
||||
Vector(3)
|
||||
{
|
||||
(*this) = EulerAngles(Dcm(q));
|
||||
(*this) = EulerAngles(Dcm(q));
|
||||
}
|
||||
|
||||
EulerAngles::EulerAngles(const Dcm & dcm) :
|
||||
Vector(3)
|
||||
EulerAngles::EulerAngles(const Dcm &dcm) :
|
||||
Vector(3)
|
||||
{
|
||||
setTheta(asinf(-dcm(2,0)));
|
||||
if (fabsf(getTheta() - M_PI_2_F) < 1.0e-3f)
|
||||
{
|
||||
setPhi(0.0f);
|
||||
setPsi(atan2f(dcm(1,2) - dcm(0,1),
|
||||
dcm(0,2) + dcm(1,1)) + getPhi());
|
||||
}
|
||||
else if (fabsf(getTheta() + M_PI_2_F) < 1.0e-3f)
|
||||
{
|
||||
setPhi(0.0f);
|
||||
setPsi(atan2f(dcm(1,2) - dcm(0,1),
|
||||
dcm(0,2) + dcm(1,1)) - getPhi());
|
||||
}
|
||||
else
|
||||
{
|
||||
setPhi(atan2f(dcm(2,1),dcm(2,2)));
|
||||
setPsi(atan2f(dcm(1,0),dcm(0,0)));
|
||||
}
|
||||
setTheta(asinf(-dcm(2, 0)));
|
||||
|
||||
if (fabsf(getTheta() - M_PI_2_F) < 1.0e-3f) {
|
||||
setPhi(0.0f);
|
||||
setPsi(atan2f(dcm(1, 2) - dcm(0, 1),
|
||||
dcm(0, 2) + dcm(1, 1)) + getPhi());
|
||||
|
||||
} else if (fabsf(getTheta() + M_PI_2_F) < 1.0e-3f) {
|
||||
setPhi(0.0f);
|
||||
setPsi(atan2f(dcm(1, 2) - dcm(0, 1),
|
||||
dcm(0, 2) + dcm(1, 1)) - getPhi());
|
||||
|
||||
} else {
|
||||
setPhi(atan2f(dcm(2, 1), dcm(2, 2)));
|
||||
setPsi(atan2f(dcm(1, 0), dcm(0, 0)));
|
||||
}
|
||||
}
|
||||
|
||||
EulerAngles::~EulerAngles()
|
||||
@@ -98,27 +96,27 @@ EulerAngles::~EulerAngles()
|
||||
|
||||
int __EXPORT eulerAnglesTest()
|
||||
{
|
||||
printf("Test EulerAngles\t: ");
|
||||
EulerAngles euler(1,2,3);
|
||||
printf("Test EulerAngles\t: ");
|
||||
EulerAngles euler(1, 2, 3);
|
||||
|
||||
// test ctor
|
||||
ASSERT(vectorEqual(Vector3(1,2,3),euler));
|
||||
ASSERT(equal(euler.getPhi(),1));
|
||||
ASSERT(equal(euler.getTheta(),2));
|
||||
ASSERT(equal(euler.getPsi(),3));
|
||||
// test ctor
|
||||
ASSERT(vectorEqual(Vector3(1, 2, 3), euler));
|
||||
ASSERT(equal(euler.getPhi(), 1));
|
||||
ASSERT(equal(euler.getTheta(), 2));
|
||||
ASSERT(equal(euler.getPsi(), 3));
|
||||
|
||||
// test dcm ctor
|
||||
// test dcm ctor
|
||||
|
||||
// test assignment
|
||||
euler.setPhi(4);
|
||||
ASSERT(equal(euler.getPhi(),4));
|
||||
euler.setTheta(5);
|
||||
ASSERT(equal(euler.getTheta(),5));
|
||||
euler.setPsi(6);
|
||||
ASSERT(equal(euler.getPsi(),6));
|
||||
|
||||
printf("PASS\n");
|
||||
return 0;
|
||||
// test assignment
|
||||
euler.setPhi(4);
|
||||
ASSERT(equal(euler.getPhi(), 4));
|
||||
euler.setTheta(5);
|
||||
ASSERT(equal(euler.getTheta(), 5));
|
||||
euler.setPsi(6);
|
||||
ASSERT(equal(euler.getPsi(), 6));
|
||||
|
||||
printf("PASS\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
} // namespace math
|
||||
|
||||
Reference in New Issue
Block a user