WarpTwin
Documentation for WarpTwin models and classes.
Loading...
Searching...
No Matches
frameutils.h
Go to the documentation of this file.
1/******************************************************************************
2* Copyright (c) ATTX INC 2025. All Rights Reserved.
3*
4* This software and associated documentation (the "Software") are the
5* proprietary and confidential information of ATTX INC. 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 INC.
15******************************************************************************/
16/*
17Frame Utils header file
18-----------------------
19The frame utils class is a class of utilities designed to
20work with frame objects.
21
22Author: Alex Reynolds
23*/
24
25#ifndef FRAMES_FRAME_UTILS_H
26#define FRAMES_FRAME_UTILS_H
27
30#include "Frame.h"
31
32namespace warptwin {
33
38 int getFrameRelativeDCM(Frame &f1, Frame &f2, clockwerk::DCM &dcm_f1_f2);
39
46 int frameRotate(const clockwerk::CartesianVector<3> &vec__f1,
47 Frame &f1,
48 Frame &f2,
49 clockwerk::CartesianVector<3> &vec__f2);
50
58 int framePositionTransform(const clockwerk::CartesianVector<3> &vec_f1__f1,
59 Frame &f1,
60 Frame &f2,
61 clockwerk::CartesianVector<3> &vec_f2__f2);
62
71 int frameVelocityTransform(const clockwerk::CartesianVector<3> &vel_f1__f1,
72 const clockwerk::CartesianVector<3> &pos_f1__f1,
73 Frame &f1,
74 Frame &f2,
75 clockwerk::CartesianVector<3> &vel_f2__f2);
76
81 clockwerk::DCM getCompositeRotation(clockwerk::DCM &dcm_f1_f2,
82 clockwerk::DCM &dcm_f2_f3);
83
88 clockwerk::Quaternion getCompositeRotationQuat(clockwerk::Quaternion &quat_f1_f2,
89 clockwerk::Quaternion &quat_f2_f3);
90}
91
92#endif
Frame class definition.
Definition Frame.h:96
Class to propagate CR3BP dynamics in characteristic units.
Definition statistics.hpp:22
int getFrameRelativeDCM(Frame &f1, Frame &f2, clockwerk::DCM &dcm_f1_f2)
A function to get the DCM represnting the relationship [f1/f2].
Definition frameutils.cpp:22
clockwerk::DCM getCompositeRotation(clockwerk::DCM &dcm_f1_f2, clockwerk::DCM &dcm_f2_f3)
A function to get the composite rotation generated by subsequent rotations.
Definition frameutils.cpp:109
clockwerk::Quaternion getCompositeRotationQuat(clockwerk::Quaternion &quat_f1_f2, clockwerk::Quaternion &quat_f2_f3)
A function to get the composite rotation generated by subsequent rotations.
Definition frameutils.cpp:114
int frameRotate(const CartesianVector< 3 > &vec__f1, Frame &f1, Frame &f2, CartesianVector< 3 > &vec__f2)
A function to rotate vector vec__f1 from frame f1 into frame f2.
Definition frameutils.cpp:39
int frameVelocityTransform(const CartesianVector< 3 > &vel_f1__f1, const CartesianVector< 3 > &pos_f1__f1, Frame &f1, Frame &f2, CartesianVector< 3 > &vel_f2__f2)
A function to transform a velocity vector represented in frame f1 to a vector represented in f2.
Definition frameutils.cpp:82
int framePositionTransform(const CartesianVector< 3 > &vec_f1__f1, Frame &f1, Frame &f2, CartesianVector< 3 > &vec_f2__f2)
A function to transform a position vector relative to the origin of f1 to a vector relative to the or...
Definition frameutils.cpp:65