Skip to content

Commit 0813199

Browse files
committed
Updated to master and moved to Freenect2DeviceImpl.
1 parent 14d701b commit 0813199

File tree

1 file changed

+72
-1
lines changed

1 file changed

+72
-1
lines changed

examples/protonect/src/libfreenect2.cpp

Lines changed: 72 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,11 @@ class Freenect2DeviceImpl : public Freenect2Device
8686
virtual Freenect2Device::ColorCameraParams getColorCameraParams();
8787
virtual Freenect2Device::IrCameraParams getIrCameraParams();
8888

89+
virtual std::string QuerySerialNumber();
90+
91+
virtual ColorCameraParams QueryColorCameraParams();
92+
virtual IrCameraParams QueryIrCameraParams();
93+
8994
int nextCommandSeq();
9095

9196
bool open();
@@ -376,11 +381,77 @@ Freenect2Device::ColorCameraParams Freenect2DeviceImpl::getColorCameraParams()
376381
return rgb_camera_params_;
377382
}
378383

379-
380384
Freenect2Device::IrCameraParams Freenect2DeviceImpl::getIrCameraParams()
381385
{
382386
return ir_camera_params_;
383387
}
388+
389+
std::string Freenect2DeviceImpl::QuerySerialNumber()
390+
{
391+
CommandTransaction::Result serial_result;
392+
command_tx_.execute(ReadSerialNumberCommand(nextCommandSeq()), serial_result);
393+
std::string new_serial = SerialNumberResponse(serial_result.data, serial_result.length).toString();
394+
return new_serial;
395+
}
396+
397+
Freenect2Device::ColorCameraParams Freenect2DeviceImpl::QueryColorCameraParams()
398+
{
399+
CommandTransaction::Result result;
400+
command_tx_.execute(ReadRgbCameraParametersCommand(nextCommandSeq()), result);
401+
RgbCameraParamsResponse *rgb_p = reinterpret_cast<RgbCameraParamsResponse *>(result.data);
402+
403+
rgb_camera_params_.fx = rgb_p->color_f;
404+
rgb_camera_params_.fy = rgb_p->color_f;
405+
rgb_camera_params_.cx = rgb_p->color_cx;
406+
rgb_camera_params_.cy = rgb_p->color_cy;
407+
408+
rgb_camera_params_.shift_d = rgb_p->shift_d;
409+
rgb_camera_params_.shift_m = rgb_p->shift_m;
410+
411+
rgb_camera_params_.mx_x3y0 = rgb_p->mx_x3y0; // xxx
412+
rgb_camera_params_.mx_x0y3 = rgb_p->mx_x0y3; // yyy
413+
rgb_camera_params_.mx_x2y1 = rgb_p->mx_x2y1; // xxy
414+
rgb_camera_params_.mx_x1y2 = rgb_p->mx_x1y2; // yyx
415+
rgb_camera_params_.mx_x2y0 = rgb_p->mx_x2y0; // xx
416+
rgb_camera_params_.mx_x0y2 = rgb_p->mx_x0y2; // yy
417+
rgb_camera_params_.mx_x1y1 = rgb_p->mx_x1y1; // xy
418+
rgb_camera_params_.mx_x1y0 = rgb_p->mx_x1y0; // x
419+
rgb_camera_params_.mx_x0y1 = rgb_p->mx_x0y1; // y
420+
rgb_camera_params_.mx_x0y0 = rgb_p->mx_x0y0; // 1
421+
422+
rgb_camera_params_.my_x3y0 = rgb_p->my_x3y0; // xxx
423+
rgb_camera_params_.my_x0y3 = rgb_p->my_x0y3; // yyy
424+
rgb_camera_params_.my_x2y1 = rgb_p->my_x2y1; // xxy
425+
rgb_camera_params_.my_x1y2 = rgb_p->my_x1y2; // yyx
426+
rgb_camera_params_.my_x2y0 = rgb_p->my_x2y0; // xx
427+
rgb_camera_params_.my_x0y2 = rgb_p->my_x0y2; // yy
428+
rgb_camera_params_.my_x1y1 = rgb_p->my_x1y1; // xy
429+
rgb_camera_params_.my_x1y0 = rgb_p->my_x1y0; // x
430+
rgb_camera_params_.my_x0y1 = rgb_p->my_x0y1; // y
431+
rgb_camera_params_.my_x0y0 = rgb_p->my_x0y0; // 1
432+
433+
return rgb_camera_params_;
434+
}
435+
436+
Freenect2Device::IrCameraParams Freenect2DeviceImpl::QueryIrCameraParams()
437+
{
438+
CommandTransaction::Result result;
439+
command_tx_.execute(ReadDepthCameraParametersCommand(nextCommandSeq()), result);
440+
DepthCameraParamsResponse *ir_p = reinterpret_cast<DepthCameraParamsResponse *>(result.data);
441+
442+
ir_camera_params_.fx = ir_p->fx;
443+
ir_camera_params_.fy = ir_p->fy;
444+
ir_camera_params_.cx = ir_p->cx;
445+
ir_camera_params_.cy = ir_p->cy;
446+
ir_camera_params_.k1 = ir_p->k1;
447+
ir_camera_params_.k2 = ir_p->k2;
448+
ir_camera_params_.k3 = ir_p->k3;
449+
ir_camera_params_.p1 = ir_p->p1;
450+
ir_camera_params_.p2 = ir_p->p2;
451+
452+
return ir_camera_params_;
453+
}
454+
384455
void Freenect2DeviceImpl::setColorFrameListener(libfreenect2::FrameListener* rgb_frame_listener)
385456
{
386457
// TODO: should only be possible, if not started

0 commit comments

Comments
 (0)