WarpTwin
Documentation for WarpTwin models and classes.
Loading...
Searching...
No Matches
planetrelutils.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/*
17Planet relative state Utils header file
18---------------------------------------
19The planet relative state utilities header file contains
20utiltities for converting between planet-based spherical
21coordinates and planet-centered rotating frame coordinates.
22
23Author: Alex Reynolds
24
25Update Log
26----------
27May 9, 2024, Gabriel A. Heredia Acevedo
28Jun 16, 2025, James Tabony - added llaDeticToPCR
29
30Update tools to support planet (celestial) relative states model
31*/
32
33#ifndef PLANET_RELATIVE_STATE_UTILS_HPP
34#define PLANET_RELATIVE_STATE_UTILS_HPP
35
36#include <vector>
37
39
40namespace warptwin {
41
50 std::vector<std::vector<double>> pcr2lla(const std::vector<double> &pcr_x,
51 const std::vector<double> &pcr_y,
52 const std::vector<double> &pcr_z,
53 double a=6378137.0,
54 double flattening=(1.0/298.257223563));
55
63 int heikkinenLla(const CartesianVector3 &pos__pcr, double r_planet_equatorial,
64 double flattening, double& lat_rad, double& lon_rad, double& alt);
65}
66
67#endif
#define CartesianVector3
Definition mathmacros.h:43
Class to propagate CR3BP dynamics in characteristic units.
Definition statistics.hpp:22
std::vector< std::vector< double > > pcr2lla(const std::vector< double > &pcr_x, const std::vector< double > &pcr_y, const std::vector< double > &pcr_z, double a, double flattening)
Wrapper around pcrDeticToLLA for bulk conversion of x, y, z coordinates.
Definition planetrelutils.cpp:20
int heikkinenLla(const clockwerk::CartesianVector< 3 > &pos__pcr, double r_planet_equatorial, double flattening, double &lat_rad, double &lon_rad, double &alt)
Function to calculate detic LLA from PCR state using the Heikkinen algorithm.
Definition planetrelutils.cpp:46