public interface BodyPoint extends PVCoordinatesProvider
Instance of this class are guaranteed to be immutable.
Modifier and Type | Interface and Description |
---|---|
static class |
BodyPoint.BodyPointName
Class allowing to manage the default body point names.
|
Modifier and Type | Method and Description |
---|---|
default double |
angularSeparation(BodyPoint otherPoint)
Compute the angular separation, in radians, between the position of this and this of provided point, from the
body frame origin.
|
default double |
distance(BodyPoint otherPoint)
Compute the cartesian distance, in meters, between the position of this and this of provided point.
|
BodyShape |
getBodyShape()
Get the
BodyShape associated to this body point. |
BodyPoint |
getClosestPointOnShape()
Returns the closest point to this on the shape surface.
|
default LLHCoordinates |
getLLHCoordinates()
Returns (after computation if not computed yet) the latitude/longitude/height coordinates of this in the
associated body shape preferred coordinates system.
|
LLHCoordinates |
getLLHCoordinates(LLHCoordinatesSystem coordSystem)
Returns (after computation if not computed yet) the latitude/longitude/height coordinates of this in the
requested coordinates system.
|
String |
getName()
Getter for the name of the point.
|
default Frame |
getNativeFrame(AbsoluteDate date)
Get the native frame, i.e.
|
Vector3D |
getNormal()
Get the normal direction, expressed in body frame, to the local horizontal plane at the point position, oriented
towards the outside.
It corresponds to the direction (apart from orientation) from this towards the closestPointOnShape. |
default Vector3D |
getNormal(AbsoluteDate date,
Frame frame)
Returns the normal direction expressed in the provided frame.
|
double |
getNormalHeight()
Returns the normal height, computed as the signed distance between the closestPointOnShape and this:
Positive distance if this is outside the shape,
Negative distance if this is inside the shape,
Null distance if this is on the shape.
|
Vector3D |
getPosition()
Get the point cartesian position expressed in body frame.
|
default PVCoordinates |
getPVCoordinates(AbsoluteDate date,
Frame frame)
Get the
PVCoordinates of the body in the selected frame. |
BodyPoint |
getRadialProjectionOnShape()
Returns the body point, on the associated shape surface, in the radial direction corresponding to the position of
this: if several of them (may happen for not star-convex shapes), the method considers the one farthest to the
body frame origin (having the largest norm).
Warnings: the returned point is not necessary the closest point belonging to the shape in the radial direction. |
default boolean |
isInsideShape()
Returns true if the point is located inside the shape, false otherwise.
|
default boolean |
isOnShapeSurface()
Returns true if point is on body shape surface (i.e.
|
String |
toString(LLHCoordinatesSystem coordSystem)
Getter for a string representing the object using the entered coordinates system.
Note: the method may induce some computation if the coordinates have not been computed yet. |
BodyShape getBodyShape()
BodyShape
associated to this body point.BodyShape
associated to this body pointString getName()
Vector3D getPosition()
Vector3D getNormal()
double getNormalHeight()
BodyPoint getClosestPointOnShape()
BodyPoint getRadialProjectionOnShape()
default boolean isInsideShape()
true
if the point is located inside or on the shape, false
otherwisedefault boolean isOnShapeSurface()
true
if point is on body shape surface, {@code false otherwisedefault LLHCoordinates getLLHCoordinates()
LLHCoordinates
LLHCoordinates getLLHCoordinates(LLHCoordinatesSystem coordSystem)
coordSystem
- requested coordinates systemLLHCoordinates
IllegalArgumentException
- if LLHCoordinatesSystem.ELLIPSODETIC
with a not ellipsoidal body shapedefault double distance(BodyPoint otherPoint)
otherPoint
- other body pointdefault double angularSeparation(BodyPoint otherPoint)
otherPoint
- other body pointdefault PVCoordinates getPVCoordinates(AbsoluteDate date, Frame frame) throws PatriusException
PVCoordinates
of the body in the selected frame.getPVCoordinates
in interface PVCoordinatesProvider
date
- current dateframe
- the frame where to define the positionPatriusException
- if position cannot be computed in given framedefault Frame getNativeFrame(AbsoluteDate date) throws PatriusException
getNativeFrame
in interface PVCoordinatesProvider
date
- a datePatriusException
- thrown if native frame is undefined or unknowndefault Vector3D getNormal(AbsoluteDate date, Frame frame) throws PatriusException
date
- dateframe
- frame in which the normal direction must be expressedPatriusException
- if frame transformation cannot be computedString toString(LLHCoordinatesSystem coordSystem)
coordSystem
- coordinates system to be usedCopyright © 2023 CNES. All rights reserved.