Class DirectionMatrix

    • Constructor Detail

      • DirectionMatrix

        public DirectionMatrix​(DoubleMatrixData data,
                               DirectionUnit unit)
        Parameters:
        data - DoubleMatrixData; an internal data object
        unit - DirectionUnit; the unit
    • Method Detail

      • getScalarClass

        public Class<Direction> getScalarClass()
        Return the class of the corresponding scalar.
        Returns:
        Class<S>; the class of the corresponding scalar
      • getVectorClass

        public Class<DirectionVector> getVectorClass()
        Return the class of the corresponding vector.
        Returns:
        Class<V>; the class of the corresponding vector
      • instantiateMatrix

        public DirectionMatrix instantiateMatrix​(DoubleMatrixData dmd,
                                                 DirectionUnit displayUnit)
        Instantiate a new matrix of the class of this matrix. This can be used instead of the DoubleMatrix.instiantiate() methods in case another matrix of this class is known. The method is faster than DoubleMatrix.instantiate, and it will also work if the matrix is user-defined.
        Parameters:
        dmd - DoubleMatrixData; the data used to instantiate the matrix
        displayUnit - U; the display unit of the matrix
        Returns:
        V; a matrix of the correct type
      • instantiateVector

        public DirectionVector instantiateVector​(DoubleVectorData dvd,
                                                 DirectionUnit displayUnit)
        Instantiate a new vector of the class of this matrix. This can be used instead of the DoubleVector.instiantiate() methods in case another matrix of this class is known. The method is faster than DoubleVector.instantiate, and it will also work if the matrix and/or vector are user-defined.
        Parameters:
        dvd - DoubleVectorData; the data used to instantiate the vector
        displayUnit - U; the display unit of the vector
        Returns:
        V; a vector of the correct type
      • instantiateScalarSI

        public Direction instantiateScalarSI​(double valueSI,
                                             DirectionUnit displayUnit)
        Instantiate a new scalar for the class of this matrix. This can be used instead of the DoubleScalar.instiantiate() methods in case a matrix of this class is known. The method is faster than DoubleScalar.instantiate, and it will also work if the matrix and/or scalar are user-defined.
        Parameters:
        valueSI - double; the SI value of the scalar
        displayUnit - U; the unit in which the value will be displayed
        Returns:
        S; a scalar of the correct type, belonging to the matrix type
      • instantiateMatrixRel

        public AngleMatrix instantiateMatrixRel​(DoubleMatrixData dmd,
                                                AngleUnit displayUnit)
        Instantiate a new relative matrix of the class of this absolute matrix. This can be used instead of the DoubleMatrix.instiantiate() methods in case another matrix of this absolute matrix class is known. The method is faster than DoubleMatrix.instantiate, and it will also work if the matrix is user-defined.
        Specified by:
        instantiateMatrixRel in class AbstractDoubleMatrixAbs<DirectionUnit,​Direction,​DirectionVector,​DirectionMatrix,​AngleUnit,​Angle,​AngleVector,​AngleMatrix>
        Parameters:
        dmd - DoubleMatrixData; the data used to instantiate the matrix
        displayUnit - RU; the display unit of the relative matrix
        Returns:
        RM; a relative matrix of the correct type, belonging to this absolute matrix type
      • instantiateVectorRel

        public AngleVector instantiateVectorRel​(DoubleVectorData dvd,
                                                AngleUnit displayUnit)
        Instantiate a new relative vector of the class of this absolute matrix. This can be used instead of the DoubleVector.instiantiate() methods in case another matrix of this absolute matrix class is known. The method is faster than DoubleVector.instantiate, and it will also work if the matrix or vector is user-defined.
        Specified by:
        instantiateVectorRel in class AbstractDoubleMatrixAbs<DirectionUnit,​Direction,​DirectionVector,​DirectionMatrix,​AngleUnit,​Angle,​AngleVector,​AngleMatrix>
        Parameters:
        dvd - DoubleVectorData; the data used to instantiate the vector
        displayUnit - RU; the display unit of the relative vector
        Returns:
        RV; a relative vector of the correct type, belonging to this absolute matrix type
      • instantiateScalarRelSI

        public Angle instantiateScalarRelSI​(double valueSI,
                                            AngleUnit displayUnit)
        Instantiate a new relative scalar for the class of this absolute matrix. This can be used instead of the DoubleScalar.instiantiate() methods in case a matrix of this class is known. The method is faster than DoubleScalar.instantiate, and it will also work if the matrix and/or scalar are user-defined.
        Specified by:
        instantiateScalarRelSI in class AbstractDoubleMatrixAbs<DirectionUnit,​Direction,​DirectionVector,​DirectionMatrix,​AngleUnit,​Angle,​AngleVector,​AngleMatrix>
        Parameters:
        valueSI - double; the SI value of the relative scalar
        displayUnit - RU; the unit in which the relative value will be displayed
        Returns:
        R; a relative scalar of the correct type, belonging to this absolute matrix type