public abstract class AbstractBodyPoint extends Object implements BodyPoint
Instance of this class are guaranteed to be immutable.
BodyPoint,
Serialized FormBodyPoint.BodyPointName| Modifier | Constructor and Description |
|---|---|
protected |
AbstractBodyPoint(BodyShape bodyShape,
LLHCoordinates coordIn,
String name)
Constructor from lat/long/height coordinates.
|
protected |
AbstractBodyPoint(BodyShape bodyShape,
Vector3D position,
boolean onShapeSurface,
String name)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
protected abstract Vector3D |
computeNormal()
Method to compute normal direction in body frame, to be implemented in each specific child class of
AbstractBodyPoint. |
protected static double |
computePositionHeightCoordinateSignum(Vector3D position,
BodyPoint closestPointOnShape)
Return the expected signum for the position height coordinate.
|
BodyShape |
getBodyShape()
Get the
BodyShape associated to this body point. |
BodyPoint |
getClosestPointOnShape()
Returns the closest point to this on the shape surface.
|
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.
|
Vector3D |
getNormal()
Get the normal direction, expressed in body frame, to the local horizontal plane at the point position, oriented
towards the outside.
|
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.
|
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).
|
protected void |
setClosestPointOnShape(BodyPoint closestOnShape)
Setter for the entered body point as closest point on shape.
|
String |
toString()
Note: the method may induce some computation if the coordinates have not been computed yet in the
associated body shape preferred coordinates system.
|
String |
toString(LLHCoordinatesSystem coordSystem)
Getter for a string representing the object using the entered coordinates system.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitangularSeparation, distance, getLLHCoordinates, getNativeFrame, getNormal, getPVCoordinates, isInsideShape, isOnShapeSurfaceprotected AbstractBodyPoint(BodyShape bodyShape, LLHCoordinates coordIn, String name)
bodyShape - body shape on which the point is defined, expected ellipsoidal if the
LLHCoordinatesSystem.ELLIPSODETIC
system is usedcoordIn - lat/long/height coordinates associated with the coordinates system in which they are expressedname - name of the pointIllegalArgumentException - if the input coordinates use the LLHCoordinatesSystem.ELLIPSODETIC system and bodyShape is not an
ellipsoidprotected AbstractBodyPoint(BodyShape bodyShape, Vector3D position, boolean onShapeSurface, String name)
bodyShape - body shape on which the point is definedposition - position expressed in the body frameonShapeSurface - flag stating if the point is known to be on the shape or not: if true, both closestPointOnShape and
radialPointOnShape attribute are set equal to this, and normalHeight is set to 0name - name of the pointpublic BodyShape getBodyShape()
BodyShape associated to this body point.getBodyShape in interface BodyPointBodyShape associated to this body pointpublic final String getName()
public final Vector3D getPosition()
getPosition in interface BodyPointIllegalArgumentException - if input coordinates use the LLHCoordinatesSystem.ELLIPSODETIC system and the body is not an
ellipsoidpublic final Vector3D getNormal()
protected abstract Vector3D computeNormal()
AbstractBodyPoint.
Associated getter getNormal() is implemented in this class in order to handle lazy initialization of
this attribute. getNormal()).public final double getNormalHeight()
getNormalHeight in interface BodyPointpublic BodyPoint getClosestPointOnShape()
getClosestPointOnShape in interface BodyPointprotected void setClosestPointOnShape(BodyPoint closestOnShape)
closestOnShape - body point to be setpublic BodyPoint getRadialProjectionOnShape()
getRadialProjectionOnShape in interface BodyPointpublic final LLHCoordinates getLLHCoordinates(LLHCoordinatesSystem coordSystem)
Also sets the normal height if the requested coordinates system has the
LLHCoordinatesSystem.BODYCENTRIC_NORMAL system.
getLLHCoordinates in interface BodyPointcoordSystem - requested coordinates systemLLHCoordinatesIllegalArgumentException - if LLHCoordinatesSystem.ELLIPSODETIC with a not ellipsoidal body shapeprotected static final double computePositionHeightCoordinateSignum(Vector3D position, BodyPoint closestPointOnShape)
position - The point cartesian position expressed in body frameclosestPointOnShape - The closest point to this on the shape surfacepublic String toString()
public String toString(LLHCoordinatesSystem coordSystem)
Copyright © 2025 CNES. All rights reserved.