ootk
Version:
Orbital Object Toolkit including Multiple Propagators, Initial Orbit Determination, and Maneuver Calculations.
60 lines (59 loc) • 2.56 kB
TypeScript
/**
* @author @thkruz Theodore Kruczek
* @license AGPL-3.0-or-later
* @copyright (c) 2025 Kruczek Labs LLC
*
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
* terms of the GNU Affero General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later version.
*
* Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License along with
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
*/
import { EpochUTC, J2000, Kilometers, Vector3D } from '../main.js';
export declare class LambertIOD {
mu: number;
constructor(mu?: number);
/**
* Try to guess the short path argument given an [interceptor] and
* [target] state.
* @param interceptor Interceptor
* @param target Target
* @returns True if the short path should be used, false otherwise.
*/
static useShortPath(interceptor: J2000, target: J2000): boolean;
private static timeOfFlight_;
/**
* Attempt to solve output velocity [v1] _(km/s)_ given radii [r1] and
* [r2] _(canonical)_, sweep angle [dth] _(rad)_, time of flight [tau]
* _(canonical)_, and number of revolutions _(mRev)_.
* @param r1 Radius 1
* @param r2 Radius 2
* @param dth Sweep angle
* @param tau Time of flight
* @param mRev Number of revolutions
* @param v1 Output velocity
* @returns True if successful, false otherwise.
*/
static solve(r1: number, r2: number, dth: number, tau: number, mRev: number, v1: Float64Array): boolean;
/**
* Estimate a state vector for inertial position [p1] _(km)_ given the
* two epoch and positions.
* @param p1 Position vector 1
* @param p2 Position vector 2
* @param t1 Epoch 1
* @param t2 Epoch 2
* @param root0 Optional parameters
* @param root0.posigrade If true, use the positive root (default: true)
* @param root0.nRev Number of revolutions (default: 0)
* @returns A [J2000] object with the estimated state vector.
*/
estimate(p1: Vector3D<Kilometers>, p2: Vector3D<Kilometers>, t1: EpochUTC, t2: EpochUTC, { posigrade, nRev }?: {
posigrade?: boolean;
nRev?: number;
}): J2000 | null;
}