9 const char* fnames[] = {
"rotation",
"translation" };
10 mxArray* cell = mxCreateStructMatrix(1, 1, 2, fnames);
17 const char* fnames[] = {
"width",
"height",
"ppx",
"ppy",
"fx",
"fy",
"model",
"coeffs" };
18 mxArray* cell = mxCreateStructMatrix(1, 1, 8, fnames);
31 const char* fnames[] = {
"data",
"noise_variances",
"bias_variances"};
32 mxArray* cell = mxCreateStructMatrix(1, 1, 3, fnames);
39 auto data_ptr =
static_cast<double*
>(mxGetData(data_cell));
40 for (
int y = 0;
y < 3; ++
y)
for (
int x = 0;
x < 4; ++
x) data_ptr[
y + 3*
x] =
val.data[
y][
x];
41 mxSetField(cell, 0,
"data", data_cell);
67 const char* fnames[] = {
"translation",
"velocity",
"acceleration",
"rotation",
"angular_velocity",
"angular_acceleration",
"tracker_confidence",
"mapper_confidence" };
68 mxArray* cell = mxCreateStructMatrix(1, 1, 8, fnames);
83 const char* fnames[] = {
"min",
"max",
"step",
"def" };
84 mxArray* cell = mxCreateStructMatrix(1, 1, 4, fnames);
96 ret.
min_x = MatlabParamParser::parse<int>(mxGetField(cell, 0,
"min_x"));
97 ret.
min_y = MatlabParamParser::parse<int>(mxGetField(cell, 0,
"min_y"));
98 ret.
max_x = MatlabParamParser::parse<int>(mxGetField(cell, 0,
"max_x"));
99 ret.
max_y = MatlabParamParser::parse<int>(mxGetField(cell, 0,
"max_y"));
104 const char* fnames[] = {
"min_x",
"min_y",
"max_x",
"max_y" };
105 mxArray* cell = mxCreateStructMatrix(1, 1, 4, fnames);
122 size_t len = var.size();
124 mxArray* vec = mxCreateCellMatrix(1, len);
129 auto cells = mxCreateCellMatrix(1, 2);
134 *
static_cast<idx_wrap_t::type*
>(mxGetData(idx_cell)) = static_cast<idx_wrap_t::type>(
i);
135 mxSetCell(cells, 0, dl_cell);
136 mxSetCell(cells, 1, idx_cell);
137 mxSetCell(vec,
i, cells);
154 return traits_trampoline::from_internal<T>(&internal_p);
158 auto cells = mxCreateCellMatrix(1, 2);
159 auto handle_cell = mxCreateNumericMatrix(1, 1, mxUINT64_CLASS, mxREAL);
160 auto handle_ptr =
static_cast<uint64_t*
>(mxGetData(handle_cell));
163 auto own_cell = mxCreateNumericMatrix(1, 1, mxUINT64_CLASS, mxREAL);
164 auto own_ptr =
static_cast<uint64_t*
>(mxGetData(own_cell));
169 *own_ptr =
reinterpret_cast<uint64_t>(
new std::shared_ptr<rs2_stream_profile>(
val));
171 else *own_ptr =
reinterpret_cast<uint64_t>(
nullptr);
173 mxSetCell(cells, 0, handle_cell);
174 mxSetCell(cells, 1, own_cell);
195 auto *outp =
static_cast<uint64_t*
>(mxGetData(cell));
199 *outp =
reinterpret_cast<uint64_t>(inptr);
217 template <> mxArray* MatlabParamParser::wrap_array<rs2::vertex>(
const rs2::vertex* var,
size_t length)
219 using wrapper_t = mx_wrapper<float>;
231 using wrapper_t = mx_wrapper<float>;
static mxArray * wrap(T &&var)
static T parse(const mxArray *cell)
static mxArray * wrap(rs2::region_of_interest &&val)
static mxArray * wrap(T &&var)
static void destroy(const mxArray *cell)
Quaternion used to represent rotation.
static T parse(const mxArray *cell)
unsigned __int64 uint64_t
static rs2::region_of_interest parse(const mxArray *cell)
static mxArray * wrap(T &&val)
Cross-stream extrinsics: encodes the topology describing how the different devices are oriented...
3D vector in Euclidean coordinate space
void rs2_frame_add_ref(rs2_frame *frame, rs2_error **error)
typename::boost::move_detail::remove_reference< T >::type && move(T &&t) BOOST_NOEXCEPT
Motion device intrinsics: scale, bias, and variances.
GLenum GLuint GLenum GLsizei length
void rs2_release_frame(rs2_frame *frame)
static mxArray * wrap(T &&var)
static void destroy(const mxArray *cell)
static T parse(const mxArray *cell)
static std::enable_if<!is_basic_type< T >::value &&!traits_trampoline::use_cells< T >::value, mxArray * >::type wrap_array(const T *var, size_t length)