我有以下 Matlab“类设计”:
classdef foo
properties
a;
b;
end
methods
function obj = myFun(obj)
obj.a = 42; // some calculation takes place here
end
end
end
classdef bar
properties
foos; // this is going to be an array of foos
otherStuff;
end
methods
function obj = someFun(obj)
for i = 1:length(foos)
obj.foos(i) = obj.foos(i).myFun;
end
end
end
end
正如我所写的,一个对象将具有一组其他对象作为其类属性。
我正在尝试将其重写为 C 代码并将其与 MEX 一起使用。我现在的问题是:如何访问数组 foos 的不同元素?我知道 API 函数 mxGetProperty。使用此函数,我可以访问每个数组条目的属性(例如 obj.foos(i).a),但不能访问整个对象(我想要 obj.foos(i) )。但是,我需要整个对象(作为 mxArray *)才能调用成员函数。
任何想法如何做到这一点?
谢谢