Я делаю графический интерфейс с руководством Matlab.Я размещаю точки с помощью impoint и использую addNewPositionCallback, чтобы иметь возможность обновлять свой «список точек».Одним из аргументов, переданных моей функции обновления, которую я предоставляю в качестве обратного вызова, является объект «дескрипторы».Но Matlab передает это по значению, поэтому, когда вызывается обратный вызов, у меня есть объект handles, но это устаревшая версия.Я хотел бы иметь что-то вроде указателя на объект дескрипторов.
Или более общий: я хотел бы получить доступ к объекту «дескрипторов» где-то в функции, где у меня его нет в качестве параметра.
Редактировать: Итак, у меня есть функция обратного вызова, которая выглядит следующим образом:
function updatePosition(pos, hObject, handles)
, которую я добавляю как обратный вызов, как это:
addNewPositionCallback(testh,@(pos) updatePosition(pos, hObject, handles));
И у меня есть список точек в ручках, handles.pointlist
.Он должен содержать 5 точек, но когда у меня есть вызов updatePosition для первой точки, список содержит только одну точку: дескрипторы, похоже, не обновляются, а просто имеют копию с более раннего момента.