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 rotations
entries.- 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 AttitudeEndpoints
getEndpoints()
Get the endpoints (i.e.RotationOrder
getEulerRotSeq()
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.boolean
hasAngles()
Check if the logical block includes angles.boolean
hasRates()
Check if the logical block includes rates.boolean
isSpacecraftBodyRate()
Check if rates are specified in spacecraft body frame.boolean
rateFrameIsA()
Check if rates are specified inframe A
.void
setEulerRotSeq(RotationOrder eulerRotSeq)
Set the rotation order for Euler angles.void
setIndexedRotationAngle(int axis, double angle)
Set the Euler angle about axis.void
setIndexedRotationRate(int axis, double rate)
Set the rate of Euler angle about axis.void
setInRotationAngles(boolean inRotationAngles)
Set flag for rotation angle parsing.void
setLabeledRotationAngle(char axis, double angle)
Set the Euler angle about axis.void
setLabeledRotationRate(char axis, double rate)
Set the rate of Euler angle about axis.void
setRateFrameIsA(boolean rateFrameIsA)
Set the frame in which rates are specified.void
validate(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
-
-
-
-
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:
validate
in interfaceSection
- Overrides:
validate
in 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 entries
must have been initialized properly to non-null values before this method is called, otherwiseNullPointerException
will 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
-
-