x_ite 8.10.1 → 8.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Makefile +3 -0
- package/build/bin/version.pl +28 -20
- package/build/docs/glTF-samples.pl +151 -0
- package/build/docs/nodes.pl +1 -1
- package/build/src/nodes.pl +41 -0
- package/dist/assets/components/Annotation.js +13 -13
- package/dist/assets/components/Annotation.min.js +1 -1
- package/dist/assets/components/CADGeometry.js +13 -13
- package/dist/assets/components/CADGeometry.min.js +1 -1
- package/dist/assets/components/CubeMapTexturing.js +30 -26
- package/dist/assets/components/CubeMapTexturing.min.js +1 -1
- package/dist/assets/components/DIS.js +14 -14
- package/dist/assets/components/DIS.min.js +1 -1
- package/dist/assets/components/EventUtilities.js +9 -9
- package/dist/assets/components/EventUtilities.min.js +1 -1
- package/dist/assets/components/Geometry2D.js +19 -19
- package/dist/assets/components/Geometry2D.min.js +1 -1
- package/dist/assets/components/Geospatial.js +33 -33
- package/dist/assets/components/Geospatial.min.js +1 -1
- package/dist/assets/components/HAnim.js +394 -30
- package/dist/assets/components/HAnim.min.js +1 -1
- package/dist/assets/components/KeyDeviceSensor.js +8 -8
- package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
- package/dist/assets/components/Layout.js +26 -26
- package/dist/assets/components/Layout.min.js +1 -1
- package/dist/assets/components/NURBS.js +24 -24
- package/dist/assets/components/NURBS.min.js +1 -1
- package/dist/assets/components/ParticleSystems.js +73 -74
- package/dist/assets/components/ParticleSystems.min.js +1 -1
- package/dist/assets/components/Picking.js +18 -18
- package/dist/assets/components/Picking.min.js +1 -1
- package/dist/assets/components/RigidBodyPhysics.js +18 -18
- package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
- package/dist/assets/components/Scripting.js +37 -37
- package/dist/assets/components/Scripting.min.js +1 -1
- package/dist/assets/components/Text.js +55 -63
- package/dist/assets/components/Text.min.js +1 -1
- package/dist/assets/components/TextureProjector.js +14 -14
- package/dist/assets/components/TextureProjector.min.js +1 -1
- package/dist/assets/components/Texturing3D.js +35 -31
- package/dist/assets/components/Texturing3D.min.js +1 -1
- package/dist/assets/components/VolumeRendering.js +20 -20
- package/dist/assets/components/VolumeRendering.min.js +1 -1
- package/dist/assets/components/X_ITE.js +9 -9
- package/dist/assets/components/X_ITE.min.js +1 -1
- package/dist/x_ite.css +1 -1
- package/dist/x_ite.js +1456 -844
- package/dist/x_ite.min.js +1 -1
- package/dist/x_ite.zip +0 -0
- package/docs/_config.yml +2 -2
- package/docs/_posts/components/Core/MetadataBoolean.md +6 -4
- package/docs/_posts/components/Core/MetadataDouble.md +6 -4
- package/docs/_posts/components/Core/MetadataFloat.md +6 -4
- package/docs/_posts/components/Core/MetadataInteger.md +6 -4
- package/docs/_posts/components/Core/MetadataSet.md +6 -4
- package/docs/_posts/components/Core/MetadataString.md +6 -4
- package/docs/_posts/components/DIS/DISEntityTypeMapping.md +1 -1
- package/docs/_posts/components/HAnim/HAnimMotion.md +48 -48
- package/docs/_posts/components/RigidBodyPhysics/Contact.md +1 -1
- package/docs/_posts/getting-started.md +45 -35
- package/docs/_posts/reference/browser-services.md +6 -0
- package/docs/_tabs/playground.html +215 -15
- package/docs/assets/css/style.scss +35 -2
- package/docs/assets/js/example.js +95 -3
- package/docs/laboratory/gltf-sample-viewer.html +603 -235
- package/package.json +2 -2
- package/src/assets/shaders/Types.glsl.js +4 -0
- package/src/assets/shaders/webgl1/include/Hatch.glsl.js +2 -3
- package/src/assets/shaders/webgl2/Compose.fs.js +29 -0
- package/src/assets/shaders/webgl2/Compose.vs.js +14 -0
- package/src/assets/shaders/webgl2/include/Fragment.glsl.js +24 -2
- package/src/assets/shaders/webgl2/include/Hatch.glsl.js +2 -3
- package/src/assets/shaders/webgl2/include/Stipple.glsl.js +5 -3
- package/src/bookmarks.js +92 -5
- package/src/examples.js +1 -0
- package/src/standard/Math/Numbers/Quaternion.js +191 -13
- package/src/standard/Math/Numbers/Rotation4.js +23 -0
- package/src/standard/Time/{MicroTime.js → Time.js} +21 -28
- package/src/x_ite/Base/X3DChildObject.js +5 -4
- package/src/x_ite/Browser/Core/BrowserOptions.js +71 -60
- package/src/x_ite/Browser/Core/Context.js +2 -2
- package/src/x_ite/Browser/Core/X3DCoreContext.js +6 -0
- package/src/x_ite/Browser/DOMIntegration.js +0 -17
- package/src/x_ite/Browser/Navigation/ExamineViewer.js +5 -4
- package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +7 -4
- package/src/x_ite/Browser/Rendering/X3DRenderingContext.js +20 -15
- package/src/x_ite/Browser/Shaders/Shaders.js +19 -15
- package/src/x_ite/Browser/Text/X3DTextContext.js +16 -16
- package/src/x_ite/Browser/Time/X3DTimeContext.js +3 -2
- package/src/x_ite/Browser/VERSION.js +1 -1
- package/src/x_ite/Browser/VolumeRendering/VolumeMaterial.js +2 -2
- package/src/x_ite/Browser/X3DBrowser.js +1 -2
- package/src/x_ite/Browser/X3DBrowserContext.js +0 -5
- package/src/x_ite/Components/Core/MetadataBoolean.js +8 -1
- package/src/x_ite/Components/Core/MetadataDouble.js +8 -1
- package/src/x_ite/Components/Core/MetadataFloat.js +8 -1
- package/src/x_ite/Components/Core/MetadataInteger.js +8 -1
- package/src/x_ite/Components/Core/MetadataSet.js +8 -1
- package/src/x_ite/Components/Core/MetadataString.js +8 -1
- package/src/x_ite/Components/Core/X3DPrototypeInstance.js +9 -6
- package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +2 -1
- package/src/x_ite/Components/DIS/DISEntityTypeMapping.js +1 -1
- package/src/x_ite/Components/EnvironmentalEffects/X3DBackgroundNode.js +5 -1
- package/src/x_ite/Components/Grouping/X3DGroupingNode.js +2 -0
- package/src/x_ite/Components/HAnim/HAnimHumanoid.js +34 -2
- package/src/x_ite/Components/HAnim/HAnimMotion.js +331 -15
- package/src/x_ite/Components/Lighting/DirectionalLight.js +1 -3
- package/src/x_ite/Components/Lighting/PointLight.js +1 -3
- package/src/x_ite/Components/Lighting/SpotLight.js +1 -3
- package/src/x_ite/Components/Networking/X3DUrlObject.js +5 -4
- package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +47 -51
- package/src/x_ite/Components/Rendering/X3DGeometryNode.js +4 -2
- package/src/x_ite/Components/RigidBodyPhysics/Contact.js +1 -1
- package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +1 -1
- package/src/x_ite/Components/Shape/FillProperties.js +4 -0
- package/src/x_ite/Components/Shape/LineProperties.js +4 -0
- package/src/x_ite/Components/Shape/PointProperties.js +4 -0
- package/src/x_ite/Components/Shape/X3DMaterialNode.js +44 -20
- package/src/x_ite/Components/Sound/AudioClip.js +2 -1
- package/src/x_ite/Components/Text/X3DFontStyleNode.js +13 -23
- package/src/x_ite/Components/Texturing/ImageTexture.js +2 -1
- package/src/x_ite/Components/Texturing/MovieTexture.js +2 -1
- package/src/x_ite/Components/Texturing3D/ImageTextureAtlas.js +2 -1
- package/src/x_ite/Components/Time/TimeSensor.js +25 -24
- package/src/x_ite/Components/Time/X3DTimeDependentNode.js +5 -4
- package/src/x_ite/Execution/BindableList.js +3 -3
- package/src/x_ite/Execution/X3DScene.js +2 -0
- package/src/x_ite/Parser/XMLParser.js +12 -2
- package/src/x_ite/Rendering/MultiSampleFrameBuffer.js +264 -26
- package/src/x_ite/Rendering/PointingBuffer.js +5 -7
- package/src/x_ite/Rendering/TextureBuffer.js +6 -14
- package/src/x_ite/Rendering/X3DRenderObject.js +28 -28
- package/src/x_ite/X3D.js +0 -1
- package/src/x_ite/X3DCanvasElement.js +2 -0
- package/src/x_ite.html +23 -24
- package/x_ite.min.html +23 -24
- /package/build/{bin → docs}/tags.pl +0 -0
package/dist/x_ite.zip
CHANGED
|
Binary file
|
package/docs/_config.yml
CHANGED
|
@@ -20,8 +20,8 @@ timezone:
|
|
|
20
20
|
# ↓ --------------------------
|
|
21
21
|
|
|
22
22
|
title: X_ITE X3D Browser # the main title
|
|
23
|
-
version: 8.
|
|
24
|
-
size:
|
|
23
|
+
version: 8.11.1 # x_ite latest version
|
|
24
|
+
size: 291 # size in kb
|
|
25
25
|
x3d_latest_version: 4.0 # x3d latest version
|
|
26
26
|
|
|
27
27
|
tagline: Step Into The Future # it will display as the sub-title
|
|
@@ -15,7 +15,7 @@ tags: [MetadataBoolean, Core]
|
|
|
15
15
|
|
|
16
16
|
MetadataBoolean contains a typed list of values providing metadata information about its parent node. Further information about this specific Metadata* node may be provided by a single child Metadata* node with `containerField='metadata'.`
|
|
17
17
|
|
|
18
|
-
The MetadataBoolean node belongs to the **Core** component and its default container field is *
|
|
18
|
+
The MetadataBoolean node belongs to the **Core** component and its default container field is *value.* It is available from X3D version 3.3 or higher.
|
|
19
19
|
|
|
20
20
|
## Hierarchy
|
|
21
21
|
|
|
@@ -65,15 +65,17 @@ The *value* attribute is a strictly typed data array providing relevant metadata
|
|
|
65
65
|
|
|
66
66
|
### Hints
|
|
67
67
|
|
|
68
|
-
-
|
|
69
|
-
-
|
|
68
|
+
- Typically use `containerField='value'` if the parent node is MetadataSet.
|
|
69
|
+
- Explicitly defining containerField for Metadata nodes is always allowed and also unambiguous across each version of X3D.
|
|
70
|
+
- [Each of the Metadata nodes are allowed as top-level root nodes in a scene, if doing that be sure to explicitly define `containerField='metadata'.`](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01/concepts.html#Rootnodes){:target="_blank"}
|
|
70
71
|
- If present, an IS statement is the first child within any other node.
|
|
71
72
|
- An IS statement precedes any sibling Metadata* node, which in turn precedes any other sibling nodes.
|
|
72
73
|
- Comments are not readable when a model file is loaded for viewing, but WorldInfo and Metadata* nodes are persistent and inspectable at run time.
|
|
73
74
|
- [X3D for Web Authors, Chapter 15, Metadata Information](https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter15-Metadata/Chapter15-MetadataInformation.html){:target="_blank"}
|
|
74
75
|
|
|
75
|
-
###
|
|
76
|
+
### Warnings
|
|
76
77
|
|
|
78
|
+
- Default `containerField='metadata'` in X3D 3 changed to default `containerField='value'` in X3D 4.0, allowing construction of much terser MetadataSet vocabulary structures.
|
|
77
79
|
- Metadata nodes can only contain other Metadata nodes.
|
|
78
80
|
|
|
79
81
|
## See Also
|
|
@@ -15,7 +15,7 @@ tags: [MetadataDouble, Core]
|
|
|
15
15
|
|
|
16
16
|
MetadataDouble contains a typed list of values providing metadata information about its parent node. Further information about this specific Metadata* node may be provided by a single child Metadata* node with `containerField='metadata'.`
|
|
17
17
|
|
|
18
|
-
The MetadataDouble node belongs to the **Core** component and its default container field is *
|
|
18
|
+
The MetadataDouble node belongs to the **Core** component and its default container field is *value.* It is available from X3D version 3.0 or higher.
|
|
19
19
|
|
|
20
20
|
## Hierarchy
|
|
21
21
|
|
|
@@ -65,16 +65,18 @@ The *value* attribute is a strictly typed data array providing relevant metadata
|
|
|
65
65
|
|
|
66
66
|
### Hints
|
|
67
67
|
|
|
68
|
-
-
|
|
69
|
-
-
|
|
68
|
+
- Typically use `containerField='value'` if the parent node is MetadataSet.
|
|
69
|
+
- Explicitly defining containerField for Metadata nodes is always allowed and also unambiguous across each version of X3D.
|
|
70
|
+
- [Each of the Metadata nodes are allowed as top-level root nodes in a scene, if doing that be sure to explicitly define `containerField='metadata'.`](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01/concepts.html#Rootnodes){:target="_blank"}
|
|
70
71
|
- If present, an IS statement is the first child within any other node.
|
|
71
72
|
- An IS statement precedes any sibling Metadata* node, which in turn precedes any other sibling nodes.
|
|
72
73
|
- The choice of MetadataDouble versus MetadataFloat usually depends on the relevant tool utilizing the value, or else the relevant metadata reference defining the value.
|
|
73
74
|
- Comments are not readable when a model file is loaded for viewing, but WorldInfo and Metadata* nodes are persistent and inspectable at run time.
|
|
74
75
|
- [X3D for Web Authors, Chapter 15, Metadata Information](https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter15-Metadata/Chapter15-MetadataInformation.html){:target="_blank"}
|
|
75
76
|
|
|
76
|
-
###
|
|
77
|
+
### Warnings
|
|
77
78
|
|
|
79
|
+
- Default `containerField='metadata'` in X3D 3 changed to default `containerField='value'` in X3D 4.0, allowing construction of much terser MetadataSet vocabulary structures.
|
|
78
80
|
- Metadata nodes can only contain other Metadata nodes.
|
|
79
81
|
|
|
80
82
|
## See Also
|
|
@@ -15,7 +15,7 @@ tags: [MetadataFloat, Core]
|
|
|
15
15
|
|
|
16
16
|
MetadataFloat contains a typed list of values providing metadata information about its parent node. Further information about this specific Metadata* node may be provided by a single child Metadata* node with `containerField='metadata'.`
|
|
17
17
|
|
|
18
|
-
The MetadataFloat node belongs to the **Core** component and its default container field is *
|
|
18
|
+
The MetadataFloat node belongs to the **Core** component and its default container field is *value.* It is available from X3D version 3.0 or higher.
|
|
19
19
|
|
|
20
20
|
## Hierarchy
|
|
21
21
|
|
|
@@ -65,16 +65,18 @@ The *value* attribute is a strictly typed data array providing relevant metadata
|
|
|
65
65
|
|
|
66
66
|
### Hints
|
|
67
67
|
|
|
68
|
-
-
|
|
69
|
-
-
|
|
68
|
+
- Typically use `containerField='value'` if the parent node is MetadataSet.
|
|
69
|
+
- Explicitly defining containerField for Metadata nodes is always allowed and also unambiguous across each version of X3D.
|
|
70
|
+
- [Each of the Metadata nodes are allowed as top-level root nodes in a scene, if doing that be sure to explicitly define `containerField='metadata'.`](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01/concepts.html#Rootnodes){:target="_blank"}
|
|
70
71
|
- If present, an IS statement is the first child within any other node.
|
|
71
72
|
- An IS statement precedes any sibling Metadata* node, which in turn precedes any other sibling nodes.
|
|
72
73
|
- The choice of MetadataDouble versus MetadataFloat usually depends on the relevant tool utilizing the value, or else the relevant metadata reference defining the value.
|
|
73
74
|
- Comments are not readable when a model file is loaded for viewing, but WorldInfo and Metadata* nodes are persistent and inspectable at run time.
|
|
74
75
|
- [X3D for Web Authors, Chapter 15, Metadata Information](https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter15-Metadata/Chapter15-MetadataInformation.html){:target="_blank"}
|
|
75
76
|
|
|
76
|
-
###
|
|
77
|
+
### Warnings
|
|
77
78
|
|
|
79
|
+
- Default `containerField='metadata'` in X3D 3 changed to default `containerField='value'` in X3D 4.0, allowing construction of much terser MetadataSet vocabulary structures.
|
|
78
80
|
- Metadata nodes can only contain other Metadata nodes.
|
|
79
81
|
|
|
80
82
|
## See Also
|
|
@@ -15,7 +15,7 @@ tags: [MetadataInteger, Core]
|
|
|
15
15
|
|
|
16
16
|
MetadataInteger contains a typed list of values providing metadata information about its parent node. Further information about this specific Metadata* node may be provided by a single child Metadata* node with `containerField='metadata'.`
|
|
17
17
|
|
|
18
|
-
The MetadataInteger node belongs to the **Core** component and its default container field is *
|
|
18
|
+
The MetadataInteger node belongs to the **Core** component and its default container field is *value.* It is available from X3D version 3.0 or higher.
|
|
19
19
|
|
|
20
20
|
## Hierarchy
|
|
21
21
|
|
|
@@ -65,15 +65,17 @@ The *value* attribute is a strictly typed data array providing relevant metadata
|
|
|
65
65
|
|
|
66
66
|
### Hints
|
|
67
67
|
|
|
68
|
-
-
|
|
69
|
-
-
|
|
68
|
+
- Typically use `containerField='value'` if the parent node is MetadataSet.
|
|
69
|
+
- Explicitly defining containerField for Metadata nodes is always allowed and also unambiguous across each version of X3D.
|
|
70
|
+
- [Each of the Metadata nodes are allowed as top-level root nodes in a scene, if doing that be sure to explicitly define `containerField='metadata'.`](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01/concepts.html#Rootnodes){:target="_blank"}
|
|
70
71
|
- If present, an IS statement is the first child within any other node.
|
|
71
72
|
- An IS statement precedes any sibling Metadata* node, which in turn precedes any other sibling nodes.
|
|
72
73
|
- Comments are not readable when a model file is loaded for viewing, but WorldInfo and Metadata* nodes are persistent and inspectable at run time.
|
|
73
74
|
- [X3D for Web Authors, Chapter 15, Metadata Information](https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter15-Metadata/Chapter15-MetadataInformation.html){:target="_blank"}
|
|
74
75
|
|
|
75
|
-
###
|
|
76
|
+
### Warnings
|
|
76
77
|
|
|
78
|
+
- Default `containerField='metadata'` in X3D 3 changed to default `containerField='value'` in X3D 4.0, allowing construction of much terser MetadataSet vocabulary structures.
|
|
77
79
|
- Metadata nodes can only contain other Metadata nodes.
|
|
78
80
|
|
|
79
81
|
## See Also
|
|
@@ -15,7 +15,7 @@ tags: [MetadataSet, Core]
|
|
|
15
15
|
|
|
16
16
|
MetadataSet contains a list of Metadata* nodes that each have `containerField='value'` and together provide information about the parent node of the MetadataSet. Further information about this specific MetadataSet node may be provided by a single child Metadata* node with `containerField='metadata'.`
|
|
17
17
|
|
|
18
|
-
The MetadataSet node belongs to the **Core** component and its default container field is *
|
|
18
|
+
The MetadataSet node belongs to the **Core** component and its default container field is *value.* It is available from X3D version 3.0 or higher.
|
|
19
19
|
|
|
20
20
|
## Hierarchy
|
|
21
21
|
|
|
@@ -61,16 +61,18 @@ The *value* field provides a list of X3DMetadataObject nodes whose meaning is de
|
|
|
61
61
|
|
|
62
62
|
### Hints
|
|
63
63
|
|
|
64
|
-
-
|
|
65
|
-
-
|
|
64
|
+
- Typically use `containerField='value'` if the parent node is MetadataSet.
|
|
65
|
+
- Explicitly defining containerField for Metadata nodes is always allowed and also unambiguous across each version of X3D.
|
|
66
|
+
- [Each of the Metadata nodes are allowed as top-level root nodes in a scene, if doing that be sure to explicitly define `containerField='metadata'.`](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01/concepts.html#Rootnodes){:target="_blank"}
|
|
66
67
|
- If present, an IS statement is the first child within any other node.
|
|
67
68
|
- An IS statement precedes any sibling Metadata* node, which in turn precedes any other sibling nodes.
|
|
68
69
|
- MetadataSet can contain other MetadataSet nodes.
|
|
69
70
|
- Comments are not readable when a model file is loaded for viewing, but WorldInfo and Metadata* nodes are persistent and inspectable at run time.
|
|
70
71
|
- [X3D for Web Authors, Chapter 15, Metadata Information](https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter15-Metadata/Chapter15-MetadataInformation.html){:target="_blank"}
|
|
71
72
|
|
|
72
|
-
###
|
|
73
|
+
### Warnings
|
|
73
74
|
|
|
75
|
+
- Default `containerField='metadata'` in X3D 3 changed to default `containerField='value'` in X3D 4.0, allowing construction of much terser MetadataSet vocabulary structures.
|
|
74
76
|
- Metadata nodes can only contain other Metadata nodes.
|
|
75
77
|
|
|
76
78
|
## See Also
|
|
@@ -15,7 +15,7 @@ tags: [MetadataString, Core]
|
|
|
15
15
|
|
|
16
16
|
MetadataString contains a typed list of values providing metadata information about its parent node. Further information about this specific Metadata* node may be provided by a single child Metadata* node with `containerField='metadata'.`
|
|
17
17
|
|
|
18
|
-
The MetadataString node belongs to the **Core** component and its default container field is *
|
|
18
|
+
The MetadataString node belongs to the **Core** component and its default container field is *value.* It is available from X3D version 3.0 or higher.
|
|
19
19
|
|
|
20
20
|
## Hierarchy
|
|
21
21
|
|
|
@@ -65,15 +65,17 @@ The *value* attribute is a strictly typed data array providing relevant metadata
|
|
|
65
65
|
|
|
66
66
|
### Hints
|
|
67
67
|
|
|
68
|
-
-
|
|
69
|
-
-
|
|
68
|
+
- Typically use `containerField='value'` if the parent node is MetadataSet.
|
|
69
|
+
- Explicitly defining containerField for Metadata nodes is always allowed and also unambiguous across each version of X3D.
|
|
70
|
+
- [Each of the Metadata nodes are allowed as top-level root nodes in a scene, if doing that be sure to explicitly define `containerField='metadata'.`](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01/concepts.html#Rootnodes){:target="_blank"}
|
|
70
71
|
- If present, an IS statement is the first child within any other node.
|
|
71
72
|
- An IS statement precedes any sibling Metadata* node, which in turn precedes any other sibling nodes.
|
|
72
73
|
- Comments are not readable when a model file is loaded for viewing, but WorldInfo and Metadata* nodes are persistent and inspectable at run time.
|
|
73
74
|
- [X3D for Web Authors, Chapter 15, Metadata Information](https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter15-Metadata/Chapter15-MetadataInformation.html){:target="_blank"}
|
|
74
75
|
|
|
75
|
-
###
|
|
76
|
+
### Warnings
|
|
76
77
|
|
|
78
|
+
- Default `containerField='metadata'` in X3D 3 changed to default `containerField='value'` in X3D 4.0, allowing construction of much terser MetadataSet vocabulary structures.
|
|
77
79
|
- Metadata nodes can only contain other Metadata nodes.
|
|
78
80
|
|
|
79
81
|
## See Also
|
|
@@ -15,7 +15,7 @@ tags: [DISEntityTypeMapping, DIS]
|
|
|
15
15
|
|
|
16
16
|
DISEntityTypeMapping provides a best-match mapping from DIS ESPDU entity type information to a specific X3D model, thus providing a visual and behavioral representation that best matches the entity type. Fields are processed in order: kind, domain, country, category, subcategory, specific, extra.
|
|
17
17
|
|
|
18
|
-
The DISEntityTypeMapping node belongs to the **DIS** component and its default container field is *
|
|
18
|
+
The DISEntityTypeMapping node belongs to the **DIS** component and its default container field is *children.* It is available from X3D version 3.0 or higher.
|
|
19
19
|
|
|
20
20
|
## Hierarchy
|
|
21
21
|
|
|
@@ -15,7 +15,7 @@ tags: [HAnimMotion, HAnim]
|
|
|
15
15
|
|
|
16
16
|
An HAnimMotion node supports discrete frame-by-frame playback for HAnim motion data animation. Design characteristics include integration with HAnim figure data and HAnimJoint nodes, animation control, and playback of raw motion data.
|
|
17
17
|
|
|
18
|
-
The HAnimMotion node belongs to the **HAnim** component and its default container field is *
|
|
18
|
+
The HAnimMotion node belongs to the **HAnim** component and its default container field is *motions.* It is available from X3D version 4.0 or higher.
|
|
19
19
|
|
|
20
20
|
## Hierarchy
|
|
21
21
|
|
|
@@ -47,57 +47,67 @@ Author-provided prose that describes intended purpose of this node.
|
|
|
47
47
|
|
|
48
48
|
Enables/disables node operation.
|
|
49
49
|
|
|
50
|
-
###
|
|
50
|
+
### SFInt32 [in, out] **loa** -1 <small>[-1,4]</small>
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
Level Of Articulation 0..4 indicates complexity and detail of joints for given humanoid skeletal hierarchy.
|
|
53
53
|
|
|
54
|
-
####
|
|
54
|
+
#### Hints
|
|
55
55
|
|
|
56
|
-
-
|
|
56
|
+
- *loa* value of -1 indicates that no LOA conformance is provided.
|
|
57
|
+
- [Humanoid Animation (HAnim) Specification, Part 1 Architecture, 4.8.4 Levels of articulation](https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#LevelsOfArticulation){:target="_blank"}
|
|
57
58
|
|
|
58
|
-
|
|
59
|
+
### SFString [in, out] **joints** ""
|
|
59
60
|
|
|
60
|
-
|
|
61
|
+
*joints* field lists names of *joints* that raw motion data is to be applied to. The number and order of the names in the *joints* field shall match the number and order of the channels field information, and the number and order of the sets of values in the values field for each frame of the animation.
|
|
61
62
|
|
|
62
|
-
|
|
63
|
+
#### Hints
|
|
63
64
|
|
|
64
|
-
|
|
65
|
+
- Values are space or comma separated.
|
|
66
|
+
- The joint name IGNORED shall be used for channel of motion data that is not used for any joint.
|
|
65
67
|
|
|
66
|
-
|
|
68
|
+
### MFBool [in, out] **channelsEnabled** [ ]
|
|
67
69
|
|
|
68
|
-
|
|
70
|
+
Boolean values for each channel indicating whether enabled.
|
|
69
71
|
|
|
70
|
-
|
|
72
|
+
### SFString [in, out] **channels** ""
|
|
71
73
|
|
|
72
|
-
|
|
74
|
+
List of number of *channels* for transformation, followed by transformation type of each channel of data. Each value is space or comma separated.
|
|
73
75
|
|
|
74
|
-
|
|
76
|
+
#### Hint
|
|
75
77
|
|
|
76
|
-
*
|
|
78
|
+
- *channels* are enabled by default, unless otherwise indicated by channelsEnabled field.
|
|
77
79
|
|
|
78
|
-
|
|
80
|
+
### MFFloat [in, out] **values** [ ] <small>(-∞,∞)</small>
|
|
79
81
|
|
|
80
|
-
|
|
82
|
+
*values* field contains all transformation *values*, ordered first by frame, then by joint, and then by transformation Sets of floats in the *values* array matching the order listed in joints and channels fields.
|
|
81
83
|
|
|
82
|
-
###
|
|
84
|
+
### SFBool [in, out] **loop** FALSE
|
|
83
85
|
|
|
84
|
-
|
|
86
|
+
Repeat indefinitely when *loop*=true, repeat only once when *loop*=false.
|
|
87
|
+
|
|
88
|
+
### SFBool [in] **next**
|
|
89
|
+
|
|
90
|
+
Send *next* output value in keyValue array, and reset internal fraction field to match corresponding value in key array.
|
|
85
91
|
|
|
86
92
|
#### Hint
|
|
87
93
|
|
|
88
|
-
-
|
|
94
|
+
- This input event will "wrap around" boundary of frame array, i.e. continue from endFrame next to startFrame if necessary.
|
|
89
95
|
|
|
90
|
-
|
|
96
|
+
#### Warning
|
|
91
97
|
|
|
92
|
-
|
|
98
|
+
- It is an error to define this transient inputOnly field in an X3D file, instead only use it a destination for ROUTE events.
|
|
93
99
|
|
|
94
|
-
###
|
|
100
|
+
### SFBool [in] **previous**
|
|
95
101
|
|
|
96
|
-
*
|
|
102
|
+
Send *previous* output value in keyValue array, and reset internal fraction field to match corresponding value in key array.
|
|
97
103
|
|
|
98
104
|
#### Hint
|
|
99
105
|
|
|
100
|
-
-
|
|
106
|
+
- This input event will "wrap around" boundary of frame array, i.e. continue from startFrame next to endFrame if necessary.
|
|
107
|
+
|
|
108
|
+
#### Warning
|
|
109
|
+
|
|
110
|
+
- It is an error to define this transient inputOnly field in an X3D file, instead only use it a destination for ROUTE events.
|
|
101
111
|
|
|
102
112
|
### SFInt32 [in, out] **frameIndex** 0 <small>[0,∞)</small>
|
|
103
113
|
|
|
@@ -107,43 +117,33 @@ Send *previous* output value in keyValue array, and reset internal fraction fiel
|
|
|
107
117
|
|
|
108
118
|
- *frameIndex* starts at 0 and is no greater than (frameCount - 1). Values less than 0 are reset as 0. Values greater or equal to frameCount are stored as (frameCount - 1). Thus the value of *frameIndex* shall be greater than or equal to zero, and less than frameCount.
|
|
109
119
|
|
|
110
|
-
###
|
|
111
|
-
|
|
112
|
-
Repeat indefinitely when *loop*=true, repeat only once when *loop*=false.
|
|
113
|
-
|
|
114
|
-
### MFBool [in, out] **channelsEnabled** [ ]
|
|
120
|
+
### SFTime [in, out] **frameDuration** 0.1 <small>(0,∞)</small>
|
|
115
121
|
|
|
116
|
-
|
|
122
|
+
*frameDuration* specifies the duration of each frame in seconds.
|
|
117
123
|
|
|
118
|
-
###
|
|
124
|
+
### SFInt32 [in, out] **frameIncrement** 1 <small>(-∞,∞)</small>
|
|
119
125
|
|
|
120
|
-
|
|
126
|
+
*frameIncrement* field controls whether playback direction is forwards or backwards, and also whether frames are skipped (for example, subsampled replay). For a single animation step, the next frameIndex value equals (frameIndex + *frameIncrement*) modulo frameCount.
|
|
121
127
|
|
|
122
128
|
#### Hint
|
|
123
129
|
|
|
124
|
-
- *
|
|
125
|
-
|
|
126
|
-
### SFString [in, out] **joints** ""
|
|
127
|
-
|
|
128
|
-
*joints* field lists names of *joints* that raw motion data is to be applied to. The number and order of the names in the *joints* field shall match the number and order of the channels field information, and the number and order of the sets of values in the values field for each frame of the animation.
|
|
130
|
+
- Note that setting *frameIncrement* to 0 prevents automatic advancement of frameIndex and pauses animation of HAnimMotion node.
|
|
129
131
|
|
|
130
|
-
|
|
132
|
+
### SFInt32 [in, out] **startFrame** 0 <small>[0,∞)</small>
|
|
131
133
|
|
|
132
|
-
|
|
133
|
-
- The joint name IGNORED shall be used for channel of motion data that is not used for any joint.
|
|
134
|
+
*startFrame* indicates initial index of animated frame. Note that *startFrame* can precede, equal or follow endFrame.
|
|
134
135
|
|
|
135
|
-
|
|
136
|
+
#### Hint
|
|
136
137
|
|
|
137
|
-
|
|
138
|
+
- *startFrame* starts at 0 and is no greater than (frameCount - 1).
|
|
138
139
|
|
|
139
|
-
|
|
140
|
+
### SFInt32 [in, out] **endFrame** 0 <small>[0,∞)</small>
|
|
140
141
|
|
|
141
|
-
|
|
142
|
-
- [Humanoid Animation (HAnim) Specification, Part 1 Architecture, 4.8.4 Levels of articulation](https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#LevelsOfArticulation){:target="_blank"}
|
|
142
|
+
*endFrame* indicates final index of animated frame. Note that *endFrame* can precede, equal or follow *endFrame*. The default *endFrame* value is reset to (frameCount - 1) whenever frameCount is changed.
|
|
143
143
|
|
|
144
|
-
|
|
144
|
+
#### Hint
|
|
145
145
|
|
|
146
|
-
*
|
|
146
|
+
- *endFrame* starts at 0 and is no greater than (frameCount - 1).
|
|
147
147
|
|
|
148
148
|
### SFTime [out] **cycleTime**
|
|
149
149
|
|
|
@@ -15,7 +15,7 @@ tags: [Contact, RigidBodyPhysics]
|
|
|
15
15
|
|
|
16
16
|
Contact nodes are produced as output events when two collidable objects or spaces make contact.
|
|
17
17
|
|
|
18
|
-
The Contact node belongs to the **RigidBodyPhysics** component and its default container field is *
|
|
18
|
+
The Contact node belongs to the **RigidBodyPhysics** component and its default container field is *contacts.* It is available from X3D version 3.2 or higher.
|
|
19
19
|
|
|
20
20
|
## Hierarchy
|
|
21
21
|
|