public class AttitudeEndpoints extends Object implements AttitudeBuilder
This class provides a bridge between two different views of attitude definition. In both views, there is an external frame, based on either celestial body or orbit-relative and there is a spacecraft body frame.
Orekit attitude
view: attitude is always from external to
spacecraft bodyModifier and Type | Field and Description |
---|---|
static String |
A2B
Constant for A → B diraction.
|
static String |
B2A
Constant for A ← B direction.
|
Constructor and Description |
---|
AttitudeEndpoints()
Empty constructor.
|
Modifier and Type | Method and Description |
---|---|
<T extends org.hipparchus.CalculusFieldElement<T>> |
build(Frame frame,
FieldPVCoordinatesProvider<T> pvProv,
TimeStampedFieldAngularCoordinates<T> rawAttitude)
Build a filtered attitude.
|
Attitude |
build(Frame frame,
PVCoordinatesProvider pvProv,
TimeStampedAngularCoordinates rawAttitude)
Build a filtered attitude.
|
void |
checkExternalFrame(Enum<?> aKey,
Enum<?> bKey)
Check external frame is properly initialized.
|
void |
checkMandatoryEntriesExceptExternalFrame(double version,
Enum<?> aKey,
Enum<?> bKey,
Enum<?> dirKey)
Check is mandatory entries except external frame have been initialized.
|
FrameFacade |
getExternalFrame()
Get the external frame.
|
FrameFacade |
getFrameA()
Get frame A.
|
FrameFacade |
getFrameB()
Get frame B.
|
FrameFacade |
getSpacecraftBodyFrame()
Get the spacecraft body frame.
|
boolean |
isA2b()
|
boolean |
isCompatibleWith(AttitudeEndpoints other)
Check if a endpoint is compatible with another one.
|
boolean |
isExternal2SpacecraftBody()
Check if attitude is from external frame to spacecraft body frame.
|
void |
setA2b(boolean a2b)
Set rotation direction.
|
void |
setFrameA(FrameFacade frameA)
Set frame A.
|
void |
setFrameB(FrameFacade frameB)
Set frame B.
|
String |
toString() |
public static final String A2B
public static final String B2A
public AttitudeEndpoints()
This constructor is not strictly necessary, but it prevents spurious javadoc warnings with JDK 18 and later.
public void checkExternalFrame(Enum<?> aKey, Enum<?> bKey)
aKey
- key for frame AbKey
- key for frame Bpublic void checkMandatoryEntriesExceptExternalFrame(double version, Enum<?> aKey, Enum<?> bKey, Enum<?> dirKey)
Either frame A or frame B must be initialized with a spacecraft body frame
.
This method should throw an exception if some mandatory entry is missing
version
- format versionaKey
- key for frame AbKey
- key for frame BdirKey
- key for directionpublic void setFrameA(FrameFacade frameA)
frameA
- frame Apublic FrameFacade getFrameA()
public void setFrameB(FrameFacade frameB)
frameB
- frame Bpublic FrameFacade getFrameB()
public void setA2b(boolean a2b)
public FrameFacade getExternalFrame()
public FrameFacade getSpacecraftBodyFrame()
public boolean isExternal2SpacecraftBody()
Mandatory entries
must have been initialized properly to non-null
values before this method is called, otherwise NullPointerException
will be thrown.
public boolean isCompatibleWith(AttitudeEndpoints other)
Endpoins are compatible if they refer o the same frame names, in the same order and in the same direction.
other
- other endpoints to check againstpublic Attitude build(Frame frame, PVCoordinatesProvider pvProv, TimeStampedAngularCoordinates rawAttitude)
build
in interface AttitudeBuilder
frame
- reference frame with respect to which attitude must be definedpvProv
- provider for spacecraft position and velocityrawAttitude
- raw rotation/rotation rate/rotation accelerationpublic <T extends org.hipparchus.CalculusFieldElement<T>> FieldAttitude<T> build(Frame frame, FieldPVCoordinatesProvider<T> pvProv, TimeStampedFieldAngularCoordinates<T> rawAttitude)
build
in interface AttitudeBuilder
T
- the type of the field elementsframe
- reference frame with respect to which attitude must be definedpvProv
- provider for spacecraft position and velocityrawAttitude
- raw rotation/rotation rate/rotation accelerationCopyright © 2002-2023 CS GROUP. All rights reserved.