ootk
Version:
Orbital Object Toolkit including Multiple Propagators, Initial Orbit Determination, and Maneuver Calculations.
74 lines (73 loc) • 3.2 kB
TypeScript
/**
* @author Theodore Kruczek.
* @license AGPL-3.0-or-later
* @copyright (c) 2022-2024 Theodore Kruczek Permission is
* hereby granted, free of charge, to any person obtaining a copy of this
* software and associated documentation files (the "Software"), to deal in the
* Software without restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do
* so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
import { Degrees, Radians, RfSensorParams } from '../main.js';
import { DetailedSensor } from './DetailedSensor.js';
export declare class RfSensor extends DetailedSensor {
boresightAz: Degrees[];
boresightEl: Degrees[];
faces: number;
beamwidth: Degrees;
constructor(info: RfSensorParams);
/**
* Converts azimuth and elevation angles to unit vector coordinates.
* @param az - The azimuth angle in degrees.
* @param el - The elevation angle in degrees.
* @param face - The face number (optional).
* @returns The unit vector coordinates.
*/
uvFromAzEl(az: Degrees, el: Degrees, face?: number): {
u: number;
v: number;
};
/**
* Converts the given UV coordinates to azimuth and elevation angles.
* @param u - The U coordinate.
* @param v - The V coordinate.
* @param face - The face number for multi-faced sensors. (optional)
* @returns An object containing the azimuth and elevation angles in degrees.
* @throws Error if face number is not specified for multi-faced sensors.
*/
azElFromUV(u: number, v: number, face?: number): {
az: Degrees;
el: Degrees;
};
/**
* Converts the boresight azimuth angle to radians.
* @param face - The face number for multi-faced sensors. (Optional)
* @returns The boresight azimuth angle in radians.
* @throws An error if the face number is not specified for multi-faced sensors.
*/
boresightAzRad(face?: number): Radians;
/**
* Converts the boresight elevation angle of the sensor to radians.
* @param face - The face number of the sensor (optional for single-faced sensors).
* @returns The boresight elevation angle in radians.
* @throws Error if the face number is not specified for multi-faced sensors.
*/
boresightElRad(face?: number): Radians;
/**
* Gets the beamwidth in radians.
* @returns The beamwidth in radians.
*/
get beamwidthRad(): Radians;
}