public class OneAxisEllipsoid extends AbstractEllipsoidBodyShape
This ellipsoid is fully defined by its equatorial radius, its flattening and its associated body frame.
AbstractEllipsoidBodyShape
,
Serialized FormBodyShape.MarginType
Modifier and Type | Field and Description |
---|---|
static String |
DEFAULT_ONE_AXIS_ELLIPSOID_NAME
Default ellipsoid name.
|
CLOSE_APPROACH_THRESHOLD, DEFAULT_LLH_COORD_SYSTEM, ellipsoid, maxIterSignalPropagation
DEFAULT_EPSILON_SIGNAL_PROPAGATION, distanceEpsilon, lLHCoordinatesSystem
DEFAULT_DISTANCE_EPSILON, DIRECTION_FACTOR
Constructor and Description |
---|
OneAxisEllipsoid(double ae,
double f,
CelestialBodyFrame bodyFrame)
Constructor for the one axis ellipsoid with default name.
|
OneAxisEllipsoid(double ae,
double f,
CelestialBodyFrame bodyFrame,
String name)
Constructor for the one axis ellipsoid.
|
Modifier and Type | Method and Description |
---|---|
Vector3D |
computePositionFromEllipsodeticCoordinates(double latitude,
double longitude,
double height)
Compute the position from the ellipsodetic coordinates in body frame.
|
double |
getConjugateRadius()
Deprecated.
since 4.13 as this method isn't relevant to this class description, use
getPolarRadius()
instead. |
double |
getE2()
Getter for the e2 (eccentricity e squared with
e = f * (2.0 - f) ). |
double |
getEncompassingSphereRadius()
Getter for the radius, in meters, of a sphere centered on the body frame origin and encompassing the shape.
|
double |
getEquatorialRadius()
Getter for the equatorial radius of the body.
|
double |
getFlattening()
Getter for the flattening.
|
double |
getG2()
Getter for the g2 (g squared with
g = 1.0 - f ). |
EllipsoidPoint |
getIntersectionPoint(Line line,
Vector3D close,
Frame frame,
AbsoluteDate date,
double altitude)
Getter for the intersection point of a line with the surface of the body for a given altitude.
|
double |
getPolarRadius()
Getter for the polar radius of the body.
|
double |
getTransverseRadius()
Deprecated.
since 4.13 as this method isn't relevant to this class description, use
getEquatorialRadius() instead. |
OneAxisEllipsoid |
resize(BodyShape.MarginType marginType,
double marginValue)
Resize the geometric body shape by a margin.
|
Vector3D |
transformAndComputeJacobian(EllipsoidPoint point,
double[][] jacobian)
Deprecated.
since 4.13, use
LLHCoordinatesSystem.jacobianToCartesian(BodyPoint) with
ELLIPSODETIC coordinates instead. |
EllipsoidPoint |
transformAndComputeJacobian(Vector3D point,
Frame frame,
AbsoluteDate date,
double[][] jacobian)
Deprecated.
since 4.13, use
LLHCoordinatesSystem.jacobianFromCartesian(BodyPoint) with
ELLIPSODETIC coordinates instead. |
buildPoint, buildPoint, buildPoint, closestPointTo, closestPointTo, closestPointTo, closestPointTo, closestPointTo, distanceTo, getApparentRadius, getARadius, getBRadius, getCRadius, getEllipsoid, getIntersectionPoint, getIntersectionPoint, getIntersectionPoints, getMaxIterSignalPropagation, isDefaultLLHCoordinatesSystem, isSpherical, setConvergenceThreshold, setMaxIterSignalPropagation
getBodyFrame, getDistanceEpsilon, getEpsilonSignalPropagation, getLLHCoordinatesSystem, getName, getNativeFrame, getPVCoordinates, setDistanceEpsilon, setEpsilonSignalPropagation, setLLHCoordinatesSystem
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
buildRadialPointOnShapeSurface, getBodyFrame, getDistanceEpsilon, getEpsilonSignalPropagation, getLLHCoordinatesSystem, getName, setDistanceEpsilon, setEpsilonSignalPropagation, setLLHCoordinatesSystem
getNativeFrame, getPVCoordinates
public static final String DEFAULT_ONE_AXIS_ELLIPSOID_NAME
public OneAxisEllipsoid(double ae, double f, CelestialBodyFrame bodyFrame)
ae
- Equatorial radiusf
- Flattening (f = (a-b)/a
)bodyFrame
- Body frame related to the ellipsoidpublic OneAxisEllipsoid(double ae, double f, CelestialBodyFrame bodyFrame, String name)
ae
- Equatorial radiusf
- Flattening (f = (a-b)/a
)bodyFrame
- Body frame related to the ellipsoidname
- Name of the ellipsoid@Deprecated public double getTransverseRadius()
getEquatorialRadius()
instead.@Deprecated public double getConjugateRadius()
getPolarRadius()
instead.public double getEquatorialRadius()
public double getPolarRadius()
public double getFlattening()
public double getE2()
e = f * (2.0 - f)
).public double getG2()
g = 1.0 - f
).public double getEncompassingSphereRadius()
getEncompassingSphereRadius
in interface BodyShape
getEncompassingSphereRadius
in class AbstractEllipsoidBodyShape
public EllipsoidPoint getIntersectionPoint(Line line, Vector3D close, Frame frame, AbsoluteDate date, double altitude) throws PatriusException
A line may have several intersection points with a closed surface (we consider the one point case as a degenerated two points case). The close parameter is used to select which of these points should be returned. The selected point is the one that is closest to the close point.
line
- test line (may intersect the body or not)close
- point used for intersections selection expressed in the body frameframe
- frame in which line is expresseddate
- date of the line in given framealtitude
- altitude of the intersectionPatriusException
- if line cannot be converted to body framepublic OneAxisEllipsoid resize(BodyShape.MarginType marginType, double marginValue)
marginType
- margin type to be usedmarginValue
- margin value to be used (in meters if the margin type is DISTANCE)public Vector3D computePositionFromEllipsodeticCoordinates(double latitude, double longitude, double height)
computePositionFromEllipsodeticCoordinates
in interface EllipsoidBodyShape
computePositionFromEllipsodeticCoordinates
in class AbstractEllipsoidBodyShape
latitude
- latitude coordinatelongitude
- longitude coordinateheight
- height coordinate (signed value)Vector3D
@Deprecated public Vector3D transformAndComputeJacobian(EllipsoidPoint point, double[][] jacobian)
LLHCoordinatesSystem.jacobianToCartesian(BodyPoint)
with
ELLIPSODETIC
coordinates instead.point
- geodetic pointjacobian
- the jacobian matrix which will be computed (input and output of the method)@Deprecated public EllipsoidPoint transformAndComputeJacobian(Vector3D point, Frame frame, AbsoluteDate date, double[][] jacobian) throws PatriusException
LLHCoordinatesSystem.jacobianFromCartesian(BodyPoint)
with
ELLIPSODETIC
coordinates instead.point
- cartesian pointframe
- frame in which cartesian point is expresseddate
- date of the point in given framejacobian
- the jacobian matrix which will be computed (input and output of the method)PatriusException
- if point cannot be converted to body frameCopyright © 2023 CNES. All rights reserved.