public class AttitudeEndoints 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 |
---|
AttitudeEndoints() |
Modifier and Type | Method and Description |
---|---|
<T extends 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(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(AttitudeEndoints 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 void checkExternalFrame(Enum<?> aKey, Enum<?> bKey)
aKey
- key for frame AbKey
- key for frame Bpublic void checkMandatoryEntriesExceptExternalFrame(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
aKey
- 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(AttitudeEndoints 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 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-2021 CS GROUP. All rights reserved.