1

私は次の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

私が書いたように、1 つのオブジェクトは、そのクラス プロパティとして他のオブジェクトの配列を持ちます。

これを C コードとして書き直し、MEX で使用しようとしています。私の質問は次のとおりです。配列 foos のさまざまな要素にアクセスするにはどうすればよいですか? API 関数 mxGetProperty については知っています。この関数を使用すると、各配列エントリのプロパティ (obj.foos(i).a など) にアクセスできますが、オブジェクト全体にはアクセスできません (obj.foos(i) が必要です)。ただし、メンバー関数を呼び出すには、オブジェクト全体 (mxArray * として) が必要です。

これを行う方法はありますか?

ありがとう

4

1 に答える 1