US$1484.00 · In stock Delivery: <= 6 days. True-PDF full-copy in English will be manually translated and delivered via email. GB/T 28170.2-2021: Information technology - Computer graphics and image processing - Extensible 3D (X3D) - Part 2: Scene access interface(SAI) Status: Valid
Standard ID | Contents [version] | USD | STEP2 | [PDF] delivered in | Standard Title (Description) | Status | PDF |
GB/T 28170.2-2021 | English | 1484 |
Add to Cart
|
6 days [Need to translate]
|
Information technology - Computer graphics and image processing - Extensible 3D (X3D) - Part 2: Scene access interface(SAI)
| Valid |
GB/T 28170.2-2021
|
PDF similar to GB/T 28170.2-2021
Basic data Standard ID | GB/T 28170.2-2021 (GB/T28170.2-2021) | Description (Translated English) | Information technology - Computer graphics and image processing - Extensible 3D (X3D) - Part 2: Scene access interface(SAI) | Sector / Industry | National Standard (Recommended) | Classification of Chinese Standard | L81 | Word Count Estimation | 78,771 | Issuing agency(ies) | State Administration for Market Regulation, China National Standardization Administration |
GB/T 28170.2-2021: Information technology - Computer graphics and image processing - Extensible 3D (X3D) - Part 2: Scene access interface(SAI) ---This is a DRAFT version for illustration, not a final translation. Full copy of true-PDF in English version (including equations, symbols, images, flow-chart, tables, and figures etc.) will be manually/carefully translated upon your order.
Information technology - Computer graphics and image processing - Extensible 3D (X3D) - Part 2.Scene access interface(SAI)
ICS 35.140
L81
National Standards of People's Republic of China
Information Technology Computer Graphics and Image Processing
Scalable three-dimensional components (X3D)
Part 2.Scene Access Interface (SAI)
(ISO /IEC 19775-2.2015, IDT)
Released on 2021-03-09
2021-10-01 implementation
State Administration of Market Supervision and Administration
Issued by the National Standardization Management Committee
Table of contents
Foreword Ⅰ
Introduction Ⅱ
1 Scope 1
2 Normative references 1
3 Terms and definitions 2
4 Concept 3
4.1 Introduction 3
4.2 Summary 4
4.3 Binding and protocol dependencies 5
4.4 Interface construction 5
4.5 Event 8
4.6 Identifier 9
4.7 Related URLs 9
4.8 Execution Model 10
5 Data type reference 16
5.1 Introduction and topics 16
5.2 Data type definition 18
5.3 Error types 21
5.4 Event types 23
6 Service Reference 24
6.1 Introduction and topics 24
6.2 Create connection 28
6.3 Browser Service 29
6.4 Execution Context Service 40
6.5 Scene Service 47
6.6 Node Service 49
6.7 Domain Services 50
6.8 Routing Service 53
6.9 Proto Type Service 54
6.10 Configuration Service 56
6.11 Services provided by script content 58
6.12 Matrix Service 61
7 Consistency and minimum support requirements 62
7.1 Introduction and topics 62
7.2 Consistency 64
7.3 Minimum requirements 64
Appendix A (normative appendix) VRML script backward compatibility 71
Information Technology Computer Graphics and Image Processing
Scalable three-dimensional components (X3D)
Part 2.Scene Access Interface (SAI)
1 Scope
This part of GB/T 28170 specifies a set of standard services that can be obtained through a browser, so that users can run the scene graph
Access, related access is designed to support interaction and modification with the scene graph.
2 Normative references
The following documents are indispensable for the application of this document. For dated reference documents, only the dated version applies to this article
Pieces. For undated reference documents, the latest version (including all amendments) is applicable to this document.
GB/T 28170.1-2011 Information Technology Computer Graphics and Image Processing Scalable Three-dimensional Components (X3D) Part 1.
Architecture and basic components (ISO /IEC 19775-1.2004, IDT)
ISO /IEC 10646 Information Technology Universal Multi-octet Coded Character Set (UCS) [Informationtechnology-Universal
multiple-Octetcodedcharacterset(UCS)]
ISO /IEC 14496-1.2010 Information Technology Audio and Video Object Coding Part 1.System (Informationtechnology-
Codingofaudio-visualobjects-Part 1.Systems)
ISO /IEC 14772-1.1997 Information Technology Computer Graphics and Image Processing Virtual Reality Modeling Language Part 1.Function
Can standardize and UTF-8 encoding (Informationtechnology-Computergraphicsandimageprocessing-The
virtualrealitymodelinglanguage-Part 1.FunctionalspecificationandUTF-8encoding)
ISO /IEC 14772-2.2004 Information Technology Computer Graphics and Image Processing Virtual Reality Modeling Language Part 2.Foreign
Book Interface [Informationtechnology-Computergraphicsandimageprocessing-Thevirtualreality
modelinglanguage(VRML)-Part 2.Externalauthoringinterface(EAI)]
ISO /IEC 19776-1.2015 Information Technology Computer Graphics, Image Processing and Environmental Data Representation Extended 3D (X3D) Coding
Part 1.Extended Markup Language (XML) coding [Informationtechnology-Computergraphics, image
processing and environmentaldata representation-Extensible 3D (X3D) encodings-Part 1.
Extensiblemarkuplanguage(XML)encoding]
ISO /IEC 19776-2.2015 Information Technology Computer Graphics, Image Processing and Environmental Data Representation Extended 3D (X3D) Coding
Part 2.Typical VRML (Virtual Reality Modeling Language) coding [Informationtechnology-Computergraphics,
imageprocessingandenvironmentaldatarepresentation-Extensible3D(X3D) encodings-Part 2.
ClassicVRMLencoding]
ISO /IEC 19776-3.2015 Information Technology Computer Graphics, Image Processing and Environmental Data Representation Extended 3D (X3D) Coding
Part 3.Compressed binary coding [Informationtechnology-Computergraphics, imageprocessinganden-
vironmentaldatarepresentation-Extensible3D(X3D) encodings-Part 3.Compressedbinaryenco-
ding]
ISO /IEC 19777-1 Information Technology Computer Graphics, Image Processing and Environmental Data Representation Extended 3D (X3D) Language Coding
Part 1.ECMAScript[Informationtechnology-Computergraphicsandimageprocessing-Exten-
---Access the functions of the browser;
---Receive notifications of browser operations, such as unreachable URLs, startup and shutdown;
---Send the event to the node field that can be entered in the scene;
---Read the last value sent by the output node field in the scene;
---You can get a notification when the event changes the value of the node field in the scene.
4.2.2 Compatibility with ISO /IEC 14772
If the X3D browser wants to meet the requirements of ISO /IEC 14772-1.1997, the browser should support the "VRML
The event model and semantics defined in "Script Backward Compatibility", and support the functions defined in GB/T 28170.1-2011.This support only
It should be used when processing documents conforming to ISO /IEC 14772-1.1997.
If the X3D browser wants to meet the requirements of ISO /IEC 14772-2.2004, the browser should use the following rules to determine the content
Effectiveness.
a) If the user code accesses the browser through EAI, only the VRML file defined in ISO /IEC 14772-2.2004 should be loaded
Pieces. If the user code is accessing the browser through EAI, then loading a file that meets the requirements of this section should be a
error;
b) If the user code accesses the browser through the capabilities provided by the external interaction defined in this section, it should only be loaded
X3D file defined in GB/T 28170.1-2011.If the user code is accessing the browser through SAI, add
It should be an error to load documents that comply with ISO /IEC 14772-1.1997.
4.3 Binding and protocol dependencies
Implementation dependency is defined in terms of language binding or the protocol encoding of the service defined in this section. If a service is defined as real
If it is currently dependent, then if it is to be implemented, each binding and coding needs to specify how to implement the service.
The binding and coding of these services can define their own implementation-dependent parts in the specification.
4.4 Interface construction
4.4.1 Overview
In the X3D browser, there are four main data sets that can be accessed using the SAI service. browser, information about the currently loaded scene
Metadata, nodes in the scene graph, and fields in nodes. Definitions and specifications are constructed in the form of services. X3D browser is open
A set of services that allow external applications to interact with it. In order to describe these concepts, some terms are defined.
4.4.2 User code
Any code that uses the services defined in this section is considered user code. User code can exist in the scene graph or browser
outer. You should only use the services provided in this section, not the browser to achieve specific services. In addition, these services are neither written for the browser
The ground node is designed for expansion, but not for its use. The browser can provide its own special program interface to realize that does not belong to this part
Local extension. If the code uses a dedicated extension, it should not be regarded as user code for the purposes of this section.
4.4.3 Include nodes
Containing nodes are nodes in the scene graph that are responsible for representing user codes that want to participate in internal interactions (see 4.8.3 Internal Interactions). User Generation
The life cycle of the code should be completely controlled by the containing node. When the containing node is active, the user code is also active. Dang Bao
When the containing node is deleted and is no longer regarded as the activation state as defined in 4.4.2.5 object life cycle in GB/T 28170.1-2011, this section
The user code contained in the point should be terminated. User code cannot extend the life cycle of the containing node by keeping a reference to its containing node
period. The browser is the final arbiter that contains when the node is no longer active.
There is no requirement for a one-to-one correspondence between the containing node and its user code. Language binding allows an instance of user code to be included in the node
Shared between multiple instances.
4.4.4 Application
The application is an external process, not an implicit part of the X3D browser. The application connects in some form at the request of the browser
Connect to the X3D browser. The application is neither part of the X3D browser defined in Figure 1 of GB/T 28170.1-2011,
It is not part of the execution model defined in 4.4.8.3 of GB/T 28170.1-2011.Application can be in another
On a machine from the X3D browser. The application can be responsible for creating an embedded in the application, or attaching to an already running
A new browser instance on the browser instance (for example, a small program on a web page).
4.4.5 Session
The session defines the life cycle of a single connection between the user code and the X3D browser. A browser can serve multiple sessions at the same time (e.g.
For example, multiple script nodes in a scene).
An application can contain multiple separate sessions with multiple browsers, but a script node should not. External application
Multiple sessions with multiple X3D browsers at the same time are allowed. However, independent implementations may set up such multiple simultaneous sessions
Some restrictions.
The session is not an achievable part of this section. It is purely a conceptual mechanism through which users can request services. It may be browsing
The browser and the external application exist before any connection is established, or it is established at the same time as the browser connection request.
4.4.6 Browser
The browser is a basic encapsulation mechanism for effective X3D scene graphs (this is a time advance rather than a file format stored on disk
of). Since it contains the entire scene graph, it also provides a minimal set of core capabilities for dynamic manipulation at a coarse level
Scene graph. This scene graph may contain at most one active LayerSet node, which should be the root node of this scene graph (see
4.3.2 root node in GB/T 28170.1-2011). Any other items included in the scene that are imported using inline nodes (or through other means)
All other LayerSet nodes should be ignored.
Users may run many X3D browsers on their machines at the same time. Therefore, each browser should be uniquely identified in the session
Symbol to indicate. For multiple requests to a single browser instance, the identifier should be exactly the same. This is to ensure access to a browser instance
The two apps can share information in a clear way.
Any operation that requires the use of browser functions should use the browser identifier to identify the service request.
4.4.7 Scene
The scene represents a single X3D scene graph and all the information about the scene graph. This scene is the programmatic equivalent of an X3D file
Things. It can contain nodes, routes, prototype declarations, imports and exports, and all the information that a valid X3D file might contain. In office
At any given time, the browser can contain one or more scenes. For example, one scene uses the Inline node to contain another scene.
In the browser, the scene does not have to be active or running. The user can construct a new
And then programmatically fill in information such as nodes and routes. This scene can then be passed directly to a general program,
For example, it is used to publish the printing program of the source file, or used to replace the current scene in the browser.
4.4.8 Nodes and node life cycle
A node is the smallest unit of interaction with elements in the scene graph. The node corresponds to the X3D node defined in GB/T 28170.1-2011
with. A node can be deleted from the scene graph as a unit, stored, and then reinserted into the same session at a later time.
Another location without adverse effects.
Each node is defined by a unique identifier, which is unique to the session. In other words, a single browser may
Used by user code to uniquely identify this event when it is not implicitly unique. The mark does not need to be delivered with the service request, and
And can be saved as part of the internal implementation of the application program interface.
All outputable fields of the node referenced by the application can be read. The read value is the last value sent in the field, or
If no event is sent, it is the default value of the field type. The data read is specific to the field type of the field and is
Formalized to suit the language or agreement used.
4.4.10 execution context
The execution context is runtime semantics, which is equivalent to the name described in 4.4.7 runtime naming scope in GB/T 28170.1-2011
range. It provides a way to include internal interaction code and add a firewall to it. This way is related to the namespace in the file format.
The restrictions on supply are similar. For example, when a script in a Proto instance adds a ROUTE, the route is added to the proto,
Instead of adding to the general scene.
Scenario is a derived type of execution context. When internal interaction requests the current execution context, a scene object is returned. Then, use
The user code can check whether the execution context is an instance of the complete scene, and convert it to the corresponding derived type (if available
time cost).
4.5 Event
4.5.1 Concept
Any short-lived data usage around the X3D scene graph is done through events. Application can be registered from X3D scene graph
Receive events and initiate new events. The event is considered to be short-lived and only occurs when a specific behavior occurs. Event should not be saved
The reserve should not be delivered to those parties who did not express interest in the event at the time of the event.
Example. An application that connects to the browser after loading should not deliver the Initialize event.
4.5.2 Inside the browser
The application can write values to or read values from the field. Before the time stamp is represented and marked internally in the X3D browser, this value is not
Will become an event. The boundary between the browser and the application is where the event stops. The event cannot exist from outside the X3D browser; that is
Say, the application cannot be inserted into the event cascade. The application can be notified of events and initiate new events, but when the event is notified, the browser
When the current timestamp event is blocked within the cascade processing, the event cannot be processed and delivered. Allows logging of events for analysis purposes.
No event will be generated until the cascade is created. If the internal interaction is directly written into the outputable field of another node, no task will be generated.
Any event, so it will not form part of the event cascade. If the internal interaction is written into an inputable field containing a node, then if the field is
The theme of ROUTE from other places forms an event with a written value.
4.5.3 Browser to external application
4.5.3.1 Overview
The browser can directly communicate with external applications through its own series of events. These events are used to indicate the status of the browser or a
Some asynchronous issues. The number and types of events available will depend on the implementation. At a minimum, all implementations that follow this section should provide the following
event.
The event delivery from the browser to the external application should be guaranteed.
4.5.3.2 Initialization
The initialization event is used to indicate that the browser has run a scene during the initialization process (the browser has loaded the world, just in it
Just before the release of its first time-related event). At this point, the node identifier will be obtained from the scene's getNode service (see
6.4.7getNode).
The initialization event should be immediately generated in the browser and delivered to the application. The event is considered asynchronous. That is, the event
The delivery (and any implementation-dependent confirmation scheme) should not delay the time the browser starts to perform model evaluation.
4.5.3.3 Close
The close event is used to indicate that the browser will stop running the current scene. This can happen under many different conditions.
a) The scene is being replaced (see 6.3.12replaceWorld and 6.3.14loadURL);
b) The browser itself is exiting;
c) The client application has processed its connection with the browser (see 6.3.25 dispose).
The close event should be immediately generated in the browser and delivered to the application. The event is considered asynchronous. In other words, the event's
Delivery (and any implementation-dependent confirmation scheme) will not delay the browser from stopping performing model evaluation and closing browser resources unless required
Make sure that the event is delivered to the application.
4.5.3.4 No URL available
The SAI_BROWSER_URL_ERROR event is used to notify the application that the browser cannot
Load any URL/URNs in the asynchronous call (see 6.3.14 loadURL). This means that any URL specified in this call cannot be
Load or call payload. Other calls may involve other asynchronous load calls, such as replaceWorld (see 6.3.12
replaceWorld) and createX3DFromString and createX3DFromStream (see 6.3.16 createX3DFromString,
6.3.17createX3DFromStream) can also use this event to indicate the 9.3.2X3DUrlObject in GB/T 28170.1-2011
Any X3DUrlNode loading issues specified, such as inlining, textures and EXTERNPROTO, although not required.
4.5.3.5 Connection interrupted
The connection loss error is used to notify the application that the underlying implementation has lost the connection between the browser and the application, thus leading to
The service request cannot be granted. For example, a TCP network connection timed out or other similar problems.
If the implementation performs some automatic reconnection attempts, the implementation may delay sending the connection loss event. It will only be
Sent when it is considered impossible to connect to the browser. After this event is generated, there is no need to forcibly re-establish the connection, nor do you need to try any
What kind of automatic reconnection function.
4.6 Identifier
The composition of the identifier depends on the implementation. In some cases, representing the node identifier as the entire node (including all field information) can be
Can be more effective. Then make a request for field information on the local node. In other implementations, the identifier may be just a simple integer.
It is the important responsibility of the browser to ensure that the identifier is unique, so that applications can share data under reasonable environmental constraints. About the environment
Bundles can be specified as part of the independent implementation defined in the attached appendix.
It is unreasonable for two applications implemented using different services to exchange data outside of the browser environment.
4.7 Related URLs
The 9.2.2 relative URLs in GB/T 28170.1-2011 specifies the rules for handling relative URLs in the browser environment. statement
The file should be defined as the base URL of the field currently loaded in the browser. The currently loaded realm can be served by getWorldURL, please
Seek to get (see 6.4.6getWorldURL). In the case that the browser has not loaded the X3D file, the basic document directory should be used as the browser
The current working directory of the browser. When the browser is part of a web page, the current working directory should be considered as embedded in the web browser
The base URL of the page.
When generating nested relative URLs (e.g. EXTERNPOTO containing references to script files), according to GB/T 28170.1-
2011 parse the top-level RURL base.
4.8 Execution model
4.8.1 Summary of interaction types
Because SAI implements the role of programming interface for external applications and scripts, the execution model can work in both cases.
Although the API calls are the same in both cases, the runtime evaluation of each service request may be different.
Example. The service field change notification in the script will stop the current event cascade, but this should not be the case for external applications.
The specification defines two types of interactions that services can participate in. internal (ie scripts) and external (applications).
4.8.2 Event model evaluation sequence
The script code allows users to modify the scene graph through custom actions. In order to achieve consistent results, in GB/T 28170.1-2011
The evaluation sequence defined in the execution model in 4.4.8.3 is extended to include the service interactions allowed by the script. When providing internal interaction code,
All aspects of the event model should be evaluated in the following order.
---Update the camera based on the position and direction of the currently bound viewpoint;
---Evaluate the sensor input;
---Collect external input from the buffer and pass it to the node;
---Call the prepareEvents script service of all active script nodes in the scene;
---Assess the route;
---Call the shutdown service on the script that has received the set_url event or is being deleted from the scene;
---Generate final events for any sensor removed from the scene;
---Add/remove any routes required to call dynamicRouteHandling service requests, such as 6.4.17dynamicRouteHandling
Execute from any script defined in step 6;
---Call the eventsprocessing script service to send the script of the event generated in step 6;
---Call the initialization service for the newly loaded internal interaction code;
---If any event is generated from step 5 to 10, please go to step 5 and continue until the current event cascade is completed.
If the internal interaction registers any form of callback or listening function with the objects defined in this section, then these callbacks will occur when the change occurs.
Time.
Example. The user code in script A publishes events on the output-only field during the initial service processing, and the other user code in script B is in
There is a listening service on eventOut. After the user code in script A exits and returns control to the browser core, the interception in script B will be triggered immediately.
4.8.3 Internal interaction
4.8.3.1 Allow interaction
Internal interaction occurs when the user code and the included nodes form part of the X3D scene graph. These nodes obey and participate in the event
Cascade evaluation. Internal interaction may occur in the middle of the event cascade, as a direct result of receiving the event, and may produce one or more outputs.
In response to an event. These events will continue in the current cascade. When the output event is generated by asynchronous script evaluation, or by other
Event cascade processing is not directly related to process generation, as defined in 29.2.4EventsProcessed() in GB/T 28170.1-2011
Yes, a brand new event cascade will start.
The X3DScriptNode type specified in 29.3.1X3DScriptNode in GB/T 28170.1-2011, which specifies a package
Contains nodes, but other node types can also be defined in the future. The browser will only allow internal interaction through the user code, which is from
Referenced in X3D script nodes or other included node types defined in the future. If the user code is referenced from any other node type
, You should treat the code as an external interaction and act accordingly.
Internal interaction also allows direct interaction with the fields of other nodes, or some browser operations without participating in event cascade.
Made. This operation should only be allowed to depend on the value set in the directOutput field containing the X3DScriptNode node. About when
Tips & Frequently Asked Questions:Question 1: How long will the true-PDF of GB/T 28170.2-2021_English be delivered?Answer: Upon your order, we will start to translate GB/T 28170.2-2021_English as soon as possible, and keep you informed of the progress. The lead time is typically 4 ~ 6 working days. The lengthier the document the longer the lead time. Question 2: Can I share the purchased PDF of GB/T 28170.2-2021_English with my colleagues?Answer: Yes. The purchased PDF of GB/T 28170.2-2021_English will be deemed to be sold to your employer/organization who actually pays for it, including your colleagues and your employer's intranet. Question 3: Does the price include tax/VAT?Answer: Yes. Our tax invoice, downloaded/delivered in 9 seconds, includes all tax/VAT and complies with 100+ countries' tax regulations (tax exempted in 100+ countries) -- See Avoidance of Double Taxation Agreements (DTAs): List of DTAs signed between Singapore and 100+ countriesQuestion 4: Do you accept my currency other than USD?Answer: Yes. If you need your currency to be printed on the invoice, please write an email to [email protected]. In 2 working-hours, we will create a special link for you to pay in any currencies. Otherwise, follow the normal steps: Add to Cart -- Checkout -- Select your currency to pay.
|