gramods
Loading...
Searching...
No Matches
Controller.hh
1
2#ifndef GRAMODS_TRACK_CONTROLLER
3#define GRAMODS_TRACK_CONTROLLER
4
5#include <gmTrack/config.hh>
6#include <gmTrack/SinglePoseTracker.hh>
7#include <gmTrack/ButtonsTracker.hh>
8#include <gmTrack/AnalogsTracker.hh>
9
10#include <gmCore/Object.hh>
11#include <gmCore/OFactory.hh>
12
13BEGIN_NAMESPACE_GMTRACK;
14
28 : public gmCore::Object {
29
30public:
31
36 bool getPose(PoseTracker::PoseSample &p);
37
42 bool getButtons(ButtonsTracker::ButtonsSample &b);
43
48 bool getAnalogs(AnalogsTracker::AnalogsSample &a);
49
55 void setSinglePoseTracker(std::shared_ptr<SinglePoseTracker> spt);
56
64 void setButtonsTracker(std::shared_ptr<ButtonsTracker> bt);
65
73 void setAnalogsTracker(std::shared_ptr<AnalogsTracker> at);
74
79 virtual std::string getDefaultKey() override { return "controller"; }
80
86 void traverse(Visitor *visitor) override;
87
88 GM_OFI_DECLARE;
89
90private:
91
92 std::shared_ptr<SinglePoseTracker> single_pose_tracker;
93
94 std::shared_ptr<ButtonsTracker> buttons_tracker;
95
96 std::shared_ptr<AnalogsTracker> analogs_tracker;
97};
98
99END_NAMESPACE_GMTRACK;
100
101#endif
Base type for objects in the Gramods package for standardized handling of construction,...
Definition Object.hh:42
A controller is a combination of one or more of a pose tracker, buttons tracker and analogs tracker,...
Definition Controller.hh:28
virtual std::string getDefaultKey() override
Returns the default key, in Configuration, for the Object.
Definition Controller.hh:79
A sample containing the state of any number of buttons.
Definition ButtonsTracker.hh:27
Definition PoseTracker.hh:23