Camera1394 Features class. More...
#include <featuresstereo.h>
Public Member Functions | |
Features (dc1394camera_t *camera) | |
bool | initialize (Config *newconfig) |
bool | isTriggerPowered () |
void | reconfigure (Config *newconfig) |
~Features () | |
Private Types | |
typedef int | state_t |
camera1394::Camera1394_* state values | |
Private Member Functions | |
void | configure (dc1394feature_t feature, int *control, double *value, double *value2=NULL) |
state_t | getState (dc1394feature_info_t *finfo) |
void | getValues (dc1394feature_info_t *finfo, double *value, double *value2) |
bool | hasMode (dc1394feature_info_t *finfo, dc1394feature_mode_t mode) |
bool | hasTrigger (void) |
bool | setMode (dc1394feature_info_t *finfo, dc1394feature_mode_t mode) |
void | setOff (dc1394feature_info_t *finfo) |
void | updateIfChanged (dc1394feature_t feature, int old_control, int *control, double old_value, double *value) |
void | updateIfChanged (dc1394feature_t feature, int old_control, int *control, double old_value, double *value, double old_value2, double *value2) |
Private Attributes | |
dc1394camera_t * | camera_ |
current camera | |
dc1394featureset_t | feature_set_ |
that camera's feature set | |
Config | oldconfig_ |
previous Config settings | |
boost::shared_ptr< Trigger > | trigger_ |
Camera1394 Features class.
Sets IIDC features from Config updates. Tracks values and ranges, modifying configured values to those supported by the device.
Definition at line 60 of file featuresstereo.h.
typedef int Features::state_t [private] |
camera1394::Camera1394_* state values
Definition at line 75 of file featuresstereo.h.
Features::Features | ( | dc1394camera_t * | camera | ) |
Constructor
camera | address of DC1394 camera structure. |
Definition at line 125 of file featuresstereo.cpp.
Features::~Features | ( | ) | [inline] |
Definition at line 65 of file featuresstereo.h.
void Features::configure | ( | dc1394feature_t | feature, |
int * | control, | ||
double * | value, | ||
double * | value2 = NULL |
||
) | [private] |
Configure a feature for the currently open device.
feature | desired feature number |
control | [in,out] pointer to control parameter (may change) |
value | [in,out] pointer to requested parameter value (may change depending on device restrictions) |
value2 | [in,out] optional pointer to second parameter value for white balance (may change depending on device restrictions). No second value if NULL pointer. |
The parameter values are represented as double despite the fact that most features on most cameras only allow unsigned 12-bit values. The exception is the rare feature that supports "absolute" values in 32-bit IEEE float format. Double can represent all possible option values accurately.
Definition at line 285 of file featuresstereo.cpp.
Features::state_t Features::getState | ( | dc1394feature_info_t * | finfo | ) | [private] |
Get current state of a feature from the camera.
finfo | pointer to information for this feature |
Definition at line 425 of file featuresstereo.cpp.
void Features::getValues | ( | dc1394feature_info_t * | finfo, |
double * | value, | ||
double * | value2 | ||
) | [private] |
Get feature values.
finfo | pointer to information for this feature |
value | [out] pointer where parameter value stored |
value2 | [out] optional pointer for second parameter value for white balance. Otherwise NULL. |
Definition at line 486 of file featuresstereo.cpp.
bool Features::hasMode | ( | dc1394feature_info_t * | finfo, |
dc1394feature_mode_t | mode | ||
) | [inline, private] |
Does this camera feature support a given mode?
finfo | pointer to information for this feature |
mode | DC1394 mode desired |
Definition at line 91 of file featuresstereo.h.
bool Features::hasTrigger | ( | void | ) | [inline, private] |
Does this camera support triggering?
Definition at line 106 of file featuresstereo.h.
bool Features::initialize | ( | Config * | newconfig | ) |
Query and set all features for newly opened (or reopened) device.
newconfig | [in,out] configuration parameters, updated to conform with device restrictions. |
Definition at line 140 of file featuresstereo.cpp.
bool Features::isTriggerPowered | ( | ) | [inline] |
Definition at line 69 of file featuresstereo.h.
void Features::reconfigure | ( | Config * | newconfig | ) |
Reconfigure features for already open device.
For each supported feature that has changed, update the device.
newconfig | [in,out] configuration parameters, may be updated to conform with device restrictions. |
Definition at line 203 of file featuresstereo.cpp.
bool Features::setMode | ( | dc1394feature_info_t * | finfo, |
dc1394feature_mode_t | mode | ||
) | [private] |
Set mode for a feature.
finfo | pointer to information for this feature |
mode | DC1394 mode desired |
Definition at line 576 of file featuresstereo.cpp.
void Features::setOff | ( | dc1394feature_info_t * | finfo | ) | [private] |
Set a feature Off.
finfo | pointer to information for this feature |
Definition at line 607 of file featuresstereo.cpp.
void Features::updateIfChanged | ( | dc1394feature_t | feature, |
int | old_control, | ||
int * | control, | ||
double | old_value, | ||
double * | value | ||
) | [private] |
Update a feature for the currently open device, if changed.
Normal version: for features with one value parameter.
feature | desired feature number |
old_control | previous control parameter setting |
control | [in,out] pointer to control parameter (may change) |
old_value | previous parameter value |
value | [in,out] pointer to requested parameter value (may change depending on device restrictions) |
Definition at line 642 of file featuresstereo.cpp.
void Features::updateIfChanged | ( | dc1394feature_t | feature, |
int | old_control, | ||
int * | control, | ||
double | old_value, | ||
double * | value, | ||
double | old_value2, | ||
double * | value2 | ||
) | [private] |
Update a feature for the currently open device, if changed.
Special version: for White Balance feature with two value parameters.
feature | desired feature number |
old_control | previous control parameter setting |
control | [in,out] pointer to control parameter (may change) |
old_value | previous parameter value |
value | [in,out] pointer to requested parameter value (may change depending on device restrictions) |
old_value2 | previous second parameter value |
value2 | [in,out] pointer to requested second parameter value (may change depending on device restrictions). |
Definition at line 669 of file featuresstereo.cpp.
dc1394camera_t* Features::camera_ [private] |
current camera
Definition at line 125 of file featuresstereo.h.
dc1394featureset_t Features::feature_set_ [private] |
that camera's feature set
Definition at line 126 of file featuresstereo.h.
Config Features::oldconfig_ [private] |
previous Config settings
Definition at line 127 of file featuresstereo.h.
boost::shared_ptr<Trigger> Features::trigger_ [private] |
Definition at line 113 of file featuresstereo.h.