|
WSF
|
#include <WsfSpaceOrbitalPropagatorCondition.hpp>


Public Member Functions | |
| OrbitalPropagatorCondition * | Clone () const override=0 |
| bool | ProcessInput (UtInput &aInput) override |
| unsigned | GetOrbitNumber () const |
| Return the orbit number. | |
| void | SetOrbitNumber (unsigned aOrbitNumber) |
| Set the orbit number. | |
| virtual bool | ValidateParameterRanges () const |
| virtual bool | GetTimeToCondition (const UtOrbitalPropagatorBase &aPropagator, double &aTimeToCondition) const =0 |
| virtual void | Accept (OrbitalPropagatorConditionVisitor &aVisitor)=0 |
| Accept a visitor. | |
| virtual std::string | GetConditionString () const =0 |
| Return the string identifying the condition. | |
| Public Member Functions inherited from WsfObject | |
| WsfObject () | |
| This is the constructor for the WsfObject class. | |
| ~WsfObject () override | |
| This is the destructor for the WsfObject class. | |
| const char * | GetScriptClassName () const override |
| const std::string & | GetType () const |
| WsfStringId | GetTypeId () const |
| Get the string ID of the 'type' of the object. | |
| void | SetType (WsfStringId aType) |
| const std::string & | GetBaseType () const |
| WsfStringId | GetBaseTypeId () const |
| const TypeList & | GetTypeList () const |
| bool | IsA_TypeOf (WsfStringId aType) const |
| WsfObject & | operator= (const WsfObject &aRhs) |
| Assignment operator. | |
| template<typename T> | |
| void | Serialize (T &aBuff) |
| For XIO (de)serialization. | |
| const std::string & | GetName () const |
| WsfStringId | GetNameId () const |
| void | SetName (WsfStringId aName) |
Protected Attributes | |
| unsigned | mOrbitNumber {0} |
Additional Inherited Members | |
| Public Types inherited from WsfObject | |
| typedef std::vector< WsfStringId > | TypeList |
| The list of types returned by GetTypeList. | |
| WsfObject (const WsfObject &aSrc) | |
| Copy constructor (for Clone()). | |
A condition that might be satisfied during orbital propagation. This class represents a condition that might obtain during orbital propagation and is used to find execution times of orbital mission events. All conditions are able to set an orbit number, which specifies how many full orbits should execute before considering if the condition is satisfied.
|
pure virtual |
Accept a visitor.
Implemented in wsf::space::ApoapsisCondition, wsf::space::AscendingNodeCondition, wsf::space::AscendingRadiusCondition, wsf::space::DescendingNodeCondition, wsf::space::DescendingRadiusCondition, wsf::space::EclipseEntryCondition, wsf::space::EclipseExitCondition, wsf::space::NoneCondition, wsf::space::NorthernIntersectionCondition, wsf::space::PeriapsisCondition, wsf::space::RelativeTimeCondition, and wsf::space::SouthernIntersectionCondition.
|
overridepure virtual |
Return a copy of this object. Must be implemented by all derived types. If cloning is impossible, a WsfUncloneableException should be thrown.
Implements WsfObject.
Implemented in wsf::space::ApoapsisCondition, wsf::space::AscendingNodeCondition, wsf::space::AscendingRadiusCondition, wsf::space::DescendingNodeCondition, wsf::space::DescendingRadiusCondition, wsf::space::EclipseEntryCondition, wsf::space::EclipseExitCondition, wsf::space::NoneCondition, wsf::space::NorthernIntersectionCondition, wsf::space::PeriapsisCondition, wsf::space::RelativeTimeCondition, and wsf::space::SouthernIntersectionCondition.
References ProcessInput().
|
pure virtual |
Return the string identifying the condition.
Implemented in wsf::space::ApoapsisCondition, wsf::space::AscendingNodeCondition, wsf::space::AscendingRadiusCondition, wsf::space::DescendingNodeCondition, wsf::space::DescendingRadiusCondition, wsf::space::EclipseEntryCondition, wsf::space::EclipseExitCondition, wsf::space::NoneCondition, wsf::space::NorthernIntersectionCondition, wsf::space::PeriapsisCondition, wsf::space::RelativeTimeCondition, and wsf::space::SouthernIntersectionCondition.
Referenced by wsf::space::OrbitalPropagatorOptimizingCondition::GetTimeToCondition().
|
inline |
Return the orbit number.
References mOrbitNumber.
Referenced by wsf::space::EclipseEntryCondition::GetTimeToCondition(), and wsf::space::EclipseExitCondition::GetTimeToCondition().
|
pure virtual |
Get the time at which the condition is satisfied. This method computes the time in seconds from the current time of the aPropagator at which the condition is satisfied. If the method is able to compute such a time, the aTimeToCondition is set to the appropriate value and this method returns true. If the method is unable to determine when the condition obtains, then the method returns false.
| aPropagator | - The propagator for which the time to the condition being satisfied is desired. |
| aTimeToCondition | [out] - The time in seconds from the current time of the provided aPropagator at which the condition is satisfied. |
Implemented in wsf::space::EclipseEntryCondition, wsf::space::EclipseExitCondition, wsf::space::NoneCondition, wsf::space::OrbitalPropagatorOptimizingCondition, and wsf::space::RelativeTimeCondition.
Referenced by WsfOrbitalScriptEvent::GetNextExecutionTime(), and UT_DEFINE_SCRIPT_METHOD().
|
overridevirtual |
Process input from a generic source.
Examine the current input command. If it is NOT one of the commands recognized by this class then it simply returns 'false'. If it is one of the commands recognized by this class then it processes the command and returns 'true'.
| aInput | a reference to a UtInput object. |
| UtInput::ExceptionBase | (or an object derived from it) if the command was recognized but contains some sort of error. |
Reimplemented from WsfObject.
Reimplemented in wsf::space::RadiusCondition, and wsf::space::RelativeTimeCondition.
Referenced by Clone().
|
inline |
Set the orbit number.
References mOrbitNumber.
Referenced by WsfOrbitalScriptEvent::GetNextExecutionTime(), and WsfOrbitalManeuver::InitializeTimes().
|
inlinevirtual |
Validate any input parameters for the conditions. This method should be overridden for conditions that take parameters for which there are some restrictions on their values (e.g., the parameter must be positive). If the parameter is outside the allowed range, this method should print an error and return false.
Reimplemented in wsf::space::RadiusCondition, and wsf::space::RelativeTimeCondition.
|
protected |
Referenced by GetOrbitNumber(), wsf::space::NoneCondition::GetTimeToCondition(), wsf::space::OrbitalPropagatorOptimizingCondition::GetTimeToCondition(), wsf::space::RelativeTimeCondition::GetTimeToCondition(), wsf::space::ApoapsisCondition::HandleSpecialCases(), wsf::space::AscendingNodeCondition::HandleSpecialCases(), wsf::space::DescendingNodeCondition::HandleSpecialCases(), wsf::space::IntersectionCondition::HandleSpecialCases(), wsf::space::PeriapsisCondition::HandleSpecialCases(), wsf::space::ApoapsisCondition::InitialGuess(), wsf::space::AscendingNodeCondition::InitialGuess(), wsf::space::AscendingRadiusCondition::InitialGuess(), wsf::space::DescendingNodeCondition::InitialGuess(), wsf::space::DescendingRadiusCondition::InitialGuess(), wsf::space::NorthernIntersectionCondition::InitialGuess(), wsf::space::PeriapsisCondition::InitialGuess(), wsf::space::SouthernIntersectionCondition::InitialGuess(), and SetOrbitNumber().