gramods
Classes | Public Member Functions | Static Public Attributes | List of all members
gramods::gmTrack::VrpnServer Class Reference

This class sets up a VRPN server that post data from AnalogsTracker, ButtonsTracker, SinglePoseTracker and MultiPoseTracker instances. More...

#include <VrpnServer.hh>

Inheritance diagram for gramods::gmTrack::VrpnServer:
Inheritance graph
[legend]
Collaboration diagram for gramods::gmTrack::VrpnServer:
Collaboration graph
[legend]

Classes

struct  Impl
 

Public Member Functions

void update (gmCore::Updateable::clock::time_point time, size_t frame) override
 Reads off analogs, buttons and pose data, and send these through the VRPN server. More...
 
void initialize () override
 Sets up the server. More...
 
void setPort (int port)
 Sets the port to bind the VRPN server to. More...
 
void addTrackerName (std::string name)
 Add a name to associate with a tracker in this VRPN server. More...
 
void addAnalogsTracker (std::shared_ptr< AnalogsTracker > t)
 Add an AnalogsTracker to serve from this VRPN server. More...
 
void addButtonsTracker (std::shared_ptr< ButtonsTracker > t)
 Add a ButtonsTracker to serve from this VRPN server. More...
 
void addMultiPoseTracker (std::shared_ptr< MultiPoseTracker > t)
 Add a MultiPoseTracker to serve from this VRPN server. More...
 
void addSinglePoseTracker (std::shared_ptr< SinglePoseTracker > t)
 Add a SinglePoseTracker to serve from this VRPN server. More...
 
void traverse (Visitor *visitor) override
 Propagates the specified visitor. More...
 
- Public Member Functions inherited from gramods::gmCore::Object
 Object ()
 Initializes internal data. More...
 
virtual ~Object ()
 Cleaning up internal data. More...
 
virtual void accept (Visitor *visitor)
 Calls the visitors apply method with this as argument. More...
 
virtual std::string getDefaultKey ()
 Returns the default key for the Object when automatically instantiated in a Configuration, i.e. More...
 
bool isInitialized ()
 Returns true if the Object is initialized. More...
 
- Public Member Functions inherited from gramods::gmCore::Updateable
 Updateable (int priority=0)
 Configures the Updateable properties to the specified priority. More...
 
virtual void update (clock::time_point t, size_t frame)=0
 Called by updateAll to make the object up-to-date. More...
 

Static Public Attributes

static gramods::gmCore::OFactory::OFactoryInformation _gm_ofi
 

Additional Inherited Members

- Public Types inherited from gramods::gmCore::Updateable
typedef std::chrono::steady_clock clock
 
- Static Public Member Functions inherited from gramods::gmCore::Updateable
static void updateAll (clock::time_point t=clock::now(), std::optional< size_t > frame=std::nullopt)
 Updates all currently instanciated updateable objects. More...
 

Detailed Description

This class sets up a VRPN server that post data from AnalogsTracker, ButtonsTracker, SinglePoseTracker and MultiPoseTracker instances.

This class configures as an Updateable with a priority of -100. Either Updateable::updateAll or update must be called at even intervals. This is done automatically by gm-load.

Member Function Documentation

◆ addAnalogsTracker()

void gramods::gmTrack::VrpnServer::addAnalogsTracker ( std::shared_ptr< AnalogsTracker t)

Add an AnalogsTracker to serve from this VRPN server.

There must be exactly one name for each tracker served.

◆ addButtonsTracker()

void gramods::gmTrack::VrpnServer::addButtonsTracker ( std::shared_ptr< ButtonsTracker t)

Add a ButtonsTracker to serve from this VRPN server.

There must be exactly one name for each tracker served.

◆ addMultiPoseTracker()

void gramods::gmTrack::VrpnServer::addMultiPoseTracker ( std::shared_ptr< MultiPoseTracker t)

Add a MultiPoseTracker to serve from this VRPN server.

There must be exactly one name for each tracker served.

◆ addSinglePoseTracker()

void gramods::gmTrack::VrpnServer::addSinglePoseTracker ( std::shared_ptr< SinglePoseTracker t)

Add a SinglePoseTracker to serve from this VRPN server.

There must be exactly one name for each tracker served.

◆ addTrackerName()

void gramods::gmTrack::VrpnServer::addTrackerName ( std::string  name)

Add a name to associate with a tracker in this VRPN server.

There must be exactly one name for each tracker served.

◆ initialize()

void gramods::gmTrack::VrpnServer::initialize ( )
overridevirtual

Sets up the server.

This should be called once only!

Reimplemented from gramods::gmCore::Object.

◆ setPort()

void gramods::gmTrack::VrpnServer::setPort ( int  port)

Sets the port to bind the VRPN server to.

XML-attribute: port

◆ traverse()

void gramods::gmTrack::VrpnServer::traverse ( Visitor visitor)
overridevirtual

Propagates the specified visitor.

See also
Object::Visitor

Reimplemented from gramods::gmCore::Object.

◆ update()

void gramods::gmTrack::VrpnServer::update ( gmCore::Updateable::clock::time_point  time,
size_t  frame 
)
override

Reads off analogs, buttons and pose data, and send these through the VRPN server.


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