Class Euler

    • Constructor Detail

      • Euler

        public Euler()
        Simple constructor.
    • Method Detail

      • validate

        public void validate​(double version)
        Check is all mandatory entries have been initialized.

        This method should throw an exception if some mandatory entries are missing or not compatible with version number.

        Specified by:
        validate in interface Section
        Overrides:
        validate in class CommentsContainer
        Parameters:
        version - format version
      • getEndpoints

        public AttitudeEndpoints getEndpoints()
        Get the endpoints (i.e. frames A, B and their relationship).
        Returns:
        endpoints
      • getEulerRotSeq

        public RotationOrder getEulerRotSeq()
        Get the rotation order of Euler angles.
        Returns:
        rotation order
      • setEulerRotSeq

        public void setEulerRotSeq​(RotationOrder eulerRotSeq)
        Set the rotation order for Euler angles.
        Parameters:
        eulerRotSeq - order to be set
      • rateFrameIsA

        public boolean rateFrameIsA()
        Check if rates are specified in frame A.
        Returns:
        true if rates are specified in frame A
      • setRateFrameIsA

        public void setRateFrameIsA​(boolean rateFrameIsA)
        Set the frame in which rates are specified.
        Parameters:
        rateFrameIsA - if true, rates are specified in frame A
      • isSpacecraftBodyRate

        public boolean isSpacecraftBodyRate()
        Check if rates are specified in spacecraft body frame.

        Mandatory entries must have been initialized properly to non-null values before this method is called, otherwise NullPointerException will be thrown.

        Returns:
        true if rates are specified in spacecraft body frame
      • getRotationAngles

        public double[] getRotationAngles()
        Get the coordinates of the Euler angles.
        Returns:
        rotation angles (rad)
      • setLabeledRotationAngle

        public void setLabeledRotationAngle​(char axis,
                                            double angle)
        Set the Euler angle about axis.
        Parameters:
        axis - rotation axis
        angle - angle to set (rad)
      • setIndexedRotationAngle

        public void setIndexedRotationAngle​(int axis,
                                            double angle)
        Set the Euler angle about axis.
        Parameters:
        axis - rotation axis
        angle - angle to set (rad)
        Since:
        12.0
      • getRotationRates

        public double[] getRotationRates()
        Get the rates of the Euler angles.
        Returns:
        rotation rates (rad/s)
      • setLabeledRotationRate

        public void setLabeledRotationRate​(char axis,
                                           double rate)
        Set the rate of Euler angle about axis.
        Parameters:
        axis - rotation axis
        rate - angle rate to set (rad/s)
      • setIndexedRotationRate

        public void setIndexedRotationRate​(int axis,
                                           double rate)
        Set the rate of Euler angle about axis.
        Parameters:
        axis - rotation axis
        rate - angle rate to set (rad/s)
        Since:
        12.0
      • setInRotationAngles

        public void setInRotationAngles​(boolean inRotationAngles)
        Set flag for rotation angle parsing.
        Parameters:
        inRotationAngles - if true, we are in the rotationAngles part of XML files
      • hasAngles

        public boolean hasAngles()
        Check if the logical block includes angles.

        This can be false only for ADM V1, as angles are mandatory since ADM V2.

        Returns:
        true if logical block includes angles
        Since:
        12.0
      • hasRates

        public boolean hasRates()
        Check if the logical block includes rates.
        Returns:
        true if logical block includes rates