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
/*
17
Matrix math header file
18
-----------------------
19
This file defines basic functions for mathematical operations on
20
the matrix class
21
Rather than raising an error on fail cases (i.e. divide by zero),
22
the following libraries are designed to check for errors and return
23
corresponding codes.
24
25
Note: 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
34
Author: Alex Reynolds
35
*/
36
37
#ifndef SIX_DOF_DYNAMICS_ATTITUDEMATH_HPP
38
#define SIX_DOF_DYNAMICS_ATTITUDEMATH_HPP
39
40
#include "
core/Matrix.hpp
"
41
#include "
core/clockwerkerrors.h
"
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
49
namespace
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
69
CartesianVector<3>
operator*
(
const
DCM
&A,
const
CartesianVector<3>
&b);
72
CartesianVector<3>
operator*
(
const
Euler321
&a,
const
CartesianVector<3>
&b);
75
CartesianVector<3>
operator*
(
const
MRP
&a,
const
CartesianVector<3>
&b);
76
77
}
78
79
#endif
DCM.h
Euler321.h
MRP.h
Matrix.hpp
Quaternion.h
clockwerk::CartesianVector
Standard vector class derived from Matrix.
Definition
CartesianVector.hpp:39
clockwerk::DCM
Class defining a direction cosine matrix inherited from Matrix.
Definition
DCM.h:69
clockwerk::Euler321
Class defining a 3-2-1 Euler angle sequence.
Definition
Euler321.h:62
clockwerk::MRP
Modified Rodrigues Parameter class definiton.
Definition
MRP.h:65
clockwerkerrors.h
matrixmath.hpp
clockwerk
Definition
CircularBuffer.hpp:28
clockwerk::operator*
Matrix< R1, C2 > operator*(const Matrix< R1, C1R2 > &A, const Matrix< C1R2, C2 > &B)
Overload of matrix multiplication - Two matrices.
Definition
matrixmath.hpp:247
vectormath.hpp
warpos
clockwerk
src
dynamics
attitudemath.h
Generated by
1.16.1