WSF
wsf::six_dof::Sequencer Class Reference

#include <WsfSixDOF_Sequencer.hpp>

Inheritance diagram for wsf::six_dof::Sequencer:
Collaboration diagram for wsf::six_dof::Sequencer:

Classes

struct  SequencerEvent
struct  SequencerAction

Public Member Functions

 Sequencer ()=default
Sequenceroperator= (const Sequencer &other)=delete
SequencerClone () const
void SetParentVehicle (Mover *aParentVehicle) override
bool ProcessInput (UtInput &aInput)
bool Initialize (int64_t aSimTime_nanosec)
std::string GetName () const override
void SetName (const std::string &aName) override
void Update (int64_t aSimTime_nanosec)
void AdjustNaming (const std::string &aNamePrefix)
void StartUp (int64_t aSimTime_nanosec)
bool PendingTimeEvents (int64_t aSimTime_nanosec, std::set< int64_t > &aTimeOfEvents_nanosec)
bool ActivateExternally ()
Public Member Functions inherited from wsf::six_dof::Object
 Object ()=default
virtual ~Object ()=default
virtual MoverGetParentVehicle () const

Protected Types

enum  SequencerEventType {
  Timer , LifeTime , AboveAlt_ft , BelowAlt_ft ,
  DynamicPressureAbove_psf , DynamicPressureBelow_psf , StaticPressureAbove_psf , StaticPressureBelow_psf ,
  FuelPercentBelow , GroundDistance_m , NxAbove_g , NxBelow_g ,
  NyAbove_g , NyBelow_g , NzAbove_g , NzBelow_g ,
  ReleasedFromParent , ManualInputTrigger , ManualInputButton , ManualInputButtonReleased ,
  BooleanInput , NoEvent
}
enum  SequencerActionType {
  NoAction , JettisonObject , JettisonSelf , IgniteEngine ,
  IgniteSubObject , IgniteSelfObject , ShutdownSubObject , ShutdownEngine ,
  TerminateThrust , ChangeAeroMode , EnableSizeFactor , ActivateSubobjectSequencer ,
  EnableControls , DisableControls
}

Protected Member Functions

 Sequencer (const Sequencer &aSrc)
void SetAllEventCounts ()
void CheckForAllEventActivation ()
int64_t TestForActivation (int64_t aSimTime_nanosec)
int64_t GetTimerTime () const
Protected Member Functions inherited from wsf::six_dof::Object
 Object (const Object &)=default

Protected Attributes

int64_t mLastSimTime_nanosec = -1
int64_t mElapsedTimer_nanosec = 0
std::vector< std::unique_ptr< SequencerEvent > > mEventList
std::vector< std::unique_ptr< SequencerAction > > mActionList
std::vector< UtCloneablePtr< Sequencer > > mSubSequencerList
bool mActivated = false
bool mAllEvents = false
size_t mAllEventNeededCount = 0
size_t mAllEventCurrentCount = 0
bool mExternalActivation = false
Protected Attributes inherited from wsf::six_dof::Object
std::string mObjName = ""
MovermParentVehicle = nullptr

Member Enumeration Documentation

◆ SequencerActionType

Enumerator
NoAction 
JettisonObject 
JettisonSelf 
IgniteEngine 
IgniteSubObject 
IgniteSelfObject 
ShutdownSubObject 
ShutdownEngine 
TerminateThrust 
ChangeAeroMode 
EnableSizeFactor 
ActivateSubobjectSequencer 
EnableControls 
DisableControls 

◆ SequencerEventType

Enumerator
Timer 
LifeTime 
AboveAlt_ft 
BelowAlt_ft 
DynamicPressureAbove_psf 
DynamicPressureBelow_psf 
StaticPressureAbove_psf 
StaticPressureBelow_psf 
FuelPercentBelow 
GroundDistance_m 
NxAbove_g 
NxBelow_g 
NyAbove_g 
NyBelow_g 
NzAbove_g 
NzBelow_g 
ReleasedFromParent 
ManualInputTrigger 
ManualInputButton 
ManualInputButtonReleased 
BooleanInput 
NoEvent 

