|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.orekit.attitudes.AbstractAttitudeLaw org.orekit.attitudes.LofOffset
public class LofOffset
Attitude law defined by fixed Roll, Pitch and Yaw angles (in any order) with respect to a local orbital frame.
The attitude provider is defined as a rotation offset from some local orbital frame.
Constructor Summary | |
---|---|
LofOffset(Frame inertialFrame,
LOFType type)
Create a LOF-aligned attitude. |
|
LofOffset(Frame pInertialFrame,
LOFType type,
RotationOrder order,
double alpha1,
double alpha2,
double alpha3)
Creates new instance. |
|
LofOffset(LOFType type)
Create a LOF-aligned attitude. |
|
LofOffset(LOFType type,
RotationOrder order,
double alpha1,
double alpha2,
double alpha3)
Creates new instance. |
Method Summary | |
---|---|
Attitude |
getAttitude(PVCoordinatesProvider pvProv,
AbsoluteDate date,
Frame frame)
Compute the attitude corresponding to an orbital state. |
Methods inherited from class org.orekit.attitudes.AbstractAttitudeLaw |
---|
getAttitude, getSpinDerivativesComputation, setSpinDerivativesComputation |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public LofOffset(LOFType type)
Calling this constructor is equivalent to call
LofOffset(FramesFactory.getGCRF(), LOFType, RotationOrder.XYZ, 0, 0, 0)
.
The GCRF frame is used as pivot in the transformation from an actual frame to the local orbital frame.
type
- type of Local Orbital Framepublic LofOffset(Frame inertialFrame, LOFType type) throws OrekitException
Calling this constructor is equivalent to call
LofOffset(inertialFrame, LOFType, RotationOrder.XYZ, 0, 0, 0)
inertialFrame
- inertial frame with respect to which orbit should be computed. This frame is the pivot
in the transformation from an actual frame to the local orbital frame.type
- type of Local Orbital Frame
OrekitException
- if inertialFrame is not a pseudo-inertial framepublic LofOffset(Frame pInertialFrame, LOFType type, RotationOrder order, double alpha1, double alpha2, double alpha3) throws OrekitException
An important thing to note is that the rotation order and angles signs used here are compliant with an
attitude definition, i.e. they correspond to a frame that rotate in a field of fixed vectors. The
underlying definitions used in commons-math
Rotation(RotationOrder, double, double, double)
use reversed definition, i.e. they correspond to a
vectors field rotating with respect to a fixed frame. So to retrieve the angles provided here from the
commons-math underlying rotation, one has to revert the rotation, as in the following code snippet:
LofOffset law = new LofOffset(inertial, lofType, order, alpha1, alpha2, alpha3); Rotation offsetAtt = law.getAttitude(orbit).getRotation(); Rotation alignedAtt = new LofOffset(inertial, lofType).getAttitude(orbit).getRotation(); Rotation offsetProper = offsetAtt.applyTo(alignedAtt.revert()); // note the call to revert in the following statement double[] angles = offsetProper.revert().getAngles(order); System.out.println(alpha1 + " == " + angles[0]); System.out.println(alpha2 + " == " + angles[1]); System.out.println(alpha3 + " == " + angles[2]);
pInertialFrame
- inertial frame with respect to which orbit should be computed. This frame is the pivot
in the transformation from the actual frame to the local orbital frame.type
- type of Local Orbital Frameorder
- order of rotations to use for (alpha1, alpha2, alpha3) compositionalpha1
- angle of the first elementary rotationalpha2
- angle of the second elementary rotationalpha3
- angle of the third elementary rotation
OrekitException
- if inertialFrame is not a pseudo-inertial framepublic LofOffset(LOFType type, RotationOrder order, double alpha1, double alpha2, double alpha3)
The GCRF frame is used as pivot in the transformation from an actual frame to the local orbital frame.
An important thing to note is that the rotation order and angles signs used here are compliant with an
attitude definition, i.e. they correspond to a frame that rotate in a field of fixed vectors. The
underlying definitions used in commons-math
Rotation(RotationOrder, double, double, double)
use reversed definition, i.e. they correspond to a
vectors field rotating with respect to a fixed frame. So to retrieve the angles provided here from the
commons-math underlying rotation, one has to revert the rotation, as in the following code snippet:
LofOffset law = new LofOffset(inertial, lofType, order, alpha1, alpha2, alpha3); Rotation offsetAtt = law.getAttitude(orbit).getRotation(); Rotation alignedAtt = new LofOffset(inertial, lofType).getAttitude(orbit).getRotation(); Rotation offsetProper = offsetAtt.applyTo(alignedAtt.revert()); // note the call to revert in the following statement double[] angles = offsetProper.revert().getAngles(order); System.out.println(alpha1 + " == " + angles[0]); System.out.println(alpha2 + " == " + angles[1]); System.out.println(alpha3 + " == " + angles[2]);
type
- type of Local Orbital Frameorder
- order of rotations to use for (alpha1, alpha2, alpha3) compositionalpha1
- angle of the first elementary rotationalpha2
- angle of the second elementary rotationalpha3
- angle of the third elementary rotationMethod Detail |
---|
public Attitude getAttitude(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame) throws OrekitException
pvProv
- local position-velocity provider around current datedate
- current dateframe
- reference frame from which attitude is computed
OrekitException
- if attitude cannot be computed
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |