All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
SurgSim::Device::TrackIRThread Class Reference

A class implementing the thread context for sampling TrackIR devices. More...

#include <SurgSim/Devices/TrackIR/TrackIRThread.h>

Inheritance diagram for SurgSim::Device::TrackIRThread:
Inheritance graph
[legend]
Collaboration diagram for SurgSim::Device::TrackIRThread:
Collaboration graph
[legend]

Public Member Functions

 TrackIRThread (TrackIRScaffold *scaffold, TrackIRScaffold::DeviceData *deviceData)
 Constructor TrackIR sample rate: 120FPS. More...
 
virtual ~TrackIRThread ()
 Destructor. More...
 
- Public Member Functions inherited from SurgSim::Framework::BasicThread
 BasicThread (const std::string &name="Unknown Thread")
 
virtual ~BasicThread () noexcept(false)
 C++11 introduced noexcept. More...
 
void start (std::shared_ptr< Barrier > startupBarrier=nullptr, bool isSynchronous=false)
 C++11 introduced noexcept. More...
 
void stop ()
 Stopping the execution, blocks until the running thread has actually stopped,. More...
 
void setIdle (bool isIdle)
 Set/Unset the thread in an idle state (doUpdate() called or not in the update() method) More...
 
bool isIdle ()
 Query if this thread is in idle state or not. More...
 
bool isInitialized ()
 Query if this object is initialized. More...
 
bool isRunning () const
 Query if this object is running. More...
 
void operator() ()
 This is what boost::thread executes on thread creation. More...
 
boost::thread & getThread ()
 
std::string getName () const
 
void setRate (double val)
 Set the update rate of the thread. More...
 
bool setSynchronous (bool val)
 Sets the thread to synchronized execution in concert with the startup barrier, the startup barrier has to exist for this call to succeed. More...
 
bool isSynchronous ()
 Query if this object is synchronized. More...
 

Protected Member Functions

virtual bool doInitialize () override
 Initialize this thread. More...
 
virtual bool doStartUp () override
 Start up this thread. More...
 
virtual bool doUpdate (double dt) override
 Update work of this thread. More...
 
- Protected Member Functions inherited from SurgSim::Framework::BasicThread
bool initialize ()
 Trigger the initialization of this object, this will be called before all other threads doStartup() are called. More...
 
bool startUp ()
 Trigger the startup of this object, this will be called after all other threads doInit() was called the thread will only enter the run loop triggering upated() if all threads doInit() and doStartup() returned true. More...
 
bool waitForBarrier (bool success)
 
virtual bool executeInitialization ()
 

Private Attributes

TrackIRScaffoldm_scaffold
 
TrackIRScaffold::DeviceDatam_deviceData
 

Detailed Description

A class implementing the thread context for sampling TrackIR devices.

See also
SurgSim::Device::TrackIRScaffold

Constructor & Destructor Documentation

SurgSim::Device::TrackIRThread::TrackIRThread ( TrackIRScaffold scaffold,
TrackIRScaffold::DeviceData deviceData 
)

Constructor TrackIR sample rate: 120FPS.

Default update rate is set by BasicThread constructor to 30Hz

Parameters
scaffoldThe TrackIRScaffold updated by this thread
deviceDataCorresponds to the TrackIRScaffold::DeviceData updated by this thread
SurgSim::Device::TrackIRThread::~TrackIRThread ( )
virtual

Destructor.

Member Function Documentation

bool SurgSim::Device::TrackIRThread::doInitialize ( )
overrideprotectedvirtual

Initialize this thread.

Returns
True on success, false otherwise.

Implements SurgSim::Framework::BasicThread.

bool SurgSim::Device::TrackIRThread::doStartUp ( )
overrideprotectedvirtual

Start up this thread.

Returns
True on success, false otherwise.

Implements SurgSim::Framework::BasicThread.

bool SurgSim::Device::TrackIRThread::doUpdate ( double  dt)
overrideprotectedvirtual

Update work of this thread.

Parameters
dtThe time step.
Returns
True on success, false otherwise.

Reimplemented from SurgSim::Framework::BasicThread.

Member Data Documentation

TrackIRScaffold::DeviceData* SurgSim::Device::TrackIRThread::m_deviceData
private
TrackIRScaffold* SurgSim::Device::TrackIRThread::m_scaffold
private

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