Browse Source

Add version of TrackerNode that takes a ClientTrackerDevice directly

rdb 12 years ago
parent
commit
0821026944
2 changed files with 22 additions and 0 deletions
  1. 21 0
      panda/src/device/trackerNode.cxx
  2. 1 0
      panda/src/device/trackerNode.h

+ 21 - 0
panda/src/device/trackerNode.cxx

@@ -54,6 +54,27 @@ TrackerNode(ClientBase *client, const string &device_name) :
   _tracker = DCAST(ClientTrackerDevice, device);
 }
 
+////////////////////////////////////////////////////////////////////
+//     Function: TrackerNode::Constructor
+//       Access: Public
+//  Description:
+////////////////////////////////////////////////////////////////////
+TrackerNode::
+TrackerNode(ClientTrackerDevice *device) :
+  DataNode(device->get_device_name()),
+  _tracker(device)
+{
+  _transform_output = define_output("transform", TransformState::get_class_type());
+
+  _transform = TransformState::make_identity();
+
+  nassertv(device != (ClientTrackerDevice *)NULL);
+  ClientBase *client = device->get_client();
+  nassertv(client != (ClientBase *)NULL);
+  set_tracker_coordinate_system(client->get_coordinate_system());
+  set_graph_coordinate_system(CS_default);
+}
+
 ////////////////////////////////////////////////////////////////////
 //     Function: TrackerNode::Destructor
 //       Access: Public, Virtual

+ 1 - 0
panda/src/device/trackerNode.h

@@ -36,6 +36,7 @@
 class EXPCL_PANDA_DEVICE TrackerNode : public DataNode {
 PUBLISHED:
   TrackerNode(ClientBase *client, const string &device_name);
+  TrackerNode(ClientTrackerDevice *device);
   virtual ~TrackerNode();
 
   INLINE bool is_valid() const;