Panda3D
 All Classes Functions Variables Enumerations
clientTrackerDevice.h
1 // Filename: clientTrackerDevice.h
2 // Created by: drose (25Jan01)
3 //
4 ////////////////////////////////////////////////////////////////////
5 //
6 // PANDA 3D SOFTWARE
7 // Copyright (c) Carnegie Mellon University. All rights reserved.
8 //
9 // All use of this software is subject to the terms of the revised BSD
10 // license. You should have received a copy of this license along
11 // with this source code in a file named "LICENSE."
12 //
13 ////////////////////////////////////////////////////////////////////
14 
15 #ifndef CLIENTTRACKERDEVICE_H
16 #define CLIENTTRACKERDEVICE_H
17 
18 #include "pandabase.h"
19 
20 #include "clientDevice.h"
21 #include "trackerData.h"
22 
23 ////////////////////////////////////////////////////////////////////
24 // Class : ClientTrackerDevice
25 // Description : A device, attached to the ClientBase by a
26 // TrackerNode, that records the data from a single
27 // tracker device.
28 ////////////////////////////////////////////////////////////////////
29 class EXPCL_PANDA_DEVICE ClientTrackerDevice : public ClientDevice {
30 protected:
31  INLINE ClientTrackerDevice(ClientBase *client, const string &device_name);
32 
33 public:
34  INLINE const TrackerData &get_data() const;
35 
36 protected:
37  TrackerData _data;
38 
39 public:
40  static TypeHandle get_class_type() {
41  return _type_handle;
42  }
43  static void init_type() {
44  ClientDevice::init_type();
45  register_type(_type_handle, "ClientTrackerDevice",
46  ClientDevice::get_class_type());
47  }
48  virtual TypeHandle get_type() const {
49  return get_class_type();
50  }
51  virtual TypeHandle force_init_type() {init_type(); return get_class_type();}
52 
53 private:
54  static TypeHandle _type_handle;
55 };
56 
57 #include "clientTrackerDevice.I"
58 
59 #endif
A device, attached to the ClientBase by a TrackerNode, that records the data from a single tracker de...
Stores the kinds of data that a tracker might output.
Definition: trackerData.h:25
An abstract base class for a family of client device interfaces–including trackers, buttons, dials, and other analog inputs.
Definition: clientBase.h:47
TypeHandle is the identifier used to differentiate C++ class types.
Definition: typeHandle.h:85
Any of a number of different devices that might be attached to a ClientBase, including trackers...
Definition: clientDevice.h:35