2#ifndef GRAMODS_TRACK_VRPNSERVER
3#define GRAMODS_TRACK_VRPNSERVER
5#include <gmTrack/config.hh>
7#ifdef gramods_ENABLE_VRPN
9#include <gmCore/Object.hh>
10#include <gmCore/OFactory.hh>
11#include <gmCore/Updateable.hh>
13#include <gmTrack/AnalogsTracker.hh>
14#include <gmTrack/ButtonsTracker.hh>
15#include <gmTrack/MultiPoseTracker.hh>
16#include <gmTrack/SinglePoseTracker.hh>
18BEGIN_NAMESPACE_GMTRACK;
42 void update(gmCore::Updateable::clock::time_point time,
43 size_t frame)
override;
48 void initialize()
override;
55 void setPort(
int port);
61 void addTrackerName(std::string name);
67 void addAnalogsTracker(std::shared_ptr<AnalogsTracker> t);
73 void addButtonsTracker(std::shared_ptr<ButtonsTracker> t);
79 void addMultiPoseTracker(std::shared_ptr<MultiPoseTracker> t);
85 void addSinglePoseTracker(std::shared_ptr<SinglePoseTracker> t);
92 void traverse(
Visitor *visitor)
override;
99 std::unique_ptr<Impl> _impl;
102END_NAMESPACE_GMTRACK;
Base type for objects in the Gramods package for standardized handling of construction,...
Definition Object.hh:42
The Updateable class defines an interface for objects that may be updated, for example each execution...
Definition Updateable.hh:18
This class sets up a VRPN server that post data from AnalogsTracker, ButtonsTracker,...
Definition VrpnServer.hh:31
The visitor of a design pattern for automatic traversal.
Definition Object.hh:75
Definition VrpnServer.cpp:32