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

Camera1394 Features class. More...

#include <features.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 features.h.


Member Typedef Documentation

typedef int Features::state_t [private]

camera1394::Camera1394_* state values

Definition at line 70 of file features.h.


Constructor & Destructor Documentation

Features::Features ( dc1394camera_t *  camera)

Constructor

Parameters:
cameraaddress of DC1394 camera structure.

Definition at line 124 of file features.cpp.

Features::~Features ( ) [inline]

Definition at line 65 of file features.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 257 of file features.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 397 of file features.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 458 of file features.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 features.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 features.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 189 of file features.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 548 of file features.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 579 of file features.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 614 of file features.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 641 of file features.cpp.


Member Data Documentation

dc1394camera_t* Features::camera_ [private]

current camera

Definition at line 106 of file features.h.

dc1394featureset_t Features::feature_set_ [private]

that camera's feature set

Definition at line 107 of file features.h.

previous Config settings

Definition at line 108 of file features.h.


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


camera1394
Author(s): Jack O'Quin, Ken Tossell, Patrick Beeson, Nate Koenig, Andrew Howard, Damien Douxchamps, Dan Dennedy
autogenerated on Sat Dec 28 2013 16:50:11