Spec-Zone.ru › Octave 9

Далее: Объекты графики, Выше: Структуры данных графики [Оглавление][Индекс]

15.3.1 Введение в структуры графики ¶

Функции графики используют указатели, которые относятся к классу graphics_handle, для обращения к структурам данных, которые управляют визуальным отображением. Указатель graphics handle может указывать на любой из нескольких различных типов базовых объектов. Эти объекты представляют собой сами структуры данных графики. Примитивные типы графических объектов: figure, axes, line, text, patch, scatter, surface, text, image, и light.

Каждый из этих объектов имеет функцию с тем же именем, и каждая из этих функций возвращает указатель graphics handle, указывающий на объект соответствующего типа.

Кроме того, существуют несколько функций, которые работают с свойствами графических объектов и также возвращают указатели. Это включает, но не ограничивается следующими функциями: Функции plot и plot3 возвращают указатель, указывающий на объект типа line. Функция subplot возвращает указатель, указывающий на объект типа axes. Функции fill, fill3, trimesh, и trisurf возвращают указатель, указывающий на объект типа patch. Функция scatter3 возвращает указатель на объект типа scatter. Функции slice, surf, surfl, mesh, meshz, pcolor, и waterfall каждая возвращает указатель типа surface. Функция camlight возвращает указатель на объект типа light. Функции area, bar, barh, contour, contourf, contour3, surfc, meshc, errorbar, quiver, quiver3, stair, stem, stem3 каждая возвращает указатель на сложную структуру данных, как документировано в источниках данных.

Графические объекты организованы иерархически:

1. Корневой объект возвращается функцией groot (исторически эквивалентен указателю 0). Другими словами, get (groot) возвращает свойства корневого объекта.

2. Под корнем находятся объекты figure.

3. Под объектами figure находятся объекты axes или hggroup.

4. Под объектами axes или hggroup находятся объекты line, text, patch, scatter, surface, image, и light.

Можно пройти по этому иерархическому дереву, запросив свойства "parent" и "children" графических объектов.

Графические указатели можно отличить от указателей функций (см. Указатели функций) с помощью функции ishghandle. ishghandle возвращает true, если её аргумент является указателем на графический объект. Кроме того, объект figure или axes можно проверить соответственно с помощью isfigure или isaxes. Для проверки на определённый тип графического указателя, например, объект patch или line, используйте isgraphics. Более специфичные тестовые функции возвращают true только в том случае, если аргумент является одновременно графическим указателем и имеет правильный тип (figure, axes, указанный тип объекта).

Команды get и set используются для получения и установки значений свойств графических объектов. Кроме того, команда get может использоваться для получения имён свойств.

Например, свойство "type" графического объекта, на который указывает графический указатель h, может быть отображено так:

get (h, "type")

Свойства и их текущие значения можно получить в виде структуры, используя s = get (h), где h — указатель на графический объект. Если нужны только имена свойств и допустимые значения (только для радио-свойств), можно использовать set (h).

Например:

h = figure ();
get (h, "type")
⇒ ans = figure
set (h)
⇒
        alphamap:
        beingdeleted:  [ {off} | on ]
        busyaction:  [ cancel | {queue} ]
        buttondownfcn:
        clipping:  [ off | {on} ]
        closerequestfcn:
        color:
        colormap:
        createfcn:
        currentaxes:
        deletefcn:
        dockcontrols:  [ {off} | on ]
        filename:
        graphicssmoothing:  [ off | {on} ]
        handlevisibility:  [ callback | off | {on} ]
        ...

Использование get и set подробно описано в get, set.

: res = isprop (obj, "prop") ¶

Возвращает true, если prop является свойством объекта obj.

obj также может быть массивом объектов, в этом случае res будет логическим массивом, указывающим, имеет ли каждый указатель свойство prop.

Для построения графиков obj является указателем на графический объект. В противном случае obj должен быть экземпляром класса. isprop сообщает, определяет ли класс свойство, но разрешения Access или ограничения видимости (Hidden = true) могут предотвратить использование программистом.

См. также: get, set, properties, ismethod, isobject.

Далее: Объекты графики, Выше: Структуры данных графики [Оглавление][Индекс]

© 1996–2023 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/v9.2.0/Introduction-to-Graphics-Structures.html

Spec-Zone.ru

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