ADTF  3.18.2
cInterpolatingClock

Interpolating clock. More...

Inheritance diagram for cInterpolatingClock:
[legend]

Public Member Functions

 cInterpolatingClock (const char *strName)
 Constructor. More...
 
tTimeStamp GetTime () const override
 
tResult Reset (tTimeStamp nNewTime)
 Resets the time to the new value and send the reset time events. More...
 
tResult SetTime (tTimeStamp nNewTime)
 Sets the time to the new value. More...
 
void Start ()
 Restarts interpolation after pausing.
 
void Pause ()
 Pauses the clock at the current instant. More...
 
- Public Member Functions inherited from cBaseClock
 cBaseClock (const char *strName)
 CTOR to set the name of the clock. More...
 
tResult GetName (base::ant::IString &&strName) const override
 
- Public Member Functions inherited from object< services::ant::IReferenceClock::IClock, ucom::cEventSource >
tResult GetInterface (const char *i_strIID, void *&o_pInterface) override
 Query interfaces on an object. More...
 
tResult GetInterface (const char *i_strIID, const void *&o_pInterface) const override
 Provides const correct interface querying. More...
 
void Destroy () const override
 Destruct and deallocate instantiations of type IObject. More...
 
- Public Member Functions inherited from IObject
 ADTF_IID (IObject, "object.ant.ucom.adtf.iid")
 Marks the IObject to be castable with the ucom_cast() More...
 

Private Attributes

std::atomic_int_least64_t m_nExternalStreamOffset
 
tTimeStamp m_nLastInterpolatedTime = 0
 
bool m_bPaused = false
 

Additional Inherited Members

- Protected Member Functions inherited from cBaseClock
tResult SendResetBeginEvent (tTimeStamp tmOldTime, tTimeStamp tmNewTime) const
 Sends the Reset begin event. More...
 
tResult SendResetEndEvent (tTimeStamp tmOldTime, tTimeStamp tmNewTime) const
 Sends the Reset end event. More...
 
tResult SendUpdateEvent (tTimeStamp tmOldTime, tTimeStamp tmNewTime) const
 Sends the time update event. More...
 
- Protected Member Functions inherited from IObject
 ~IObject ()=default
 Protected destructor --> Use implemented Destroy() instead of delete!
 

Detailed Description

Interpolating clock.

Time is interpolated between calls to SetTime() and Reset() with the help of the system clock.

Definition at line 26 of file interpolating_clock.h.

Constructor & Destructor Documentation

◆ cInterpolatingClock()

cInterpolatingClock ( const char *  strName)

Constructor.

Parameters
[in]strNameThe name of the clock.

Member Function Documentation

◆ Pause()

void Pause ( )

Pauses the clock at the current instant.

GetTime will return the same value for all following calls until Start() is called.

◆ Reset()

tResult Reset ( tTimeStamp  nNewTime)

Resets the time to the new value and send the reset time events.

Parameters
[in]nNewTimethe new time
Returns
Standard Result Code
ERR_NOERROR time set successfully

◆ SetTime()

tResult SetTime ( tTimeStamp  nNewTime)

Sets the time to the new value.

This must be greater or equal to the last value set with Reset() or SetTime().

Parameters
[in]nNewTimethe new time
Returns
Standard Result Code
ERR_NOERROR time set successfully