主要内容

虚拟世界的数据类型

节点使用VRML和X3D虚拟世界的数据类型来定义对象和类型的数据,可以出现在节点字段和事件。

本节将介绍这些字段的数据类型和数据类类型。

字段数据类型

万博1manbetx®3 d动画™MATLAB之间的产品提供了一个接口®和仿真软万博1manbetx件环境和虚拟现实场景。使用这个接口,您可以设置和获取现场节点字段值。使用这些值要求您了解虚拟世界之间的关系数据类型和相应的MATLAB数据类型。下表说明了虚拟世界数据类型和它们是如何转化为从MATLAB类型。

VRML字段的详细描述,请参阅VRML97标准。

您可以使用MATLAB命令来读取和保存X3D与仿真软件模型文件和关联X3D文件。万博1manbetx关于X3D的额外信息支持万博1manbetx万博1manbetx仿真软件3 d动画,请参阅X3D的万博1manbetx支持

支持X3D规范的信息,请参阅万博1manbetxISO / IEC 19775 - 1:2013。支持X3D编码的信息,请参阅万博1manbetxISO / IEC 19776 - 1.3 -:201xISO / IEC 19776 - 2.3 -:201x

VRML类型 描述 万博1manbetx仿真软件3 d动画类型

SFBool

布尔值true或false。

逻辑

SFFloat

32位浮点值。

SFInt32

32位带符号整数的值。

int32

SFTime

绝对的还是相对的时间价值。

SFVec2f

向量的两个浮点值通常用于二维坐标。例如,纹理坐标。

单一阵列(1×2)

SFVec3f

向量的三个浮点值,您通常使用三维坐标。

单一阵列(1×3)

SFColor

向量的三个浮点值使用RGB颜色规范。

单一阵列(1×3)

SFRotation

向量的四个浮点值用于指定旋转坐标(x,y,z)的一个轴+旋转角,轴。

单一阵列(1-by-4)

SFImage

二维数组由一系列浮点数表示。

uint8阵列(n-by-m-by-3)

SFString

utf - 8编码的字符串。兼容ASCII,允许您使用Unicode®字符。

字符串

SFNode

一个节点的容器。

vrnode

MFFloat

的数组SFFloat值。

单一阵列(n×1)

MFInt32

的数组SFInt32值。

int32阵列(n×1)

MFVec2f

的数组SFVec2f值。

单一阵列(n除以2)

MFVec3f

的数组SFvec3f值。

单一阵列(n-by-3)

MFColor

的数组SFColor值。

单一阵列(n-by-3)

MFRotation

的数组SFRotation值。

单一阵列(n-by-4)

MFString

的数组SFString值。

字符阵列(n×1)

MFNode

的数组SFNode值。

vrnode

万博1manbetx仿真软件3 d动画MATLAB软件能够处理各种各样的数据类型,将他们如果有必要:

  • 的输入setfield函数(和点符号的形式)和VR水槽和VR源块,接受所有有意义的输入数据类型。这两种数据类型转换成虚拟世界自然类型。的数据类型包括逻辑值、签署和无符号整数,单打和双打。

  • getfield函数及其点符号形式返回自然根据上表数据类型。

为了确保向后兼容现有的模型和应用程序,使用万博1manbetx仿真软件3 d动画vrsetpref函数定义的数据类型的支持。万博1manbetx他们的名字如下:

财产 描述

DataTypeBool

指定了布尔数据类型vrnode / setfieldvrnode / getfield。有效的值“逻辑”“字符”。如果设置为“逻辑”,虚拟世界布尔返回数据类型作为一个逻辑值。如果设置为“字符”,虚拟世界布尔返回数据类型“上”“关闭”

DataTypeInt32

指定了int32数据类型vrnode / setfieldvrnode / getfield。有效的值“int32”“双”。如果设置为“int32”,虚拟世界int32返回的数据类型int32。如果设置为“双”,虚拟世界int32返回的数据类型“双”

DataTypeFloat

指定了浮动数据类型vrnode / setfieldvrnode / getfield。有效的值“单一”“双”。如果设置为“单一”,虚拟世界浮动颜色数据类型(大多数虚拟世界的类型字段)返回“单一”。如果设置为“双”,虚拟世界浮动颜色返回的数据类型“双”

虚拟世界数据类类型

一个节点可以包含四类数据:,exposedField,eventIn,eventOut。这些类定义的行为节点,节点是如何存储在内存中,以及它们如何与其他节点和外部对象。

VRML数据类 描述

eventIn

一个节点可以接收事件

eventOut

一个节点可以发送事件

私有成员节点,节点数据

exposedField

一个公共节点成员,持有节点数据

eventIn

通常情况下,eventIn事件节点对应一个字段。节点字段不是从外访问节点。你可以改变它们的唯一方法就是通过相应的eventIn

一些节点eventIn事件不对应节点的任何领域,但提供额外的功能。例如,变换节点有一个addChildren eventIn。当收到这个事件,通过的子节点被添加到列表的孩子一个给定的变换。

你使用这个类类型字段暴露于其他对象。

eventOut

这个事件被发送时对应的节点字段的值,允许发送事件改变它的值。

你使用这个类类型字段,有这个功能。

一个字段可以设置为一个特定的值在虚拟世界中3 d文件。一般来说,节点和它的值的字段是私人可以改变只有在其节点接收相应eventIn。重要的是要理解其他节点或外部编辑界面不能改变。

你不使用这个类类型字段并没有公开eventOut功能。

exposedField

这个强大的数据类有许多目的。你都使用这个类类型字段eventIneventOut功能。选择相应的名称eventIn总是字段名的set_前缀。的名称eventOut总是字段名的_changed后缀。

exposedField类定义了相应的eventIneventOut的行为。对所有exposedField类,当一个事件发生时,字段值改变,现场出现相应的变化,和一个eventOut发送新的字段值。这些变化让事件的链接通过许多节点。

exposedField类都可以访问的脚本,而类不是。

相关的话题