cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Member Functions | Protected Member Functions | List of all members
svlFilterAddLatency Class Reference

#include <svlFilterAddLatency.h>

Inheritance diagram for svlFilterAddLatency:
svlFilterBase mtsComponent cmnGenericObject

Public Member Functions

 svlFilterAddLatency (void)
 
virtual ~svlFilterAddLatency ()
 
void UpLatency (void)
 
void DownLatency (void)
 
void SetFrameDelayed (const unsigned int numberOfFrames)
 
- Public Member Functions inherited from svlFilterBase
 svlFilterBase (void)
 
virtual ~svlFilterBase ()
 
bool IsInitialized (void) const
 
bool IsRunning (void) const
 
unsigned int GetFrameCounter (void) const
 
svlFilterInputGetInput (void) const
 
svlFilterOutputGetOutput (void) const
 
svlFilterInputGetInput (const std::string &inputname) const
 
svlFilterOutputGetOutput (const std::string &outputname) const
 
void SetEnable (const bool &enable)
 
void GetEnable (bool &enable) const
 
void Enable ()
 
void Disable ()
 
bool IsEnabled () const
 
bool IsDisabled () const
 
- Public Member Functions inherited from mtsComponent
 mtsComponent (const std::string &deviceName)
 
virtual ~mtsComponent ()
 
const std::string & GetName (void) const
 
void GetName (std::string &placeHolder) const
 
void SetName (const std::string &componentName)
 
virtual void Configure (const std::string &filename="")
 
virtual void Create (void)
 
bool CreateAndWait (double timeoutInSeconds)
 
virtual void Start (void)
 
bool StartAndWait (double timeoutInSeconds)
 
virtual void Suspend (void)
 
virtual void Kill (void)
 
bool KillAndWait (double timeoutInSeconds)
 
virtual void Startup (void)
 
virtual void Cleanup (void)
 
mtsInterfaceProvidedAddInterfaceProvided (const std::string &interfaceProvidedName, mtsInterfaceQueueingPolicy queueingPolicy=MTS_COMPONENT_POLICY)
 
virtual mtsInterfaceProvidedAddInterfaceProvidedWithoutSystemEvents (const std::string &interfaceProvidedName, mtsInterfaceQueueingPolicy queueingPolicy=MTS_COMPONENT_POLICY, bool isProxy=false)
 
CISST_DEPRECATED
mtsInterfaceProvided
AddProvidedInterface (const std::string &interfaceProvidedName)
 
virtual mtsInterfaceOutputAddInterfaceOutput (const std::string &interfaceOutputName)
 
bool InterfaceExists (const std::string &interfaceName, cmnLogLevel lod=CMN_LOG_LEVEL_INIT_VERBOSE) const
 
bool InterfaceProvidedOrOutputExists (const std::string &interfaceName, cmnLogLevel lod=CMN_LOG_LEVEL_INIT_VERBOSE) const
 
bool InterfaceRequiredOrInputExists (const std::string &interfaceName, cmnLogLevel lod=CMN_LOG_LEVEL_INIT_VERBOSE) const
 
mtsInterfaceProvidedGetInterfaceProvided (const std::string &interfaceProvidedName) const
 
mtsInterfaceOutputGetInterfaceOutput (const std::string &interfaceOutputName) const
 
size_t GetNumberOfInterfacesProvided (void) const
 
size_t GetNumberOfInterfacesOutput (void) const
 
bool RemoveInterfaceProvided (const std::string &interfaceProvidedName, const bool skipDisconnect=false)
 
mtsInterfaceRequiredAddInterfaceRequired (const std::string &interfaceRequiredName, mtsRequiredType isRequired=MTS_REQUIRED)
 
virtual mtsInterfaceRequiredAddInterfaceRequiredWithoutSystemEventHandlers (const std::string &interfaceRequiredName, mtsRequiredType isRequired=MTS_REQUIRED)
 
CISST_DEPRECATED
mtsInterfaceRequired
AddRequiredInterface (const std::string &requiredInterfaceName)
 
virtual mtsInterfaceInputAddInterfaceInput (const std::string &interfaceInputName)
 
const mtsInterfaceProvidedGetInterfaceProvidedFor (const std::string &interfaceRequiredName)
 
mtsInterfaceRequiredGetInterfaceRequired (const std::string &interfaceRequiredName)
 
mtsInterfaceInputGetInterfaceInput (const std::string &interfaceInputName) const
 
