gramods
Loading...
Searching...
No Matches
VrpnServer.hh
1
2#ifndef GRAMODS_TRACK_VRPNSERVER
3#define GRAMODS_TRACK_VRPNSERVER
4
5#include <gmTrack/config.hh>
6
7#ifdef gramods_ENABLE_VRPN
8
9#include <gmCore/Object.hh>
10#include <gmCore/OFactory.hh>
11#include <gmCore/Updateable.hh>
12
13#include <gmTrack/AnalogsTracker.hh>
14#include <gmTrack/ButtonsTracker.hh>
15#include <gmTrack/MultiPoseTracker.hh>
16#include <gmTrack/SinglePoseTracker.hh>
17
18BEGIN_NAMESPACE_GMTRACK;
19
30 : public gmCore::Object,
31 public gmCore::Updateable {
32
33public:
34
35 VrpnServer();
37
42 void update(gmCore::Updateable::clock::time_point time,
43 size_t frame) override;
44
48 void initialize() override;
49
55 void setPort(int port);
56
61 void addTrackerName(std::string name);
62
67 void addAnalogsTracker(std::shared_ptr<AnalogsTracker> t);
68
73 void addButtonsTracker(std::shared_ptr<ButtonsTracker> t);
74
79 void addMultiPoseTracker(std::shared_ptr<MultiPoseTracker> t);
80
85 void addSinglePoseTracker(std::shared_ptr<SinglePoseTracker> t);
86
92 void traverse(Visitor *visitor) override;
93
94 GM_OFI_DECLARE;
95
96private:
97
98 struct Impl;
99 std::unique_ptr<Impl> _impl;
100};
101
102END_NAMESPACE_GMTRACK;
103
104#endif
105
106#endif
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