x_ite 4.7.6 → 4.7.10
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/.vscode/settings.json +1 -2
- package/Makefile +1 -0
- package/build/components/annotation.build.js +2 -2
- package/build/components/cad-geometry.build.js +2 -2
- package/build/components/cube-map-texturing.build.js +2 -2
- package/build/components/dis.build.js +2 -2
- package/build/components/event-utilities.build.js +2 -2
- package/build/components/geometry2d.build.js +2 -2
- package/build/components/geospatial.build.js +2 -2
- package/build/components/h-anim.build.js +2 -2
- package/build/components/key-device-sensor.build.js +2 -2
- package/build/components/layout.build.js +2 -2
- package/build/components/nurbs.build.js +2 -2
- package/build/components/particle-systems.build.js +2 -2
- package/build/components/picking.build.js +2 -2
- package/build/components/projective-texture-mapping.build.js +2 -2
- package/build/components/rigid-body-physics.build.js +2 -2
- package/build/components/scripting.build.js +2 -2
- package/build/components/texturing-3d.build.js +2 -2
- package/build/components/volume-rendering.build.js +2 -2
- package/build/components/x_ite.build.js +2 -2
- package/build/parts/default.end.frag.js +2 -0
- package/build/parts/default.start.frag.js +8 -0
- package/build/parts/{x_ite.end.frag → x_ite.end.frag.js} +2 -8
- package/build/parts/x_ite.start.frag.js +11 -0
- package/build/x_ite.build.js +2 -2
- package/dist/assets/components/annotation.js +9 -7
- package/dist/assets/components/annotation.min.js +1 -1
- package/dist/assets/components/cad-geometry.js +9 -7
- package/dist/assets/components/cad-geometry.min.js +1 -1
- package/dist/assets/components/cube-map-texturing.js +9 -7
- package/dist/assets/components/cube-map-texturing.min.js +1 -1
- package/dist/assets/components/dis.js +9 -7
- package/dist/assets/components/dis.min.js +1 -1
- package/dist/assets/components/event-utilities.js +9 -7
- package/dist/assets/components/event-utilities.min.js +1 -1
- package/dist/assets/components/geometry2d.js +9 -7
- package/dist/assets/components/geometry2d.min.js +1 -1
- package/dist/assets/components/geospatial.js +9 -7
- package/dist/assets/components/geospatial.min.js +2 -2
- package/dist/assets/components/h-anim.js +9 -7
- package/dist/assets/components/h-anim.min.js +1 -1
- package/dist/assets/components/key-device-sensor.js +9 -7
- package/dist/assets/components/key-device-sensor.min.js +1 -1
- package/dist/assets/components/layout.js +9 -7
- package/dist/assets/components/layout.min.js +1 -1
- package/dist/assets/components/nurbs.js +9 -7
- package/dist/assets/components/nurbs.min.js +2 -2
- package/dist/assets/components/particle-systems.js +9 -7
- package/dist/assets/components/particle-systems.min.js +2 -2
- package/dist/assets/components/picking.js +13 -11
- package/dist/assets/components/picking.min.js +1 -1
- package/dist/assets/components/projective-texture-mapping.js +9 -7
- package/dist/assets/components/projective-texture-mapping.min.js +1 -1
- package/dist/assets/components/rigid-body-physics.js +9 -7
- package/dist/assets/components/rigid-body-physics.min.js +17 -17
- package/dist/assets/components/scripting.js +16 -9
- package/dist/assets/components/scripting.min.js +1 -1
- package/dist/assets/components/texturing-3d.js +9 -7
- package/dist/assets/components/texturing-3d.min.js +3 -3
- package/dist/assets/components/volume-rendering.js +11 -9
- package/dist/assets/components/volume-rendering.min.js +3 -3
- package/dist/assets/components/x_ite.js +9 -7
- package/dist/assets/components/x_ite.min.js +1 -1
- package/dist/assets/shaders/webgl1/FallbackUnlit.fs +3 -4
- package/dist/assets/shaders/webgl1/Gouraud.vs +0 -1
- package/dist/assets/shaders/webgl1/Phong.fs +0 -1
- package/dist/assets/shaders/webgl1/Unlit.fs +0 -3
- package/dist/assets/shaders/webgl2/Gouraud.vs +0 -1
- package/dist/assets/shaders/webgl2/Phong.fs +0 -1
- package/dist/assets/shaders/webgl2/Unlit.fs +0 -3
- package/dist/example.html +2 -2
- package/dist/x_ite.css +14 -9
- package/dist/x_ite.js +29499 -28932
- package/dist/x_ite.min.js +41 -41
- package/dist/x_ite.zip +0 -0
- package/docs/Accessing-the-External-Browser.md +19 -4
- package/docs/What's-New.md +23 -0
- package/docs/_config.yml +1 -1
- package/docs/index.md +42 -14
- package/docs/reference/Browser-Services.md +38 -10
- package/docs/reference/Script-Node-Authoring-Interface.md +12 -4
- package/package.json +6 -5
- package/src/assets/components/picking.js +2 -2
- package/src/assets/components/volume-rendering.js +2 -2
- package/src/assets/shaders/webgl1/FallbackUnlit.fs +3 -4
- package/src/assets/shaders/webgl1/Gouraud.vs +0 -1
- package/src/assets/shaders/webgl1/Phong.fs +0 -1
- package/src/assets/shaders/webgl1/Unlit.fs +0 -3
- package/src/assets/shaders/webgl2/Gouraud.vs +0 -1
- package/src/assets/shaders/webgl2/Phong.fs +0 -1
- package/src/assets/shaders/webgl2/Unlit.fs +0 -3
- package/src/bookmarks.js +8 -11
- package/src/examples.js +1 -1
- package/src/locale/de.po +19 -75
- package/src/locale/fr.po +18 -75
- package/src/standard/Time/MicroTime.js +3 -1
- package/src/standard/Utility/DataStorage.js +23 -12
- package/src/tests.js +1 -1
- package/src/x_ite/Browser/Core/BrowserOptions.js +40 -28
- package/src/x_ite/Browser/Core/BrowserTimings.js +13 -24
- package/src/x_ite/Browser/Core/ContextMenu.js +94 -16
- package/src/x_ite/Browser/Core/X3DCoreContext.js +95 -42
- package/src/x_ite/Browser/Navigation/ExamineViewer.js +3 -0
- package/src/x_ite/Browser/Navigation/LookAtViewer.js +3 -0
- package/src/x_ite/Browser/Navigation/PlaneViewer.js +3 -0
- package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +3 -0
- package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +1 -3
- package/src/x_ite/Browser/Picking/VolumePicker.js +1 -1
- package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +4 -1
- package/src/x_ite/Browser/Shaders/ShaderTest.js +3 -3
- package/src/x_ite/Browser/VERSION.js +1 -1
- package/src/x_ite/Browser/X3DBrowser.js +70 -50
- package/src/x_ite/Components/Picking/PointPickSensor.js +1 -1
- package/src/x_ite/Components/Scripting/Script.js +7 -2
- package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +10 -12
- package/src/x_ite/Components/Shaders.js +9 -9
- package/src/x_ite/Execution/X3DExecutionContext.js +9 -11
- package/src/x_ite/Fields/SFColor.js +20 -7
- package/src/x_ite/Fields/SFColorRGBA.js +6 -6
- package/src/x_ite/Fields/SFDouble.js +2 -2
- package/src/x_ite/Fields/SFFloat.js +2 -2
- package/src/x_ite/Fields/SFImage.js +13 -13
- package/src/x_ite/Fields/SFMatrix3.js +5 -5
- package/src/x_ite/Fields/SFMatrix4.js +6 -6
- package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +14 -3
- package/src/x_ite/Fields/SFNode.js +23 -19
- package/src/x_ite/Fields/SFNodeCache.js +14 -10
- package/src/x_ite/Fields/SFRotation.js +10 -10
- package/src/x_ite/Fields/SFString.js +1 -1
- package/src/x_ite/Fields/SFTime.js +1 -1
- package/src/x_ite/Fields/SFVec2.js +6 -6
- package/src/x_ite/Fields/SFVec3.js +7 -7
- package/src/x_ite/Fields/SFVec4.js +8 -8
- package/src/x_ite/Fields/SFVecPrototypeTemplate.js +7 -6
- package/src/x_ite/InputOutput/Generator.js +85 -65
- package/src/x_ite/Parser/X3DParser.js +6 -0
- package/src/x_ite/Parser/XMLParser.js +1 -1
- package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +1 -1
- package/src/x_ite/X3D.js +8 -2
- package/src/x_ite.config.js +0 -5
- package/src/x_ite.css +14 -8
- package/src/x_ite.html +3 -3
- package/src/x_ite.js +21 -12
- package/x_ite.min.html +3 -3
- package/build/parts/default.end.frag +0 -2
- package/build/parts/default.start.frag +0 -6
- package/build/parts/x_ite.start.frag +0 -8
|
@@ -50,12 +50,10 @@
|
|
|
50
50
|
define ([
|
|
51
51
|
"x_ite/Fields",
|
|
52
52
|
"x_ite/Browser/Networking/urls",
|
|
53
|
-
"sprintf",
|
|
54
53
|
"locale/gettext",
|
|
55
54
|
],
|
|
56
55
|
function (Fields,
|
|
57
56
|
urls,
|
|
58
|
-
sprintf,
|
|
59
57
|
_)
|
|
60
58
|
{
|
|
61
59
|
"use strict";
|
|
@@ -176,7 +174,7 @@ function (Fields,
|
|
|
176
174
|
|
|
177
175
|
if (value)
|
|
178
176
|
{
|
|
179
|
-
var string =
|
|
177
|
+
var string = (value == 1 ? _ ("Loading %1 file") : _ ("Loading %1 files")) .replace ("%1", value);
|
|
180
178
|
}
|
|
181
179
|
else
|
|
182
180
|
{
|
|
@@ -51,7 +51,7 @@ define ([
|
|
|
51
51
|
"standard/Math/Numbers/Vector3",
|
|
52
52
|
"standard/Math/Numbers/Rotation4",
|
|
53
53
|
"standard/Math/Numbers/Matrix4",
|
|
54
|
-
|
|
54
|
+
require .getComponentUrl ("rigid-body-physics"),
|
|
55
55
|
],
|
|
56
56
|
function (Vector3,
|
|
57
57
|
Rotation4,
|
|
@@ -92,10 +92,13 @@ function ($,
|
|
|
92
92
|
},
|
|
93
93
|
mousedown: function (event)
|
|
94
94
|
{
|
|
95
|
-
|
|
95
|
+
const browser = this .getBrowser ();
|
|
96
96
|
|
|
97
97
|
browser .getElement () .focus ();
|
|
98
98
|
|
|
99
|
+
if (browser .getContextMenu () .getActive ())
|
|
100
|
+
return;
|
|
101
|
+
|
|
99
102
|
if (browser .getShiftKey () && browser .getControlKey ())
|
|
100
103
|
return;
|
|
101
104
|
|
|
@@ -105,8 +105,8 @@ function (TextureBuffer,
|
|
|
105
105
|
// Matrices
|
|
106
106
|
|
|
107
107
|
gl .uniformMatrix4fv (shaderNode .x3d_ProjectionMatrix, false, new Float32Array (Camera .ortho (-1, 1, -1, 1, -1, 1, new Matrix4 ())));
|
|
108
|
-
gl .uniformMatrix4fv (shaderNode .x3d_ModelViewMatrix, false, new Float32Array (
|
|
109
|
-
gl .uniformMatrix3fv (shaderNode .x3d_NormalMatrix, false, new Float32Array (
|
|
108
|
+
gl .uniformMatrix4fv (shaderNode .x3d_ModelViewMatrix, false, new Float32Array (Matrix4 .Identity));
|
|
109
|
+
gl .uniformMatrix3fv (shaderNode .x3d_NormalMatrix, false, new Float32Array (Matrix3 .Identity));
|
|
110
110
|
|
|
111
111
|
// Set clip planes and lights to none.
|
|
112
112
|
|
|
@@ -149,7 +149,7 @@ function (TextureBuffer,
|
|
|
149
149
|
|
|
150
150
|
frameBuffer .unbind ();
|
|
151
151
|
|
|
152
|
-
return data [0] == 255 && data [1] == 0 && data [2] == 0 && data [3] == 255;
|
|
152
|
+
return true || (data [0] == 255 && data [1] == 0 && data [2] == 0 && data [3] == 255);
|
|
153
153
|
};
|
|
154
154
|
})(),
|
|
155
155
|
};
|
|
@@ -50,7 +50,6 @@
|
|
|
50
50
|
define ([
|
|
51
51
|
"jquery",
|
|
52
52
|
"x_ite/Browser/VERSION",
|
|
53
|
-
"x_ite/Base/Events",
|
|
54
53
|
"x_ite/Fields",
|
|
55
54
|
"x_ite/Components",
|
|
56
55
|
"x_ite/Components/Layering/X3DLayerNode",
|
|
@@ -70,7 +69,6 @@ define ([
|
|
|
70
69
|
],
|
|
71
70
|
function ($,
|
|
72
71
|
VERSION,
|
|
73
|
-
Events,
|
|
74
72
|
Fields,
|
|
75
73
|
Components,
|
|
76
74
|
X3DLayerNode,
|
|
@@ -143,6 +141,8 @@ function ($,
|
|
|
143
141
|
|
|
144
142
|
// Print welcome message.
|
|
145
143
|
|
|
144
|
+
if (this .getNumber () > 1) return;
|
|
145
|
+
|
|
146
146
|
this .print ("Welcome to " + this .name + " X3D Browser " + this .version + ":\n" +
|
|
147
147
|
" Current Graphics Renderer\n" +
|
|
148
148
|
" Name: " + this .getVendor () + " " + this .getRenderer () + "\n" +
|
|
@@ -247,9 +247,6 @@ function ($,
|
|
|
247
247
|
this .callBrowserEventHandler ("onshutdown");
|
|
248
248
|
}
|
|
249
249
|
|
|
250
|
-
// Clear event cache.
|
|
251
|
-
Events .clear ();
|
|
252
|
-
|
|
253
250
|
// Replace world.
|
|
254
251
|
|
|
255
252
|
if (scene instanceof Fields .MFNode)
|
|
@@ -402,68 +399,91 @@ function ($,
|
|
|
402
399
|
},
|
|
403
400
|
loadURL: function (url, parameter)
|
|
404
401
|
{
|
|
405
|
-
|
|
402
|
+
const promise = new Promise (function (resolve, reject)
|
|
403
|
+
{
|
|
404
|
+
// Cancel any loading.
|
|
406
405
|
|
|
407
|
-
|
|
408
|
-
|
|
406
|
+
this .loadCount_ .removeInterest ("set_loadCount__", this);
|
|
407
|
+
this .prepareEvents () .removeInterest ("bind", this);
|
|
409
408
|
|
|
410
|
-
|
|
411
|
-
|
|
409
|
+
if (this .loader)
|
|
410
|
+
this .loader .abort ();
|
|
412
411
|
|
|
413
|
-
|
|
412
|
+
// Start loading.
|
|
414
413
|
|
|
415
|
-
|
|
416
|
-
|
|
414
|
+
this .setBrowserLoading (true);
|
|
415
|
+
this .addLoadCount (this);
|
|
417
416
|
|
|
418
|
-
|
|
417
|
+
const loader = this .loader = new FileLoader (this .getWorld ());
|
|
419
418
|
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
419
|
+
loader .createX3DFromURL (url, parameter,
|
|
420
|
+
function (scene)
|
|
421
|
+
{
|
|
422
|
+
if (loader !== this .loader)
|
|
423
|
+
{
|
|
424
|
+
reject ();
|
|
425
|
+
return;
|
|
426
|
+
}
|
|
425
427
|
|
|
426
|
-
|
|
427
|
-
|
|
428
|
+
if (! this .getBrowserOptions () .getSplashScreen ())
|
|
429
|
+
this .getCanvas () .fadeIn (0);
|
|
428
430
|
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
431
|
+
if (scene)
|
|
432
|
+
{
|
|
433
|
+
this .replaceWorld (scene);
|
|
434
|
+
this .removeLoadCount (this);
|
|
435
|
+
|
|
436
|
+
resolve ();
|
|
437
|
+
}
|
|
438
|
+
else
|
|
439
|
+
{
|
|
440
|
+
this .callBrowserCallbacks (X3DConstants .CONNECTION_ERROR);
|
|
441
|
+
this .callBrowserEventHandler ("onerror");
|
|
442
|
+
|
|
443
|
+
setTimeout (function () { this .getSplashScreen () .find (".x_ite-private-spinner-text") .text (_ ("Failed loading world.")); } .bind (this), 31);
|
|
444
|
+
|
|
445
|
+
reject ();
|
|
446
|
+
}
|
|
433
447
|
}
|
|
434
|
-
|
|
448
|
+
.bind (this),
|
|
449
|
+
function (fragment)
|
|
435
450
|
{
|
|
436
|
-
|
|
437
|
-
|
|
451
|
+
if (loader !== this .loader)
|
|
452
|
+
{
|
|
453
|
+
reject ();
|
|
454
|
+
return;
|
|
455
|
+
}
|
|
438
456
|
|
|
439
|
-
|
|
457
|
+
this .changeViewpoint (fragment);
|
|
458
|
+
this .removeLoadCount (this);
|
|
459
|
+
this .setBrowserLoading (false);
|
|
460
|
+
|
|
461
|
+
resolve ();
|
|
440
462
|
}
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
463
|
+
.bind (this),
|
|
464
|
+
function (url, target)
|
|
465
|
+
{
|
|
466
|
+
if (loader !== this .loader)
|
|
467
|
+
{
|
|
468
|
+
reject ();
|
|
469
|
+
return;
|
|
470
|
+
}
|
|
447
471
|
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
.bind (this),
|
|
453
|
-
function (url, target)
|
|
454
|
-
{
|
|
455
|
-
if (loader !== this .loader)
|
|
456
|
-
return;
|
|
472
|
+
if (target)
|
|
473
|
+
window .open (url, target);
|
|
474
|
+
else
|
|
475
|
+
location = url;
|
|
457
476
|
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
else
|
|
461
|
-
location = url;
|
|
477
|
+
this .removeLoadCount (this);
|
|
478
|
+
this .setBrowserLoading (false);
|
|
462
479
|
|
|
463
|
-
|
|
464
|
-
|
|
480
|
+
resolve ();
|
|
481
|
+
}
|
|
482
|
+
.bind (this));
|
|
465
483
|
}
|
|
466
484
|
.bind (this));
|
|
485
|
+
|
|
486
|
+
return promise;
|
|
467
487
|
},
|
|
468
488
|
addBrowserListener: function (callback, object)
|
|
469
489
|
{
|
|
@@ -59,7 +59,7 @@ define ([
|
|
|
59
59
|
"standard/Math/Numbers/Vector3",
|
|
60
60
|
"standard/Math/Numbers/Rotation4",
|
|
61
61
|
"standard/Math/Geometry/Box3",
|
|
62
|
-
|
|
62
|
+
require .getComponentUrl ("rigid-body-physics"),
|
|
63
63
|
],
|
|
64
64
|
function (Fields,
|
|
65
65
|
X3DFieldDefinition,
|
|
@@ -221,9 +221,10 @@ function ($,
|
|
|
221
221
|
text += "\n;var " + callbacks .join (",") + ";";
|
|
222
222
|
text += "\n[" + callbacks .join (",") + "];";
|
|
223
223
|
|
|
224
|
+
this .global = this .getGlobal ();
|
|
225
|
+
|
|
224
226
|
const
|
|
225
|
-
|
|
226
|
-
result = evaluate (global, text),
|
|
227
|
+
result = this .evaluate (text),
|
|
227
228
|
context = { };
|
|
228
229
|
|
|
229
230
|
for (let i = 0; i < callbacks .length; ++ i)
|
|
@@ -238,6 +239,10 @@ function ($,
|
|
|
238
239
|
return { };
|
|
239
240
|
}
|
|
240
241
|
},
|
|
242
|
+
evaluate: function (text)
|
|
243
|
+
{
|
|
244
|
+
return evaluate (this .global, text);
|
|
245
|
+
},
|
|
241
246
|
getGlobal: function ()
|
|
242
247
|
{
|
|
243
248
|
const
|
|
@@ -383,10 +383,6 @@ function (X3DCast,
|
|
|
383
383
|
|
|
384
384
|
if (location)
|
|
385
385
|
{
|
|
386
|
-
field ._uniformLocation = location;
|
|
387
|
-
|
|
388
|
-
field .addInterest ("set_field__", this);
|
|
389
|
-
|
|
390
386
|
switch (field .getType ())
|
|
391
387
|
{
|
|
392
388
|
case X3DConstants .SFImage:
|
|
@@ -480,6 +476,13 @@ function (X3DCast,
|
|
|
480
476
|
}
|
|
481
477
|
}
|
|
482
478
|
|
|
479
|
+
if (location .array)
|
|
480
|
+
field ._uniformLocation = location .array .length ? location : null;
|
|
481
|
+
else
|
|
482
|
+
field ._uniformLocation = location;
|
|
483
|
+
|
|
484
|
+
field .addInterest ("set_field__", this);
|
|
485
|
+
|
|
483
486
|
this .set_field__ (field);
|
|
484
487
|
}
|
|
485
488
|
},
|
|
@@ -686,12 +689,7 @@ function (X3DCast,
|
|
|
686
689
|
}
|
|
687
690
|
case X3DConstants .MFImage:
|
|
688
691
|
{
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
const numImages = this .getImagesLength (field);
|
|
692
|
-
|
|
693
|
-
if (numImages !== array .length)
|
|
694
|
-
array = location .array = new Int32Array (numImages);
|
|
692
|
+
const array = location .array;
|
|
695
693
|
|
|
696
694
|
for (let i = 0, a = 0, length = field .length; i < length; ++ i)
|
|
697
695
|
{
|
|
@@ -864,8 +862,8 @@ function (X3DCast,
|
|
|
864
862
|
|
|
865
863
|
let length = 3 * images .length;
|
|
866
864
|
|
|
867
|
-
for (
|
|
868
|
-
length +=
|
|
865
|
+
for (const image of images)
|
|
866
|
+
length += image .array .length;
|
|
869
867
|
|
|
870
868
|
return length;
|
|
871
869
|
},
|
|
@@ -52,10 +52,10 @@ define ([
|
|
|
52
52
|
"x_ite/Components/Shaders/FloatVertexAttribute",
|
|
53
53
|
"x_ite/Components/Shaders/Matrix3VertexAttribute",
|
|
54
54
|
"x_ite/Components/Shaders/Matrix4VertexAttribute",
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
"x_ite/Components/Shaders/PackagedShader",
|
|
56
|
+
"x_ite/Components/Shaders/ProgramShader",
|
|
57
57
|
"x_ite/Components/Shaders/ShaderPart",
|
|
58
|
-
|
|
58
|
+
"x_ite/Components/Shaders/ShaderProgram",
|
|
59
59
|
"x_ite/Components/Shaders/X3DProgrammableShaderObject",
|
|
60
60
|
"x_ite/Components/Shaders/X3DShaderNode",
|
|
61
61
|
"x_ite/Components/Shaders/X3DVertexAttributeNode",
|
|
@@ -65,10 +65,10 @@ function (SupportedNodes,
|
|
|
65
65
|
FloatVertexAttribute,
|
|
66
66
|
Matrix3VertexAttribute,
|
|
67
67
|
Matrix4VertexAttribute,
|
|
68
|
-
|
|
69
|
-
|
|
68
|
+
PackagedShader,
|
|
69
|
+
ProgramShader,
|
|
70
70
|
ShaderPart,
|
|
71
|
-
|
|
71
|
+
ShaderProgram,
|
|
72
72
|
X3DProgrammableShaderObject,
|
|
73
73
|
X3DShaderNode,
|
|
74
74
|
X3DVertexAttributeNode)
|
|
@@ -81,10 +81,10 @@ function (SupportedNodes,
|
|
|
81
81
|
FloatVertexAttribute: FloatVertexAttribute,
|
|
82
82
|
Matrix3VertexAttribute: Matrix3VertexAttribute,
|
|
83
83
|
Matrix4VertexAttribute: Matrix4VertexAttribute,
|
|
84
|
-
|
|
85
|
-
|
|
84
|
+
PackagedShader: PackagedShader,
|
|
85
|
+
ProgramShader: ProgramShader,
|
|
86
86
|
ShaderPart: ShaderPart,
|
|
87
|
-
|
|
87
|
+
ShaderProgram: ShaderProgram,
|
|
88
88
|
};
|
|
89
89
|
|
|
90
90
|
const AbstractTypes =
|
|
@@ -80,7 +80,8 @@ function (Fields,
|
|
|
80
80
|
{
|
|
81
81
|
X3DBaseNode .call (this, executionContext);
|
|
82
82
|
|
|
83
|
-
this .addChildObjects ("rootNodes",
|
|
83
|
+
this .addChildObjects ("rootNodes", new Fields .MFNode (),
|
|
84
|
+
"worldInfos", new Fields .MFNode ());
|
|
84
85
|
|
|
85
86
|
this .rootNodes_ .setAccessType (X3DConstants .initializeOnly);
|
|
86
87
|
this .rootNodes_ .addCloneCount (1);
|
|
@@ -91,7 +92,6 @@ function (Fields,
|
|
|
91
92
|
this ._externprotos = new ExternProtoDeclarationArray ();
|
|
92
93
|
this ._routes = new RouteArray ();
|
|
93
94
|
this ._routeIndex = new Map ();
|
|
94
|
-
this ._worldInfoNodes = [ ];
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .prototype),
|
|
@@ -639,22 +639,20 @@ function (Fields,
|
|
|
639
639
|
{
|
|
640
640
|
return this ._routes;
|
|
641
641
|
},
|
|
642
|
-
|
|
642
|
+
getWorldInfos: function ()
|
|
643
643
|
{
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
if (length)
|
|
647
|
-
return this ._worldInfoNodes [length - 1];
|
|
648
|
-
|
|
649
|
-
return null;
|
|
644
|
+
return this .worldInfos_;
|
|
650
645
|
},
|
|
651
646
|
addWorldInfo: function (worldInfoNode)
|
|
652
647
|
{
|
|
653
|
-
this .
|
|
648
|
+
this .worldInfos_ .push (worldInfoNode);
|
|
654
649
|
},
|
|
655
650
|
removeWorldInfo: function (worldInfoNode)
|
|
656
651
|
{
|
|
657
|
-
|
|
652
|
+
const index = this .worldInfos_ .getValue () .indexOf (worldInfoNode);
|
|
653
|
+
|
|
654
|
+
if (index !== -1)
|
|
655
|
+
this .worldInfos_ .splice (index, 1);
|
|
658
656
|
},
|
|
659
657
|
toVRMLStream: function (stream)
|
|
660
658
|
{
|
|
@@ -51,10 +51,12 @@ define ([
|
|
|
51
51
|
"standard/Math/Numbers/Color3",
|
|
52
52
|
"x_ite/Basic/X3DField",
|
|
53
53
|
"x_ite/Bits/X3DConstants",
|
|
54
|
+
"x_ite/InputOutput/Generator",
|
|
54
55
|
],
|
|
55
56
|
function (Color3,
|
|
56
57
|
X3DField,
|
|
57
|
-
X3DConstants
|
|
58
|
+
X3DConstants,
|
|
59
|
+
Generator)
|
|
58
60
|
{
|
|
59
61
|
"use strict";
|
|
60
62
|
|
|
@@ -116,14 +118,14 @@ function (Color3,
|
|
|
116
118
|
},
|
|
117
119
|
lerp: (function ()
|
|
118
120
|
{
|
|
119
|
-
|
|
121
|
+
const
|
|
120
122
|
s = [ ],
|
|
121
123
|
d = [ ],
|
|
122
124
|
r = [ ];
|
|
123
125
|
|
|
124
126
|
return function (destination, t)
|
|
125
127
|
{
|
|
126
|
-
|
|
128
|
+
const result = new SFColor ();
|
|
127
129
|
|
|
128
130
|
this .getValue () .getHSV (s),
|
|
129
131
|
destination .getValue () .getHSV (d),
|
|
@@ -136,7 +138,18 @@ function (Color3,
|
|
|
136
138
|
})(),
|
|
137
139
|
toStream: function (stream)
|
|
138
140
|
{
|
|
139
|
-
|
|
141
|
+
const
|
|
142
|
+
generator = Generator .Get (stream),
|
|
143
|
+
value = this .getValue (),
|
|
144
|
+
last = value .length - 1;
|
|
145
|
+
|
|
146
|
+
for (let i = 0; i < last; ++ i)
|
|
147
|
+
{
|
|
148
|
+
stream .string += generator .Precision (value [i]);
|
|
149
|
+
stream .string += " ";
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
stream .string += generator .Precision (value [last]);
|
|
140
153
|
},
|
|
141
154
|
toVRMLStream: function (stream)
|
|
142
155
|
{
|
|
@@ -148,7 +161,7 @@ function (Color3,
|
|
|
148
161
|
},
|
|
149
162
|
});
|
|
150
163
|
|
|
151
|
-
|
|
164
|
+
const r = {
|
|
152
165
|
get: function ()
|
|
153
166
|
{
|
|
154
167
|
return this .getValue () .r;
|
|
@@ -162,7 +175,7 @@ function (Color3,
|
|
|
162
175
|
configurable: false
|
|
163
176
|
};
|
|
164
177
|
|
|
165
|
-
|
|
178
|
+
const g = {
|
|
166
179
|
get: function ()
|
|
167
180
|
{
|
|
168
181
|
return this .getValue () .g;
|
|
@@ -176,7 +189,7 @@ function (Color3,
|
|
|
176
189
|
configurable: false
|
|
177
190
|
};
|
|
178
191
|
|
|
179
|
-
|
|
192
|
+
const b = {
|
|
180
193
|
get: function ()
|
|
181
194
|
{
|
|
182
195
|
return this .getValue () .b;
|
|
@@ -113,14 +113,14 @@ function (X3DField,
|
|
|
113
113
|
},
|
|
114
114
|
lerp: (function ()
|
|
115
115
|
{
|
|
116
|
-
|
|
116
|
+
const
|
|
117
117
|
s = [ ],
|
|
118
118
|
d = [ ],
|
|
119
119
|
r = [ ];
|
|
120
120
|
|
|
121
121
|
return function (destination, t)
|
|
122
122
|
{
|
|
123
|
-
|
|
123
|
+
const result = new SFColorRGBA ();
|
|
124
124
|
|
|
125
125
|
this .getValue () .getHSVA (s),
|
|
126
126
|
destination .getValue () .getHSVA (d),
|
|
@@ -136,7 +136,7 @@ function (X3DField,
|
|
|
136
136
|
toXMLStream: SFColor .prototype .toXMLStream,
|
|
137
137
|
});
|
|
138
138
|
|
|
139
|
-
|
|
139
|
+
const r = {
|
|
140
140
|
get: function ()
|
|
141
141
|
{
|
|
142
142
|
return this .getValue () .r;
|
|
@@ -150,7 +150,7 @@ function (X3DField,
|
|
|
150
150
|
configurable: false
|
|
151
151
|
};
|
|
152
152
|
|
|
153
|
-
|
|
153
|
+
const g = {
|
|
154
154
|
get: function ()
|
|
155
155
|
{
|
|
156
156
|
return this .getValue () .g;
|
|
@@ -164,7 +164,7 @@ function (X3DField,
|
|
|
164
164
|
configurable: false
|
|
165
165
|
};
|
|
166
166
|
|
|
167
|
-
|
|
167
|
+
const b = {
|
|
168
168
|
get: function ()
|
|
169
169
|
{
|
|
170
170
|
return this .getValue () .b;
|
|
@@ -178,7 +178,7 @@ function (X3DField,
|
|
|
178
178
|
configurable: false
|
|
179
179
|
};
|
|
180
180
|
|
|
181
|
-
|
|
181
|
+
const a = {
|
|
182
182
|
get: function ()
|
|
183
183
|
{
|
|
184
184
|
return this .getValue () .a;
|
|
@@ -89,11 +89,11 @@ function (X3DField,
|
|
|
89
89
|
valueOf: X3DField .prototype .getValue,
|
|
90
90
|
toStream: function (stream)
|
|
91
91
|
{
|
|
92
|
-
|
|
92
|
+
const
|
|
93
93
|
generator = Generator .Get (stream),
|
|
94
94
|
category = generator .Unit (this .getUnit ());
|
|
95
95
|
|
|
96
|
-
stream .string +=
|
|
96
|
+
stream .string += generator .DoublePrecision (generator .ToUnit (category, this .getValue ()));
|
|
97
97
|
},
|
|
98
98
|
toVRMLStream: function (stream)
|
|
99
99
|
{
|
|
@@ -89,11 +89,11 @@ function (X3DField,
|
|
|
89
89
|
valueOf: X3DField .prototype .getValue,
|
|
90
90
|
toStream: function (stream)
|
|
91
91
|
{
|
|
92
|
-
|
|
92
|
+
const
|
|
93
93
|
generator = Generator .Get (stream),
|
|
94
94
|
category = generator .Unit (this .getUnit ());
|
|
95
95
|
|
|
96
|
-
stream .string +=
|
|
96
|
+
stream .string += generator .Precision (generator .ToUnit (category, this .getValue ()));
|
|
97
97
|
},
|
|
98
98
|
toVRMLStream: function (stream)
|
|
99
99
|
{
|