Узлы используют 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
класс не.