Public Member Functions | Private Types | Private Member Functions | Private Attributes
Features Class Reference

Camera1394 Features class. More...

#include <featuresstereo.h>

List of all members.

Public Member Functions

 Features (dc1394camera_t *camera)
bool initialize (Config *newconfig)
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 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

Detailed Description

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.


Member Typedef Documentation

typedef int Features::state_t [private]

camera1394::Camera1394_* state values

Definition at line 70 of file featuresstereo.h.


Constructor & Destructor Documentation

Features::Features ( dc1394camera_t *  camera)

Constructor

Parameters:
cameraaddress of DC1394 camera structure.

Definition at line 124 of file featuresstereo.cpp.

Features::~Features ( ) [inline]

Definition at line 65 of file featuresstereo.h.


Member Function Documentation

void Features::configure ( dc1394feature_t  feature,
int *  control,
double *  value,
double *  value2 = NULL 
) [private]

Configure a feature for the currently open device.

Precondition:
feature_set_ initialized
Parameters:
featuredesired 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 268 of file featuresstereo.cpp.

Features::state_t Features::getState ( dc1394feature_info_t *  finfo) [private]

Get current state of a feature from the camera.

Precondition:
feature_set_ initialized for this camera
Parameters:
finfopointer to information for this feature
Returns:
current state ID

Definition at line 408 of file featuresstereo.cpp.

void Features::getValues ( dc1394feature_info_t *  finfo,
double *  value,
double *  value2 
) [private]

Get feature values.

Precondition:
feature_set_ initialized for this camera
Parameters:
finfopointer 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 469 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?

Precondition:
feature_set_ initialized for this camera
Parameters:
finfopointer to information for this feature
modeDC1394 mode desired
Returns:
true if mode supported

Definition at line 86 of file featuresstereo.h.

bool Features::initialize ( Config newconfig)

Query and set all features for newly opened (or reopened) device.

Parameters:
newconfig[in,out] configuration parameters, updated to conform with device restrictions.
Returns:
true if successful
Postcondition:
feature_set_ initialized, if successful
oldconfig_ settings available, if successful

Definition at line 137 of file featuresstereo.cpp.

void Features::reconfigure ( Config newconfig)

Reconfigure features for already open device.

For each supported feature that has changed, update the device.

Precondition:
feature_set_ initialized
oldconfig_ has previous settings
Parameters:
newconfig[in,out] configuration parameters, may be updated to conform with device restrictions.
Postcondition:
oldconfig_ settings updated

Definition at line 193 of file featuresstereo.cpp.

bool Features::setMode ( dc1394feature_info_t *  finfo,
dc1394feature_mode_t  mode 
) [private]

Set mode for a feature.

Precondition:
feature_set_ initialized for this camera
Parameters:
finfopointer to information for this feature
modeDC1394 mode desired
Returns:
true if mode set successfully

Definition at line 559 of file featuresstereo.cpp.

void Features::setOff ( dc1394feature_info_t *  finfo) [private]

Set a feature Off.

Precondition:
feature_set_ initialized for this camera
Parameters:
finfopointer to information for this feature

Definition at line 590 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.

Precondition:
feature_set_ initialized
oldconfig_ has previous settings
Parameters:
featuredesired feature number
old_controlprevious control parameter setting
control[in,out] pointer to control parameter (may change)
old_valueprevious parameter value
value[in,out] pointer to requested parameter value (may change depending on device restrictions)

Definition at line 625 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.

Precondition:
feature_set_ initialized
oldconfig_ has previous settings
Parameters:
featuredesired feature number
old_controlprevious control parameter setting
control[in,out] pointer to control parameter (may change)
old_valueprevious parameter value
value[in,out] pointer to requested parameter value (may change depending on device restrictions)
old_value2previous second parameter value
value2[in,out] pointer to requested second parameter value (may change depending on device restrictions).

Definition at line 652 of file featuresstereo.cpp.


Member Data Documentation

dc1394camera_t* Features::camera_ [private]

current camera

Definition at line 106 of file featuresstereo.h.

dc1394featureset_t Features::feature_set_ [private]

that camera's feature set

Definition at line 107 of file featuresstereo.h.

previous Config settings

Definition at line 108 of file featuresstereo.h.


The documentation for this class was generated from the following files:


camera1394stereo
Author(s): Joan Pau Beltran (author), Miquel Massot/miquel.massot@uib.cat (maintainer), Pep Lluis Negre/pl.negre@uib.cat (maintainer)
autogenerated on Mon Jan 6 2014 11:09:44