agi.foundation.celestial
(agi.foundation.models-2024r1.jar)

## Class CentralBodyIntersection

• public final class CentralBodyIntersection
extends Object
A utility for checking for orbit intersection with a planet given two-body dynamics.
• ### Method Summary

All Methods
Modifier and Type Method and Description
static boolean doesIntersect(Cartesian positionOne, Cartesian velocityOne, Cartesian positionTwo, Cartesian velocityTwo, int numberOfRevs, double geocentricRadiusOfIntersection, double gravitationalParameter)
Determines if an orbit will intersect the planet specified by the corresponding gravitational parameter and geocentric radius of intersection.
static boolean doesIntersect(Motion1<Cartesian> motionOne, Motion1<Cartesian> motionTwo, int numberOfRevs, double geocentricRadiusOfIntersection, double gravitationalParameter)
Determines if an orbit will intersect the planet specified by the corresponding gravitational parameter and geocentric radius of intersection.
• ### Method Detail

• #### doesIntersect

public static boolean doesIntersect(@Nonnull
Motion1<Cartesian> motionOne,
@Nonnull
Motion1<Cartesian> motionTwo,
int numberOfRevs,
double geocentricRadiusOfIntersection,
double gravitationalParameter)
Determines if an orbit will intersect the planet specified by the corresponding gravitational parameter and geocentric radius of intersection.

Intersection is checked for the portion of the orbit between the first and second input positions. If multiple revolutions are input then the closest point on the orbit determines if the orbit intersects the planet.

The first velocity and position determines the orbit/transfer orbit. Input should be in the inertial frame of the planet in question.

Note that there is no effort made by this method to check the validity of the input.

Parameters:
motionOne - The first inertial motion.
motionTwo - The second inertial motion.
numberOfRevs - Number of revolutions in the orbit.
geocentricRadiusOfIntersection - The geocentric radius of intersection. For example, planetary semimajor axis plus 100 km.
gravitationalParameter - The gravitational parameter of the planet.
Returns:
true if the orbit falls below geocentricRadiusOfIntersection between the two positions on the orbit, false otherwise.
• #### doesIntersect

public static boolean doesIntersect(@Nonnull
Cartesian positionOne,
@Nonnull
Cartesian velocityOne,
@Nonnull
Cartesian positionTwo,
@Nonnull
Cartesian velocityTwo,
int numberOfRevs,
double geocentricRadiusOfIntersection,
double gravitationalParameter)
Determines if an orbit will intersect the planet specified by the corresponding gravitational parameter and geocentric radius of intersection.

Intersection is checked for the portion of the orbit between the first and second input positions. If multiple revolutions are input then the closest point on the orbit determines if the orbit intersects the planet.

The first velocity and position determines the orbit/transfer orbit. Input should be in the inertial frame of the planet in question.

Note that there is no effort made by this method to check the validity of the input.

Parameters:
positionOne - The first inertial position.
velocityOne - The first inertial velocity.
positionTwo - The second inertial position.
velocityTwo - The second inertial velocity.
numberOfRevs - Number of revolutions in the orbit.
geocentricRadiusOfIntersection - The geocentric radius of intersection. For example, planetary semimajor axis plus 100 km.
gravitationalParameter - The gravitational parameter of the planet.
Returns:
true if the orbit falls below geocentricRadiusOfIntersection between the two positions on the orbit, false otherwise.