public class CustomAttitudesSequence
extends fr.cnes.sirius.patrius.attitudes.AttitudesSequence
Only one attitude law in the sequence is active at once. When one of the switching events associated with the active attitude law occurs, the active attitude law becomes the one specified with the event. A simple example is an attitude law for the sun lighted part of the orbit and another attitude law for the eclipse time. When the sun lighted attitude law is active, the eclipse entry event is checked and when it occurs the eclipse attitude law is activated. When the eclipse attitude law is active, the eclipse exit event is checked and when it occurs the sun lighted attitude law is activated again. This sequence is a simple loop.
An active attitude law may have several switch events and next attitude law settings, leading to different activation patterns depending on which events are triggered first. An example of this feature is handling switches to safe mode if some contingency condition is met, in addition to the nominal switches that correspond to proper operations. Another example is handling of maneuver mode.
Constructor and Description |
---|
CustomAttitudesSequence()
Constructor for an initially empty sequence.
|
Modifier and Type | Method and Description |
---|---|
void |
addSwitchingCondition(fr.cnes.sirius.patrius.attitudes.AttitudeLaw lawBefore,
String lawBeforeName,
CustomEventDetector switchEvent,
fr.cnes.sirius.patrius.attitudes.AttitudeLaw lawAfter,
String lawAfterName)
Method to add a switch to the attitudes sequence.
|
ArrayList<fr.cnes.sirius.patrius.attitudes.AttitudeLaw> |
getLawsAfterList()
Getter for the list of laws after for each switch in the same order as in the component list.
|
ArrayList<String> |
getLawsAfterNamesList()
Getter for the list of names of the law after for each switch in the same order as in the
component list.
|
ArrayList<fr.cnes.sirius.patrius.attitudes.AttitudeLaw> |
getLawsBeforeList()
Getter for the list of laws before for each switch in the same order as in the component
list.
|
ArrayList<String> |
getLawsBeforeNamesList()
Getter for the list of names of the law before for each switch in the same order as in the
component list.
|
ArrayList<fr.cnes.sirius.patrius.propagation.events.EventDetector> |
getLoggedAttLawsDetectors()
Get the list of logged switches events.
|
ArrayList<CustomEventDetector> |
getSwitchesList()
Getter for the list of switches in the same order as in the component list.
|
void |
setLoggedAttLawsDetectors(fr.cnes.sirius.patrius.events.CodedEventsLogger logger)
Set the list of logged switches events for the given events logger.
|
String |
toString() |
public CustomAttitudesSequence()
public ArrayList<CustomEventDetector> getSwitchesList()
public ArrayList<fr.cnes.sirius.patrius.attitudes.AttitudeLaw> getLawsBeforeList()
public ArrayList<fr.cnes.sirius.patrius.attitudes.AttitudeLaw> getLawsAfterList()
public ArrayList<String> getLawsBeforeNamesList()
public ArrayList<String> getLawsAfterNamesList()
public void addSwitchingCondition(fr.cnes.sirius.patrius.attitudes.AttitudeLaw lawBefore, String lawBeforeName, CustomEventDetector switchEvent, fr.cnes.sirius.patrius.attitudes.AttitudeLaw lawAfter, String lawAfterName)
lawBefore
- attitude law before the switch event occurrencelawBeforeName
- name of the attitude law before the switch event occurrenceswitchEvent
- event triggering the attitude providers switch; the event should generate
ACTION.RESET_STATE when event occured. (may be null for an attitude law without any
ending condition, in this case the lawAfter is not referenced and may be null too)lawAfter
- attitude law to activate after the switch event occurrence (used only if
switchEvent is non null)lawAfterName
- name of the attitude law after the switch event occurrencepublic void setLoggedAttLawsDetectors(fr.cnes.sirius.patrius.events.CodedEventsLogger logger)
logger
- coded events loggerpublic ArrayList<fr.cnes.sirius.patrius.propagation.events.EventDetector> getLoggedAttLawsDetectors() throws NonWidgetException
NonWidgetException
- if the list of logged switches events has not been set yet.public String toString()
toString
in class fr.cnes.sirius.patrius.attitudes.AttitudesSequence
Copyright © 2018. All rights reserved.