エディターで開くと、Figure のコールバックを一時的に 内のネストされた/サブ関数に設定することによって、周回cameratoolbar
が行われていることがわかります。WindowButton*
cameratoolbar
私が行った 1 分間の斜め読みから判断すると、カメラの軌道自体はorbitPangca
、 を再帰的に呼び出す パン/ズーム関数を呼び出すことによって達成されますcameratoolbar
。この再帰ループは、ツールバー ボタンからのコールバックによって切り替えられるフラグによって制御されます。これらのフラグは、再帰ループの各反復の動作を変更します。
これが実際に当てはまる場合、プロットが周回している間、プログラムで制御できるソースからのコマンドをMatlabが受け入れていないことを意味します。ボタンを押しただけで反応します。これは、プログラムでモーションを停止したい場合、cameratoolbar
これを可能にするためにハックする必要があることを意味します-最も移植性の高いオプションではありません.
頭に浮かんだもう 1 つのアイデアは、どのコールバックが軌道に使用されているかを把握し、WindowButton*
そこに独自の関数を定義することです。幸運なことに、両方のコールバックが反復ごとに呼び出されるcameratoolbar
ように MathWorks が実装されているため、フラグをプログラムで制御できます。しかし -- これは自分でテストする必要があります。