Interface BodyShape
-
- All Superinterfaces:
Serializable
- All Known Subinterfaces:
EarthShape
- All Known Implementing Classes:
Geoid
,OneAxisEllipsoid
,ReferenceEllipsoid
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.hipparchus.geometry.euclidean.threed.Line, org.hipparchus.geometry.euclidean.threed.Vector3D, org.orekit.frames.Frame, org.orekit.time.AbsoluteDate)
).- Author:
- Luc Maisonobe
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Frame
getBodyFrame()
Get body frame related to body shape.<T extends CalculusFieldElement<T>>
FieldGeodeticPoint<T>getIntersectionPoint(FieldLine<T> line, FieldVector3D<T> close, Frame frame, FieldAbsoluteDate<T> date)
Get the intersection point of a line with the surface of the body.GeodeticPoint
getIntersectionPoint(Line line, Vector3D close, Frame frame, AbsoluteDate date)
Get the intersection point of a line with the surface of the body.Vector3D
projectToGround(Vector3D point, AbsoluteDate date, Frame frame)
Project a point to the ground.TimeStampedPVCoordinates
projectToGround(TimeStampedPVCoordinates pv, Frame frame)
Project a moving point to the ground.<T extends CalculusFieldElement<T>>
FieldGeodeticPoint<T>transform(FieldVector3D<T> point, Frame frame, FieldAbsoluteDate<T> date)
Transform a Cartesian point to a surface-relative point.GeodeticPoint
transform(Vector3D point, Frame frame, AbsoluteDate date)
Transform a Cartesian point to a surface-relative point.<T extends CalculusFieldElement<T>>
FieldVector3D<T>transform(FieldGeodeticPoint<T> point)
Transform a surface-relative point to a Cartesian point.Vector3D
transform(GeodeticPoint point)
Transform a surface-relative point to a Cartesian 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)
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 selectionframe
- frame in which line is expresseddate
- date of the line in given frame- Returns:
- intersection point at altitude zero or null if the line does not intersect the surface
-
getIntersectionPoint
<T extends CalculusFieldElement<T>> FieldGeodeticPoint<T> getIntersectionPoint(FieldLine<T> line, FieldVector3D<T> close, Frame frame, FieldAbsoluteDate<T> date)
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.
- Type Parameters:
T
- type of the field elements- Parameters:
line
- test line (may intersect the body or not)close
- point used for intersections selectionframe
- frame in which line is expresseddate
- date of the line in given frame- Returns:
- intersection point at altitude zero or null if the line does not intersect the surface
- Since:
- 9.0
-
projectToGround
Vector3D projectToGround(Vector3D point, AbsoluteDate date, Frame frame)
Project a point to the ground.- Parameters:
point
- point to projectdate
- current dateframe
- frame in which moving point is expressed- Returns:
- ground point exactly at the local vertical of specified point, in the same frame as specified point
- Since:
- 7.0
- See Also:
projectToGround(TimeStampedPVCoordinates, Frame)
-
projectToGround
TimeStampedPVCoordinates projectToGround(TimeStampedPVCoordinates pv, Frame frame)
Project a moving point to the ground.- Parameters:
pv
- moving pointframe
- frame in which moving point is expressed- Returns:
- ground point exactly at the local vertical of specified point, in the same frame as specified point
- Since:
- 7.0
- See Also:
projectToGround(Vector3D, AbsoluteDate, Frame)
-
transform
GeodeticPoint transform(Vector3D point, Frame frame, AbsoluteDate date)
Transform a Cartesian point to a surface-relative point.- Parameters:
point
- Cartesian pointframe
- frame in which Cartesian point is expresseddate
- date of the computation (used for frames conversions)- Returns:
- point at the same location but as a surface-relative point
-
transform
<T extends CalculusFieldElement<T>> FieldGeodeticPoint<T> transform(FieldVector3D<T> point, Frame frame, FieldAbsoluteDate<T> date)
Transform a Cartesian point to a surface-relative point.- Type Parameters:
T
- type of the filed elements- Parameters:
point
- Cartesian pointframe
- frame in which Cartesian point is expresseddate
- date of the computation (used for frames conversions)- Returns:
- point at the same location but as a surface-relative point
- Since:
- 9.0
-
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
-
transform
<T extends CalculusFieldElement<T>> FieldVector3D<T> transform(FieldGeodeticPoint<T> point)
Transform a surface-relative point to a Cartesian point.- Type Parameters:
T
- type of the filed elements- Parameters:
point
- surface-relative point- Returns:
- point at the same location but as a Cartesian point
- Since:
- 9.0
-
-