コード例 #1
0
ファイル: features.cpp プロジェクト: zaclizer/camera1394
/** Reconfigure features for already open device.
 *
 *  For each supported feature that has changed, update the device.
 *
 *  @pre feature_set_ initialized
 *  @pre oldconfig_ has previous settings
 *
 *  @param newconfig [in,out] configuration parameters, may be updated
 *         to conform with device restrictions.
 *
 *  @post oldconfig_ settings updated
 */
void Features::reconfigure(Config *newconfig)
{
  updateIfChanged(DC1394_FEATURE_BRIGHTNESS,
                  oldconfig_.auto_brightness, &newconfig->auto_brightness,
                  oldconfig_.brightness, &newconfig->brightness);
  updateIfChanged(DC1394_FEATURE_EXPOSURE,
                  oldconfig_.auto_exposure, &newconfig->auto_exposure,
                  oldconfig_.exposure, &newconfig->exposure);
  updateIfChanged(DC1394_FEATURE_FOCUS,
                  oldconfig_.auto_focus, &newconfig->auto_focus,
 		  oldconfig_.focus, &newconfig->focus);
  updateIfChanged(DC1394_FEATURE_GAIN,
                  oldconfig_.auto_gain, &newconfig->auto_gain,
                  oldconfig_.gain, &newconfig->gain);
  updateIfChanged(DC1394_FEATURE_GAMMA,
                  oldconfig_.auto_gamma, &newconfig->auto_gamma,
                  oldconfig_.gamma, &newconfig->gamma);
  updateIfChanged(DC1394_FEATURE_HUE,
                  oldconfig_.auto_hue, &newconfig->auto_hue,
                  oldconfig_.hue, &newconfig->hue);
  updateIfChanged(DC1394_FEATURE_IRIS,
                  oldconfig_.auto_iris, &newconfig->auto_iris,
                  oldconfig_.iris, &newconfig->iris);
  updateIfChanged(DC1394_FEATURE_PAN,
                  oldconfig_.auto_pan, &newconfig->auto_pan,
 		  oldconfig_.pan, &newconfig->pan);
  updateIfChanged(DC1394_FEATURE_SATURATION,
                  oldconfig_.auto_saturation, &newconfig->auto_saturation,
                  oldconfig_.saturation, &newconfig->saturation);
  updateIfChanged(DC1394_FEATURE_SHARPNESS,
                  oldconfig_.auto_sharpness, &newconfig->auto_sharpness,
                  oldconfig_.sharpness, &newconfig->sharpness);
  updateIfChanged(DC1394_FEATURE_SHUTTER,
                  oldconfig_.auto_shutter, &newconfig->auto_shutter,
                  oldconfig_.shutter, &newconfig->shutter);
  updateIfChanged(DC1394_FEATURE_TRIGGER,
                  oldconfig_.auto_trigger, &newconfig->auto_trigger,
                  oldconfig_.trigger, &newconfig->trigger);
  // White balance has two component parameters: Blue/U and Red/V.
  updateIfChanged(DC1394_FEATURE_WHITE_BALANCE,
                  oldconfig_.auto_white_balance,
                  &newconfig->auto_white_balance,
                  oldconfig_.white_balance_BU, &newconfig->white_balance_BU,
                  oldconfig_.white_balance_RV, &newconfig->white_balance_RV);
  updateIfChanged(DC1394_FEATURE_ZOOM,
                  oldconfig_.auto_zoom, &newconfig->auto_zoom,
 		  oldconfig_.zoom, &newconfig->zoom);

  // reconfigure trigger class, if supported by this camera
  if (hasTrigger())
    trigger_->reconfigure(newconfig);

  strobe_->reconfigure(newconfig);

  // save modified values
  oldconfig_ = *newconfig;
}
コード例 #2
0
ファイル: TextEditor.cpp プロジェクト: josephzizys/CM
void TextEditorWindow::exportTrigger()
{
  if (hasTrigger())
    {
      TextBuffer* buf=getTextBuffer();
      String str=T("\n; ");
      str<<getTrigger()->toXml() << T("\n");
      buf->insertTextAtCursor(str);
      buf->colorizeAfterChange(CommandIDs::EditorPaste);
      buf->setFlag(EditFlags::NeedsSave);
    }
}
コード例 #3
0
ファイル: features.cpp プロジェクト: zaclizer/camera1394
/** Query and set all features for newly opened (or reopened) device.
 *
 *  @param newconfig [in,out] configuration parameters, updated
 *         to conform with device restrictions.
 *  @return true if successful
 *
 *  @post feature_set_ initialized, if successful
 *  @post oldconfig_ settings available, if successful
 */
bool Features::initialize(Config *newconfig)
{
  bool retval = true;

  // query all features for this device
  if (DC1394_SUCCESS != dc1394_feature_get_all(camera_, &feature_set_))
    {
      ROS_ERROR("could not get camera feature information");
      return false;
    }

  // validate and set configured value of each supported feature
  configure(DC1394_FEATURE_BRIGHTNESS,
            &newconfig->auto_brightness, &newconfig->brightness);
  configure(DC1394_FEATURE_EXPOSURE,
            &newconfig->auto_exposure, &newconfig->exposure);
  configure(DC1394_FEATURE_FOCUS,
            &newconfig->auto_focus, &newconfig->focus);
  configure(DC1394_FEATURE_GAIN,
            &newconfig->auto_gain, &newconfig->gain);
  configure(DC1394_FEATURE_GAMMA,
            &newconfig->auto_gamma, &newconfig->gamma);
  configure(DC1394_FEATURE_HUE,
            &newconfig->auto_hue, &newconfig->hue);
  configure(DC1394_FEATURE_IRIS,
            &newconfig->auto_iris, &newconfig->iris);
  configure(DC1394_FEATURE_PAN,
            &newconfig->auto_pan, &newconfig->pan);
  configure(DC1394_FEATURE_SATURATION,
            &newconfig->auto_saturation, &newconfig->saturation);
  configure(DC1394_FEATURE_SHARPNESS,
            &newconfig->auto_sharpness, &newconfig->sharpness);
  configure(DC1394_FEATURE_SHUTTER,
            &newconfig->auto_shutter, &newconfig->shutter);
  configure(DC1394_FEATURE_TRIGGER,
            &newconfig->auto_trigger, &newconfig->trigger);
  configure(DC1394_FEATURE_WHITE_BALANCE, &newconfig->auto_white_balance,
            &newconfig->white_balance_BU, &newconfig->white_balance_RV);
  configure(DC1394_FEATURE_ZOOM,
            &newconfig->auto_zoom, &newconfig->zoom);

  // set up trigger class, if supported by this camera
  if (hasTrigger())
    retval = trigger_->initialize(newconfig);

  retval = strobe_->initialize(newconfig);

  // save configured values
  oldconfig_ = *newconfig;
  return retval;
}