WarpTwin
Documentation for WarpTwin models and classes.
Loading...
Searching...
No Matches
stateinit.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/*
17Orbit Utilities header file
18---------------------------
19This file contains orbit utilities for converting between "classical"
20keplerian orbital elements and xyz cartesian position and velocity.
21
22TODO: Protect edge cases in these files. Right now they only work for
23elliptical orbits
24
25The converters in this file are based on those found in Vallado's
26Fundamentals of Astrodynamics and Applications, fourth edition, Chapter
272.5. The test cases are drawn from that text as well.
28
29Author: Alex Reynolds
30*/
31#ifndef STATE_INIT_H
32#define STATE_INIT_H
33
35#include "frames/Frame.h"
36
37namespace warptwin {
38
45 int frameRelativeInit(Frame &target, Frame &reference,
46 const CartesianVector3 &pos_tgt_ref__ref, const CartesianVector3 &vel_tgt_ref__ref);
47
59 int orbitInit(Frame &target, Frame &planet, double mu, double a, double e, double i, double RAAN, double w, double f);
60
61}
62
63#endif
Frame class definition.
Definition Frame.h:96
#define CartesianVector3
Definition mathmacros.h:43
Class to propagate CR3BP dynamics in characteristic units.
Definition statistics.hpp:22
int orbitInit(Frame &target, Frame &planet, double mu, double a, double e, double i, double RAAN, double w, double f)
Function to initialize a body's position and velocity from an orbit.
Definition stateinit.cpp:44
int frameRelativeInit(Frame &target, Frame &reference, const CartesianVector3 &pos_tgt_ref__ref, const CartesianVector3 &vel_tgt_ref__ref)
Function to initialize frame target relative to freame reference inertially.
Definition stateinit.cpp:22