Constructor & Destructor Documentation

◆ Sequencer() [1/2]

wsf::six_dof::Sequencer::Sequencer ( )
default

Referenced by Clone(), operator=(), and Sequencer().

◆ Sequencer() [2/2]

Member Function Documentation

◆ ActivateExternally()

bool wsf::six_dof::Sequencer::ActivateExternally ( )

◆ AdjustNaming()

void wsf::six_dof::Sequencer::AdjustNaming ( const std::string & aNamePrefix)

◆ CheckForAllEventActivation()

void wsf::six_dof::Sequencer::CheckForAllEventActivation ( )
protected

◆ Clone()

wsf::six_dof::Sequencer * wsf::six_dof::Sequencer::Clone ( ) const

References Sequencer().

Referenced by operator=().

◆ GetName()

std::string wsf::six_dof::Sequencer::GetName ( ) const
inlineoverridevirtual

Reimplemented from wsf::six_dof::Object.

References wsf::six_dof::Object::mObjName.

◆ GetTimerTime()

int64_t wsf::six_dof::Sequencer::GetTimerTime ( ) const
protected

References mElapsedTimer_nanosec.

◆ Initialize()

bool wsf::six_dof::Sequencer::Initialize ( int64_t aSimTime_nanosec)

◆ operator=()

Sequencer & wsf::six_dof::Sequencer::operator= ( const Sequencer & other)
delete

◆ PendingTimeEvents()

bool wsf::six_dof::Sequencer::PendingTimeEvents ( int64_t aSimTime_nanosec,
std::set< int64_t > & aTimeOfEvents_nanosec )

◆ ProcessInput()

◆ SetAllEventCounts()

void wsf::six_dof::Sequencer::SetAllEventCounts ( )
protected

◆ SetName()

void wsf::six_dof::Sequencer::SetName ( const std::string & aName)
inlineoverridevirtual

Reimplemented from wsf::six_dof::Object.

References wsf::six_dof::Object::mObjName.

Referenced by ProcessInput().

◆ SetParentVehicle()

void wsf::six_dof::Sequencer::SetParentVehicle ( Mover * aParentVehicle)
overridevirtual

Reimplemented from wsf::six_dof::Object.

References wsf::six_dof::Object::mParentVehicle, and mSubSequencerList.

Referenced by operator=().

◆ StartUp()

void wsf::six_dof::Sequencer::StartUp ( int64_t aSimTime_nanosec)

◆ TestForActivation()

◆ Update()

void wsf::six_dof::Sequencer::Update ( int64_t aSimTime_nanosec)

Member Data Documentation

◆ mActionList

std::vector<std::unique_ptr<SequencerAction> > wsf::six_dof::Sequencer::mActionList
protected

◆ mActivated

bool wsf::six_dof::Sequencer::mActivated = false
protected

◆ mAllEventCurrentCount

size_t wsf::six_dof::Sequencer::mAllEventCurrentCount = 0
protected

◆ mAllEventNeededCount

size_t wsf::six_dof::Sequencer::mAllEventNeededCount = 0
protected

◆ mAllEvents

bool wsf::six_dof::Sequencer::mAllEvents = false
protected

◆ mElapsedTimer_nanosec

int64_t wsf::six_dof::Sequencer::mElapsedTimer_nanosec = 0
protected

◆ mEventList

std::vector<std::unique_ptr<SequencerEvent> > wsf::six_dof::Sequencer::mEventList
protected

◆ mExternalActivation

bool wsf::six_dof::Sequencer::mExternalActivation = false
protected

◆ mLastSimTime_nanosec

int64_t wsf::six_dof::Sequencer::mLastSimTime_nanosec = -1
protected

◆ mSubSequencerList

std::vector<UtCloneablePtr<Sequencer> > wsf::six_dof::Sequencer::mSubSequencerList
protected

The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved