x_ite 8.7.1 → 8.7.3
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/tasks.json +0 -18
- package/Makefile +4 -1
- package/build/bin/bump.pl +16 -0
- package/build/bin/version.pl +32 -13
- package/dist/LICENSE.md +2 -16
- 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 +25 -25
- package/dist/assets/components/CubeMapTexturing.min.js +1 -1
- package/dist/assets/components/DIS.js +13 -13
- 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 +18 -18
- 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 +27 -27
- 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 +22 -22
- 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 +28 -28
- package/dist/assets/components/Scripting.min.js +1 -1
- package/dist/assets/components/Text.js +24 -24
- 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 +30 -30
- package/dist/assets/components/Texturing3D.min.js +1 -1
- package/dist/assets/components/VolumeRendering.js +19 -19
- 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 +1265 -1611
- package/dist/x_ite.min.js +1 -1
- package/dist/x_ite.zip +0 -0
- package/docs/_config.yml +2 -2
- package/docs/_posts/getting-started.md +2 -0
- package/package.json +2 -2
- package/src/assets/shaders/webgl1/include/Fragment.glsl.js +4 -2
- package/src/assets/shaders/webgl2/include/Fragment.glsl.js +4 -2
- package/src/bookmarks.js +3 -2
- package/src/standard/Math/Algorithm.js +18 -0
- package/src/x_ite/Base/X3DArrayField.js +19 -7
- package/src/x_ite/Base/X3DObject.js +5 -0
- package/src/x_ite/Base/X3DObjectArrayField.js +20 -21
- package/src/x_ite/Base/X3DTypedArrayField.js +86 -178
- package/src/x_ite/Browser/Core/BrowserOptions.js +2 -2
- package/src/x_ite/Browser/Core/RenderingProperties.js +1 -1
- package/src/x_ite/Browser/Core/X3DCoreContext.js +22 -6
- package/src/x_ite/Browser/DOMIntegration.js +5 -5
- package/src/x_ite/Browser/VERSION.js +1 -1
- package/src/x_ite/Browser/X3DBrowser.js +5 -7
- package/src/x_ite/Components/Core/X3DNode.js +0 -10
- package/src/x_ite/Configuration/ComponentInfo.js +2 -3
- package/src/x_ite/Execution/X3DScene.js +1 -1
- package/src/x_ite/Fields/ArrayFields.js +13 -9
- package/src/x_ite/Fields/SFColor.js +4 -4
- 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 +11 -2
- package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +1 -1
- package/src/x_ite/Fields/SFNode.js +4 -0
- package/src/x_ite/Fields/SFRotation.js +8 -8
- package/src/x_ite/Fields/SFTime.js +1 -1
- package/src/x_ite/Fields/SFVecPrototypeTemplate.js +1 -1
- package/src/x_ite/InputOutput/FileLoader.js +1 -1
- package/src/x_ite/InputOutput/Generator.js +7 -7
- package/src/x_ite/Parser/JSONParser.js +4 -23
- package/src/x_ite/Parser/XMLParser.js +5 -11
- package/src/x_ite/X3D.js +1 -1
- package/src/x_ite/X3DCanvasElement.js +0 -24
- package/src/x_ite.js +1 -1
|
@@ -56,10 +56,9 @@ function ComponentInfo ({ name, level, title, providerUrl, external = false, dep
|
|
|
56
56
|
level: { value: level, enumerable: true },
|
|
57
57
|
title: { value: title, enumerable: true },
|
|
58
58
|
providerUrl: { value: providerUrl || URLs .getProviderUrl (external && name), enumerable: true },
|
|
59
|
+
external: { value: external },
|
|
60
|
+
dependencies: { value: dependencies },
|
|
59
61
|
});
|
|
60
|
-
|
|
61
|
-
$.data (this, "external", external)
|
|
62
|
-
$.data (this, "dependencies", dependencies)
|
|
63
62
|
}
|
|
64
63
|
|
|
65
64
|
ComponentInfo .prototype = Object .assign (Object .create (X3DObject .prototype),
|
|
@@ -671,7 +671,7 @@ X3DScene .prototype = Object .assign (Object .create (X3DExecutionContext .proto
|
|
|
671
671
|
generator .string += ':';
|
|
672
672
|
generator .string += generator .TidySpace ();
|
|
673
673
|
generator .string += '"';
|
|
674
|
-
generator .string +=
|
|
674
|
+
generator .string += LATEST_VERSION;
|
|
675
675
|
generator .string += '"';
|
|
676
676
|
generator .string += ',';
|
|
677
677
|
generator .string += generator .TidyBreak ();
|
|
@@ -83,9 +83,9 @@ const
|
|
|
83
83
|
|
|
84
84
|
const _cloneCount = Symbol ();
|
|
85
85
|
|
|
86
|
-
function MFNode (
|
|
86
|
+
function MFNode (... args)
|
|
87
87
|
{
|
|
88
|
-
return X3DObjectArrayField .call (this,
|
|
88
|
+
return X3DObjectArrayField .call (this, args);
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
MFNode .prototype = Object .assign (Object .create (X3DObjectArrayField .prototype),
|
|
@@ -419,9 +419,9 @@ MFNode .prototype = Object .assign (Object .create (X3DObjectArrayField .prototy
|
|
|
419
419
|
for (const key of Reflect .ownKeys (MFNode .prototype))
|
|
420
420
|
Object .defineProperty (MFNode .prototype, key, { enumerable: false });
|
|
421
421
|
|
|
422
|
-
function MFString (
|
|
422
|
+
function MFString (... args)
|
|
423
423
|
{
|
|
424
|
-
return X3DObjectArrayField .call (this,
|
|
424
|
+
return X3DObjectArrayField .call (this, args);
|
|
425
425
|
}
|
|
426
426
|
|
|
427
427
|
MFString .prototype = Object .assign (Object .create (X3DObjectArrayField .prototype),
|
|
@@ -480,11 +480,15 @@ MFString .prototype = Object .assign (Object .create (X3DObjectArrayField .proto
|
|
|
480
480
|
for (const key of Reflect .ownKeys (MFString .prototype))
|
|
481
481
|
Object .defineProperty (MFString .prototype, key, { enumerable: false });
|
|
482
482
|
|
|
483
|
+
/**
|
|
484
|
+
* MFImage
|
|
485
|
+
*/
|
|
486
|
+
|
|
483
487
|
function MFImageTemplate (TypeName, Type, SingleType, ValueType, ArrayType, Components)
|
|
484
488
|
{
|
|
485
|
-
function ArrayField (
|
|
489
|
+
function ArrayField (... args)
|
|
486
490
|
{
|
|
487
|
-
return X3DObjectArrayField .call (this,
|
|
491
|
+
return X3DObjectArrayField .call (this, args);
|
|
488
492
|
}
|
|
489
493
|
|
|
490
494
|
ArrayField .prototype = Object .assign (Object .create (X3DObjectArrayField .prototype),
|
|
@@ -524,9 +528,9 @@ function MFImageTemplate (TypeName, Type, SingleType, ValueType, ArrayType, Comp
|
|
|
524
528
|
|
|
525
529
|
function TypedArrayTemplate (TypeName, Type, SingleType, ValueType, ArrayType, Components)
|
|
526
530
|
{
|
|
527
|
-
function ArrayField (
|
|
531
|
+
function ArrayField (... args)
|
|
528
532
|
{
|
|
529
|
-
return X3DTypedArrayField .call (this,
|
|
533
|
+
return X3DTypedArrayField .call (this, args);
|
|
530
534
|
}
|
|
531
535
|
|
|
532
536
|
ArrayField .prototype = Object .assign (Object .create (X3DTypedArrayField .prototype),
|
|
@@ -564,7 +568,7 @@ function TypedArrayTemplate (TypeName, Type, SingleType, ValueType, ArrayType, C
|
|
|
564
568
|
return ArrayField;
|
|
565
569
|
}
|
|
566
570
|
|
|
567
|
-
|
|
571
|
+
const Value = (value) => value;
|
|
568
572
|
|
|
569
573
|
const ArrayFields =
|
|
570
574
|
{
|
|
@@ -134,11 +134,11 @@ SFColor .prototype = Object .assign (Object .create (X3DField .prototype),
|
|
|
134
134
|
|
|
135
135
|
for (let i = 0; i < last; ++ i)
|
|
136
136
|
{
|
|
137
|
-
generator .string += generator .
|
|
137
|
+
generator .string += generator .FloatFormat (value [i]);
|
|
138
138
|
generator .string += generator .TidySpace ();
|
|
139
139
|
}
|
|
140
140
|
|
|
141
|
-
generator .string += generator .
|
|
141
|
+
generator .string += generator .FloatFormat (value [last]);
|
|
142
142
|
},
|
|
143
143
|
toVRMLStream: function (generator)
|
|
144
144
|
{
|
|
@@ -166,12 +166,12 @@ SFColor .prototype = Object .assign (Object .create (X3DField .prototype),
|
|
|
166
166
|
|
|
167
167
|
for (let i = 0; i < last; ++ i)
|
|
168
168
|
{
|
|
169
|
-
generator .string += generator .JSONNumber (generator .
|
|
169
|
+
generator .string += generator .JSONNumber (generator .FloatFormat (value [i]));
|
|
170
170
|
generator .string += ',';
|
|
171
171
|
generator .string += generator .TidySpace ();
|
|
172
172
|
}
|
|
173
173
|
|
|
174
|
-
generator .string += generator .JSONNumber (generator .
|
|
174
|
+
generator .string += generator .JSONNumber (generator .FloatFormat (value [last]));
|
|
175
175
|
},
|
|
176
176
|
});
|
|
177
177
|
|
|
@@ -81,7 +81,7 @@ SFDouble .prototype = Object .assign (Object .create (X3DField .prototype),
|
|
|
81
81
|
{
|
|
82
82
|
const category = generator .Unit (this .getUnit ());
|
|
83
83
|
|
|
84
|
-
generator .string += generator .
|
|
84
|
+
generator .string += generator .DoubleFormat (generator .ToUnit (category, this .getValue ()));
|
|
85
85
|
},
|
|
86
86
|
toVRMLStream: function (generator)
|
|
87
87
|
{
|
|
@@ -99,7 +99,7 @@ SFDouble .prototype = Object .assign (Object .create (X3DField .prototype),
|
|
|
99
99
|
{
|
|
100
100
|
const category = generator .Unit (this .getUnit ());
|
|
101
101
|
|
|
102
|
-
generator .string += generator .JSONNumber (generator .
|
|
102
|
+
generator .string += generator .JSONNumber (generator .DoubleFormat (generator .ToUnit (category, this .getValue ())));
|
|
103
103
|
},
|
|
104
104
|
});
|
|
105
105
|
|
|
@@ -81,7 +81,7 @@ SFFloat .prototype = Object .assign (Object .create (X3DField .prototype),
|
|
|
81
81
|
{
|
|
82
82
|
const category = generator .Unit (this .getUnit ());
|
|
83
83
|
|
|
84
|
-
generator .string += generator .
|
|
84
|
+
generator .string += generator .FloatFormat (generator .ToUnit (category, this .getValue ()));
|
|
85
85
|
},
|
|
86
86
|
toVRMLStream: function (generator)
|
|
87
87
|
{
|
|
@@ -99,7 +99,7 @@ SFFloat .prototype = Object .assign (Object .create (X3DField .prototype),
|
|
|
99
99
|
{
|
|
100
100
|
const category = generator .Unit (this .getUnit ());
|
|
101
101
|
|
|
102
|
-
generator .string += generator .JSONNumber (generator .
|
|
102
|
+
generator .string += generator .JSONNumber (generator .FloatFormat (generator .ToUnit (category, this .getValue ())));
|
|
103
103
|
},
|
|
104
104
|
});
|
|
105
105
|
|
|
@@ -134,6 +134,8 @@ Image .prototype =
|
|
|
134
134
|
* SFImage
|
|
135
135
|
*/
|
|
136
136
|
|
|
137
|
+
const _set_size = Symbol ();
|
|
138
|
+
|
|
137
139
|
function SFImage (width, height, comp, array)
|
|
138
140
|
{
|
|
139
141
|
const MFInt32 = ArrayFields .MFInt32;
|
|
@@ -146,16 +148,23 @@ function SFImage (width, height, comp, array)
|
|
|
146
148
|
X3DField .call (this, new Image (0, 0, 0, new MFInt32 ()));
|
|
147
149
|
|
|
148
150
|
this .getValue () .getArray () .addParent (this);
|
|
149
|
-
this .addInterest (
|
|
151
|
+
this .addInterest (_set_size, this);
|
|
150
152
|
}
|
|
151
153
|
|
|
152
154
|
SFImage .prototype = Object .assign (Object .create (X3DField .prototype),
|
|
153
155
|
{
|
|
154
156
|
constructor: SFImage,
|
|
155
|
-
|
|
157
|
+
[_set_size]: function ()
|
|
156
158
|
{
|
|
157
159
|
this .getValue () .getArray () .length = this .width * this .height;
|
|
158
160
|
},
|
|
161
|
+
[Symbol .iterator]: function* ()
|
|
162
|
+
{
|
|
163
|
+
yield this .width;
|
|
164
|
+
yield this .height;
|
|
165
|
+
yield this .comp;
|
|
166
|
+
yield this .array;
|
|
167
|
+
},
|
|
159
168
|
copy: function ()
|
|
160
169
|
{
|
|
161
170
|
return new SFImage (this .getValue () .copy ());
|
|
@@ -49,7 +49,7 @@ import X3DField from "../Base/X3DField.js";
|
|
|
49
49
|
|
|
50
50
|
function SFMatrixPrototypeTemplate (TypeName, Type, Matrix, SFVec, double)
|
|
51
51
|
{
|
|
52
|
-
const _formatter = double ? "
|
|
52
|
+
const _formatter = double ? "DoubleFormat" : "FloatFormat";
|
|
53
53
|
|
|
54
54
|
return Object .assign (Object .create (X3DField .prototype),
|
|
55
55
|
{
|
|
@@ -369,6 +369,10 @@ SFNode .prototype = Object .assign (Object .create (X3DField .prototype),
|
|
|
369
369
|
{
|
|
370
370
|
this [_target] .getValue () .setUserData (key, value);
|
|
371
371
|
},
|
|
372
|
+
removeNodeUserData: function (key)
|
|
373
|
+
{
|
|
374
|
+
this [_target] .getValue () .removeUserData (key);
|
|
375
|
+
},
|
|
372
376
|
valueOf: function ()
|
|
373
377
|
{
|
|
374
378
|
const
|
|
@@ -155,13 +155,13 @@ SFRotation .prototype = Object .assign (Object .create (X3DField .prototype),
|
|
|
155
155
|
{
|
|
156
156
|
const rotation = this .getValue ();
|
|
157
157
|
|
|
158
|
-
generator .string += generator .
|
|
158
|
+
generator .string += generator .DoubleFormat (rotation .x);
|
|
159
159
|
generator .string += generator .TidySpace ();
|
|
160
|
-
generator .string += generator .
|
|
160
|
+
generator .string += generator .DoubleFormat (rotation .y);
|
|
161
161
|
generator .string += generator .TidySpace ();
|
|
162
|
-
generator .string += generator .
|
|
162
|
+
generator .string += generator .DoubleFormat (rotation .z);
|
|
163
163
|
generator .string += generator .TidySpace ();
|
|
164
|
-
generator .string += generator .
|
|
164
|
+
generator .string += generator .DoubleFormat (generator .ToUnit ("angle", rotation .angle));
|
|
165
165
|
},
|
|
166
166
|
toVRMLStream: function (generator)
|
|
167
167
|
{
|
|
@@ -185,16 +185,16 @@ SFRotation .prototype = Object .assign (Object .create (X3DField .prototype),
|
|
|
185
185
|
{
|
|
186
186
|
const rotation = this .getValue ();
|
|
187
187
|
|
|
188
|
-
generator .string += generator .JSONNumber (generator .
|
|
188
|
+
generator .string += generator .JSONNumber (generator .DoubleFormat (rotation .x));
|
|
189
189
|
generator .string += ',';
|
|
190
190
|
generator .string += generator .TidySpace ();
|
|
191
|
-
generator .string += generator .JSONNumber (generator .
|
|
191
|
+
generator .string += generator .JSONNumber (generator .DoubleFormat (rotation .y));
|
|
192
192
|
generator .string += ',';
|
|
193
193
|
generator .string += generator .TidySpace ();
|
|
194
|
-
generator .string += generator .JSONNumber (generator .
|
|
194
|
+
generator .string += generator .JSONNumber (generator .DoubleFormat (rotation .z));
|
|
195
195
|
generator .string += ',';
|
|
196
196
|
generator .string += generator .TidySpace ();
|
|
197
|
-
generator .string += generator .JSONNumber (generator .
|
|
197
|
+
generator .string += generator .JSONNumber (generator .DoubleFormat (generator .ToUnit ("angle", rotation .angle)));
|
|
198
198
|
},
|
|
199
199
|
});
|
|
200
200
|
|
|
@@ -95,7 +95,7 @@ SFTime .prototype = Object .assign (Object .create (X3DField .prototype),
|
|
|
95
95
|
},
|
|
96
96
|
toJSONStreamValue: function (generator)
|
|
97
97
|
{
|
|
98
|
-
generator .string += generator .JSONNumber (generator .
|
|
98
|
+
generator .string += generator .JSONNumber (generator .DoubleFormat (this .getValue ()));
|
|
99
99
|
},
|
|
100
100
|
});
|
|
101
101
|
|
|
@@ -49,7 +49,7 @@ import X3DField from "../Base/X3DField.js";
|
|
|
49
49
|
|
|
50
50
|
function SFVecPrototypeTemplate (TypeName, Type, ValueType, double)
|
|
51
51
|
{
|
|
52
|
-
const _formatter = double ? "
|
|
52
|
+
const _formatter = double ? "DoubleFormat" : "FloatFormat";
|
|
53
53
|
|
|
54
54
|
return Object .assign (Object .create (X3DField .prototype),
|
|
55
55
|
{
|
|
@@ -243,7 +243,7 @@ FileLoader .prototype = Object .assign (Object .create (X3DObject .prototype),
|
|
|
243
243
|
if (result [3] === "base64")
|
|
244
244
|
data = atob (data);
|
|
245
245
|
else
|
|
246
|
-
data =
|
|
246
|
+
data = unescape (data); // Don't use decodeURIComponent!
|
|
247
247
|
|
|
248
248
|
this .callback (data);
|
|
249
249
|
return;
|
|
@@ -231,23 +231,23 @@ Generator .prototype =
|
|
|
231
231
|
|
|
232
232
|
return "";
|
|
233
233
|
},
|
|
234
|
-
|
|
234
|
+
FloatFormat: function (value)
|
|
235
235
|
{
|
|
236
236
|
if (Number .isFinite (value))
|
|
237
237
|
{
|
|
238
238
|
const exponent = Math .log10 (Math .abs (value));
|
|
239
239
|
|
|
240
240
|
if ((this .precision > exponent && exponent >= -4) || value === 0)
|
|
241
|
-
return this .floatFormat (
|
|
241
|
+
return this .floatFormat (value);
|
|
242
242
|
|
|
243
|
-
return this .floatExponentialFormat (
|
|
243
|
+
return this .floatExponentialFormat (value) .toLowerCase ();
|
|
244
244
|
}
|
|
245
245
|
else
|
|
246
246
|
{
|
|
247
247
|
return String (value);
|
|
248
248
|
}
|
|
249
249
|
},
|
|
250
|
-
|
|
250
|
+
DoubleFormat: function (value)
|
|
251
251
|
{
|
|
252
252
|
if (Number .isFinite (value))
|
|
253
253
|
{
|
|
@@ -267,13 +267,13 @@ Generator .prototype =
|
|
|
267
267
|
{
|
|
268
268
|
this .executionContextStack .push (executionContext);
|
|
269
269
|
|
|
270
|
-
if (!
|
|
270
|
+
if (!this .names .has (executionContext))
|
|
271
271
|
this .names .set (executionContext, Object .assign (new Set (), { index: 0 }));
|
|
272
272
|
|
|
273
|
-
if (!
|
|
273
|
+
if (!this .importedNodesIndex .has (executionContext))
|
|
274
274
|
this .importedNodesIndex .set (executionContext, new Set ());
|
|
275
275
|
|
|
276
|
-
if (!
|
|
276
|
+
if (!this .exportedNodesIndex .has (executionContext))
|
|
277
277
|
this .exportedNodesIndex .set (executionContext, new Set ());
|
|
278
278
|
},
|
|
279
279
|
PopExecutionContext: function ()
|
|
@@ -167,7 +167,7 @@ JSONParser .prototype = Object .assign (Object .create (X3DParser .prototype),
|
|
|
167
167
|
{
|
|
168
168
|
console .error ("Trouble creating element for", key);
|
|
169
169
|
|
|
170
|
-
child = document .createElement(key);
|
|
170
|
+
child = document .createElement (key);
|
|
171
171
|
}
|
|
172
172
|
}
|
|
173
173
|
|
|
@@ -178,28 +178,9 @@ JSONParser .prototype = Object .assign (Object .create (X3DParser .prototype),
|
|
|
178
178
|
},
|
|
179
179
|
createCDATA: function (document, element, str)
|
|
180
180
|
{
|
|
181
|
-
/**
|
|
182
|
-
* a way to create a CDATA function or script in HTML, by using a DOM parser.
|
|
183
|
-
*/
|
|
184
|
-
|
|
185
|
-
let y = str .trim ()
|
|
186
|
-
.replace (/\\"/g, "\\\"")
|
|
187
|
-
.replace (/</g, "<")
|
|
188
|
-
.replace (/>/g, ">")
|
|
189
|
-
.replace (/&/g, "&");
|
|
190
|
-
|
|
191
|
-
do
|
|
192
|
-
{
|
|
193
|
-
str = y;
|
|
194
|
-
y = str .replace (/'([^'\r\n]*)\n([^']*)'/g, "'$1\\n$2'");
|
|
195
|
-
}
|
|
196
|
-
while (y !== str);
|
|
197
|
-
|
|
198
181
|
const
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
scriptDoc = domParser .parseFromString (cdataStr, "application/xml"),
|
|
202
|
-
cdata = scriptDoc .children [0] .childNodes [1]; // space after script is childNode[0]
|
|
182
|
+
docu = new DOMParser () .parseFromString ("<xml></xml>", "application/xml"),
|
|
183
|
+
cdata = docu .createCDATASection (str);
|
|
203
184
|
|
|
204
185
|
element .appendChild (cdata);
|
|
205
186
|
},
|
|
@@ -230,7 +211,7 @@ JSONParser .prototype = Object .assign (Object .create (X3DParser .prototype),
|
|
|
230
211
|
}
|
|
231
212
|
else if (key === "#sourceCode" || key === "@sourceCode" || key === "#sourceText")
|
|
232
213
|
{
|
|
233
|
-
this .createCDATA (document, element, object [key] .join ("\
|
|
214
|
+
this .createCDATA (document, element, object [key] .join ("\n"));
|
|
234
215
|
}
|
|
235
216
|
else
|
|
236
217
|
{
|
|
@@ -47,6 +47,7 @@
|
|
|
47
47
|
|
|
48
48
|
import X3DField from "../Base/X3DField.js";
|
|
49
49
|
import X3DBaseNode from "../Base/X3DBaseNode.js";
|
|
50
|
+
import X3DNode from "../Components/Core/X3DNode.js";
|
|
50
51
|
import X3DPrototypeInstance from "../Components/Core/X3DPrototypeInstance.js";
|
|
51
52
|
import Fields from "../Fields.js";
|
|
52
53
|
import X3DParser from "./X3DParser.js";
|
|
@@ -667,7 +668,7 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
|
|
|
667
668
|
node = this .getParent (),
|
|
668
669
|
proto = this .getPrototype ();
|
|
669
670
|
|
|
670
|
-
if (! (node instanceof
|
|
671
|
+
if (! (node instanceof X3DNode))
|
|
671
672
|
return;
|
|
672
673
|
|
|
673
674
|
var
|
|
@@ -932,17 +933,10 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
|
|
|
932
933
|
if (this .getParents () .length === 0)
|
|
933
934
|
return;
|
|
934
935
|
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
if (node instanceof X3DBaseNode)
|
|
938
|
-
{
|
|
939
|
-
var field = node .getSourceText ();
|
|
936
|
+
const node = this .getParent ();
|
|
940
937
|
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
field .push (xmlElement .data);
|
|
944
|
-
}
|
|
945
|
-
}
|
|
938
|
+
if (node instanceof X3DNode)
|
|
939
|
+
node .getSourceText () ?.push (xmlElement .data);
|
|
946
940
|
},
|
|
947
941
|
useAttribute: function (xmlElement)
|
|
948
942
|
{
|
package/src/x_ite/X3D.js
CHANGED
|
@@ -163,7 +163,7 @@ Object .assign (X3D,
|
|
|
163
163
|
})(),
|
|
164
164
|
getBrowser: function (element)
|
|
165
165
|
{
|
|
166
|
-
return $(element || "x3d-canvas, X3DCanvas") .
|
|
166
|
+
return $(element || "x3d-canvas, X3DCanvas") .prop ("browser");
|
|
167
167
|
},
|
|
168
168
|
createBrowser: function (url, parameter)
|
|
169
169
|
{
|
|
@@ -46,36 +46,13 @@
|
|
|
46
46
|
******************************************************************************/
|
|
47
47
|
|
|
48
48
|
import X3DBrowser from "./Browser/X3DBrowser.js";
|
|
49
|
-
import URLs from "./Browser/Networking/URLs.js";
|
|
50
49
|
|
|
51
50
|
class X3DCanvasElement extends HTMLElement
|
|
52
51
|
{
|
|
53
|
-
static define ()
|
|
54
|
-
{
|
|
55
|
-
customElements .define ("x3d-canvas", X3DCanvasElement);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
52
|
constructor ()
|
|
59
53
|
{
|
|
60
54
|
super ();
|
|
61
55
|
|
|
62
|
-
const
|
|
63
|
-
shadow = this .attachShadow ({ mode: "open", delegatesFocus: true }),
|
|
64
|
-
link = document .createElement ("link");
|
|
65
|
-
|
|
66
|
-
$(this) .data ("shadow", $(shadow));
|
|
67
|
-
$(this) .data ("loaded", new Promise (function (resolve, reject)
|
|
68
|
-
{
|
|
69
|
-
link .onload = resolve;
|
|
70
|
-
link .onerror = reject;
|
|
71
|
-
}));
|
|
72
|
-
|
|
73
|
-
link .setAttribute ("rel", "stylesheet");
|
|
74
|
-
link .setAttribute ("type", "text/css");
|
|
75
|
-
link .setAttribute ("href", new URL ("x_ite.css", URLs .getScriptUrl ()) .href);
|
|
76
|
-
|
|
77
|
-
shadow .appendChild (link);
|
|
78
|
-
|
|
79
56
|
new X3DBrowser (this)
|
|
80
57
|
}
|
|
81
58
|
|
|
@@ -98,7 +75,6 @@ class X3DCanvasElement extends HTMLElement
|
|
|
98
75
|
"debug",
|
|
99
76
|
"multisampling",
|
|
100
77
|
"notifications",
|
|
101
|
-
"onerror",
|
|
102
78
|
"oninitialized",
|
|
103
79
|
"onshutdown",
|
|
104
80
|
"splashScreen",
|