WarpTwin
Documentation for WarpTwin models and classes.
Loading...
Searching...
No Matches
attitudemath.h
Go to the documentation of this file.
1/******************************************************************************
2* Copyright (c) ATTX LLC 2024. All Rights Reserved.
3*
4* This software and associated documentation (the "Software") are the
5* proprietary and confidential information of ATTX, LLC. The Software is
6* furnished under a license agreement between ATTX and the user organization
7* and may be used or copied only in accordance with the terms of the agreement.
8* Refer to 'license/attx_license.adoc' for standard license terms.
9*
10* EXPORT CONTROL NOTICE: THIS SOFTWARE MAY INCLUDE CONTENT CONTROLLED UNDER THE
11* INTERNATIONAL TRAFFIC IN ARMS REGULATIONS (ITAR) OR THE EXPORT ADMINISTRATION
12* REGULATIONS (EAR99). No part of the Software may be used, reproduced, or
13* transmitted in any form or by any means, for any purpose, without the express
14* written permission of ATTX, LLC.
15******************************************************************************/
16/*
17Matrix math header file
18-----------------------
19This file defines basic functions for mathematical operations on
20the matrix class
21Rather than raising an error on fail cases (i.e. divide by zero),
22the following libraries are designed to check for errors and return
23corresponding codes.
24
25Note: The naming convention observed for matrix math is as follows:
26- Capital letters represent matrices
27- Lowercase letters represent scalars
28- All vectors are 1-dimensional matrices for the purpose of math
29- Pass by reference return values are all named "result"
30- The letter used in math indicates the order of operations - A/a
31 comes first, then B/b. A/a or B/b always represent the "other"
32 value in an operation
33
34Author: Alex Reynolds
35*/
36
37#ifndef SIX_DOF_DYNAMICS_ATTITUDEMATH_HPP
38#define SIX_DOF_DYNAMICS_ATTITUDEMATH_HPP
39
40#include "core/Matrix.hpp"
42#include "core/matrixmath.hpp"
43#include "core/vectormath.hpp"
44#include "DCM.h"
45#include "Quaternion.h"
46#include "Euler321.h"
47#include "MRP.h"
48
49namespace clockwerk {
50
57 DCM operator*(const DCM &A, const DCM &B);
61 Euler321 operator*(const Euler321 &a, const Euler321 &b);
65 MRP operator*(const MRP &a, const MRP &b);
66
76
77}
78
79#endif
Standard vector class derived from Matrix.
Definition CartesianVector.hpp:39
Class defining a direction cosine matrix inherited from Matrix.
Definition DCM.h:69
Class defining a 3-2-1 Euler angle sequence.
Definition Euler321.h:62
Modified Rodrigues Parameter class definiton.
Definition MRP.h:65
Definition CircularBuffer.hpp:28
Matrix< R1, C2 > operator*(const Matrix< R1, C1R2 > &A, const Matrix< C1R2, C2 > &B)
Overload of matrix multiplication - Two matrices.
Definition matrixmath.hpp:247