Область просмотра

В AnyLogic вся структура агента задается на одной графической диаграмме. Это позволяет видеть в одном окне запущенной модели все элементы ее структуры, а также анимацию, элементы сбора и визуализации данных и т.д. И таким образом пользователь имеет возможность в любой момент времени анализировать состояние всей модели в целом, имея перед глазами одно окно - окно презентации этой модели. Но в случае сложных моделей, агенты которых содержат большое количество элементов, может возникнуть другое неудобство: все элементы агента могут просто физически не поместиться внутрь рамки модели, которая будет отображена в окне презентации во время выполнения модели.  

AnyLogic предоставляет в распоряжение пользователей специальный элемент для решения этой проблемы - область просмотра. С помощью этого элемента вы можете выделить на диаграмме типа агента некоторые области, содержащие логически обособленные группы элементов или участки диаграммы. Задав такие области, вы сможете легко переключаться между ними во время выполнения модели с помощью специальных средств навигации, что позволит быстро переходить к тому или иному участку диаграммы агента. При этом в окне презентации запущенной модели будут отображаться те элементы агента, которые попали в заданную вами ранее и сделанную в текущий момент активной область просмотра.

С помощью области просмотра вы можете, например, разнести на диаграмме различные группы элементов в различные области. И при необходимости переключаться между ними в режиме выполнения модели: 

Демо модель: View Area

 Чтобы задать область просмотра

  1. Перетащите элемент  Область просмотра из палитры  Презентация в то место диаграммы, куда вы хотите ее поместить.
  2. Вы увидите на диаграмме значок якоря этой области просмотра и оранжевый прямоугольник. С помощью якоря обозначается левый верхний угол области просмотра, а прямоугольник задает участок диаграммы, который будет отображаться при переключении на область просмотра во время создания или выполнения модели:

  3. Размер области просмотра по умолчанию совпадает с размером рамки модели. Чтобы изменить размер области, выберите якорь этой области просмотра в графическом редакторе и перетащите мышью маркер, лежащий на той границе области, которую вы хотите передвинуть. Вы также можете указать размеры области просмотра в секции Местоположение и размер панели Свойства, введя новые значения размеров в полях Ширина и Высота

Свойства

Основные

Имя – Имя области просмотра. Это имя будет использоваться для идентификации элемента и доступа к нему из кода

Отображать имя – Если опция выбрана, то имя области будет отображаться в графическом редакторе.

Исключить – Если опция выбрана, то область будет исключена из модели.

Заголовок – Здесь вы можете задать заголовок для области просмотра. Он будет обозначать эту область в списке областей, открываемом по нажатию кнопки панели инструментов Области просмотра в режиме редактирования модели и Показать область... в режиме запуска модели соответственно. 

Местоположение и размер

X – x-координата якоря области просмотра.

Y – y-координата якоря области просмотра.

Ширина – Ширина области просмотра (в пикселах).

Высота – Высота области просмотра (в пикселах).

Как переключаться между областями просмотра

Области просмотра используются как для навигации по графическому редактору во время создания модели, так и для навигации по окну презентации во время выполнения модели. Обратите внимание, что при переключении на область просмотра ее содержимое будет автоматически масштабировано таким образом, чтобы уместиться внутрь рамки модели. К примеру, если размер области просмотра меньше рамки модели, то при переключении на данную область просмотра масштаб содержимого области увеличится.

 Чтобы перейти к другой области просмотра в режиме создания модели

  1. Щелкните мышью в графическом редакторе, чтобы сделать его активным.
  2. Щелкните по кнопке панели инструментов Области просмотра  и выберите из выпадающего списка, к какой именно области просмотра вы хотите перейти.

 Чтобы перейти к другой области просмотра в режиме выполнения модели

  1. Щелкните правой кнопкой мыши в области отрисовки окна презентации, выберите пункт контекстного меню Область и затем выберите из списка, к какой именно области просмотра вы хотите перейти
    Или же щелкните по кнопке панели инструментов Показать область...  и выберите из выпадающего списка, к какой именно области просмотра вы хотите перейти (эта кнопка принадлежит секции панели инструментов Вид, и возможно, чтобы она стала видна, вам нужно будет вначале включить отображение этой секции панели инструментов).

При желании вы можете также добавлять свои собственные элементы презентации, по щелчку на которых будет производиться переход к той или иной области просмотра. В этом случае вы должны будете написать следующий код в соответствующем поле (Действие в случае элемента управления и Действие по щелчку в случае фигуры презентации):

имяОбластиПросмотра.navigateTo();

Области просмотра могут использоваться не только для навигации по презентационной диаграмме одного типа агентов, но и для переключения между диаграммами разных агентов. Пусть у нас есть агент верхнего уровня Main, в который вложена популяция агентов people. Чтобы перейти с презентации агента верхнего уровня на область просмотра personAreaName агента номер 124, вы можете написать:

people(123).personAreaName.navigateTo();

и наоборот, чтобы перейти на уровень выше из вложенного агента на презентацию агента, в который он вложен (в нашем случае - тип агента Main), нужно написать:

main.mainAreaName.navigateTo();

Функции

Переход к области просмотра

Функция

Описание

void navigateTo()

Осуществляет переход к области просмотра.

Местоположение области просмотра

Функция

Описание

double getX()

Возвращает X-координату области просмотра.

double getY()

Возвращает Y-координату области просмотра.

void setX(double x)

Задает новую X-координату области просмотра.

Параметр: x - значение новой X-координаты.

void setY(double y)

Задает новую Y-координату области просмотра.

Параметр: y - значение новой Y-координаты.

Размер области просмотра

Функция

Описание

double getHeight()

Возвращает высоту области просмотра.

double getWidth()

Возвращает ширину области просмотра.

void setHeight(double height)

Задает высоту области просмотра.

Параметр:    height - значение высоты области просмотра.

void setWidth(double width)

Задает ширину области просмотра.

Параметр:  width - значение ширины области просмотра.

Заголовок области просмотра

Функция

Описание

String getTitle()

Возвращает заголовок области просмотра (заголовок отображается в списках Области просмотра в режиме создания модели и Показать область... в режиме выполнения модели).

void setTitle(String title)

Задает заголовок области просмотра (заголовок отображается в списках Области просмотра в режиме создания модели и Показать область... в режиме выполнения модели).

Параметр:
title - заголовок области просмотра.


См. также

Рамка

 Перемещение фигуры

 Изменение размера фигуры

           Справочник классов: Класс ViewArea