size_t GetNumberOfInterfacesRequired (void) const
 
size_t GetNumberOfInterfacesInput (void) const
 
bool RemoveInterfaceRequired (const std::string &interfaceRequiredName, const bool skipDisconnect=false)
 
const mtsManagerComponentServicesGetManagerComponentServices (void) const
 
mtsManagerComponentServicesGetManagerComponentServices (void)
 
mtsStateTableGetStateTable (const std::string &stateTableName)
 
bool AddStateTable (mtsStateTable *existingStateTable, bool addInterfaceProvided=true)
 
void UseSeparateLogFileDefault (bool forwardToLogger=true)
 
void UseSeparateLogFileDefaultWithDate (bool forwardToLogger=true)
 
void UseSeparateLogFile (const std::string &filename, bool forwardToLogger=true)
 
cmnLogger::StreamBufTypeGetLogMultiplexer (void) const
 
bool IsRunning (void) const
 
bool CISST_DEPRECATED Running (void) const
 
bool IsStarted (void) const
 
bool IsTerminated (void) const
 
bool IsEndTask (void) const
 
const mtsComponentStateGetState (void) const
 
void GetState (mtsComponentState &state) const
 
void ToStream (std::ostream &outputStream) const
 
bool SetReplayMode (void)
 
bool SetReplayData (const std::string &stateTableName, const std::string &fileName)
 
bool SetReplayTime (const double time)
 
std::vector< std::string > GetNamesOfInterfacesProvidedOrOutput (void) const
 
std::vector< std::string > GetNamesOfInterfacesProvided (void) const
 
std::vector< std::string > GetNamesOfInterfacesOutput (void) const
 
std::vector< std::string > GetNamesOfInterfacesRequiredOrInput (void) const
 
std::vector< std::string > GetNamesOfInterfacesRequired (void) const
 
std::vector< std::string > GetNamesOfInterfacesInput (void) const
 
- Public Member Functions inherited from cmnGenericObject
virtual ~cmnGenericObject (void)
 
virtual const
cmnClassServicesBase
Services (void) const =0
 
bool ReconstructFrom (const cmnGenericObject &other)
 
std::string ToString (void) const
 
virtual void ToStreamRaw (std::ostream &outputStream, const char delimiter= ' ', bool headerOnly=false, const std::string &headerPrefix="") const
 
virtual bool FromStreamRaw (std::istream &inputStream, const char delimiter= ' ')
 
virtual void SerializeRaw (std::ostream &outputStream) const
 
virtual void DeSerializeRaw (std::istream &inputStream)
 
virtual size_t ScalarNumber (void) const
 
virtual bool ScalarNumberIsFixed (void) const
 
virtual double Scalar (const size_t CMN_UNUSED(index)) const throw (std::out_of_range)
 
virtual std::string ScalarDescription (const size_t CMN_UNUSED(index), const std::string &CMN_UNUSED(userDescription)) const
 

Protected Member Functions

virtual int Initialize (svlSample *syncInput, svlSample *&syncOutput)
 
virtual int Process (svlProcInfo *procInfo, svlSample *syncInput, svlSample *&syncOutput)
 
virtual int Release (void)
 
- Protected Member Functions inherited from svlFilterBase
svlFilterInputAddInput (const std::string &inputName, bool trunk=true)
 
svlFilterOutputAddOutput (const std::string &outputName, bool trunk=true)
 
int AddInputType (const std::string &inputname, svlStreamType type)
 
int SetOutputType (const std::string &outputname, svlStreamType type)
 
void SetAutomaticOutputType (bool autotype)
 
virtual int OnConnectInput (svlFilterInput &input, svlStreamType type)
 
virtual int OnStart (unsigned int procCount)
 
virtual void OnStop (void)
 
int IsDataValid (svlStreamType type, svlSample *data)
 
bool IsNewSample (svlSample *sample)
 
- Protected Member Functions inherited from mtsComponent
 mtsComponent (void)
 
 mtsComponent (const mtsComponent &other)
 
void Initialize (void)
 
mtsInterfaceRequiredAddInterfaceRequiredExisting (const std::string &interfaceRequiredName, mtsInterfaceRequired *interfaceRequired)
 
mtsInterfaceRequiredAddInterfaceRequiredUsingMailbox (const std::string &interfaceRequiredName, mtsMailBox *mailBox, mtsRequiredType required)
 
mtsInterfaceProvidedAddInterfaceProvidedUsingMailbox (const std::string &interfaceProvidedName, mtsMailBox *mailBox)
 
