WarpTwin
Documentation for WarpTwin models and classes.
Loading...
Searching...
No Matches
Euler321.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/*
17Euler Angle 321 set header file
18
19Author: Alex Reynolds
20*/
21#ifndef SIX_DOF_DYNAMICS_EULER321_HPP
22#define SIX_DOF_DYNAMICS_EULER321_HPP
23
24#include <cmath>
25
26#include "core/Matrix.hpp"
28#include "core/safemath.h"
29#include "core/matrixmath.hpp"
30
31#include "DCM.h"
32
33namespace clockwerk {
34
62 class Euler321 : public CartesianVector<3> {
63 public:
65 Euler321();
66
69 Euler321(const floating_point(&initial)[3]);
70
73 Euler321(const Euler321 &initial);
74
77 Euler321(const std::array<floating_point, 3> &initial);
78
82
93 int16 rate(const CartesianVector<3> &omega_f1_f2__f1, Matrix<3, 1> &eulerdot_f1_f2) const;
94
101 void toDCM(DCM &dcm_f1_f2) const;
102 DCM toDCM() const;
103 };
104
105}
106
107#endif
Standard vector class derived from Matrix.
Definition CartesianVector.hpp:39
CartesianVector()
Definition CartesianVector.hpp:45
Class defining a direction cosine matrix inherited from Matrix.
Definition DCM.h:69
int16 rate(const CartesianVector< 3 > &omega_f1_f2__f1, Matrix< 3, 1 > &eulerdot_f1_f2) const
Function to calculate the rate of change in the current representation based on the omega vector.
Definition Euler321.cpp:35
DCM toDCM() const
Definition Euler321.cpp:60
Euler321()
Default constructor generates Euler 321 sequence as all zeroes.
Definition Euler321.cpp:23
~Euler321()
Definition Euler321.h:81
Matrix math implementation.
Definition Matrix.hpp:55
Definition CircularBuffer.hpp:28