Перейти к содержанию

Modeller Region

Введение

Мы позиционируем SMath Studio WYSIWYG-редактором (What You See Is What You Get — «что видишь, то и получаешь»). Modeller Region — определённо один из ключевых компонентов, реализующих этот подход. Это дополнение к SMath Studio, доступное через Менеджер расширений:

менеджер расширений с выбранным дополнением Modeller Region

Основы

После установки дополнения Modeller Region становится доступен через меню Вставка:

меню «Вставка» с выделенным пунктом Modeller

После добавления новой области требуется задать выходную переменную. Может быть полезно вычислить эту переменную после самой области. Обратите внимание: значение 0 означает, что данные не отрисовываются:

пустая область Modeller с переменной вывода

Modeller Region — это просто рабочая область. Чтобы заполнить её интерактивными фигурами, её нужно настроить. Такой настроенный объект мы называем шаблоном (Template). Каждый шаблон — это вектор-строка с несколькими параметрами внутри. Все шаблоны должны быть собраны внутри одной функции sys(), как показано ниже:

определение шаблона с именем и матрицей пути

В простейшем варианте можно задать имя шаблона и его путь. Путь — это матрица с двумя столбцами: парами координат точек. Это полностью аналогично тому, как это поддерживается в Plot Region:

прямоугольник, построенный по матрице пути

После настройки шаблонов их нужно связать с Modeller Region, где они будут использоваться. Это можно сделать через контекстное меню:

контекстное меню области с привязкой переменной Templates

После этого справа в Modeller появится фигура (Shape), и при наведении на неё будет показана подсказка с именем фигуры:

палитра фигур с шаблоном Rectangle

Это всё, что нужно для начала работы. Теперь можно перетаскивать фигуры из палитры справа на холст Modeller:

перетаскивание фигуры из палитры на холст

После добавления шаблонов проверьте выходную переменную. Она содержит полное описание фигур, отрисованных внутри Modeller, и вы можете использовать эти данные как угодно в рамках своего расчёта:

нарисованные фигуры и получившаяся матрица вывода

Наиболее интересные части этих данных:

  • Столбец №1: идентификатор шаблона, использованного для создания фигуры;
  • Столбец №2: X координата фигуры;
  • Столбец №3: Y координата фигуры;
  • Столбец №4: ширина фигуры;
  • Столбец №5: высота фигуры;
  • Столбец №6: определяет, активна ли фигура (в фокусе);
  • Столбец №8: уникальный идентификатор фигуры;