x_ite 11.2.3 → 11.3.0

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.
Files changed (95) hide show
  1. package/README.md +4 -4
  2. package/dist/assets/components/AnnotationComponent.js +3 -3
  3. package/dist/assets/components/AnnotationComponent.min.js +2 -2
  4. package/dist/assets/components/CADGeometryComponent.js +97 -39
  5. package/dist/assets/components/CADGeometryComponent.min.js +2 -2
  6. package/dist/assets/components/CubeMapTexturingComponent.js +4 -4
  7. package/dist/assets/components/CubeMapTexturingComponent.min.js +2 -2
  8. package/dist/assets/components/DISComponent.js +2 -2
  9. package/dist/assets/components/DISComponent.min.js +2 -2
  10. package/dist/assets/components/EventUtilitiesComponent.js +2 -2
  11. package/dist/assets/components/EventUtilitiesComponent.min.js +2 -2
  12. package/dist/assets/components/Geometry2DComponent.js +2 -2
  13. package/dist/assets/components/Geometry2DComponent.min.js +2 -2
  14. package/dist/assets/components/GeospatialComponent.js +90 -125
  15. package/dist/assets/components/GeospatialComponent.min.js +2 -2
  16. package/dist/assets/components/HAnimComponent.js +16 -13
  17. package/dist/assets/components/HAnimComponent.min.js +2 -2
  18. package/dist/assets/components/KeyDeviceSensorComponent.js +2 -2
  19. package/dist/assets/components/KeyDeviceSensorComponent.min.js +2 -2
  20. package/dist/assets/components/LayoutComponent.js +2 -2
  21. package/dist/assets/components/LayoutComponent.min.js +2 -2
  22. package/dist/assets/components/NURBSComponent.js +2 -2
  23. package/dist/assets/components/NURBSComponent.min.js +2 -2
  24. package/dist/assets/components/ParticleSystemsComponent.js +37 -96
  25. package/dist/assets/components/ParticleSystemsComponent.min.js +2 -2
  26. package/dist/assets/components/PickingComponent.js +78 -81
  27. package/dist/assets/components/PickingComponent.min.js +2 -2
  28. package/dist/assets/components/RigidBodyPhysicsComponent.js +244 -291
  29. package/dist/assets/components/RigidBodyPhysicsComponent.min.js +2 -2
  30. package/dist/assets/components/ScriptingComponent.js +2 -2
  31. package/dist/assets/components/ScriptingComponent.min.js +2 -2
  32. package/dist/assets/components/TextComponent.js +2 -2
  33. package/dist/assets/components/TextComponent.min.js +2 -2
  34. package/dist/assets/components/TextureProjectionComponent.js +2 -2
  35. package/dist/assets/components/TextureProjectionComponent.min.js +2 -2
  36. package/dist/assets/components/Texturing3DComponent.js +104 -104
  37. package/dist/assets/components/Texturing3DComponent.min.js +2 -2
  38. package/dist/assets/components/VolumeRenderingComponent.js +14 -9
  39. package/dist/assets/components/VolumeRenderingComponent.min.js +2 -2
  40. package/dist/assets/components/WebXRComponent.js +2 -2
  41. package/dist/assets/components/WebXRComponent.min.js +2 -2
  42. package/dist/assets/components/X_ITEComponent.js +5 -65
  43. package/dist/assets/components/X_ITEComponent.min.js +2 -2
  44. package/dist/assets/hatching/1.png +0 -0
  45. package/dist/assets/hatching/10.png +0 -0
  46. package/dist/assets/hatching/11.png +0 -0
  47. package/dist/assets/hatching/12.png +0 -0
  48. package/dist/assets/hatching/13.png +0 -0
  49. package/dist/assets/hatching/14.png +0 -0
  50. package/dist/assets/hatching/15.png +0 -0
  51. package/dist/assets/hatching/16.png +0 -0
  52. package/dist/assets/hatching/17.png +0 -0
  53. package/dist/assets/hatching/18.png +0 -0
  54. package/dist/assets/hatching/19.png +0 -0
  55. package/dist/assets/hatching/2.png +0 -0
  56. package/dist/assets/hatching/3.png +0 -0
  57. package/dist/assets/hatching/4.png +0 -0
  58. package/dist/assets/hatching/5.png +0 -0
  59. package/dist/assets/hatching/6.png +0 -0
  60. package/dist/assets/hatching/7.png +0 -0
  61. package/dist/assets/hatching/8.png +0 -0
  62. package/dist/assets/hatching/9.png +0 -0
  63. package/dist/assets/images/ExamineViewer.png +0 -0
  64. package/dist/assets/images/FlyViewer.png +0 -0
  65. package/dist/assets/images/NoneViewer.png +0 -0
  66. package/dist/assets/images/PlaneViewer.png +0 -0
  67. package/dist/assets/images/PrimitiveQuality.png +0 -0
  68. package/dist/assets/images/Shading.png +0 -0
  69. package/dist/assets/images/TextureQuality.png +0 -0
  70. package/dist/assets/images/Time.png +0 -0
  71. package/dist/assets/images/Viewpoint.png +0 -0
  72. package/dist/assets/images/WalkViewer.png +0 -0
  73. package/dist/assets/images/go-next.png +0 -0
  74. package/dist/assets/images/gtk-fullscreen.png +0 -0
  75. package/dist/assets/images/gtk-leave-fullscreen.png +0 -0
  76. package/dist/assets/images/gtk-zoom-fit.png +0 -0
  77. package/dist/assets/images/gtk-zoom-in.png +0 -0
  78. package/dist/assets/images/help-about.png +0 -0
  79. package/dist/assets/images/icon.bw.png +0 -0
  80. package/dist/assets/images/icon.png +0 -0
  81. package/dist/assets/images/logo.128.png +0 -0
  82. package/dist/assets/images/logo.bw.png +0 -0
  83. package/dist/assets/images/logo.png +0 -0
  84. package/dist/assets/lib/lut_charlie.png +0 -0
  85. package/dist/assets/lib/lut_ggx.png +0 -0
  86. package/dist/assets/lib/lut_sheen_E.png +0 -0
  87. package/dist/assets/linetype/linetypes.png +0 -0
  88. package/dist/example.html +1 -1
  89. package/dist/x_ite.css +1 -1
  90. package/dist/x_ite.js +56211 -55975
  91. package/dist/x_ite.min.js +2 -2
  92. package/dist/x_ite.min.mjs +2 -2
  93. package/dist/x_ite.mjs +56157 -55921
  94. package/dist/x_ite.zip +0 -0
  95. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
- /* X_ITE v11.2.3 */
2
- const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-11.2.3")];
1
+ /* X_ITE v11.3.0 */
2
+ const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-11.3.0")];
3
3
  /******/ (() => { // webpackBootstrap
4
4
  /******/ "use strict";
5
5
  /******/ var __webpack_modules__ = ({
@@ -86,9 +86,9 @@ var external_X_ITE_X3D_FieldDefinitionArray_default = /*#__PURE__*/__webpack_req
86
86
  ;// external "__X_ITE_X3D__ .X3DNode"
87
87
  const external_X_ITE_X3D_X3DNode_namespaceObject = __X_ITE_X3D__ .X3DNode;
88
88
  var external_X_ITE_X3D_X3DNode_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DNode_namespaceObject);
89
- ;// external "__X_ITE_X3D__ .GeometryTypes"
90
- const external_X_ITE_X3D_GeometryTypes_namespaceObject = __X_ITE_X3D__ .GeometryTypes;
91
- var external_X_ITE_X3D_GeometryTypes_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_GeometryTypes_namespaceObject);
89
+ ;// external "__X_ITE_X3D__ .GeometryType"
90
+ const external_X_ITE_X3D_GeometryType_namespaceObject = __X_ITE_X3D__ .GeometryType;
91
+ var external_X_ITE_X3D_GeometryType_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_GeometryType_namespaceObject);
92
92
  ;// external "__X_ITE_X3D__ .X3DConstants"
93
93
  const external_X_ITE_X3D_X3DConstants_namespaceObject = __X_ITE_X3D__ .X3DConstants;
94
94
  var external_X_ITE_X3D_X3DConstants_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DConstants_namespaceObject);
@@ -491,7 +491,7 @@ uniform int texCoordCount;uniform sampler2D texCoordRamp;
491
491
  #endif
492
492
  ${Array .from (this .uniforms .values ()) .join ("\n")}
493
493
  in vec4 input0;in vec4 input2;in vec4 input6;out vec4 output0;out vec4 output1;out vec4 output2;out vec4 output3;out vec4 output4;out vec4 output5;out vec4 output6;
494
- ${Object .entries ((external_X_ITE_X3D_GeometryTypes_default())) .map (([k, v]) => `#define ${k} ${v}`) .join ("\n")}
494
+ ${Object .entries ((external_X_ITE_X3D_GeometryType_default())) .map (([k, v]) => `#define ${k} ${v}`) .join ("\n")}
495
495
  const int ARRAY_SIZE=32;const float M_PI=3.14159265359;uniform float NaN;vec4 texelFetch(const in sampler2D sampler,const in int index,const in int lod){int x=textureSize(sampler,lod).x;ivec2 p=ivec2(index % x,index/x);vec4 t=texelFetch(sampler,p,lod);return t;}vec3 save_normalize(const in vec3 vector){float l=length(vector);if(l==0.0)return vec3(0.0);return vector/l;}vec4 Quaternion(const in vec3 fromVector,const in vec3 toVector){vec3 from=save_normalize(fromVector);vec3 to=save_normalize(toVector);float cos_angle=dot(from,to);vec3 cross_vec=cross(from,to);float cross_len=length(cross_vec);if(cross_len==0.0){if(cos_angle>0.0){return vec4(0.0,0.0,0.0,1.0);}else{vec3 t=cross(from,vec3(1.0,0.0,0.0));if(dot(t,t)==0.0)t=cross(from,vec3(0.0,1.0,0.0));t=save_normalize(t);return vec4(t,0.0);}}else{float s=sqrt(abs(1.0-cos_angle)*0.5);cross_vec=save_normalize(cross_vec);return vec4(cross_vec*s,sqrt(abs(1.0+cos_angle)*0.5));}}vec3 multVecQuat(const in vec3 v,const in vec4 q){float a=q.w*q.w-q.x*q.x-q.y*q.y-q.z*q.z;float b=2.0*(v.x*q.x+v.y*q.y+v.z*q.z);float c=2.0*q.w;vec3 r=a*v.xyz+b*q.xyz+c*(q.yzx*v.zxy-q.zxy*v.yzx);return r;}mat3 Matrix3(const in vec4 quaternion){float x=quaternion.x;float y=quaternion.y;float z=quaternion.z;float w=quaternion.w;float A=y*y;float B=z*z;float C=x*y;float D=z*w;float E=z*x;float F=y*w;float G=x*x;float H=y*z;float I=x*w;return mat3(1.0-2.0*(A+B),2.0*(C+D),2.0*(E-F),2.0*(C-D),1.0-2.0*(B+G),2.0*(H+I),2.0*(E+F),2.0*(H-I),1.0-2.0*(A+G));}uint seed=1u;void srand(const in int value){seed=uint(value);}float random(){seed=seed*1103515245u+12345u;return float(seed)/4294967295.0;}float getRandomValue(const in float min,const in float max){return min+random()*(max-min);}float getRandomLifetime(){float v=particleLifetime*lifetimeVariation;float min_=max(0.0,particleLifetime-v);float max_=particleLifetime+v;return getRandomValue(min_,max_);}float getRandomSpeed(){float v=speed*variation;float min_=max(0.0,speed-v);float max_=speed+v;return getRandomValue(min_,max_);}vec3 getRandomNormal(){float theta=getRandomValue(-M_PI,M_PI);float cphi=getRandomValue(-1.0,1.0);float r=sqrt(1.0-cphi*cphi);return vec3(sin(theta)*r,cos(theta)*r,cphi);}vec3 getRandomNormalWithAngle(const in float angle){float theta=getRandomValue(-M_PI,M_PI);float cphi=getRandomValue(cos(angle),1.0);float r=sqrt(1.0-cphi*cphi);return vec3(sin(theta)*r,cos(theta)*r,cphi);}vec3 getRandomNormalWithDirectionAndAngle(const in vec3 direction,const in float angle){vec4 rotation=Quaternion(vec3(0.0,0.0,1.0),direction);vec3 normal=getRandomNormalWithAngle(angle);return multVecQuat(normal,rotation);}vec3 getRandomSurfaceNormal(const in vec3 direction){float theta=getRandomValue(-M_PI,M_PI);float cphi=pow(random(),1.0/3.0);float r=sqrt(1.0-cphi*cphi);vec3 normal=vec3(sin(theta)*r,cos(theta)*r,cphi);vec4 rotation=Quaternion(vec3(0.0,0.0,1.0),direction);return multVecQuat(normal,rotation);}vec3 getRandomSphericalVelocity(){vec3 normal=getRandomNormal();float speed=getRandomSpeed();return normal*speed;}int upperBound(const in sampler2D sampler,in int count,const in float value){int first=0;int step=0;while(count>0){int index=first;step=count>>1;index+=step;if(value<texelFetch(sampler,index,0).x){count=step;}else{first=++index;count-=step+1;}}return first;}
496
496
  #if X3D_NUM_COLORS>0||defined(X3D_POLYLINE_EMITTER)||defined(X3D_SURFACE_EMITTER)||defined(X3D_VOLUME_EMITTER)
497
497
  void interpolate(const in sampler2D sampler,const in int count,const in float fraction,out int index0,out int index1,out float weight){if(count==1||fraction<=texelFetch(sampler,0,0).x){index0=0;index1=0;weight=0.0;}else if(fraction>=texelFetch(sampler,count-1,0).x){index0=count-2;index1=count-1;weight=1.0;}else{int index=upperBound(sampler,count,fraction);if(index<count){index1=index;index0=index-1;float key0=texelFetch(sampler,index0,0).x;float key1=texelFetch(sampler,index1,0).x;weight=clamp((fraction-key0)/(key1-key0),0.0,1.0);}else{index0=0;index1=0;weight=0.0;}}}
@@ -1534,9 +1534,6 @@ var external_X_ITE_X3D_GeometryContext_default = /*#__PURE__*/__webpack_require_
1534
1534
  ;// external "__X_ITE_X3D__ .VertexArray"
1535
1535
  const external_X_ITE_X3D_VertexArray_namespaceObject = __X_ITE_X3D__ .VertexArray;
1536
1536
  var external_X_ITE_X3D_VertexArray_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_VertexArray_namespaceObject);
1537
- ;// external "__X_ITE_X3D__ .TraverseType"
1538
- const external_X_ITE_X3D_TraverseType_namespaceObject = __X_ITE_X3D__ .TraverseType;
1539
- var external_X_ITE_X3D_TraverseType_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_TraverseType_namespaceObject);
1540
1537
  ;// external "__X_ITE_X3D__ .AlphaMode"
1541
1538
  const external_X_ITE_X3D_AlphaMode_namespaceObject = __X_ITE_X3D__ .AlphaMode;
1542
1539
  var external_X_ITE_X3D_AlphaMode_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_AlphaMode_namespaceObject);
@@ -2004,7 +2001,6 @@ const BVH_default_ = BVH;
2004
2001
 
2005
2002
 
2006
2003
 
2007
-
2008
2004
  const PointGeometry = new Float32Array ([0, 0, 0, 1]);
2009
2005
 
2010
2006
  // p4 ------ p3
@@ -2175,7 +2171,7 @@ Object .assign (Object .setPrototypeOf (ParticleSystem .prototype, (external_X_I
2175
2171
  {
2176
2172
  switch (this .geometryType)
2177
2173
  {
2178
- case (external_X_ITE_X3D_GeometryTypes_default()).GEOMETRY:
2174
+ case (external_X_ITE_X3D_GeometryType_default()).GEOMETRY:
2179
2175
  return this .getGeometry ();
2180
2176
  default:
2181
2177
  return this .geometryContext;
@@ -2228,22 +2224,10 @@ Object .assign (Object .setPrototypeOf (ParticleSystem .prototype, (external_X_I
2228
2224
 
2229
2225
  if (alphaMode === (external_X_ITE_X3D_AlphaMode_default()).AUTO)
2230
2226
  {
2231
- switch (this .geometryType)
2232
- {
2233
- case (external_X_ITE_X3D_GeometryTypes_default()).POINT:
2234
- {
2235
- this .setTransparent (true);
2236
- break;
2237
- }
2238
- default:
2239
- {
2240
- this .setTransparent (this .getAppearance () .isTransparent () ||
2241
- this .colorRampNode ?.isTransparent () ||
2242
- (this .geometryType === (external_X_ITE_X3D_GeometryTypes_default()).GEOMETRY &&
2243
- this .geometryNode ?.isTransparent ()));
2244
- break;
2245
- }
2246
- }
2227
+ this .setTransparent (this .getAppearance () .isTransparent () ||
2228
+ this .colorRampNode ?.isTransparent () ||
2229
+ (this .geometryType === (external_X_ITE_X3D_GeometryType_default()).GEOMETRY &&
2230
+ this .geometryNode ?.isTransparent ()));
2247
2231
 
2248
2232
  this .setAlphaMode (this .isTransparent () ? (external_X_ITE_X3D_AlphaMode_default()).BLEND : (external_X_ITE_X3D_AlphaMode_default()).OPAQUE);
2249
2233
  }
@@ -2325,13 +2309,13 @@ Object .assign (Object .setPrototypeOf (ParticleSystem .prototype, (external_X_I
2325
2309
 
2326
2310
  // Get geometryType.
2327
2311
 
2328
- this .geometryType = $.enum ((external_X_ITE_X3D_GeometryTypes_default()), this ._geometryType .getValue ()) ?? (external_X_ITE_X3D_GeometryTypes_default()).QUAD;
2312
+ this .geometryType = $.enum ((external_X_ITE_X3D_GeometryType_default()), this ._geometryType .getValue ()) ?? (external_X_ITE_X3D_GeometryType_default()).QUAD;
2329
2313
 
2330
2314
  // Create buffers.
2331
2315
 
2332
2316
  switch (this .geometryType)
2333
2317
  {
2334
- case (external_X_ITE_X3D_GeometryTypes_default()).POINT:
2318
+ case (external_X_ITE_X3D_GeometryType_default()).POINT:
2335
2319
  {
2336
2320
  this .geometryContext .geometryType = 0;
2337
2321
  this .geometryContext .hasNormals = false;
@@ -2347,7 +2331,7 @@ Object .assign (Object .setPrototypeOf (ParticleSystem .prototype, (external_X_I
2347
2331
 
2348
2332
  break;
2349
2333
  }
2350
- case (external_X_ITE_X3D_GeometryTypes_default()).LINE:
2334
+ case (external_X_ITE_X3D_GeometryType_default()).LINE:
2351
2335
  {
2352
2336
  this .geometryContext .geometryType = 1;
2353
2337
  this .geometryContext .hasNormals = false;
@@ -2355,9 +2339,9 @@ Object .assign (Object .setPrototypeOf (ParticleSystem .prototype, (external_X_I
2355
2339
  this .texCoordCount = 0;
2356
2340
  break;
2357
2341
  }
2358
- case (external_X_ITE_X3D_GeometryTypes_default()).TRIANGLE:
2359
- case (external_X_ITE_X3D_GeometryTypes_default()).QUAD:
2360
- case (external_X_ITE_X3D_GeometryTypes_default()).SPRITE:
2342
+ case (external_X_ITE_X3D_GeometryType_default()).TRIANGLE:
2343
+ case (external_X_ITE_X3D_GeometryType_default()).QUAD:
2344
+ case (external_X_ITE_X3D_GeometryType_default()).SPRITE:
2361
2345
  {
2362
2346
  this .geometryContext .geometryType = 2;
2363
2347
  this .geometryContext .hasNormals = true;
@@ -2375,7 +2359,7 @@ Object .assign (Object .setPrototypeOf (ParticleSystem .prototype, (external_X_I
2375
2359
 
2376
2360
  break;
2377
2361
  }
2378
- case (external_X_ITE_X3D_GeometryTypes_default()).GEOMETRY:
2362
+ case (external_X_ITE_X3D_GeometryType_default()).GEOMETRY:
2379
2363
  {
2380
2364
  this .texCoordCount = 0;
2381
2365
  break;
@@ -2385,7 +2369,8 @@ Object .assign (Object .setPrototypeOf (ParticleSystem .prototype, (external_X_I
2385
2369
  this .geometryContext .updateGeometryKey ();
2386
2370
  this .updateVertexArrays ();
2387
2371
 
2388
- this .set_transparent__ ();
2372
+ this .set_objects__ ();
2373
+ this .set_traverse__ ();
2389
2374
  },
2390
2375
  set_maxParticles__ ()
2391
2376
  {
@@ -2401,6 +2386,9 @@ Object .assign (Object .setPrototypeOf (ParticleSystem .prototype, (external_X_I
2401
2386
 
2402
2387
  this .resizeBuffers (lastNumParticles);
2403
2388
  this .updateVertexArrays ();
2389
+
2390
+ this .set_objects__ ();
2391
+ this .set_traverse__ ();
2404
2392
  },
2405
2393
  set_particleLifetime__ ()
2406
2394
  {
@@ -2710,6 +2698,9 @@ Object .assign (Object .setPrototypeOf (ParticleSystem .prototype, (external_X_I
2710
2698
  this .createParticles = this ._createParticles .getValue ();
2711
2699
 
2712
2700
  deltaTime = Number .POSITIVE_INFINITY;
2701
+
2702
+ this .set_objects__ ();
2703
+ this .set_traverse__ ();
2713
2704
  }
2714
2705
  else
2715
2706
  {
@@ -2730,6 +2721,9 @@ Object .assign (Object .setPrototypeOf (ParticleSystem .prototype, (external_X_I
2730
2721
  this .creationTime = now;
2731
2722
 
2732
2723
  this .numParticles = Math .min (this .maxParticles, this .numParticles + newParticles);
2724
+
2725
+ this .set_objects__ ();
2726
+ this .set_traverse__ ();
2733
2727
  }
2734
2728
  }
2735
2729
 
@@ -2826,73 +2820,23 @@ Object .assign (Object .setPrototypeOf (ParticleSystem .prototype, (external_X_I
2826
2820
  })(),
2827
2821
  intersectsBox (box, clipPlanes)
2828
2822
  { },
2829
- traverse (type, renderObject)
2830
- {
2831
- if (this .geometryType === (external_X_ITE_X3D_GeometryTypes_default()).GEOMETRY)
2832
- {
2833
- if (!this .getGeometry ())
2834
- return;
2835
- }
2836
-
2837
- switch (type)
2838
- {
2839
- case (external_X_ITE_X3D_TraverseType_default()).POINTER:
2840
- {
2841
- if (this ._pointerEvents .getValue ())
2842
- renderObject .addPointingShape (this);
2843
-
2844
- break;
2845
- }
2846
- case (external_X_ITE_X3D_TraverseType_default()).PICKING:
2847
- case (external_X_ITE_X3D_TraverseType_default()).COLLISION:
2848
- {
2849
- break;
2850
- }
2851
- case (external_X_ITE_X3D_TraverseType_default()).SHADOW:
2852
- {
2853
- if (this ._castShadow .getValue ())
2854
- renderObject .addShadowShape (this);
2855
-
2856
- break;
2857
- }
2858
- case (external_X_ITE_X3D_TraverseType_default()).DISPLAY:
2859
- {
2860
- if (renderObject .addDisplayShape (this))
2861
- {
2862
- // Currently used for GeneratedCubeMapTexture.
2863
- this .getAppearance () .traverse (type, renderObject);
2864
- }
2865
-
2866
- break;
2867
- }
2868
- }
2869
-
2870
- if (this .geometryType === (external_X_ITE_X3D_GeometryTypes_default()).GEOMETRY)
2871
- {
2872
- // Currently used for ScreenText and Tools.
2873
- this .getGeometry () .traverse (type, renderObject);
2874
- }
2875
- },
2876
2823
  displaySimple (gl, renderContext, shaderNode)
2877
2824
  {
2878
- if (!this .numParticles)
2879
- return;
2880
-
2881
2825
  // Display geometry.
2882
2826
 
2883
2827
  switch (this .geometryType)
2884
2828
  {
2885
- case (external_X_ITE_X3D_GeometryTypes_default()).LINE:
2829
+ case (external_X_ITE_X3D_GeometryType_default()).LINE:
2886
2830
  {
2887
2831
  this .lineGeometryNode .displaySimpleInstanced (gl, shaderNode, this);
2888
2832
  break;
2889
2833
  }
2890
- case (external_X_ITE_X3D_GeometryTypes_default()).GEOMETRY:
2834
+ case (external_X_ITE_X3D_GeometryType_default()).GEOMETRY:
2891
2835
  {
2892
2836
  this .getGeometry () .displaySimpleInstanced (gl, shaderNode, this);
2893
2837
  break;
2894
2838
  }
2895
- case (external_X_ITE_X3D_GeometryTypes_default()).SPRITE:
2839
+ case (external_X_ITE_X3D_GeometryType_default()).SPRITE:
2896
2840
  {
2897
2841
  this .updateSprite (gl, this .getScreenAlignedRotation (renderContext .modelViewMatrix));
2898
2842
  // [fall trough]
@@ -2917,30 +2861,27 @@ Object .assign (Object .setPrototypeOf (ParticleSystem .prototype, (external_X_I
2917
2861
  },
2918
2862
  display (gl, renderContext)
2919
2863
  {
2920
- if (!this .numParticles)
2921
- return;
2922
-
2923
2864
  // Display geometry.
2924
2865
 
2925
2866
  switch (this .geometryType)
2926
2867
  {
2927
- case (external_X_ITE_X3D_GeometryTypes_default()).LINE:
2868
+ case (external_X_ITE_X3D_GeometryType_default()).LINE:
2928
2869
  {
2929
2870
  this .lineGeometryNode .displayInstanced (gl, renderContext, this);
2930
2871
  break;
2931
2872
  }
2932
- case (external_X_ITE_X3D_GeometryTypes_default()).GEOMETRY:
2873
+ case (external_X_ITE_X3D_GeometryType_default()).GEOMETRY:
2933
2874
  {
2934
2875
  this .getGeometry () .displayInstanced (gl, renderContext, this);
2935
2876
  break;
2936
2877
  }
2937
- case (external_X_ITE_X3D_GeometryTypes_default()).SPRITE:
2878
+ case (external_X_ITE_X3D_GeometryType_default()).SPRITE:
2938
2879
  {
2939
2880
  this .updateSprite (gl, this .getScreenAlignedRotation (renderContext .modelViewMatrix));
2940
2881
  // [fall trough]
2941
2882
  }
2942
- case (external_X_ITE_X3D_GeometryTypes_default()).QUAD:
2943
- case (external_X_ITE_X3D_GeometryTypes_default()).TRIANGLE:
2883
+ case (external_X_ITE_X3D_GeometryType_default()).QUAD:
2884
+ case (external_X_ITE_X3D_GeometryType_default()).TRIANGLE:
2944
2885
  {
2945
2886
  const positiveScale = external_X_ITE_X3D_Matrix4_default().prototype .determinant3 .call (renderContext .modelViewMatrix) > 0;
2946
2887