@cesium/engine 23.0.1 → 24.0.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.
- package/Build/Workers/{chunk-G6MJ3ZW3.js → chunk-2N4KDHS3.js} +10 -10
- package/Build/Workers/{chunk-C6HHBKT5.js → chunk-44EMEGKW.js} +5 -5
- package/Build/Workers/{chunk-TNXOPEIG.js → chunk-4TIG36AW.js} +12 -12
- package/Build/Workers/{chunk-PQTSXJBJ.js → chunk-5A2SW66E.js} +16 -16
- package/Build/Workers/{chunk-TXYQNXNW.js → chunk-5GXYJQ2K.js} +3 -3
- package/Build/Workers/{chunk-O67UP5YO.js → chunk-63SIWPLS.js} +13 -13
- package/Build/Workers/{chunk-CVAAIRNP.js → chunk-6MPGQEHA.js} +2 -2
- package/Build/Workers/{chunk-LHFC4R7Z.js → chunk-6RMS4S72.js} +6 -6
- package/Build/Workers/{chunk-77DJBHMI.js → chunk-6WLHJFD3.js} +7 -7
- package/Build/Workers/{chunk-HXEPZWJN.js → chunk-72VYSVEW.js} +9 -9
- package/Build/Workers/{chunk-VPWYHFQA.js → chunk-7MDYBRYJ.js} +4 -4
- package/Build/Workers/{chunk-XPMXRJDD.js → chunk-7O5XJTVE.js} +5 -5
- package/Build/Workers/{chunk-UEWYSOFD.js → chunk-7QRFIKWQ.js} +2 -2
- package/Build/Workers/{chunk-3UQ2YMPP.js → chunk-7TYLCBGK.js} +8 -8
- package/Build/Workers/{chunk-GLCPE2BJ.js → chunk-7X322WP2.js} +13 -13
- package/Build/Workers/{chunk-2OBWHTIC.js → chunk-A47HVBC5.js} +7 -7
- package/Build/Workers/{chunk-CID5SY7L.js → chunk-AF3MU2RL.js} +5 -5
- package/Build/Workers/{chunk-BTP3634E.js → chunk-AJLTU6PF.js} +1 -1
- package/Build/Workers/{chunk-YSJRB2UZ.js → chunk-AMIHNSST.js} +2 -2
- package/Build/Workers/{chunk-QPXGGVHC.js → chunk-B6SCUUFP.js} +10 -10
- package/Build/Workers/{chunk-QNABVTTP.js → chunk-BJD6QGXZ.js} +12 -12
- package/Build/Workers/{chunk-RZX6LOG6.js → chunk-C6P4IG5P.js} +6 -6
- package/Build/Workers/{chunk-4JJQRZYL.js → chunk-D4EJ2NXG.js} +17 -17
- package/Build/Workers/{chunk-K7UTK4OM.js → chunk-DHKPFLSJ.js} +1 -1
- package/Build/Workers/{chunk-S53HSRT6.js → chunk-DVB56LG7.js} +6 -6
- package/Build/Workers/{chunk-PBECJOWF.js → chunk-EDXL4W76.js} +2 -2
- package/Build/Workers/{chunk-ALTCIHRH.js → chunk-EV3VGO6Y.js} +17 -17
- package/Build/Workers/{chunk-UOQB7XQI.js → chunk-GOQBUCXH.js} +10 -10
- package/Build/Workers/{chunk-TMCTZ5E3.js → chunk-GQUNK2XC.js} +14 -14
- package/Build/Workers/{chunk-PAFMAR7A.js → chunk-HKUES6UG.js} +12 -12
- package/Build/Workers/{chunk-6U5QMZU3.js → chunk-HRHRYFHS.js} +9 -9
- package/Build/Workers/{chunk-PUO7BYDY.js → chunk-HXJMS2ZI.js} +1 -1
- package/Build/Workers/{chunk-FXSRA5UG.js → chunk-ILMFADZA.js} +4 -4
- package/Build/Workers/{chunk-U4SWB6TI.js → chunk-ISY4EZCA.js} +4 -4
- package/Build/Workers/{chunk-PGZ3B6CB.js → chunk-J6AW5YHS.js} +14 -14
- package/Build/Workers/{chunk-VX774SWE.js → chunk-JCI63T3K.js} +6 -6
- package/Build/Workers/{chunk-54O3AGOA.js → chunk-KLPGTXS3.js} +6 -6
- package/Build/Workers/{chunk-CNLXMOPM.js → chunk-LIB2H534.js} +10 -10
- package/Build/Workers/{chunk-H3TVRJLY.js → chunk-LXMCPFFS.js} +4 -4
- package/Build/Workers/{chunk-DNMASBMH.js → chunk-MKM27KGV.js} +2 -2
- package/Build/Workers/{chunk-66OWUDO7.js → chunk-N65BAKSH.js} +8 -8
- package/Build/Workers/{chunk-ZEMJQKHD.js → chunk-NKT5K3K3.js} +11 -11
- package/Build/Workers/{chunk-EIC3VAOZ.js → chunk-NPF7SSHZ.js} +7 -7
- package/Build/Workers/{chunk-YDR5LX5Z.js → chunk-PVV64VFW.js} +1 -1
- package/Build/Workers/{chunk-FKU77FNM.js → chunk-Q3C6VQH6.js} +4 -4
- package/Build/Workers/{chunk-CYOPNGPX.js → chunk-RQNJD3O4.js} +12 -12
- package/Build/Workers/{chunk-IJ3SUMK3.js → chunk-UIGVOKKI.js} +1 -1
- package/Build/Workers/{chunk-TFPG3ZKW.js → chunk-UQU4RXLT.js} +27 -19
- package/Build/Workers/{chunk-N6HRZLS6.js → chunk-VLDEUTOP.js} +2 -2
- package/Build/Workers/{chunk-MNSNOONX.js → chunk-VMVOUQ5J.js} +7 -7
- package/Build/Workers/{chunk-OZYB3AOR.js → chunk-XJRBB253.js} +11 -11
- package/Build/Workers/{chunk-B2VA6IEL.js → chunk-XY6HMDGI.js} +5 -5
- package/Build/Workers/{chunk-2M7DKGLW.js → chunk-Y7HNNPNK.js} +10 -10
- package/Build/Workers/{chunk-CJ7ZDY77.js → chunk-YAOZMOFL.js} +5 -5
- package/Build/Workers/{chunk-FCJQO4NC.js → chunk-YJZGW74L.js} +8 -8
- package/Build/Workers/{chunk-JUKGMJX7.js → chunk-YQFTYQMZ.js} +1 -1
- package/Build/Workers/{chunk-HNDE73JK.js → chunk-ZBZRTRJB.js} +10 -10
- package/Build/Workers/combineGeometry.js +24 -24
- package/Build/Workers/createBoxGeometry.js +18 -18
- package/Build/Workers/createBoxOutlineGeometry.js +16 -16
- package/Build/Workers/createCircleGeometry.js +26 -26
- package/Build/Workers/createCircleOutlineGeometry.js +19 -19
- package/Build/Workers/createCoplanarPolygonGeometry.js +33 -33
- package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +31 -31
- package/Build/Workers/createCorridorGeometry.js +29 -29
- package/Build/Workers/createCorridorOutlineGeometry.js +28 -28
- package/Build/Workers/createCylinderGeometry.js +20 -20
- package/Build/Workers/createCylinderOutlineGeometry.js +18 -18
- package/Build/Workers/createEllipseGeometry.js +26 -26
- package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
- package/Build/Workers/createEllipsoidGeometry.js +19 -19
- package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
- package/Build/Workers/createFrustumGeometry.js +18 -18
- package/Build/Workers/createFrustumOutlineGeometry.js +18 -18
- package/Build/Workers/createGeometry.js +24 -24
- package/Build/Workers/createGroundPolylineGeometry.js +22 -22
- package/Build/Workers/createPlaneGeometry.js +16 -16
- package/Build/Workers/createPlaneOutlineGeometry.js +15 -15
- package/Build/Workers/createPolygonGeometry.js +32 -32
- package/Build/Workers/createPolygonOutlineGeometry.js +30 -30
- package/Build/Workers/createPolylineGeometry.js +25 -25
- package/Build/Workers/createPolylineVolumeGeometry.js +31 -31
- package/Build/Workers/createPolylineVolumeOutlineGeometry.js +27 -27
- package/Build/Workers/createRectangleGeometry.js +27 -27
- package/Build/Workers/createRectangleOutlineGeometry.js +20 -20
- package/Build/Workers/createSimplePolylineGeometry.js +23 -23
- package/Build/Workers/createSphereGeometry.js +19 -19
- package/Build/Workers/createSphereOutlineGeometry.js +18 -18
- package/Build/Workers/createTaskProcessorWorker.js +3 -3
- package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
- package/Build/Workers/createVectorTileGeometries.js +24 -24
- package/Build/Workers/createVectorTilePoints.js +13 -13
- package/Build/Workers/createVectorTilePolygons.js +22 -22
- package/Build/Workers/createVectorTilePolylines.js +14 -14
- package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +25 -25
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -22
- package/Build/Workers/createVerticesFromHeightmap.js +22 -22
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +20 -20
- package/Build/Workers/createWallGeometry.js +25 -25
- package/Build/Workers/createWallOutlineGeometry.js +24 -24
- package/Build/Workers/decodeDraco.js +10 -10
- package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
- package/Build/Workers/decodeI3S.js +12 -12
- package/Build/Workers/gaussianSplatSorter.js +4 -4
- package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
- package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
- package/Build/Workers/transcodeKTX2.js +6 -6
- package/Build/Workers/transferTypedArrayTest.js +1 -1
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +22 -22
- package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +25 -25
- package/Source/Core/BoundingSphere.js +1 -1
- package/Source/Core/Cartesian2.js +7 -5
- package/Source/Core/Cartesian3.js +8 -6
- package/Source/Core/Cartesian4.js +8 -6
- package/Source/Core/Color.js +5 -3
- package/Source/Core/DeveloperError.js +2 -1
- package/Source/Core/ITwinPlatform.js +1 -0
- package/Source/Core/Ion.js +1 -1
- package/Source/Core/S2Cell.js +2 -2
- package/Source/Core/TerrainMesh.js +10 -1
- package/Source/Core/TerrainPicker.js +1 -0
- package/Source/Core/WallGeometry.js +1 -1
- package/Source/Core/WallOutlineGeometry.js +1 -1
- package/Source/Core/assert.js +27 -0
- package/Source/Core/globalTypes.js +4 -0
- package/Source/DataSources/CzmlDataSource.js +9 -0
- package/Source/DataSources/PathGraphics.js +13 -0
- package/Source/DataSources/PathVisualizer.js +330 -18
- package/Source/DataSources/StaticGeometryColorBatch.js +7 -2
- package/Source/DataSources/StaticGeometryPerMaterialBatch.js +7 -2
- package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +3 -1
- package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +3 -1
- package/Source/Renderer/Context.js +1 -1
- package/Source/Renderer/RenderState.js +2 -2
- package/Source/Renderer/VertexArray.js +80 -0
- package/Source/Scene/ArcGisMapService.js +1 -1
- package/Source/Scene/BillboardCollection.js +65 -364
- package/Source/Scene/BufferPoint.js +148 -0
- package/Source/Scene/BufferPointCollection.js +135 -0
- package/Source/Scene/BufferPointMaterial.js +95 -0
- package/Source/Scene/BufferPolygon.js +516 -0
- package/Source/Scene/BufferPolygonCollection.js +368 -0
- package/Source/Scene/BufferPolygonMaterial.js +41 -0
- package/Source/Scene/BufferPolyline.js +185 -0
- package/Source/Scene/BufferPolylineCollection.js +136 -0
- package/Source/Scene/BufferPolylineMaterial.js +93 -0
- package/Source/Scene/BufferPrimitive.js +347 -0
- package/Source/Scene/BufferPrimitiveCollection.js +702 -0
- package/Source/Scene/BufferPrimitiveMaterial.js +140 -0
- package/Source/Scene/Cesium3DTileContent.js +5 -1
- package/Source/Scene/Cesium3DTileContentFactory.js +9 -0
- package/Source/Scene/Cesium3DTileStyle.js +22 -0
- package/Source/Scene/Cesium3DTileset.js +1 -0
- package/Source/Scene/ClippingPolygonCollection.js +270 -101
- package/Source/Scene/CubeMapPanorama.js +4 -4
- package/Source/Scene/GaussianSplat3DTileContent.js +40 -46
- package/Source/Scene/GaussianSplatPrimitive.js +413 -70
- package/Source/Scene/GetFeatureInfoFormat.js +3 -3
- package/Source/Scene/GltfLoader.js +215 -34
- package/Source/Scene/GltfSpzLoader.js +109 -0
- package/Source/Scene/ITwinData.js +1 -0
- package/Source/Scene/Label.js +32 -0
- package/Source/Scene/LabelCollection.js +14 -13
- package/Source/Scene/Material.js +2 -0
- package/Source/Scene/Megatexture.js +1 -0
- package/Source/Scene/MetadataClassProperty.js +24 -10
- package/Source/Scene/MetadataComponentType.js +115 -23
- package/Source/Scene/Model/CustomShaderPipelineStage.js +3 -1
- package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +761 -263
- package/Source/Scene/Model/MaterialPipelineStage.js +147 -0
- package/Source/Scene/Model/MetadataPipelineStage.js +3 -3
- package/Source/Scene/Model/ModelDrawCommand.js +6 -0
- package/Source/Scene/Model/ModelReader.js +1 -1
- package/Source/Scene/Model/ModelUtility.js +3 -1
- package/Source/Scene/Model/createVectorTileBuffersFromModelComponents.js +330 -0
- package/Source/Scene/ModelComponents.js +1632 -1542
- package/Source/Scene/PickedMetadataInfo.js +1 -0
- package/Source/Scene/ScreenSpaceCameraController.js +13 -0
- package/Source/Scene/SkyBox.js +17 -8
- package/Source/Scene/TileBoundingRegion.js +1 -1
- package/Source/Scene/TileBoundingS2Cell.js +1 -1
- package/Source/Scene/TileBoundingSphere.js +1 -1
- package/Source/Scene/TweenCollection.js +7 -0
- package/Source/Scene/VectorGltf3DTileContent.js +382 -0
- package/Source/Scene/VertexAttributeSemantic.js +14 -0
- package/Source/Scene/WebMapServiceImageryProvider.js +2 -2
- package/Source/Scene/WebMapTileServiceImageryProvider.js +366 -131
- package/Source/Scene/parseStructuralMetadata.js +97 -37
- package/Source/Scene/renderBufferPointCollection.js +334 -0
- package/Source/Scene/renderBufferPolygonCollection.js +386 -0
- package/Source/Scene/renderBufferPolylineCollection.js +529 -0
- package/Source/Shaders/BillboardCollectionFS.glsl +2 -77
- package/Source/Shaders/BillboardCollectionFS.js +2 -77
- package/Source/Shaders/BillboardCollectionVS.glsl +2 -60
- package/Source/Shaders/BillboardCollectionVS.js +2 -60
- package/Source/Shaders/BufferPointMaterialFS.glsl +27 -0
- package/Source/Shaders/BufferPointMaterialFS.js +29 -0
- package/Source/Shaders/BufferPointMaterialVS.glsl +48 -0
- package/Source/Shaders/BufferPointMaterialVS.js +50 -0
- package/Source/Shaders/BufferPolygonMaterialFS.glsl +13 -0
- package/Source/Shaders/BufferPolygonMaterialFS.js +15 -0
- package/Source/Shaders/BufferPolygonMaterialVS.glsl +30 -0
- package/Source/Shaders/BufferPolygonMaterialVS.js +32 -0
- package/Source/Shaders/BufferPolylineMaterialFS.glsl +13 -0
- package/Source/Shaders/BufferPolylineMaterialFS.js +15 -0
- package/Source/Shaders/BufferPolylineMaterialVS.glsl +49 -0
- package/Source/Shaders/BufferPolylineMaterialVS.js +51 -0
- package/Source/Shaders/Model/EdgeVisibilityStageFS.glsl +34 -48
- package/Source/Shaders/Model/EdgeVisibilityStageFS.js +34 -49
- package/Source/Shaders/Model/EdgeVisibilityStageVS.glsl +98 -0
- package/Source/Shaders/Model/EdgeVisibilityStageVS.js +100 -0
- package/Source/Shaders/Model/ModelFS.glsl +15 -0
- package/Source/Shaders/Model/ModelFS.js +15 -0
- package/Source/Shaders/Model/ModelVS.glsl +8 -0
- package/Source/Shaders/Model/ModelVS.js +8 -0
- package/Source/Shaders/PolygonSignedDistanceFS.glsl +64 -33
- package/Source/Shaders/PolygonSignedDistanceFS.js +64 -33
- package/Source/Shaders/PrimitiveGaussianSplatVS.glsl +9 -2
- package/Source/Shaders/PrimitiveGaussianSplatVS.js +9 -2
- package/Source/Shaders/Voxels/VoxelFS.glsl +1 -1
- package/Source/Shaders/Voxels/VoxelFS.js +1 -1
- package/Source/Workers/decodeDraco.js +3 -0
- package/Source/Workers/decodeI3S.js +5 -2
- package/index.d.ts +1007 -111
- package/index.js +394 -369
- package/package.json +2 -2
|
@@ -139,6 +139,8 @@ MetadataComponentType.typeInfo = {
|
|
|
139
139
|
maximumValue: BigInt("9223372036854775807"),
|
|
140
140
|
minimumValue: BigInt("-9223372036854775808"),
|
|
141
141
|
category: ScalarCategories.INTEGER,
|
|
142
|
+
downcastFunction: (value) =>
|
|
143
|
+
MetadataComponentType.clampToLimits(value, MetadataComponentType.INT32),
|
|
142
144
|
},
|
|
143
145
|
UINT64: {
|
|
144
146
|
vectorCompatible: false,
|
|
@@ -146,6 +148,8 @@ MetadataComponentType.typeInfo = {
|
|
|
146
148
|
maximumValue: BigInt("18446744073709551615"),
|
|
147
149
|
minimumValue: BigInt(0),
|
|
148
150
|
category: ScalarCategories.UNSIGNED_INTEGER,
|
|
151
|
+
downcastFunction: (value) =>
|
|
152
|
+
MetadataComponentType.clampToLimits(value, MetadataComponentType.UINT32),
|
|
149
153
|
},
|
|
150
154
|
FLOAT32: {
|
|
151
155
|
vectorCompatible: true,
|
|
@@ -160,6 +164,7 @@ MetadataComponentType.typeInfo = {
|
|
|
160
164
|
maximumValue: Number.MAX_VALUE,
|
|
161
165
|
minimumValue: -Number.MAX_VALUE,
|
|
162
166
|
category: ScalarCategories.FLOAT,
|
|
167
|
+
downcastFunction: (value) => Math.fround(value),
|
|
163
168
|
},
|
|
164
169
|
};
|
|
165
170
|
|
|
@@ -283,6 +288,25 @@ MetadataComponentType.category = function (type) {
|
|
|
283
288
|
return typeInfo.category;
|
|
284
289
|
};
|
|
285
290
|
|
|
291
|
+
/**
|
|
292
|
+
* Gets the component type as represented on the GPU (that is, taking downcasting into account).
|
|
293
|
+
* This is different from getting the glsl variable type of an entire metadata property. This is only for a component.
|
|
294
|
+
* @param {MetadataComponentType} type The component type.
|
|
295
|
+
* @returns {MetadataComponentType} The GPU component type.
|
|
296
|
+
*/
|
|
297
|
+
MetadataComponentType.gpuComponentType = function (type) {
|
|
298
|
+
switch (type) {
|
|
299
|
+
case MetadataComponentType.INT64:
|
|
300
|
+
return "INT32";
|
|
301
|
+
case MetadataComponentType.UINT64:
|
|
302
|
+
return "UINT32";
|
|
303
|
+
case MetadataComponentType.FLOAT64:
|
|
304
|
+
return "FLOAT32";
|
|
305
|
+
default:
|
|
306
|
+
return type;
|
|
307
|
+
}
|
|
308
|
+
};
|
|
309
|
+
|
|
286
310
|
/**
|
|
287
311
|
* Normalizes signed integers to the range [-1.0, 1.0] and unsigned integers to
|
|
288
312
|
* the range [0.0, 1.0].
|
|
@@ -401,6 +425,52 @@ MetadataComponentType.getSizeInBytes = function (type) {
|
|
|
401
425
|
return MetadataComponentType.typeInfo[type].size;
|
|
402
426
|
};
|
|
403
427
|
|
|
428
|
+
/**
|
|
429
|
+
* Clamps a value to the minimum and maximum limits of the given component type.
|
|
430
|
+
*
|
|
431
|
+
* @param {number|bigint} value The value to clamp.
|
|
432
|
+
* @param {MetadataComponentType} type The component type.
|
|
433
|
+
* @returns {number} The clamped value.
|
|
434
|
+
*
|
|
435
|
+
* @private
|
|
436
|
+
*/
|
|
437
|
+
MetadataComponentType.clampToLimits = function (value, type) {
|
|
438
|
+
const min = MetadataComponentType.getMinimum(type);
|
|
439
|
+
const max = MetadataComponentType.getMaximum(type);
|
|
440
|
+
|
|
441
|
+
if (typeof value === "bigint") {
|
|
442
|
+
const minBigInt = BigInt(min);
|
|
443
|
+
const maxBigInt = BigInt(max);
|
|
444
|
+
|
|
445
|
+
if (value < minBigInt) {
|
|
446
|
+
return min;
|
|
447
|
+
}
|
|
448
|
+
if (value > maxBigInt) {
|
|
449
|
+
return max;
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
return Number(value);
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
return Math.max(min, Math.min(max, value));
|
|
456
|
+
};
|
|
457
|
+
|
|
458
|
+
MetadataComponentType.downcastFunction = function (type) {
|
|
459
|
+
const typeInfo = MetadataComponentType.typeInfo[type];
|
|
460
|
+
//>>includeStart('debug', pragmas.debug);
|
|
461
|
+
if (!defined(typeInfo)) {
|
|
462
|
+
throw new DeveloperError("type must be a valid MetadataComponentType");
|
|
463
|
+
}
|
|
464
|
+
//>>includeEnd('debug');
|
|
465
|
+
|
|
466
|
+
const func = typeInfo.downcastFunction;
|
|
467
|
+
if (!defined(func)) {
|
|
468
|
+
return (value) => value;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
return func;
|
|
472
|
+
};
|
|
473
|
+
|
|
404
474
|
/**
|
|
405
475
|
* Gets the {@link MetadataComponentType} from a {@link ComponentDatatype}.
|
|
406
476
|
*
|
|
@@ -468,37 +538,59 @@ MetadataComponentType.toComponentDatatype = function (type) {
|
|
|
468
538
|
};
|
|
469
539
|
|
|
470
540
|
/**
|
|
471
|
-
* Gets
|
|
541
|
+
* Gets functions for getting and setting values of the given component type on a DataView.
|
|
472
542
|
*
|
|
473
543
|
* @param {DataView} view The DataView.
|
|
474
544
|
* @param {MetadataComponentType} componentType The component type.
|
|
475
|
-
* @returns {
|
|
545
|
+
* @returns {Object} An object containing the getter and setter functions.
|
|
476
546
|
*
|
|
477
547
|
* @private
|
|
478
548
|
*/
|
|
479
|
-
MetadataComponentType.
|
|
480
|
-
const
|
|
481
|
-
[MetadataComponentType.UINT8]:
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
[MetadataComponentType.
|
|
486
|
-
view.
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
[MetadataComponentType.
|
|
490
|
-
view.
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
[MetadataComponentType.
|
|
494
|
-
view.
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
[MetadataComponentType.
|
|
498
|
-
view.
|
|
549
|
+
MetadataComponentType.getDataViewAccessors = function (view, componentType) {
|
|
550
|
+
const accessors = {
|
|
551
|
+
[MetadataComponentType.UINT8]: {
|
|
552
|
+
get: view.getUint8.bind(view),
|
|
553
|
+
set: view.setUint8.bind(view),
|
|
554
|
+
},
|
|
555
|
+
[MetadataComponentType.INT8]: {
|
|
556
|
+
get: view.getInt8.bind(view),
|
|
557
|
+
set: view.setInt8.bind(view),
|
|
558
|
+
},
|
|
559
|
+
[MetadataComponentType.UINT16]: {
|
|
560
|
+
get: (offset) => view.getUint16(offset, true),
|
|
561
|
+
set: (offset, value) => view.setUint16(offset, value, true),
|
|
562
|
+
},
|
|
563
|
+
[MetadataComponentType.INT16]: {
|
|
564
|
+
get: (offset) => view.getInt16(offset, true),
|
|
565
|
+
set: (offset, value) => view.setInt16(offset, value, true),
|
|
566
|
+
},
|
|
567
|
+
[MetadataComponentType.UINT32]: {
|
|
568
|
+
get: (offset) => view.getUint32(offset, true),
|
|
569
|
+
set: (offset, value) => view.setUint32(offset, value, true),
|
|
570
|
+
},
|
|
571
|
+
[MetadataComponentType.INT32]: {
|
|
572
|
+
get: (offset) => view.getInt32(offset, true),
|
|
573
|
+
set: (offset, value) => view.setInt32(offset, value, true),
|
|
574
|
+
},
|
|
575
|
+
[MetadataComponentType.FLOAT32]: {
|
|
576
|
+
get: (offset) => view.getFloat32(offset, true),
|
|
577
|
+
set: (offset, value) => view.setFloat32(offset, value, true),
|
|
578
|
+
},
|
|
579
|
+
[MetadataComponentType.FLOAT64]: {
|
|
580
|
+
get: (offset) => view.getFloat64(offset, true),
|
|
581
|
+
set: (offset, value) => view.setFloat64(offset, value, true),
|
|
582
|
+
},
|
|
583
|
+
[MetadataComponentType.UINT64]: {
|
|
584
|
+
get: (offset) => view.getBigUint64(offset, true),
|
|
585
|
+
set: (offset, value) => view.setBigUint64(offset, BigInt(value), true),
|
|
586
|
+
},
|
|
587
|
+
[MetadataComponentType.INT64]: {
|
|
588
|
+
get: (offset) => view.getBigInt64(offset, true),
|
|
589
|
+
set: (offset, value) => view.setBigInt64(offset, BigInt(value), true),
|
|
590
|
+
},
|
|
499
591
|
};
|
|
500
592
|
|
|
501
|
-
return
|
|
593
|
+
return accessors[componentType];
|
|
502
594
|
};
|
|
503
595
|
|
|
504
596
|
export default Object.freeze(MetadataComponentType);
|
|
@@ -730,7 +730,9 @@ function getAllPropertyIds(primitive, structuralMetadata) {
|
|
|
730
730
|
function addUsedPropertyIds(propertyContainerIds, propertyContainers) {
|
|
731
731
|
for (const id of propertyContainerIds) {
|
|
732
732
|
const propertyContainer = propertyContainers[id];
|
|
733
|
-
|
|
733
|
+
const classProperties = propertyContainer.class.properties;
|
|
734
|
+
|
|
735
|
+
Object.keys(classProperties).forEach((propertyId) =>
|
|
734
736
|
primitivePropertyIds.add(propertyId),
|
|
735
737
|
);
|
|
736
738
|
}
|