org.orekit.bodies
Interface BodyShape

All Superinterfaces:
Serializable
All Known Subinterfaces:
GeometricBodyShape
All Known Implementing Classes:
ExtendedOneAxisEllipsoid, OneAxisEllipsoid, ProjectionEllipsoid

public interface BodyShape
extends Serializable

Interface representing the rigid surface shape of a natural body.

The shape is not provided as a single complete geometric model, but single points can be queried (getIntersectionPoint(org.apache.commons.math3.geometry.euclidean.threed.Line, org.apache.commons.math3.geometry.euclidean.threed.Vector3D, org.orekit.frames.Frame, org.orekit.time.AbsoluteDate)).

Author:
Luc Maisonobe

Method Summary
 Frame getBodyFrame()
          Get body frame related to body shape.
 GeodeticPoint getIntersectionPoint(Line line, Vector3D close, Frame frame, AbsoluteDate date)
          Get the intersection point of a line with the surface of the body.
 Vector3D transform(GeodeticPoint point)
          Transform a surface-relative point to a cartesian point.
 GeodeticPoint transform(Vector3D point, Frame frame, AbsoluteDate date)
          Transform a cartesian point to a surface-relative point.
 

Method Detail

getBodyFrame

Frame getBodyFrame()
Get body frame related to body shape.

Returns:
body frame related to body shape

getIntersectionPoint

GeodeticPoint getIntersectionPoint(Line line,
                                   Vector3D close,
                                   Frame frame,
                                   AbsoluteDate date)
                                   throws OrekitException
Get the intersection point of a line with the surface of the body.

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.

Parameters:
line - test line (may intersect the body or not)
close - point used for intersections selection
frame - frame in which line is expressed
date - date of the line in given frame
Returns:
intersection point at altitude zero or null if the line does not intersect the surface
Throws:
OrekitException - if line cannot be converted to body frame

transform

GeodeticPoint transform(Vector3D point,
                        Frame frame,
                        AbsoluteDate date)
                        throws OrekitException
Transform a cartesian point to a surface-relative point.

Parameters:
point - cartesian point
frame - frame in which cartesian point is expressed
date - date of the computation (used for frames conversions)
Returns:
point at the same location but as a surface-relative point
Throws:
OrekitException - if point cannot be converted to body frame

transform

Vector3D transform(GeodeticPoint point)
Transform a surface-relative point to a cartesian point.

Parameters:
point - surface-relative point
Returns:
point at the same location but as a cartesian point


Copyright © 2017 CNES. All Rights Reserved.