Узлы используют VRML и типы данных виртуального мира X3D, чтобы задать объекты и типы данных, которые могут появиться в полях узла и событиях.
Этот раздел объясняет эти полевые типы данных и типы классов данных.
Продукт Simulink® 3D Animation™ обеспечивает интерфейс между MATLAB® и сценами виртуальной реальности и окружением Simulink. С этим интерфейсом можно установить и получить значения полей узла сцены. Работа с этими значениями требует, чтобы вы изучили отношение между типами данных виртуального мира и соответствующими типами данных MATLAB. Следующая таблица иллюстрирует типы данных виртуального мира и как они преобразованы в и от типов MATLAB.
Для подробного описания полей VRML обратитесь к Стандарту VRML97.
Можно использовать команды MATLAB, чтобы считать и сохранить файлы X3D и сопоставить файлы X3D с моделями Simulink. Для получения дополнительной информации о поддержке X3D в Simulink 3D Animation см. Поддержку X3D.
Для получения информации о поддержанной спецификации X3D смотрите 19775-1:2013 ISO/IEC. Для получения информации о поддерживаемом кодировании X3D смотрите 19776-1.3:201x ISO/IEC и 19776-2.3:201x ISO/IEC.
Тип VRML | Описание | Тип Simulink 3D Animation |
---|---|---|
| TRUE или FALSE булева значения. |
|
| 32-битное, значение с плавающей точкой. |
|
| 32-битное значение целого числа со знаком. |
|
| Абсолютная или относительная временная стоимость. |
|
| Вектор из двух значений с плавающей точкой, которые вы обычно используете для 2D координат. Например, координаты текстуры. | Единый массив (1 2) |
| Вектор из трех значений с плавающей точкой, которые вы обычно используете для 3-D координат. | Единый массив (1 3) |
| Вектор из трех значений с плавающей точкой вы используете для спецификации цветов RGB. | Единый массив (1 3) |
| Вектор из четырех значений с плавающей точкой вы используете для определения координат вращения (x, y, z) оси плюс угол поворота вокруг той оси. | Единый массив (1-by-4) |
| Двумерный массив представлен последовательностью чисел с плавающей запятой. | массив uint8 (n m 3) |
| Представьте в виде строки в кодировании UTF-8. Совместимый с ASCII, позволяя вам использовать символы Unicode®. |
|
| Контейнер для узла. |
|
| Массив | Единый массив (n-1) |
| Массив |
|
| Массив | Единый массив (n-2) |
| Массив | Единый массив (n-3) |
| Массив | Единый массив (n-3) |
| Массив | Единый массив (n-4) |
| Массив |
|
| Массив |
|
Программное обеспечение Simulink 3D Animation может работать с различными типами данных MATLAB, преобразовывая их при необходимости:
Входные параметры для setfield
функция (и ее форма записи через точку) и Приемник VR и Исходные блоки VR, примите все значимые типы данных на входе. Оба преобразуют типы данных в естественные типы виртуального мира по мере необходимости. Типы данных включают logicals, целые числа со знаком и беззнаковое целое, одиночные игры, и удваивается.
getfield
функционируйте и его форма записи через точку возвращают их естественные типы данных согласно приведенной выше таблице.
Чтобы гарантировать обратную совместимость существующими моделями и приложениями, используйте Simulink 3D Animation
vrsetpref
функция, чтобы задать поддержку типов данных. Их имена следующие:
Свойство | Описание |
---|---|
| Задает |
| Задает |
| Задает |
Узел может содержать четыре класса данных: field
, exposedField
, eventIn
, и eventOut
. Эти классы задают поведение узлов, как узлы хранятся в памяти, и как они могут взаимодействовать с другими узлами и внешними объектами.
Класс данных о VRML | Описание |
---|---|
| Событие, которое может получить узел |
| Событие, которое может отправить узел |
| Частный член узла, содержа данные об узле |
| Общедоступный член узла, содержа данные об узле |
Обычно, eventIn
события соответствуют полю в узле. Поля узла не доступны снаружи узла. Единственным путем можно изменить их, при наличии соответствующего eventIn
.
Некоторые узлы имеют eventIn
события, которые не соответствуют никакому полю того узла, но обеспечивают дополнительную функциональность для него. Например, узел Преобразования имеет addChildren eventIn
. Когда это событие получено, дочерние узлы, которые передаются, добавляются к списку дочерних элементов данного, преобразовывают.
Вы используете этот тип класса для полей, которые отсоединены другим объектам.
Это событие отправляется каждый раз, когда значение соответствующего поля узла, которое позволяет отправлять события, изменяет свое значение.
Вы используете этот тип класса для полей, которые имеют эту функциональность.
Поле может быть установлено в особое значение в виртуальном мире 3D файл. Обычно поле является частным к узлу, и его значение может быть изменено, только если его узел получает соответствующий eventIn
. Важно изучить, что другие узлы или внешний авторский интерфейс не могут изменить поле.
Вы используете этот тип класса для полей, которые не отсоединены и не имеют eventOut
функциональность.
Этот мощный класс данных служит многим целям. Вы используете этот тип класса для полей, которые имеют оба eventIn
и eventOut
функциональность. Альтернативное имя соответствующего eventIn
всегда имя поля с set_
префикс. Имя eventOut
всегда имя поля с _changed
суффикс.
exposedField
класс задает как соответствующий eventIn
и eventOut
вести себя. Для всего exposedField
классы, когда событие имеет место, значение поля, изменяются с соответствующим изменением во внешнем виде сцены и eventOut
отправляется с новым значением поля. Эти изменения позволяют объединение в цепочку событий через многие узлы.
exposedField
класс доступен для скриптов, тогда как field
класс не.