Spec-Zone.ru › Octave 8

15.3.4 Поиск свойств

: h = findobj () ¶
: h = findobj (prop_name, prop_value, …) ¶
: h = findobj (prop_name, prop_value, "-logical_op", prop_name, prop_value) ¶
: h = findobj ("-property", prop_name) ¶
: h = findobj ("-regexp", prop_name, pattern) ¶
: h = findobj (hlist, …) ¶
: h = findobj (hlist, "flat", …) ¶
: h = findobj (hlist, "-depth", d, …) ¶

Находит графические объекты с указанными свойствами.

При вызове без аргументов возвращает все графические объекты, начиная с корневого объекта (0) и включая все его потомки.

Простейший способ сузить результаты:

findobj (prop_name, prop_value)

который возвращает дескрипторы всех объектов, у которых свойство с именем prop_name имеет значение prop_value. Если указано несколько пар свойство/значение, то возвращаются только объекты, удовлетворяющие всем условиям (эквивалентно -and).

Поиск можно ограничить набором определённых объектов и их потомков, передав дескриптор или набор дескрипторов hlist в качестве первого аргумента.

Глубину иерархии объектов для поиска можно ограничить с помощью аргумента "-depth". Пример поиска только через три поколения потомков:

findobj (hlist, "-depth", 3, prop_name, prop_value)

Указание глубины d равной 0 ограничивает поиск набором объектов, переданных в hlist. Глубина 0 также эквивалентна аргументу "flat". Значение глубины по умолчанию — Inf, что включает всех потомков.

Можно использовать определённый логический оператор между парами prop_name, prop_value. Поддерживаемые логические операторы: "-and", "-or", "-xor", "-not". Пример кода для нахождения всех объектов figure и axes:

findobj ("type", "figure", "-or", "type", "axes")

Объекты также могут быть сопоставлены, сравнивая значение свойства с регулярным выражением, при этом возвращаются значения свойств, которые соответствуют regexp (prop_value, pattern).

Наконец, можно найти объекты, имеющие определённое имя свойства, с помощью опции "-property". Например, код для нахождения объектов со свойством "meshstyle":

findobj ("-property", "meshstyle")

Примечание по реализации: поиск включает только объекты с видимыми дескрипторами (HandleVisibility = "on"). Обратитесь к findall для поиска всех объектов, включая скрытые.

См. также: findall, allchild, get, set.

: h = findall () ¶
: h = findall (prop_name, prop_value, …) ¶
: h = findall (prop_name, prop_value, "-logical_op", prop_name, prop_value) ¶
: h = findall ("-property", prop_name) ¶
: h = findall ("-regexp", prop_name, pattern) ¶
: h = findall (hlist, …) ¶
: h = findall (hlist, "flat", …) ¶
: h = findall (hlist, "-depth", d, …) ¶

Находит графические объекты, включая скрытые, с заданными свойствами.

Возвращаемое значение h — список дескрипторов найденных графических объектов.

findall выполняет тот же поиск, что и findobj, но включает скрытые объекты (HandleVisibility = "off"). Полная документация представлена в findobj.

См. также: findobj, allchild, get, set.

© 1996–2022 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v7.2.0/Searching-Properties.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API