WSF
WsfPathList::Segment Class Referenceabstract

Defines an entity's segment from one state to another over time. More...

#include <WsfPathList.hpp>

Inheritance diagram for WsfPathList::Segment:
Collaboration diagram for WsfPathList::Segment:

Public Member Functions

 Segment ()
virtual ~Segment ()=default
virtual void ComputeState (double aRelativeSimTime, WsfPathState &aState)=0
virtual SegmentClone () const =0
 Returns a copy of the segment.
void Initialize (double aDuration, const WsfPathState &aState)
 Initialize the basic members of the segment.
void SetRollRate (double aRollRate)
const WsfPathStateGetInitialState () const
 Returns the state at the start of the segment.
double GetDuration () const
 Returns the length of time to complete this segment.
void SetDuration (double aDuration)
 Sets the length of time to complete this segment.
virtual void Print (ut::log::MessageStream &aStream)
 Appends data as notes to aStream.

Public Attributes

WsfPathState mInitialState
 The initial state of the segment. This should be equivalent to ComputeState(0.0).
double mDuration
 The length of simulation time this duration takes to complete.
double mRollRate
 The roll rate used when changing roll angle.
bool mIsApproximation
 Indicates this segment is an approximation.

Detailed Description

Defines an entity's segment from one state to another over time.

Constructor & Destructor Documentation

◆ Segment()

◆ ~Segment()

virtual WsfPathList::Segment::~Segment ( )
virtualdefault

Member Function Documentation

◆ Clone()

virtual Segment * WsfPathList::Segment::Clone ( ) const
pure virtual

Returns a copy of the segment.

Implemented in WsfPathList::PauseSegment, WsfPathList::RotationArcSegment, and WsfPathList::RotationSegment.

References Segment().

◆ ComputeState()

virtual void WsfPathList::Segment::ComputeState ( double aRelativeSimTime,
WsfPathState & aState )
pure virtual

Computes a state along this segment

Parameters
aRelativeSimTimeThe length of simulation-time after the segment started
aStateThe state at aRelativeSimTime along this segment

Implemented in WsfPathList::PauseSegment, WsfPathList::RotationArcSegment, and WsfPathList::RotationSegment.

◆ GetDuration()

double WsfPathList::Segment::GetDuration ( ) const
inline

Returns the length of time to complete this segment.

References mDuration.

Referenced by WsfPathList::Append(), WsfPathList::Append(), and WsfPathComputer::RevisePathHitPointAtTime().

◆ GetInitialState()

const WsfPathState & WsfPathList::Segment::GetInitialState ( ) const
inline

Returns the state at the start of the segment.

References mInitialState.

Referenced by WsfPathComputer::RevisePathHitPointAtTime().

◆ Initialize()

void WsfPathList::Segment::Initialize ( double aDuration,
const WsfPathState & aState )
inline

Initialize the basic members of the segment.

References mDuration, and mInitialState.

Referenced by WsfPathComputer::ComputePath(), WsfPathComputer::Rotate(), and WsfPathComputer::TurnRelative().

◆ Print()

void WsfPathList::Segment::Print ( ut::log::MessageStream & aStream)
virtual

◆ SetDuration()

void WsfPathList::Segment::SetDuration ( double aDuration)
inline

Sets the length of time to complete this segment.

References mDuration.

Referenced by WsfPathList::Append().

◆ SetRollRate()

void WsfPathList::Segment::SetRollRate ( double aRollRate)
inline

References mRollRate.

Referenced by WsfPathComputer::Rotate().

Member Data Documentation

◆ mDuration

double WsfPathList::Segment::mDuration

The length of simulation time this duration takes to complete.

Referenced by GetDuration(), Initialize(), Print(), Segment(), and SetDuration().

◆ mInitialState

WsfPathState WsfPathList::Segment::mInitialState

The initial state of the segment. This should be equivalent to ComputeState(0.0).

Referenced by WsfPathList::PauseSegment::ComputeState(), GetInitialState(), Initialize(), Print(), and Segment().

◆ mIsApproximation

bool WsfPathList::Segment::mIsApproximation

Indicates this segment is an approximation.

Referenced by WsfPathComputer::Rotate(), and Segment().

◆ mRollRate

double WsfPathList::Segment::mRollRate

The roll rate used when changing roll angle.

Referenced by Segment(), and SetRollRate().


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