Encapsulation of libdc1394 initialization, handles, etc. More...
#include <Robots/LoBot/io/LoFireWireBus.H>
Classes | |
class | dc_node_list |
class | raw1394_handle |
Public Member Functions | |
const raw1394handle_t & | handle () const |
Return the raw 1394 bus handle. | |
int | num_cameras () const |
Return the number of cameras currently connected to the 1394 bus. | |
const nodeid_t & | get_camera_node (int i) const |
Return the camera node corresponding the the i-th camera on the bus. | |
const nodeid_t & | operator[] (int i) const |
void | release_camera_nodes () |
~FireWireBus () | |
Destroy 1394 bus handle, camera nodes, etc. | |
Friends | |
class | singleton< FireWireBus > |
Encapsulation of libdc1394 initialization, handles, etc.
This class provides a wrapper around libdc1394's handles, camera nodes, bus initialization functions, and so on. It is implemented as a singleton so that any other part of Lobot/Robolocust can access it conveniently.
Ideally, this wouldn't be a singleton because there could be multiple FireWire buses on the host system. But for the purposes of the Robolocust project, this amount of abstraction is more than sufficient.
Definition at line 83 of file LoFireWireBus.H.
lobot::FireWireBus::~FireWireBus | ( | ) |
Destroy 1394 bus handle, camera nodes, etc.
Definition at line 73 of file LoFireWireBus.C.
const nodeid_t& lobot::FireWireBus::get_camera_node | ( | int | i | ) | const [inline] |
Return the camera node corresponding the the i-th camera on the bus.
Definition at line 126 of file LoFireWireBus.H.
Referenced by operator[]().
const raw1394handle_t& lobot::FireWireBus::handle | ( | ) | const [inline] |
Return the raw 1394 bus handle.
Definition at line 120 of file LoFireWireBus.H.
int lobot::FireWireBus::num_cameras | ( | ) | const [inline] |
Return the number of cameras currently connected to the 1394 bus.
Definition at line 123 of file LoFireWireBus.H.
const nodeid_t& lobot::FireWireBus::operator[] | ( | int | i | ) | const [inline] |
Return the i-th camera node using the subscript operator rather than an explicit function call.
Definition at line 130 of file LoFireWireBus.H.
References get_camera_node().
void lobot::FireWireBus::release_camera_nodes | ( | ) | [inline] |
Camera nodes can be released after the camera devices have been initialized. This allows clients to free up memory associated with these nodes if they feel they won't set camera parameters (or call other functions that require the camera nodes) during the remainder of their lives.
NOTE: This method should not be called without due consideration has been given to the matter. That is: call it only if you're really sure you know what you're doing.
Definition at line 141 of file LoFireWireBus.H.