Группа фигур используется для группировки фигур презентации. С помощью динамических свойств группы фигур (X, Y, Поворот, и т.п.) вы можете передвигать группу фигур и поворачивать ее вокруг опорной точки. Сама опорная точка группы фигур на анимации не отображается.
Вы можете группировать вместе и трехмерные фигуры.
Чтобы удалить фигуры из группы
Когда вы добавите фигуру в группу фигур, то вместо точки начала координат презентации с координатами (0,0) роль начала координат для фигур группы (а точнее, для выражений их динамических свойств) станет играть опорная точка группы. Такое свойство группы может быть использовано для того, чтобы сдвинуть начало координат для определенной части фигур, отображаемых на презентации.
Имя – Имя группы фигур. Имя используется для идентификации и обращения к группе из кода.
Исключить – Если опция выбрана, то группа фигур будет исключена из модели.
Отображается на верхнем агенте – Если опция выбрана, то группа фигур будет видна на презентации типа агента, в который будет вложен данный агент.
Значок – Если опция выбрана, то группа фигур будет считаться частью значка типа агента.
Блокировать
– Если опция выбрана, то группа фигур будет считаться
заблокированной
и не будет реагировать на щелчки мыши. Таким образом, вы не
сможете выбрать заблокированную фигуру в графическом редакторе до тех
пор, пока вы не снимете с нее блокировку.
Обычно это требуется, когда у вас есть какой-то фоновый рисунок,
используемый как подложка для анимации, и вы хотите исключить
возможность случайного редактирования этого фонового рисунка при
рисовании фигур поверх него.
Видимость – Здесь указывается, будет ли группа фигур отображаться на анимации во время исполнения модели. Выберите да или нет, используя элемент управления. Если вам нужно, чтобы видимость динамически изменялась или зависела от каких-либо условий, вы можете указать здесь выражение, задающее видимость группы фигур. Это выражение будет динамически вычисляться во время исполнения модели. Оно должно возвращать логическое (булевское) значение. Группа отображается в том случае, когда указанное выражение возвращает истинное значение, в противном случае фигура не видна.
Уровень – Уровень, на котором находится этот элемент.
X – x-координата опорной точки группы.
Y – y-координата опорной точки группы.
Z – z-координата опорной точки группы.
Поворот Z – Угол поворота по оси X (в плоскости XY), в радианах или градусах.
Поворот X – Угол поворота по оси X (в плоскости YZ), в радианах.
Поворот Y – Угол поворота по оси X (в плоскости XZ), в радианах.
Масштаб по оси X – Здесь вы можете указать выражение, возвращающее коэффициент масштабирования фигур группы по оси X.
Масштаб по оси Y – Здесь вы можете указать выражение, возвращающее коэффициент масштабирования фигур группы по оси Y.
Масштаб по оси Z – Здесь вы можете указать выражение, возвращающее коэффициент масштабирования фигур группы по оси Z.
* Указав выражения для Масштаба по оси X, Масштаба по оси Y и в некоторых случаях Масштаба по оси Z , вы сможете определять масштаб группы фигур динамически во время выполнения модели.
Количество – Здесь указывается, какое количество экземпляров группы будет создано (целочисленное значение). Если вы оставите это поле пустым, будет создана только одна группа фигур.
Действие по щелчку – Код, который будет выполняться при каждом щелчке пользователя мышью по фигуре во время выполнения модели. Если в точке щелчка несколько фигур наслаиваются друг на друга, действие должно быть задано для той фигуры, которая находится на самом верху.
Действие при отрисовке – Код, который будет выполняться перед каждой новой отрисовкой группы в окне модели.
Отображать имя – Если опция выбрана, то имя группы будет отображаться в графическом редакторе.
Вы
можете динамически изменять свойства группы и входящих в нее фигур
во время работы модели с помощью программного интерфейса класса
ShapeGroup.
Функция |
Описание |
double getX() double getY() double getZ() |
Возвращает X(Y, Z) координату группы (а именно, координату ее опорной точки). |
void setX(double x) void setY(double y) void setZ(double z) |
Задает новую X (Y, Z) координату группы. |
void setPos(double x, double y) |
Задает новые координаты группы. Z-координата остается без изменений.
Параметры: |
void setPos(double x, double y, double z) |
Задает новые координаты группы.
Параметры: |
Функция |
Описание |
int size() |
Возвращает количество фигур в группе. |
java.lang.Object get(int i) |
Возвращает фигуру с заданным индексом.
Параметры: |
int indexOf(java.lang.Object shape) |
Возвращает индекс указанной фигуры в этой группе или -1, если эта группа не содержит эту фигуру.
Параметры: |
java.util.List<java.lang.Object> getShapes() |
Возвращает коллекцию фигур в группе. |
ShapeGroup getGroup() |
Возвращает группу, которая содержит указанную фигуру. |
Функция |
Описание |
void add(Shape shape) |
Добавляет фигуру в группу. Вам нужно убедиться, что эта фигура не принадлежит какой-либо другой группе.
Параметры: |
void add(Camera3D camera) |
Добавляет в группу элемент Камера. Вам нужно убедиться, что эта камера не принадлежит какой-либо другой группе.
Параметры: |
void add(Light3D light) |
Добавляет в группу элемент Свет. Вам нужно убедиться, что этот источник света не принадлежит какой-либо другой группе.
Параметры: |
Функция |
Описание |
void insert(int index, Shape shape) |
Добавляет
в группу фигуру с указанным индексом, который задает порядок
расположения фигур по оси Z в 2D анимации. Вам нужно убедиться,
что эта фигура не принадлежит какой-либо другой группе. |
Функция |
Описание |
boolean remove(Shape shape) |
Пытается удалить фигуру из группы, возвращает false, если группа эту фигуру не содержит.
Параметры:
Возвращает: |
boolean remove(Camera3D camera) |
Пытается удалить элемент Камера из группы, возвращает false, если группа эту камеру не содержит.
Параметры:
Возвращает: |
boolean remove(Light3D light) |
Пытается удалить элемент Свет из группы, возвращает false, если группа не содержит данный источник света.
Параметры:
Возвращает: |
void clear() |
Удаляет все фигуры из группы. |
Функция |
Описание |
double getScaleX() double getScaleY() double getScaleZ() |
Возвращает масштаб группы по оси координат X (Y, Z). |
void setScaleX(double sx) void setScaleY(double sy) void setScaleZ(double sz) |
Задает масштаб группы по оси координат X (Y, Z). * если параметр равен 1, то группа сохраняет изначальный размер |
void setScale(double sx, double sy) |
Устанавливает масштаб группы по осям координат X и Y. * если параметр равен 1, то группа сохраняет изначальный размер |
void setScale(double s) |
Устанавливает одинаковый масштаб по всем трем осям координат.
Параметр: * если параметр равен 1, то группа сохраняет изначальный размер |
Функция |
Описание |
double getRotation() |
Возвращает угол поворота группы в радианах, по часовой стрелке. |
double getRotationX() |
Возвращает угол поворота группы вокруг оси X, в радианах (по часовой стрелке, от Y к Z). |
double getRotationY() |
Возвращает угол поворота группы вокруг оси Y, в радианах (по часовой стрелке, от Z к X). |
double getRotationZ() |
Возвращает угол поворота группы вокруг оси Z, в радианах (по часовой стрелке , от X к Y). |
void setRotation(double rotation) |
Задает новый угол горизонтального поворота группы.
Параметр: |
void setRotationX(double rotationX) |
Задает поворот группы вокруг оси X (по часовой стрелке от Y к Z).
Параметр: |
void setRotationY(double rotationY) |
Задает поворот группы вокруг оси Y (по часовой стрелке от Z к X).
Параметр: |
void setRotationZ(double rotationZ) |
Задает поворот группы вокруг оси Z.
Параметр: |
Функция |
Описание |
boolean isVisible() |
Проверяет видимость группы. Если группа видна, то возвращает true; если нет, то false. |
void setVisible(boolean v) |
Задает видимость группы.
Параметр: |
Функция |
Описание |
boolean contains(double px, double py) |
Возвращает
true, если группа содержит точку с заданными координатами. |
Point randomPointInside() |
Возвращает произвольно выбранную точку внутри группы. Эта функция использует генератор случайных чисел агента, содержащего эту группу. (Сгенерирует исключение, если группа была создана из кода, в таком случае используйте функцию randomPointInside(Random rng)). |
Point randomPointInside (java.util.Random rng) |
Возвращает произвольно выбранную точку из площади группы. Эта функция использует заданный генератор случайных чисел. |