gramods
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 
13 BEGIN_NAMESPACE_GMTRACK;
14 
28  : public gmCore::Object {
29 
30 public:
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 
90 private:
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 
99 END_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
Definition: AnalogsTracker.hh:24
A sample containing the state of any number of buttons.
Definition: ButtonsTracker.hh:27
Definition: PoseTracker.hh:23