Skip to content

Commit 318e14e

Browse files
author
Lior Ramati
committed
Add additional get_*_frame convenience functions to matlab wrapper
1 parent 0c44e0c commit 318e14e

File tree

2 files changed

+40
-0
lines changed

2 files changed

+40
-0
lines changed

wrappers/matlab/frameset.m

+18
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,24 @@
3838
end
3939
infrared_frame = realsense.video_frame(ret);
4040
end
41+
function fisheye_frame = get_fisheye_frame(this, index)
42+
if (nargin == 1)
43+
ret = realsense.librealsense_mex('rs2::frameset', 'get_fisheye_frame', this.objectHandle);
44+
else
45+
validateattributes(index, {'numeric'}, {'scalar', 'real', 'integer'}, '', 'index', 2);
46+
ret = realsense.librealsense_mex('rs2::frameset', 'get_fisheye_frame', this.objectHandle, int64(index));
47+
end
48+
fisheye_frame = realsense.video_frame(ret);
49+
end
50+
function pose_frame = get_pose_frame(this, index)
51+
if (nargin == 1)
52+
ret = realsense.librealsense_mex('rs2::frameset', 'get_pose_frame', this.objectHandle);
53+
else
54+
validateattributes(index, {'numeric'}, {'scalar', 'real', 'integer'}, '', 'index', 2);
55+
ret = realsense.librealsense_mex('rs2::frameset', 'get_pose_frame', this.objectHandle, int64(index));
56+
end
57+
pose_frame = realsense.video_frame(ret);
58+
end
4159
function frameset_size = frame_count(this)
4260
frameset_size = realsense.librealsense_mex('rs2::frameset', 'size', this.objectHandle);
4361
end

wrappers/matlab/librealsense_mex.cpp

+22
Original file line numberDiff line numberDiff line change
@@ -463,6 +463,28 @@ void make_factory(){
463463
outv[0] = MatlabParamParser::wrap(thiz.get_infrared_frame(index));
464464
}
465465
});
466+
frameset_factory.record("get_fisheye_frame", 1, 1, 2, [](int outc, mxArray* outv[], int inc, const mxArray* inv[])
467+
{
468+
auto thiz = MatlabParamParser::parse<rs2::frameset>(inv[0]);
469+
// try/catch moved to outer framework
470+
if (inc == 1)
471+
outv[0] = MatlabParamParser::wrap(thiz.get_fisheye_frame());
472+
else {
473+
auto index = MatlabParamParser::parse<size_t>(inv[1]);
474+
outv[0] = MatlabParamParser::wrap(thiz.get_fisheye_frame(index));
475+
}
476+
});
477+
frameset_factory.record("get_pose_frame", 1, 1, 2, [](int outc, mxArray* outv[], int inc, const mxArray* inv[])
478+
{
479+
auto thiz = MatlabParamParser::parse<rs2::frameset>(inv[0]);
480+
// try/catch moved to outer framework
481+
if (inc == 1)
482+
outv[0] = MatlabParamParser::wrap(thiz.get_pose_frame());
483+
else {
484+
auto index = MatlabParamParser::parse<size_t>(inv[1]);
485+
outv[0] = MatlabParamParser::wrap(thiz.get_pose_frame(index));
486+
}
487+
});
466488
frameset_factory.record("size", 1, 1, [](int outc, mxArray* outv[], int inc, const mxArray* inv[])
467489
{
468490
auto thiz = MatlabParamParser::parse<rs2::frameset>(inv[0]);

0 commit comments

Comments
 (0)