mtsInterfaceInputAddInterfaceInputExisting (const std::string &interfaceInputName, mtsInterfaceInput *interfaceInput)
 
mtsInterfaceOutputAddInterfaceOutputExisting (const std::string &interfaceOutputName, mtsInterfaceOutput *interfaceOutput)
 
void KillSeparateLogFile (void)
 
virtual bool WaitForState (mtsComponentState desiredState, double timeout)
 
size_t ProcessMailBoxes (InterfacesProvidedMapType &interfaces)
 
size_t ProcessQueuedCommands (void)
 
size_t ProcessQueuedEvents (void)
 
mtsInterfaceRequiredEnableDynamicComponentManagement (void)
 Enable support for dynamic component management services. More...
 
bool AddInterfaceInternal (const bool useMangerComponentServices=false)
 Add internal interfaces. More...
 
void InterfaceInternalCommands_GetEndUserInterface (const mtsEndUserInterfaceArg &argin, mtsEndUserInterfaceArg &argout)
 
void InterfaceInternalCommands_AddObserverList (const mtsEventHandlerList &argin, mtsEventHandlerList &argout)
 
void InterfaceInternalCommands_RemoveEndUserInterface (const mtsEndUserInterfaceArg &argin, mtsEndUserInterfaceArg &argout)
 
void InterfaceInternalCommands_RemoveObserverList (const mtsEventHandlerList &argin, mtsEventHandlerList &argout)
 
void InterfaceInternalCommands_ComponentCreate (const mtsDescriptionComponent &componentDescription, bool &result)
 
void InterfaceInternalCommands_ComponentStartOther (const mtsComponentStatusControl &arg)
 

Additional Inherited Members

- Public Types inherited from mtsComponent
typedef mtsComponent ThisType
 
- Protected Types inherited from mtsComponent
typedef cmnNamedMap
< mtsStateTable
StateTableMapType
 
typedef cmnNamedMap
< mtsInterfaceProvided
InterfacesProvidedMapType
 
typedef cmnNamedMap
< mtsInterfaceOutput
InterfacesOutputMapType
 
typedef cmnNamedMap
< mtsInterfaceRequired
InterfacesRequiredMapType
 
typedef cmnNamedMap
< mtsInterfaceInput
InterfacesInputMapType
 
- Protected Attributes inherited from svlFilterBase
unsigned int FrameCounter
 
mtsStateTable StateTable
 
- Protected Attributes inherited from mtsComponent
std::string Name
 
mtsComponentState State
 
mtsInterfaceProvidedInterfaceProvidedToManager
 
bool UseSeparateLogFileFlag
 
cmnLogger::StreamBufTypeLoDMultiplexerStreambuf
 
std::ofstream * LogFile
 
StateTableMapType StateTables
 
mtsManagerComponentServicesManagerComponentServices
 
mtsFunctionWrite EventGeneratorChangeState
 
bool ReplayMode
 
InterfacesProvidedMapType InterfacesProvided
 
InterfacesOutputMapType InterfacesOutput
 
InterfacesRequiredMapType InterfacesRequired
 
InterfacesInputMapType InterfacesInput
 

Detailed Description

Todo:

Check if we could use an stl container to manager the list of samples

Change API to define latency in seconds

Remove up/down by a hard coded number of samples

In Release, make sure memory is freed for linked list

Is memcpy the best way to copy the in/out samples, is there a more generic way?

Add interface provided to set latency

Add method to report memory size used

Constructor & Destructor Documentation

svlFilterAddLatency::svlFilterAddLatency ( void  )
virtual svlFilterAddLatency::~svlFilterAddLatency ( )
virtual

Member Function Documentation

void svlFilterAddLatency::DownLatency ( void  )
virtual int svlFilterAddLatency::Initialize ( svlSample syncInput,
svlSample *&  syncOutput 
)
protectedvirtual

Implements svlFilterBase.

virtual int svlFilterAddLatency::Process ( svlProcInfo procInfo,
svlSample syncInput,
svlSample *&  syncOutput 
)
protectedvirtual

Implements svlFilterBase.

virtual int svlFilterAddLatency::Release ( void  )
protectedvirtual

Reimplemented from svlFilterBase.

void svlFilterAddLatency::SetFrameDelayed ( const unsigned int  numberOfFrames)
void svlFilterAddLatency::UpLatency ( void  )

The documentation for this class was generated from the following file: