Class Euler
- java.lang.Object
-
- org.orekit.files.ccsds.section.CommentsContainer
-
- org.orekit.files.ccsds.ndm.adm.apm.Euler
-
- All Implemented Interfaces:
Section
public class Euler extends CommentsContainer
Container forEuler rotationsentries.- Since:
- 10.2
- Author:
- Bryan Cazabonne
-
-
Constructor Summary
Constructors Constructor Description Euler()Simple constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AttitudeEndpointsgetEndpoints()Get the endpoints (i.e.RotationOrdergetEulerRotSeq()Get the rotation order of Euler angles.double[]getRotationAngles()Get the coordinates of the Euler angles.double[]getRotationRates()Get the rates of the Euler angles.booleanhasAngles()Check if the logical block includes angles.booleanhasRates()Check if the logical block includes rates.booleanisSpacecraftBodyRate()Check if rates are specified in spacecraft body frame.booleanrateFrameIsA()Check if rates are specified inframe A.voidsetEulerRotSeq(RotationOrder eulerRotSeq)Set the rotation order for Euler angles.voidsetIndexedRotationAngle(int axis, double angle)Set the Euler angle about axis.voidsetIndexedRotationRate(int axis, double rate)Set the rate of Euler angle about axis.voidsetInRotationAngles(boolean inRotationAngles)Set flag for rotation angle parsing.voidsetLabeledRotationAngle(char axis, double angle)Set the Euler angle about axis.voidsetLabeledRotationRate(char axis, double rate)Set the rate of Euler angle about axis.voidsetRateFrameIsA(boolean rateFrameIsA)Set the frame in which rates are specified.voidvalidate(double version)Check is all mandatory entries have been initialized.-
Methods inherited from class org.orekit.files.ccsds.section.CommentsContainer
acceptComments, addComment, checkAllowed, checkNotNaN, checkNotNegative, checkNotNull, getComments, refuseFurtherComments, setComments
-
-
-
-
Method Detail
-
validate
public void validate(double version)
Check is all mandatory entries have been initialized.This method should throw an exception if some mandatory entries are missing or not compatible with version number.
- Specified by:
validatein interfaceSection- Overrides:
validatein classCommentsContainer- Parameters:
version- format version
-
getEndpoints
public AttitudeEndpoints getEndpoints()
Get the endpoints (i.e. frames A, B and their relationship).- Returns:
- endpoints
-
getEulerRotSeq
public RotationOrder getEulerRotSeq()
Get the rotation order of Euler angles.- Returns:
- rotation order
-
setEulerRotSeq
public void setEulerRotSeq(RotationOrder eulerRotSeq)
Set the rotation order for Euler angles.- Parameters:
eulerRotSeq- order to be set
-
rateFrameIsA
public boolean rateFrameIsA()
Check if rates are specified inframe A.- Returns:
- true if rates are specified in
frame A
-
setRateFrameIsA
public void setRateFrameIsA(boolean rateFrameIsA)
Set the frame in which rates are specified.- Parameters:
rateFrameIsA- if true, rates are specified inframe A
-
isSpacecraftBodyRate
public boolean isSpacecraftBodyRate()
Check if rates are specified in spacecraft body frame.Mandatory entriesmust have been initialized properly to non-null values before this method is called, otherwiseNullPointerExceptionwill be thrown.- Returns:
- true if rates are specified in spacecraft body frame
-
getRotationAngles
public double[] getRotationAngles()
Get the coordinates of the Euler angles.- Returns:
- rotation angles (rad)
-
setLabeledRotationAngle
public void setLabeledRotationAngle(char axis, double angle)Set the Euler angle about axis.- Parameters:
axis- rotation axisangle- angle to set (rad)
-
setIndexedRotationAngle
public void setIndexedRotationAngle(int axis, double angle)Set the Euler angle about axis.- Parameters:
axis- rotation axisangle- angle to set (rad)- Since:
- 12.0
-
getRotationRates
public double[] getRotationRates()
Get the rates of the Euler angles.- Returns:
- rotation rates (rad/s)
-
setLabeledRotationRate
public void setLabeledRotationRate(char axis, double rate)Set the rate of Euler angle about axis.- Parameters:
axis- rotation axisrate- angle rate to set (rad/s)
-
setIndexedRotationRate
public void setIndexedRotationRate(int axis, double rate)Set the rate of Euler angle about axis.- Parameters:
axis- rotation axisrate- angle rate to set (rad/s)- Since:
- 12.0
-
setInRotationAngles
public void setInRotationAngles(boolean inRotationAngles)
Set flag for rotation angle parsing.- Parameters:
inRotationAngles- if true, we are in the rotationAngles part of XML files
-
hasAngles
public boolean hasAngles()
Check if the logical block includes angles.This can be false only for ADM V1, as angles are mandatory since ADM V2.
- Returns:
- true if logical block includes angles
- Since:
- 12.0
-
hasRates
public boolean hasRates()
Check if the logical block includes rates.- Returns:
- true if logical block includes rates
-
-