GB/T 28170.2-2021
基本信息
标准号:
GB/T 28170.2-2021
中文名称:信息技术 计算机图形和图像处理可扩展三维组件(X3D)第2部分:场景访问接口(SAI)
标准类别:国家标准(GB)
标准状态:现行
出版语种:简体中文
下载格式:.zip .pdf
下载大小:33251413
相关标签:
信息技术
计算机
图形
扩展
三维
组件
场景
访问
接口
标准分类号
关联标准
出版信息
相关单位信息
标准简介
GB/T 28170.2-2021.Information technology-Computer graphics and image processing-Extensible 3D (X3D)-Part 2: Scene access interface(SAI).
1范围
GB/T 28170.2规定了可通过浏览器获得的一组标准的服务,以便用户可在场景图运行时访问,相关访问设计用来支持与场景图的交互和修改。
2规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 28170.1-2011信息技术 计算 机图形和图像处理可扩 展三维组件(X3D)第1部分:体系结构和基础组件(ISO/IEC 19775-1:2004, IDT)
ISO/IEC 10646信息技术 通 用多八位编码字符集(UCS)[ Information technology- Universal multiple- Octet coded character set (UCS)]
ISO/IEC 14496-1:2010信息技术音视频对 象编码第1部分:系统( Information technology-Coding of audio-visual objects- Part 1 : Systems)
ISO/IEC 14772 1:1997信息技术计算机图形 与图像处理虚 拟现实建模语言第1部分:功能规范和UTF-8编码( Information technology- Computer graphics and image processing-The virtual reality modeling language- Part 1: Functional speification and UTF-8 encoding)
标准内容
ICS35.140
中华人民共和国国家标准
GB/T28170.2—2021/ISO/IEC19775-2:2015信息技术
计算机图形和图像处理
可扩展三维组件(X3D)
第2部分:场景访问接口(SAI)Information technology-Computer graphics and image processingExtensible 3D (X3D)-Part 2: Scene access interface(SAD)(1SO/IEC19775-2:2015:1DT)
2021-03-09发布
国家市场监督管理总局
国家标准化管理委员会
2021-10-01实施
GB/T 28170.2—2021/1S0/IEC 19775-2 :2015目
规范性引用文件
术讲和定义
绑定和协议依赖性
接口构建
标识符
相关的 U:RLs
执行模型
数据类型引用·
介绍和主题·
数据类型定义·
错误类型·
事件炎型·
服务引用
介绍和主题
创建连接
浏览器服务
执行上下文服务
场景服务
节点服务
城服务
路山服务
Proto类型服务
配置服务
脚本内容提供的服务
矩阵服务
致性和最低支持要求
介绍和主题
一致性
最低要求
附录A(规范性附录)
VRML脚木向后兼容性
-rrKaeerKAca-
++++++.++
GB/T28170.2—2021/IS0/IEC 19775-2:2015前言
GB/T28170≤信息技术计算机图形和图像处理可扩展维组件(X3D)》分为2个部分:第1部分:体系结构和基础组件;第2部分:场景访问接口(SAI):本部分为GB/T28170的第2部分。本部分接照(13/111一2009给出的见则起草本部分使用翻译法等同采用IS0/IEC19775-2:2015信息技术计算机图形和图像处理可扩展维组件(X3D)第2部分:场景访问接口(SAI)》。与本部分中规范性引用的国际文件有一致性对应关系的我国文件如下:GB/T13000—2010信息技术通用多八位编码字符集(UCS)(ISO/IEC10646:2003T)。
请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。本部分出全国信息技术标准化技术委员会(SAC/TC28)提出并归口。本部分起草单位:中国电子技术标准化研究院、深圳赛四信息技术有限公司、合肥高维数据技术有限公司、浙江大学、北京埋工大学、北京电影学院、南虚拟现实检测技术有限公司、中国移动通信有限公司研究院、湖南财政经济学院、深圳市学网科技股份有限公司、福建网龙订算机网络信息技术有限公司,歌尔股份有限公司,北京邮电大学,深圳市商汤科技有限公司,三星电了(中国)研发中心不部分主要起草人:马珊珊、干聪、田辉、王涌大、焦廉洁、刘越、来维游、王锐、杨不植、赵辰羽、孙光、周航军、胡翔、孙具民、刘德建、林志宏、林琛、钟开华、严小大、乔秀全、商彦磊、蒋慧、张志海、-rrKaeerKAca-
GB/T28170.2—2021/1S0/1EC:19775-2:2015引
X3D是一种用丁描述交T.式3D)对象和场景的文件格式和相关的访问服务:X3D旨在用丁T.联网、内联网和本地客户端系统:X3D还旨准成为集成3D图形和多媒体的通用交换格式。X3D可用于各种应用领域,例如工程和科学视化、多媒体演示、娱乐和教育标题、网贞和共享虚拟世界:本部分定义广用于与X3D场景交互的场景访问接口,X3I)场景来自场景内或外部程序r kaeerkAca
1范围
GB/T 28170.2—2021/IS0/IEC 19775-2:2015信息技术计算机图形和图像处理可扩展三维组件(X3D)
第2部分:场景访问接口(SAI)B/工28170的本部分规定了可通过浏览器然得的一组标准的服务,以使用户叫在场景图运行时访问,相关访问设计用来支持与场景图的交互和修改,2规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注Ⅱ期的引用文件,仅注Ⅱ期的版本适用于本义件。凡是不注Ⅱ期的引用文件.其最新版本(包括所有的修改单)适用于本文件。GB/T28170.1一2011信息技术计算机图形和图像处理可扩展维组件(X3D)第1部分:体系结构和基础组件(1S0/1EC19775-[:2004.1DT)ISO/IEC10646信息技术通用多八位编码字符集(UCS)Information1echnologyUniversalmultiple-Octet coded character set (UCS)IS0/IEC14496-1:2010信息技术音视频对像编码第1部分:系统(Inlormationtechnolog)Coding of audio visual objects-Partl:Systems)IS0/IEC14772-1:1997信息技术计算机图形与图像处理虚拟现实建模语言第1部分:功能规范和UTF8编码(Information technology-Computergraphicsand imageprocessing-Thevirtual rcality modeling languagr Part l: Functional spccification and L:TF-8 cncoding)ISO/IEC147722:2004:信息技术计算机图形与图像处理:虚拟现实建模语言第2部分:外部作接Information tcchnologyComputcrgraphics and imagcprocessingThcvirtual rcalitynodeling language (VRML)-Part 2:External authoring interface(EAD)1SO/1EC19776-1:2015信息技术计算机图形、图像处理和坏境数据表示扩充3D(X3D)编码第1部分:扩充置标语言(XML)编码InformationlechnologyComputergraphics,imageproccssing and cnvironmcntal data rcprcscntation-Extcnsible 3) (X3D) cncodings-Part 1:Exlensible markup language (XML) encoding)ISO/IEC197762:2015信息技术计算机图形、图像处理埋和环境数据表示扩充3D(X3D)编码第2部分:典型VRML(虚拟现实建模语言)编码InlormalionlechnologyComputergraphics,image processing and environmental data representation-Extensible 3D(X3D) encodings-Part 2:Classic VRMI cncoding-
ISO/IEC197763:2015信息技术计算机图形、图像处埋和环境数据表示扩充3D(X3D)编码第3部分:压缩二进制编码InformationlechnologyComputergraphics,imageprocessingandenvironmental datal representation-Extensible 3D (X3D) encodings—-Part 3:Compressed binary encodingj
IS(/IEC197771信息技术计算机图形、图像处理和环境数据衣示扩充3D(X3D)语言编码第|部分:ECMAScript[InformationtechnologyComputcrgraphicsandimagrprocessingExtcn+-riKaeerkAca-
GB/T 28170.2—2021/1S0/IEC: 19775-2:2015sible 3D (X3D) language bindings—Part 1:ECMAScript]ISO/IEC197772信息技术计管机图形图像处理和环境数热表示扩充3D(X3LD)讯言编码第2部分:Java[InformationiechnologyComputergraphiesand imageprocessingExtensible3D(X3D) language bindings—Part 2:Java)IETFRFC 4248lelnet URI方案,互联网标准跟踪协议(The telnetURI Schetne,Iniernet stand-ards track protocol)
W3C文档刘对象模型(DOM)2级核心规范1.0版[W3CDocumentobjec1model(DOM)level2core specification Version l.o3术语和定义
GB/T28170.1一2011界定的以及下列术语和定义适用于本文件3.1
错误errors
服务不成功而终止的原因。
文件file
存储在物理媒体「的或以数据流形式或以计算机程序内数据形式存在的相关数据的集合。3.3
仅初始化字段initializeOnlyfield定义为节点定义的一部分的字段,其值仅在定义节点时指定:3.4
input-capable field
可输入字段
仪输人字段或输人输出字段。
仅输入字段
inputoOnlyfield
定义为节点定义的一部分的宁段,该字段仅可接收事件,3.6免费标准下载网bzxz
输入输出字段inputouput field定义为节点定义的一部分的宁段.该宁段既可接收事件也可发送事件。3.7
此刻0W
用户所感知的当前时问,
可输出字段
:output-capable field
输入输出字段或仪输出字段。
仅输出字段
:outputOnly field
定义为节点定义的一部分的宁段,该宁段仅可发送事件。3.10
parameters
传递给服务的值。
-rrKaeerkAca-
公共接口
puhlic interface
本部分中赋予节点类型的正式定义。回复
returns
由服务调用返回的估:
运行时命名范围
run-time name scope
X3D文件中定义的名称适用和可见的范用。4概念
4.1介绍
GB/T28170.2—2021/IS0/IEC19775-2:2015本章述了本部分中的要概念,包描述浏览器的各种纠件及如何能实现与浏览器的交方。本章不定义单个交五。这些措述见第6章服务引用。表4.1列出了本章的主题,
表4.1主题
4.1介绍
4.2综述
4.2.1概述
与VRML脚本的兼容性
绑定利协设依赖件
接口构建
用广代码
包含节点
应用程序
浏览器
节点和节点生命周期
执行上下文
浏览器内部
浏览器到外部应川程序
■4.5.3.1综述
■4.5.3.2初始化
■4.5.3.3关闭
■4.5,3.4无可用的URL.
■4.5.3.5连接中断
-rrKaeerkAca-
GB/T 28170.2—2021/1S0/IEC 19775-2:2015表4.1(续)
1.6标认符
和美的URI.S
4.8执行模型
交互类型综述
事件模型评估顺序
内部交
允许交互
浏览器交互
事件响应
更新场景图
异步活动
监控场景图中的变化
川广代码生命周期
4.8.3.7.1综述
-4.8.3.7.2
4.8.3.7.3
4.8.3.7.4
输人输出字殿和包含节点
执行环境和安全件
4.8.4外部交4
- 4.8.4.1
允许交互
浏览器交五
更新场景图
监控场景图中的变化
■4.8.4.5同步多个应用程序
4.8.5服务保证
·表A.1主题
表1.2在节点生命周期期问允许的字段访问的能力允许的活动节点的字段交互
4.2综述
4.2.1概述
当用希望通过使用客代码与X31)场景图交互时,无论该用是作为在G13/28170.1一2011中脚本组件29中定义的一个脚本节点,或者是来白丁外部应用程序,均应使用本部分中定义的场景创作接口(SAI)。该接口是一个操作X3L)场景图的协议,而不是场景图本身的部分。本部分目在对所有能由外部应用程序经该接口执行的动作提供种讲言中立的表示。对特定讲言的绑定在ISO/1EC19777-1和IS0/IEC:19777-2中进行定义。SA1形成了一个通用的接口.可从外部应用程序或从场景图内部通过脚本节点米操作浏览器和场景图。似是,为外部应用程序编写的代码不能立即作为脚本使用。这两种环境对丁场景图的访问和交五有着完全不同的要求和能力,本部分提供了个单的、统,的编程接口和取决于代码发现自身所处环境条件的约束。从概念1米说,SAI允许五种类型的X3D场景访问:4
-rrKaeerkAca-
一访问浏览器的功能:
GB/T 28170.2—2021/IS0/IEC 19775-2:2015接收浏览器操作的通知,如无法访问的网址、启动和关闭:一将事件发送到场景中可输入的节点字段;读取场景中可输出节点宁段发送的最后一个值:一当事件改变场景中节点字段的侦时可获得通知:4.2.2与IS0/IEC14772的兼容性
如果X3D浏览器希望符合ISO/1EC4772-1:1997的要求,则浏览器应支持在附录A中\VRMI脚本向后莱容性”中定义的事件模型和语义·并支持(G3/T28170.1一2011所定义的功能。这种支持只应在处理符合ISO/IEC147721:1997的文件时才会被使用。如果X3D浏览器希望合ISO/IEC147722:2004的要求.则浏览器应使用下列规则来判断内容的有效性:
a)如果用代码通过EAI访问浏览器.则只成川载IS0/1EC11772-2:2004中定义的VRMI.文件。如果用户代码正在通过EAI访问浏览器.那么加载符合本部分要求的文件应是一个误;
b)如果用户代码通过本部分中定义的外部交互所提供的能力访问浏览器,则只应加载G3/T28170.1一2011中定义的X3D文件,如果用户代码正在通过SAI访问浏览器.那么加载符合ISO/IEC147721:1997的文件应是一个错误:4.3绑定和协议依赖性
实现依赖是根据请言绑定或本部分中定义的服务的协议编码进行定义的,如果某服务被定义为实现依赖的话,那么假如要实现时,每个绑定和编码都需要指定如何实现该服务:对这些服务的绑定和编码可在该规范中定义它们白己的实现依懒部分。4.4接口构建
4.4.1综述
在X3D浏览器币有四个可使用SAI服务进行访问的主要数据集合:浏览器,关于当前川载场景的元数据、场景图中的节点和节点巾的字段。定义和规范是以服务的形式来构造的:X3D浏览器公开了一组允许外部应用程序与之交五的服务,为了描述这些概念,定义了一些术语:4.4.2用户代码
任何使用本部分定义的服务的代码部被认为是用户代码:用户代码可存在丁场景图中或浏览器外。只应使用不部分提供的服务,而非测览器实现特定的服务。此外,这些服务既不是为浏览器编写不地节点扩展而设计的,也不是针对其使用的,浏览器可提供自己的专用程序接口来实现不属于本部分的本地扩展。如果代码使用专用扩展,就本部分而言,不应将其视为用户代码,4.4.3包含节点
包含节点是场景图中负责表小希参与内部交五的用户代码的节点(见4.8.3内部交五),用户代码的生命周期应完全出包含节点来控制。当包含节点处丁激活状态时.用户代码也为激活状态:当包含节点被册删除且不再被视为如(13/128170.1一2011巾1.1.2.5对象生命周期定义的激活状态时.该节点所包含的用户代码应被终止:用户代码不能通过保持刘其包含节点的引用来延长包含节点的生命周期。浏览器是包含节点何吋不再处于激活状态的最终仲裁者。5
KaeerkAca-
GB/T28170.2—2021/1S/1EC19775-2:2015不要求在包含节点及其用广代码之间:对成:谱言绑定可充许:个用心代码实例在包含节点的多个实例之间共亨。
4.4.4应用程序
应用程序是外部过程,不是X3D浏览器的隐式部分。该应用程序应浏览器的请求,以某种形式连接至X3D浏览器:成用程序既不属于GB/T28170.1一2011中图1中定义的X3D浏览器的组成部分,也不属于(13/T28170.1一2011中4.4.8.3执行模型定义的执行模型的组成部分,应用程序可处于另一台米白X3[)浏览器的机器「。应用程序可负责创建一个嵌人在该应用程序中的,或名附差在已经运行的浏览器实例上的新浏览器实例(例如,网员上的小程序)。4.4.5会话
会话定义用户代码和X31)浏览器之间单个连接的生命周期,一个浏览器可同时服务多个会话(例如,一个场景中的多个脚本节点)。一个应用程序包含与多个浏览器的多个单独的会话,但一个脚本节点不应如此。外部应用程序和多个X3D浏览器之问同时有多个会话是允许的。然而,独立的实现可能会对此类多个同时会话设置些限制,
会话不是本部分的可实现部分。它纯粹是一个概念机制,用户可通过它米请求服务。它可能在浏览器和外部应用程序之间建立任何连接之前就存在,或者与浏览器连接请求同时建立。4.4.6浏览器
浏览器是个有效X3L)场景图的基本村装机制(这是时间推进的而不是存储在磁盘上的文件形式的)。由于它包含了整个场景图.它还提供了一组最小的核心能力.用于在一个粗糙的级别「动态操纵场景图。此场景图可能包含最多一个活跃laycrSct节点,该节点应是此场景图的根节点(见GB/T28170.12011中4.3.2根节点)。场景中包含的使用内联节点(或通过具他方式)导人的仆何其他LayerSet节点都应忽略
用可能会在他们的机器上同时运行很多X3D浏览器。因此.每个浏览器成由会话巾的唯标识符米表示,对单个浏览器实例的多个请求,该标识符应完全相同。这是为了确保访问一个浏览器实例的两个应用程序可以一种明确的方式共亨信息。任何需要使用浏览器功能的操作部应使用浏览器标识符标识服务请求。4.4.7场景
场景表示单个X31)场景图和所有关于该场景图的信息。这个场景是一个X31)文件的程序化等价物。它可包含节点、路由、原型声明,导人和导出以及一个有效的X3D)文件可能包含的所有信总。在任何给定的时问,浏览器可包含一个或多个场景。例如,一个场景使用Inline节点来包含另一个场景。在浏览器中,场景不必是处丁激活或名运行状态的:用户构造一个未附加在测览器实例上的新的场景,然后程序化地填充诸如节点和路由之类的信息。这个场景可随后被直接传递到个道用程序。例如用于发布源文件的打印程序,或名用于替换浏览器中的当前场景。4.4.8节点和节点生命周期
节点是在场景图中与元素交互.的最小单元。节点与GB/T28170.1—2011中定义的X3D节点相同。·个节点可作为个单元从场景图巾删除、存储,然后在之后的某个时间重新插入到相同会话中的另一个位置,而不会产生不利影响,每个节点都由唯一的标识符米定义,该标识符对于会话是唯一的。也就是说,单个浏览器可能同时6
KaeerkAca-
GB/T28170.2—2021/IS0/IEC: 19775-2:2015服务多个成用程序,因此所有节点标识符在该次会话的周期单都是唯且不变的。这允许两个外部成用程序可明确地在它们之间共亨数据·并儿仍然允许其他外部应用程序使用该共亨数据向浏览器发出服务请求。
SAI中的大部分操作都是从获取节点的引用开始的,获取节点的引用有很多种方法。可使用DE构造来命名引用·并使用适当的服务来获最,或者可从某个作意交节点遍历场景图来狄得:一日获得了引用,就可访问该节点的所有宁段,们是不一定要读取或写人,包插仅初始化字段。由于输人输出字段川能是隐式读取和写入的,因此川使用字段名或者sel和_changel修饰符来访问这些字段。节点引用伴随差节点的生命周期,在此期间兵各不同的功能。生命周期可表示为:a)创建:节点首先山浏览器内部实例化.所有字段值都设置为默认值;h)设置:根据需要,字段值从默认值史改为定义的初始值;c)实现:该节点参与场景图或/和脚本编写:d)处置:该节点不再是场景图的部分:并且在脚本中不再保留对它的可用,读取和写人的宁段访问取决于节点的状态。该状态和功能在表4.2中定义。表4.2在节点生命周期期间允许的字段访问功能字段类型
仪初始化字段
仪输人字段
议输出字段
输人输出宁段
可读/可写
可读/可写
可读/可写
从设置到实现状态的转换可以是隐式的或显式的:存在服务请求,以使用户正式发布设置已经完成的通知,从而节点可完成所需的任何内部构适。由于用的操作,转换也可能是隐式的,当用对节点引用做了除设置学段值之外的具他征何操作,此节点将转损到实现状态。示例:用户创建了一个Box节点,设置了字段大小,创建一个Shap节点然后立即将Box添加到Shape节点,此操作将使Box节点的状态变为Realized状态,并在设状态中保留Slhape节点。节点标识符也用米表示一个空节点,一个空的SFNodc或MFNor字段值都用空值米表示,对丁空的MFNode字段,可用字段值应为空:4.4.9字段
各个字段在节点内定义。虽然无法直接操作节点,但字段是白接操作单个属性的方法,如衣4.2所示。
不可能将节点属性当做独立于节点本身的实体古接加以操级(即字段不存在于包含节点之外)。字段类型和对丁各个字段的访问是山GB/T28170.12011定义的。每个字段指定一个字段标识符。但该标识符并非唯的,并且需要个节点标识符加上学段标识符来指定与之交互的特定字段。当访问一个疗段时,用户应获得整个字段的标识符,过服务定义,将所有字段隐式处理为可读和可写。使用标志指示该字段能否在该时间点上及时读取或写入(依赖于表4.2巾所述的牛命周期的节点状态)。此状态可能会随差节点生命周期的推进时间而改变。例如,一个处于非激活状态的节点的仅初始化字段可能是写的,但是一日该节点插人到场景图中,它就不再是可写的:这种规定有助丁希塑围绕第三方浏览器程序化构建场景的制作工具和用户。在会话过程中任何时候,字段部是可读并可写的。用户代码可注师和注销,以接收当字段值发生变化时的通知。在注册过程中,用户代码可提供一个标记,该标记将随事件的数据值一起返回。此标记可-riKacerKAca-
GB/T 28170.2—2021/1S0/IEC: 19775-2:2015被用代码用于在事件不是隐式唯的情况下唯标识此事件,标记不需要与服务请求起传递·开且可留作应用程序接口内部实现的一部分保存。被应用程序引用到的节点的所有可输出字段都能被读取。读取值是该宁段发送的最后二个值,或者如果没有发送任何事件,则是该字段类型的默认值。所读取的数据特定丁该字段的字段类型,并被格式化,以适合所用的语言或协议。4.4.10执行上下文
执行「下文是运行时语义,等价于在G3/T28170.12011中4.1.7运行时命名范国所描述的名称范用。它提供了一种包含内部交亏代码并为具加防火墙的方式,这种方式与命名空问在支件格式中提供的限制类似。例如,当一个Proto实例中的脚本添加一个R(儿TE时,该路出被添加到该proto内,而不是添加到-股场景中
场景是执行「下文的派生类型。当内部交五请求当前执行1下义时,返回一个场景对象,然后,用户代码可检查该执行「下文是否为完整场景的一个实例,并通过将其转化为对应的派生奖型(如果可用时)。
4.5事件
4.5.1概念
仁何用绕X3D场景图的短暂数据使用部是通过事件来完成的,应用程序川注册从X3D场景图中接收事件,并川发起新的市件,事件被认为是短暂的,只有在特定的行为发生时才生:市件不应被存储,也不应被交付给邯些在事件发牛时并术对该事件表示兴趣的各方:示例:一个在加载后才与浏览器连接的应用程序不应交付lnitializt事件,4.5.2浏览器内部
应用程序可将值写入字段或从字段中读取值,在X3D)浏览器内部表示并标记时问戳之前,此值不会成为事件:浏览器与成用程序的边界是事件停止的位置,事件不能从X3I)浏览器外部存在,也就是说,应用程序无法插入事件级联巾。可向应用程序通知事件,发起新事件,但是当通知事件时.在浏览器内阻止当前时间戳事件级联的处理时,不能处现和传递事件。允许记录事件以用于分析月的,在创建级联之前不会生成事件,如果内部交五直接写入刃一个节点的可输出宁段,则不会生成任何亦件因此不会形成件级联的一部分。如果内部交写人包含节点的川输人字段,则如果该字段是来自其他地方的RO儿TE的主题,则形成其有写入值的事件:4.5.3浏览器到外部应用程序
4.5.3.1综述
浏览器川通过白已的一系列件直接与外部应用程序通信。这些事件用丁指示浏览器的状态或一些异步问题。可用的事件的数量和类型将依赖于实现。至少,遵循本部分的所有实现都应提供以下事件,
应保证从浏览器到外部应用程序的事件传递4.5.3.2初始化
初始化事件用于指示浏览器已经在初始化过程中运行个场景(浏览器己经加载了世界,就在它即将发布其第一个与时间相关的事件之前)。此时,节点标识符将从场景的gctVode服务中获得(见6.4.7 getNocle)。
riKaeerkAca-
小提示:此标准内容仅展示完整标准里的部分截取内容,若需要完整标准请到上方自行免费下载完整标准文档。