AVSLab/basilisk

AVS Eigen library's MRP Identity() method returns identity quaternion rotation

Closed this issue · 0 comments

Describe the bug
The AVS Eigen library's MRP Identity() method returns a quaternion identity rotation instead of an MRP identity rotation.

To reproduce
Steps to reproduce the behavior, in any c++ file:

  1. Include "architecture/utilities/avsEigenMRP.h"
  2. Call Eigen::MRPd::Identity();
  3. When attempting to build, see error:

/basilisk/src/architecture/utilities/avsEigenMRP.h:125:55: error: no matching constructor for initialization of
'MRP<Eigen::MRPBase<Eigen::MRP<double, 0>>::Scalar>' (aka 'MRP')
static inline MRP Identity() { return MRP(Scalar(1), Scalar(0), Scalar(0), Scalar(0)); }
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Expected behavior
This should instead initialize a zero MRP in the same way that the setIdentity() method in AVS Eigen's library does for MRPs. No errors should occur at build.

Desktop (please complete the following information):

  • OS: Macos
  • Version 14.4.1
  • Python version 3.10.7