@itwin/core-orbitgt 4.6.0-dev.9 → 4.7.0-dev.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/CHANGELOG.md +11 -1
- package/lib/cjs/core-orbitgt.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/AttributeMask.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/AttributeReader.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/BlockRecord.js +1 -1
- package/lib/cjs/pointcloud/format/opc/BlockRecord.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/ContainerFile.js +1 -1
- package/lib/cjs/pointcloud/format/opc/ContainerFile.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/ContainerFilePart.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/DirectoryReader.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/DirectoryRecord.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/FileAccess.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/FileReader.js +1 -1
- package/lib/cjs/pointcloud/format/opc/FileReader.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/FileRecord.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/GeometryReader.js +1 -1
- package/lib/cjs/pointcloud/format/opc/GeometryReader.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/GeometryRecord.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/OPCReader.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/PointReader.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/TileReadBuffer.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/TileRecord.js +1 -1
- package/lib/cjs/pointcloud/format/opc/TileRecord.js.map +1 -1
- package/lib/cjs/pointcloud/model/AttributeTypes.js +1 -1
- package/lib/cjs/pointcloud/model/AttributeTypes.js.map +1 -1
- package/lib/cjs/pointcloud/model/AttributeValue.js +1 -1
- package/lib/cjs/pointcloud/model/AttributeValue.js.map +1 -1
- package/lib/cjs/pointcloud/model/BlockIndex.js.map +1 -1
- package/lib/cjs/pointcloud/model/CloudPoint.js +1 -1
- package/lib/cjs/pointcloud/model/CloudPoint.js.map +1 -1
- package/lib/cjs/pointcloud/model/Grid.js.map +1 -1
- package/lib/cjs/pointcloud/model/GridIndex.js.map +1 -1
- package/lib/cjs/pointcloud/model/PointAttribute.js.map +1 -1
- package/lib/cjs/pointcloud/model/PointCloudReader.js.map +1 -1
- package/lib/cjs/pointcloud/model/PointData.js.map +1 -1
- package/lib/cjs/pointcloud/model/PointDataRaw.js +1 -1
- package/lib/cjs/pointcloud/model/PointDataRaw.js.map +1 -1
- package/lib/cjs/pointcloud/model/ReadRequest.js +1 -1
- package/lib/cjs/pointcloud/model/ReadRequest.js.map +1 -1
- package/lib/cjs/pointcloud/model/StandardAttributes.js +1 -1
- package/lib/cjs/pointcloud/model/StandardAttributes.js.map +1 -1
- package/lib/cjs/pointcloud/model/TileIndex.js.map +1 -1
- package/lib/cjs/pointcloud/render/AViewRequest.js.map +1 -1
- package/lib/cjs/pointcloud/render/Block.js.map +1 -1
- package/lib/cjs/pointcloud/render/DataManager.js +1 -1
- package/lib/cjs/pointcloud/render/DataManager.js.map +1 -1
- package/lib/cjs/pointcloud/render/FrameData.js.map +1 -1
- package/lib/cjs/pointcloud/render/Level.js.map +1 -1
- package/lib/cjs/pointcloud/render/TileLoadSorter.js +1 -1
- package/lib/cjs/pointcloud/render/TileLoadSorter.js.map +1 -1
- package/lib/cjs/pointcloud/render/ViewTree.js +1 -1
- package/lib/cjs/pointcloud/render/ViewTree.js.map +1 -1
- package/lib/cjs/spatial/crs/CRSEngine.js.map +1 -1
- package/lib/cjs/spatial/crs/CRSManager.js +1 -1
- package/lib/cjs/spatial/crs/CRSManager.js.map +1 -1
- package/lib/cjs/spatial/ecrs/Axis.js.map +1 -1
- package/lib/cjs/spatial/ecrs/CRS.js +1 -1
- package/lib/cjs/spatial/ecrs/CRS.js.map +1 -1
- package/lib/cjs/spatial/ecrs/CoordinateSystem.js +1 -1
- package/lib/cjs/spatial/ecrs/CoordinateSystem.js.map +1 -1
- package/lib/cjs/spatial/ecrs/DataFileUnit.js +1 -1
- package/lib/cjs/spatial/ecrs/DataFileUnit.js.map +1 -1
- package/lib/cjs/spatial/ecrs/Datum.js +1 -1
- package/lib/cjs/spatial/ecrs/Datum.js.map +1 -1
- package/lib/cjs/spatial/ecrs/Ellipsoid.js.map +1 -1
- package/lib/cjs/spatial/ecrs/OnlineEngine.js.map +1 -1
- package/lib/cjs/spatial/ecrs/OnlineRegistry.js +1 -1
- package/lib/cjs/spatial/ecrs/OnlineRegistry.js.map +1 -1
- package/lib/cjs/spatial/ecrs/Operation.js +1 -1
- package/lib/cjs/spatial/ecrs/Operation.js.map +1 -1
- package/lib/cjs/spatial/ecrs/OperationMethod.js.map +1 -1
- package/lib/cjs/spatial/ecrs/ParameterValue.js.map +1 -1
- package/lib/cjs/spatial/ecrs/ParameterValueList.js.map +1 -1
- package/lib/cjs/spatial/ecrs/PrimeMeridian.js.map +1 -1
- package/lib/cjs/spatial/ecrs/Registry.js +1 -1
- package/lib/cjs/spatial/ecrs/Registry.js.map +1 -1
- package/lib/cjs/spatial/ecrs/Transform.js +1 -1
- package/lib/cjs/spatial/ecrs/Transform.js.map +1 -1
- package/lib/cjs/spatial/ecrs/Unit.js +1 -1
- package/lib/cjs/spatial/ecrs/Unit.js.map +1 -1
- package/lib/cjs/spatial/ecrs/VerticalModel.js.map +1 -1
- package/lib/cjs/spatial/ecrs/WellKnownText.js +1 -1
- package/lib/cjs/spatial/ecrs/WellKnownText.js.map +1 -1
- package/lib/cjs/spatial/ecrs/WellKnownTextNode.js.map +1 -1
- package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.js +1 -1
- package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.js.map +1 -1
- package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConic.js +1 -1
- package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConic.js.map +1 -1
- package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js +1 -1
- package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js.map +1 -1
- package/lib/cjs/spatial/ecrs/projection/LambertConical1SP.js +1 -1
- package/lib/cjs/spatial/ecrs/projection/LambertConical1SP.js.map +1 -1
- package/lib/cjs/spatial/ecrs/projection/LambertConical2SP.js +1 -1
- package/lib/cjs/spatial/ecrs/projection/LambertConical2SP.js.map +1 -1
- package/lib/cjs/spatial/ecrs/projection/Mercator1SP.js +1 -1
- package/lib/cjs/spatial/ecrs/projection/Mercator1SP.js.map +1 -1
- package/lib/cjs/spatial/ecrs/projection/ObliqueMercator.js +1 -1
- package/lib/cjs/spatial/ecrs/projection/ObliqueMercator.js.map +1 -1
- package/lib/cjs/spatial/ecrs/projection/ObliqueStereographic.js +1 -1
- package/lib/cjs/spatial/ecrs/projection/ObliqueStereographic.js.map +1 -1
- package/lib/cjs/spatial/ecrs/projection/TransverseMercator.js +1 -1
- package/lib/cjs/spatial/ecrs/projection/TransverseMercator.js.map +1 -1
- package/lib/cjs/spatial/ecrs/transformation/PositionVector.js +1 -1
- package/lib/cjs/spatial/ecrs/transformation/PositionVector.js.map +1 -1
- package/lib/cjs/spatial/geom/Bounds.js.map +1 -1
- package/lib/cjs/spatial/geom/Coordinate.js.map +1 -1
- package/lib/cjs/spatial/geom/Line.js.map +1 -1
- package/lib/cjs/spatial/geom/Transform.js.map +1 -1
- package/lib/cjs/system/buffer/ABuffer.js.map +1 -1
- package/lib/cjs/system/buffer/Float32Buffer.js +1 -1
- package/lib/cjs/system/buffer/Float32Buffer.js.map +1 -1
- package/lib/cjs/system/buffer/LittleEndian.js.map +1 -1
- package/lib/cjs/system/buffer/Uint16Buffer.js +1 -1
- package/lib/cjs/system/buffer/Uint16Buffer.js.map +1 -1
- package/lib/cjs/system/buffer/Uint8Buffer.js +1 -1
- package/lib/cjs/system/buffer/Uint8Buffer.js.map +1 -1
- package/lib/cjs/system/collection/AList.js.map +1 -1
- package/lib/cjs/system/collection/IntMap.js.map +1 -1
- package/lib/cjs/system/collection/StringMap.js.map +1 -1
- package/lib/cjs/system/io/ABufferInStream.js.map +1 -1
- package/lib/cjs/system/io/InStream.js.map +1 -1
- package/lib/cjs/system/io/OutStream.js.map +1 -1
- package/lib/cjs/system/runtime/ALong.js +1 -1
- package/lib/cjs/system/runtime/ALong.js.map +1 -1
- package/lib/cjs/system/runtime/ASystem.js +1 -1
- package/lib/cjs/system/runtime/ASystem.js.map +1 -1
- package/lib/cjs/system/runtime/Downloader.js +1 -1
- package/lib/cjs/system/runtime/Downloader.js.map +1 -1
- package/lib/cjs/system/runtime/DownloaderNode.js.map +1 -1
- package/lib/cjs/system/runtime/DownloaderXhr.js.map +1 -1
- package/lib/cjs/system/runtime/Message.js +1 -1
- package/lib/cjs/system/runtime/Message.js.map +1 -1
- package/lib/cjs/system/runtime/Numbers.js +1 -1
- package/lib/cjs/system/runtime/Numbers.js.map +1 -1
- package/lib/cjs/system/runtime/Strings.js +1 -1
- package/lib/cjs/system/runtime/Strings.js.map +1 -1
- package/lib/cjs/system/runtime/iComparator.js.map +1 -1
- package/lib/cjs/system/storage/CacheList.js.map +1 -1
- package/lib/cjs/system/storage/CachedItem.js.map +1 -1
- package/lib/cjs/system/storage/ContentLoader.js +1 -1
- package/lib/cjs/system/storage/ContentLoader.js.map +1 -1
- package/lib/cjs/system/storage/FileContent.js.map +1 -1
- package/lib/cjs/system/storage/FileRange.js.map +1 -1
- package/lib/cjs/system/storage/FileStorage.js.map +1 -1
- package/lib/cjs/system/storage/NodeFS.js.map +1 -1
- package/lib/cjs/system/storage/PageCachedFile.js.map +1 -1
- package/lib/cjs/system/storage/UrlFS.js.map +1 -1
- package/lib/esm/core-orbitgt.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/AttributeMask.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/AttributeReader.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/BlockRecord.js +1 -2
- package/lib/esm/pointcloud/format/opc/BlockRecord.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/ContainerFile.js +1 -2
- package/lib/esm/pointcloud/format/opc/ContainerFile.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/ContainerFilePart.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/DirectoryReader.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/DirectoryRecord.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/FileAccess.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/FileReader.js +1 -2
- package/lib/esm/pointcloud/format/opc/FileReader.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/FileRecord.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/GeometryReader.js +1 -2
- package/lib/esm/pointcloud/format/opc/GeometryReader.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/GeometryRecord.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/OPCReader.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/PointReader.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/TileReadBuffer.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/TileRecord.js +1 -2
- package/lib/esm/pointcloud/format/opc/TileRecord.js.map +1 -1
- package/lib/esm/pointcloud/model/AttributeTypes.js +1 -2
- package/lib/esm/pointcloud/model/AttributeTypes.js.map +1 -1
- package/lib/esm/pointcloud/model/AttributeValue.js +1 -2
- package/lib/esm/pointcloud/model/AttributeValue.js.map +1 -1
- package/lib/esm/pointcloud/model/BlockIndex.js.map +1 -1
- package/lib/esm/pointcloud/model/CloudPoint.js +1 -2
- package/lib/esm/pointcloud/model/CloudPoint.js.map +1 -1
- package/lib/esm/pointcloud/model/Grid.js.map +1 -1
- package/lib/esm/pointcloud/model/GridIndex.js.map +1 -1
- package/lib/esm/pointcloud/model/PointAttribute.js.map +1 -1
- package/lib/esm/pointcloud/model/PointCloudReader.js.map +1 -1
- package/lib/esm/pointcloud/model/PointData.js.map +1 -1
- package/lib/esm/pointcloud/model/PointDataRaw.js +1 -2
- package/lib/esm/pointcloud/model/PointDataRaw.js.map +1 -1
- package/lib/esm/pointcloud/model/ReadRequest.js +1 -2
- package/lib/esm/pointcloud/model/ReadRequest.js.map +1 -1
- package/lib/esm/pointcloud/model/StandardAttributes.js +1 -2
- package/lib/esm/pointcloud/model/StandardAttributes.js.map +1 -1
- package/lib/esm/pointcloud/model/TileIndex.js.map +1 -1
- package/lib/esm/pointcloud/render/AViewRequest.js.map +1 -1
- package/lib/esm/pointcloud/render/Block.js.map +1 -1
- package/lib/esm/pointcloud/render/DataManager.js +1 -2
- package/lib/esm/pointcloud/render/DataManager.js.map +1 -1
- package/lib/esm/pointcloud/render/FrameData.js.map +1 -1
- package/lib/esm/pointcloud/render/Level.js.map +1 -1
- package/lib/esm/pointcloud/render/TileLoadSorter.js +1 -2
- package/lib/esm/pointcloud/render/TileLoadSorter.js.map +1 -1
- package/lib/esm/pointcloud/render/ViewTree.js +1 -2
- package/lib/esm/pointcloud/render/ViewTree.js.map +1 -1
- package/lib/esm/spatial/crs/CRSEngine.js.map +1 -1
- package/lib/esm/spatial/crs/CRSManager.js +1 -2
- package/lib/esm/spatial/crs/CRSManager.js.map +1 -1
- package/lib/esm/spatial/ecrs/Axis.js.map +1 -1
- package/lib/esm/spatial/ecrs/CRS.js +1 -2
- package/lib/esm/spatial/ecrs/CRS.js.map +1 -1
- package/lib/esm/spatial/ecrs/CoordinateSystem.js +1 -2
- package/lib/esm/spatial/ecrs/CoordinateSystem.js.map +1 -1
- package/lib/esm/spatial/ecrs/DataFileUnit.js +1 -2
- package/lib/esm/spatial/ecrs/DataFileUnit.js.map +1 -1
- package/lib/esm/spatial/ecrs/Datum.js +1 -2
- package/lib/esm/spatial/ecrs/Datum.js.map +1 -1
- package/lib/esm/spatial/ecrs/Ellipsoid.js.map +1 -1
- package/lib/esm/spatial/ecrs/OnlineEngine.js.map +1 -1
- package/lib/esm/spatial/ecrs/OnlineRegistry.js +1 -2
- package/lib/esm/spatial/ecrs/OnlineRegistry.js.map +1 -1
- package/lib/esm/spatial/ecrs/Operation.js +1 -2
- package/lib/esm/spatial/ecrs/Operation.js.map +1 -1
- package/lib/esm/spatial/ecrs/OperationMethod.js.map +1 -1
- package/lib/esm/spatial/ecrs/ParameterValue.js.map +1 -1
- package/lib/esm/spatial/ecrs/ParameterValueList.js.map +1 -1
- package/lib/esm/spatial/ecrs/PrimeMeridian.js.map +1 -1
- package/lib/esm/spatial/ecrs/Registry.js +1 -2
- package/lib/esm/spatial/ecrs/Registry.js.map +1 -1
- package/lib/esm/spatial/ecrs/Transform.js +1 -2
- package/lib/esm/spatial/ecrs/Transform.js.map +1 -1
- package/lib/esm/spatial/ecrs/Unit.js +1 -2
- package/lib/esm/spatial/ecrs/Unit.js.map +1 -1
- package/lib/esm/spatial/ecrs/VerticalModel.js.map +1 -1
- package/lib/esm/spatial/ecrs/WellKnownText.js +1 -2
- package/lib/esm/spatial/ecrs/WellKnownText.js.map +1 -1
- package/lib/esm/spatial/ecrs/WellKnownTextNode.js.map +1 -1
- package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.js +1 -2
- package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.js.map +1 -1
- package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConic.js +1 -2
- package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConic.js.map +1 -1
- package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js +1 -2
- package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js.map +1 -1
- package/lib/esm/spatial/ecrs/projection/LambertConical1SP.js +1 -2
- package/lib/esm/spatial/ecrs/projection/LambertConical1SP.js.map +1 -1
- package/lib/esm/spatial/ecrs/projection/LambertConical2SP.js +1 -2
- package/lib/esm/spatial/ecrs/projection/LambertConical2SP.js.map +1 -1
- package/lib/esm/spatial/ecrs/projection/Mercator1SP.js +1 -2
- package/lib/esm/spatial/ecrs/projection/Mercator1SP.js.map +1 -1
- package/lib/esm/spatial/ecrs/projection/ObliqueMercator.js +1 -2
- package/lib/esm/spatial/ecrs/projection/ObliqueMercator.js.map +1 -1
- package/lib/esm/spatial/ecrs/projection/ObliqueStereographic.js +1 -2
- package/lib/esm/spatial/ecrs/projection/ObliqueStereographic.js.map +1 -1
- package/lib/esm/spatial/ecrs/projection/TransverseMercator.js +1 -2
- package/lib/esm/spatial/ecrs/projection/TransverseMercator.js.map +1 -1
- package/lib/esm/spatial/ecrs/transformation/PositionVector.js +1 -2
- package/lib/esm/spatial/ecrs/transformation/PositionVector.js.map +1 -1
- package/lib/esm/spatial/geom/Bounds.js.map +1 -1
- package/lib/esm/spatial/geom/Coordinate.js.map +1 -1
- package/lib/esm/spatial/geom/Line.js.map +1 -1
- package/lib/esm/spatial/geom/Transform.js.map +1 -1
- package/lib/esm/system/buffer/ABuffer.js.map +1 -1
- package/lib/esm/system/buffer/Float32Buffer.js +1 -2
- package/lib/esm/system/buffer/Float32Buffer.js.map +1 -1
- package/lib/esm/system/buffer/LittleEndian.js.map +1 -1
- package/lib/esm/system/buffer/Uint16Buffer.js +1 -2
- package/lib/esm/system/buffer/Uint16Buffer.js.map +1 -1
- package/lib/esm/system/buffer/Uint8Buffer.js +1 -2
- package/lib/esm/system/buffer/Uint8Buffer.js.map +1 -1
- package/lib/esm/system/collection/AList.js.map +1 -1
- package/lib/esm/system/collection/IntMap.js.map +1 -1
- package/lib/esm/system/collection/StringMap.js.map +1 -1
- package/lib/esm/system/io/ABufferInStream.js.map +1 -1
- package/lib/esm/system/io/InStream.js.map +1 -1
- package/lib/esm/system/io/OutStream.js.map +1 -1
- package/lib/esm/system/runtime/ALong.js +1 -2
- package/lib/esm/system/runtime/ALong.js.map +1 -1
- package/lib/esm/system/runtime/ASystem.js +1 -2
- package/lib/esm/system/runtime/ASystem.js.map +1 -1
- package/lib/esm/system/runtime/Downloader.js +1 -2
- package/lib/esm/system/runtime/Downloader.js.map +1 -1
- package/lib/esm/system/runtime/DownloaderNode.js.map +1 -1
- package/lib/esm/system/runtime/DownloaderXhr.js.map +1 -1
- package/lib/esm/system/runtime/Message.js +1 -2
- package/lib/esm/system/runtime/Message.js.map +1 -1
- package/lib/esm/system/runtime/Numbers.js +1 -2
- package/lib/esm/system/runtime/Numbers.js.map +1 -1
- package/lib/esm/system/runtime/Strings.js +1 -2
- package/lib/esm/system/runtime/Strings.js.map +1 -1
- package/lib/esm/system/runtime/iComparator.js.map +1 -1
- package/lib/esm/system/storage/CacheList.js.map +1 -1
- package/lib/esm/system/storage/CachedItem.js.map +1 -1
- package/lib/esm/system/storage/ContentLoader.js +1 -2
- package/lib/esm/system/storage/ContentLoader.js.map +1 -1
- package/lib/esm/system/storage/FileContent.js.map +1 -1
- package/lib/esm/system/storage/FileRange.js.map +1 -1
- package/lib/esm/system/storage/FileStorage.js.map +1 -1
- package/lib/esm/system/storage/NodeFS.js.map +1 -1
- package/lib/esm/system/storage/PageCachedFile.js.map +1 -1
- package/lib/esm/system/storage/UrlFS.js.map +1 -1
- package/package.json +5 -5
|
@@ -78,11 +78,11 @@ class Numbers {
|
|
|
78
78
|
return "" + r + "." + g + "." + b;
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
+
exports.Numbers = Numbers;
|
|
81
82
|
/** The static byte buffer for number format conversions */
|
|
82
83
|
Numbers.BUFFER1 = new ArrayBuffer(8);
|
|
83
84
|
Numbers.I8_BUFFER1 = new Int8Array(Numbers.BUFFER1);
|
|
84
85
|
Numbers.I32_BUFFER1 = new Int32Array(Numbers.BUFFER1);
|
|
85
86
|
Numbers.F32_BUFFER1 = new Float32Array(Numbers.BUFFER1);
|
|
86
87
|
Numbers.F64_BUFFER1 = new Float64Array(Numbers.BUFFER1);
|
|
87
|
-
exports.Numbers = Numbers;
|
|
88
88
|
//# sourceMappingURL=Numbers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Numbers.js","sourceRoot":"","sources":["../../../../src/system/runtime/Numbers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Numbers.js","sourceRoot":"","sources":["../../../../src/system/runtime/Numbers.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module OrbitGT\n */\n\ntype int8 = number;\ntype int16 = number;\ntype int32 = number;\ntype float32 = number;\ntype float64 = number;\n\nimport { ALong } from \"./ALong\";\n\n/**\n * Class Numbers defines the common numerical tools.\n */\n/** @internal */\nexport class Numbers {\n /** The static byte buffer for number format conversions */\n private static readonly BUFFER1: ArrayBuffer = new ArrayBuffer(8);\n private static readonly I8_BUFFER1: Int8Array = new Int8Array(Numbers.BUFFER1);\n private static readonly I32_BUFFER1: Int32Array = new Int32Array(Numbers.BUFFER1);\n private static readonly F32_BUFFER1: Float32Array = new Float32Array(Numbers.BUFFER1);\n private static readonly F64_BUFFER1: Float64Array = new Float64Array(Numbers.BUFFER1);\n\n private constructor() {\n }\n\n public static sqrt(value: float64): float64 {\n return Math.sqrt(value);\n }\n\n public static floor(value: float64): float64 {\n return Math.floor(value);\n }\n\n public static intFloor(value: float64): int32 {\n return Math.floor(value);\n }\n\n public static divInt(value1: int32, value2: int32): int32 {\n return Math.trunc(value1 / value2);\n }\n\n public static intBitsToFloat(value: int32): float32 {\n Numbers.I32_BUFFER1[0] = value;\n return Numbers.F32_BUFFER1[0];\n }\n\n public static floatToIntBits(value: float32): int32 {\n Numbers.F32_BUFFER1[0] = value;\n return Numbers.I32_BUFFER1[0];\n }\n\n public static longBitsToDouble(value: ALong): float64 {\n Numbers.I32_BUFFER1[0] = value.getLow();\n Numbers.I32_BUFFER1[1] = value.getHigh();\n return Numbers.F64_BUFFER1[0];\n }\n\n public static doubleToLongBits(value: float64): ALong {\n Numbers.F64_BUFFER1[0] = value;\n return ALong.fromHighLow(Numbers.I32_BUFFER1[1], Numbers.I32_BUFFER1[0]);\n }\n\n public static intToDouble(value: int32): float64 {\n return value;\n }\n\n public static doubleToInt(value: float64): int32 {\n return Math.floor(value);\n }\n\n public static getInteger(value: string, defaultValue: int32): int32 {\n if (value == undefined) return defaultValue;\n if (value == null) return defaultValue;\n if (value.length == 0) return defaultValue;\n let parsed: int32 = parseInt(value);\n return (Number.isNaN(parsed)) ? defaultValue : parsed;\n }\n\n public static getDouble(value: string, defaultValue: float64): float64 {\n if (value == undefined) return defaultValue;\n if (value == null) return defaultValue;\n if (value.length == 0) return defaultValue;\n let parsed: float64 = parseFloat(value);\n return (Number.isNaN(parsed)) ? defaultValue : parsed;\n }\n\n public static rgbToString(color: int32): string {\n let r: int32 = (color >> 16) & 0xFF;\n let g: int32 = (color >> 8) & 0xFF;\n let b: int32 = (color >> 0) & 0xFF;\n return \"\" + r + \".\" + g + \".\" + b;\n }\n}\n"]}
|
|
@@ -171,6 +171,7 @@ class Strings {
|
|
|
171
171
|
return line.replace(key, value);
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
|
+
exports.Strings = Strings;
|
|
174
175
|
/** The 'infinity' character */
|
|
175
176
|
Strings.INFINITY = "\u221E";
|
|
176
177
|
/** The 'double-quote' character */
|
|
@@ -185,5 +186,4 @@ Strings.CR = String.fromCharCode(13);
|
|
|
185
186
|
Strings.NL = String.fromCharCode(10);
|
|
186
187
|
/** The 'carriage return+newline' (dos line terminator) character sequence */
|
|
187
188
|
Strings.CR_NL = String.fromCharCode(13) + String.fromCharCode(10);
|
|
188
|
-
exports.Strings = Strings;
|
|
189
189
|
//# sourceMappingURL=Strings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Strings.js","sourceRoot":"","sources":["../../../../src/system/runtime/Strings.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module OrbitGT\r\n */\r\n\r\ntype int8 = number;\r\ntype int16 = number;\r\ntype int32 = number;\r\ntype float32 = number;\r\ntype float64 = number;\r\n\r\nimport { AList } from \"../collection/AList\";\r\n\r\n/**\r\n * Class Strings defines the common string tools.\r\n */\r\n/** @internal */\r\nexport class Strings {\r\n /** The 'infinity' character */\r\n public static INFINITY: string = \"\\u221E\";\r\n /** The 'double-quote' character */\r\n public static DQUOTE: string = \"\\\"\";\r\n /** The 'single-quote' character */\r\n public static SQUOTE: string = \"'\";\r\n /** The 'tab' character */\r\n public static TAB: string = String.fromCharCode(9);\r\n /** The 'carriage return' character */\r\n public static CR: string = String.fromCharCode(13);\r\n /** The 'newline' (linux line terminator) character */\r\n public static NL: string = String.fromCharCode(10);\r\n /** The 'carriage return+newline' (dos line terminator) character sequence */\r\n public static CR_NL: string = String.fromCharCode(13) + String.fromCharCode(10);\r\n\r\n private constructor() {\r\n }\r\n\r\n public static getLength(value: string): int32 {\r\n return value.length;\r\n }\r\n\r\n public static getCharAt(value: string, index: int32): int16 {\r\n return value.charCodeAt(index);\r\n }\r\n\r\n public static appendChar(value: string, charCode: int16): string {\r\n return value + String.fromCharCode(charCode);\r\n }\r\n\r\n public static prependChar(value: string, charCode: int16): string {\r\n return String.fromCharCode(charCode) + value;\r\n }\r\n\r\n public static equals(value1: string, value2: string): boolean {\r\n if (value1 == null) return (value2 == null);\r\n if (value2 == null) return false;\r\n return (value1 === value2);\r\n }\r\n\r\n public static equalsIgnoreCase(value1: string, value2: string): boolean {\r\n if (value1 == null) return (value2 == null);\r\n if (value2 == null) return false;\r\n return (value1.toLowerCase() === value2.toLowerCase());\r\n }\r\n\r\n public static startsWith(value: string, prefix: string): boolean {\r\n return value.startsWith(prefix);\r\n }\r\n\r\n public static endsWith(value: string, suffix: string): boolean {\r\n return value.endsWith(suffix);\r\n }\r\n\r\n public static substring(value: string, index0: int32, index1: int32): string {\r\n return value.substring(index0, index1);\r\n }\r\n\r\n public static substringFrom(value: string, index: int32): string {\r\n return value.substring(index);\r\n }\r\n\r\n public static charCodeAt(value: string, index: int32): int32 {\r\n return value.charCodeAt(index);\r\n }\r\n\r\n public static charCodeToString(code: int32): string {\r\n return String.fromCharCode(code);\r\n }\r\n\r\n public static indexOf(value: string, part: string): int32 {\r\n return value.indexOf(part);\r\n }\r\n\r\n public static lastIndexOf(value: string, part: string): int32 {\r\n return value.lastIndexOf(part);\r\n }\r\n\r\n public static indexOfFrom(value: string, part: string, index: int32): int32 {\r\n return value.indexOf(part, index);\r\n }\r\n\r\n public static compareTo(value1: string, value2: string): int32 {\r\n if (value1 === value2) return 0;\r\n return (value1 < value2) ? -1 : 1;\r\n }\r\n\r\n public static compareToIgnoreCase(value1: string, value2: string): int32 {\r\n return Strings.compareTo(value1.toLowerCase(), value2.toLowerCase());\r\n }\r\n\r\n public static splitAsList(value: string, separators: string): AList<string> {\r\n /* Null? */\r\n if (value == null) return null;\r\n /* Make a list of parts */\r\n let parts: AList<string> = new AList<string>();\r\n /* Fast-out */\r\n if (value.length == 0) return parts;\r\n /* Make a list of parts */\r\n while (true) {\r\n /* Get the index of the next separator */\r\n let index: int32 = value.length;\r\n for (let i: int32 = 0; i < separators.length; i++) {\r\n let nextIndex: int32 = value.indexOf(separators.charAt(i));\r\n if ((nextIndex >= 0) && (nextIndex < index)) index = nextIndex;\r\n }\r\n /* None remaining ? */\r\n if (index == value.length) {\r\n /* Done */\r\n parts.add(value);\r\n break;\r\n }\r\n else {\r\n /* Add a substring */\r\n parts.add(value.substring(0, index));\r\n value = value.substring(index + 1);\r\n }\r\n }\r\n /* Return the parts */\r\n return parts;\r\n }\r\n\r\n public static splitAdvanced(value: string, separators: string, opens: string, closes: string, literals: string): AList<string> {\r\n /* Check the value */\r\n if (value == null) return null;\r\n /* Check the parameters */\r\n if (separators == null) separators = \"\";\r\n if (opens == null) opens = \"\";\r\n if (closes == null) closes = \"\";\r\n if (literals == null) literals = \"\";\r\n /* Make a list of parts */\r\n let parts: AList<string> = new AList<string>();\r\n /* Check all characters in the value */\r\n let level: int32 = 0;\r\n let start: int32 = 0;\r\n let literal: string = null;\r\n for (let i: int32 = 0; i < value.length; i++) {\r\n /* Get the next character */\r\n let c: string = value.substring(i, i + 1);\r\n /* Escaped character ? */\r\n if ((i > 0) && (value.substring(i - 1, i) === \"\\\\\")) continue;\r\n /* Quote bound ? */\r\n if (literal != null ? literal === c : ((literals.length > 0) && (literals.indexOf(c) >= 0))) {\r\n /* Toggle */\r\n literal = literal == null ? c : null;\r\n continue;\r\n }\r\n /* Ignore this character ? */\r\n if (literal != null) continue;\r\n /* Separator ? */\r\n if ((separators.indexOf(c) >= 0) && (level == 0)) {\r\n /* Get the part */\r\n parts.add(value.substring(start, i));\r\n start = i + 1;\r\n }\r\n /* Open ? */\r\n else if (opens.indexOf(c) >= 0) {\r\n level += 1;\r\n }\r\n /* Close ? */\r\n else if (closes.indexOf(c) >= 0) {\r\n level -= 1;\r\n }\r\n }\r\n /* Add the last part */\r\n parts.add(value.substring(start));\r\n /* Return the parts */\r\n return parts;\r\n }\r\n\r\n public static trim(value: string): string {\r\n return value.trim();\r\n }\r\n\r\n public static replace(line: string, key: string, value: string): string {\r\n return line.replace(key, value);\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"Strings.js","sourceRoot":"","sources":["../../../../src/system/runtime/Strings.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module OrbitGT\n */\n\ntype int8 = number;\ntype int16 = number;\ntype int32 = number;\ntype float32 = number;\ntype float64 = number;\n\nimport { AList } from \"../collection/AList\";\n\n/**\n * Class Strings defines the common string tools.\n */\n/** @internal */\nexport class Strings {\n /** The 'infinity' character */\n public static INFINITY: string = \"\\u221E\";\n /** The 'double-quote' character */\n public static DQUOTE: string = \"\\\"\";\n /** The 'single-quote' character */\n public static SQUOTE: string = \"'\";\n /** The 'tab' character */\n public static TAB: string = String.fromCharCode(9);\n /** The 'carriage return' character */\n public static CR: string = String.fromCharCode(13);\n /** The 'newline' (linux line terminator) character */\n public static NL: string = String.fromCharCode(10);\n /** The 'carriage return+newline' (dos line terminator) character sequence */\n public static CR_NL: string = String.fromCharCode(13) + String.fromCharCode(10);\n\n private constructor() {\n }\n\n public static getLength(value: string): int32 {\n return value.length;\n }\n\n public static getCharAt(value: string, index: int32): int16 {\n return value.charCodeAt(index);\n }\n\n public static appendChar(value: string, charCode: int16): string {\n return value + String.fromCharCode(charCode);\n }\n\n public static prependChar(value: string, charCode: int16): string {\n return String.fromCharCode(charCode) + value;\n }\n\n public static equals(value1: string, value2: string): boolean {\n if (value1 == null) return (value2 == null);\n if (value2 == null) return false;\n return (value1 === value2);\n }\n\n public static equalsIgnoreCase(value1: string, value2: string): boolean {\n if (value1 == null) return (value2 == null);\n if (value2 == null) return false;\n return (value1.toLowerCase() === value2.toLowerCase());\n }\n\n public static startsWith(value: string, prefix: string): boolean {\n return value.startsWith(prefix);\n }\n\n public static endsWith(value: string, suffix: string): boolean {\n return value.endsWith(suffix);\n }\n\n public static substring(value: string, index0: int32, index1: int32): string {\n return value.substring(index0, index1);\n }\n\n public static substringFrom(value: string, index: int32): string {\n return value.substring(index);\n }\n\n public static charCodeAt(value: string, index: int32): int32 {\n return value.charCodeAt(index);\n }\n\n public static charCodeToString(code: int32): string {\n return String.fromCharCode(code);\n }\n\n public static indexOf(value: string, part: string): int32 {\n return value.indexOf(part);\n }\n\n public static lastIndexOf(value: string, part: string): int32 {\n return value.lastIndexOf(part);\n }\n\n public static indexOfFrom(value: string, part: string, index: int32): int32 {\n return value.indexOf(part, index);\n }\n\n public static compareTo(value1: string, value2: string): int32 {\n if (value1 === value2) return 0;\n return (value1 < value2) ? -1 : 1;\n }\n\n public static compareToIgnoreCase(value1: string, value2: string): int32 {\n return Strings.compareTo(value1.toLowerCase(), value2.toLowerCase());\n }\n\n public static splitAsList(value: string, separators: string): AList<string> {\n /* Null? */\n if (value == null) return null;\n /* Make a list of parts */\n let parts: AList<string> = new AList<string>();\n /* Fast-out */\n if (value.length == 0) return parts;\n /* Make a list of parts */\n while (true) {\n /* Get the index of the next separator */\n let index: int32 = value.length;\n for (let i: int32 = 0; i < separators.length; i++) {\n let nextIndex: int32 = value.indexOf(separators.charAt(i));\n if ((nextIndex >= 0) && (nextIndex < index)) index = nextIndex;\n }\n /* None remaining ? */\n if (index == value.length) {\n /* Done */\n parts.add(value);\n break;\n }\n else {\n /* Add a substring */\n parts.add(value.substring(0, index));\n value = value.substring(index + 1);\n }\n }\n /* Return the parts */\n return parts;\n }\n\n public static splitAdvanced(value: string, separators: string, opens: string, closes: string, literals: string): AList<string> {\n /* Check the value */\n if (value == null) return null;\n /* Check the parameters */\n if (separators == null) separators = \"\";\n if (opens == null) opens = \"\";\n if (closes == null) closes = \"\";\n if (literals == null) literals = \"\";\n /* Make a list of parts */\n let parts: AList<string> = new AList<string>();\n /* Check all characters in the value */\n let level: int32 = 0;\n let start: int32 = 0;\n let literal: string = null;\n for (let i: int32 = 0; i < value.length; i++) {\n /* Get the next character */\n let c: string = value.substring(i, i + 1);\n /* Escaped character ? */\n if ((i > 0) && (value.substring(i - 1, i) === \"\\\\\")) continue;\n /* Quote bound ? */\n if (literal != null ? literal === c : ((literals.length > 0) && (literals.indexOf(c) >= 0))) {\n /* Toggle */\n literal = literal == null ? c : null;\n continue;\n }\n /* Ignore this character ? */\n if (literal != null) continue;\n /* Separator ? */\n if ((separators.indexOf(c) >= 0) && (level == 0)) {\n /* Get the part */\n parts.add(value.substring(start, i));\n start = i + 1;\n }\n /* Open ? */\n else if (opens.indexOf(c) >= 0) {\n level += 1;\n }\n /* Close ? */\n else if (closes.indexOf(c) >= 0) {\n level -= 1;\n }\n }\n /* Add the last part */\n parts.add(value.substring(start));\n /* Return the parts */\n return parts;\n }\n\n public static trim(value: string): string {\n return value.trim();\n }\n\n public static replace(line: string, key: string, value: string): string {\n return line.replace(key, value);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iComparator.js","sourceRoot":"","sources":["../../../../src/system/runtime/iComparator.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\
|
|
1
|
+
{"version":3,"file":"iComparator.js","sourceRoot":"","sources":["../../../../src/system/runtime/iComparator.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module OrbitGT\n */\n\n//package orbitgt.system.runtime;\n\ntype int8 = number;\ntype int16 = number;\ntype int32 = number;\ntype float32 = number;\ntype float64 = number;\n\n/**\n * Interface iComparator allows sorting of objects by comparing them to one another.\n */\n/** @internal */\nexport interface iComparator<T> {\n compare(value1: T, value2: T): int32;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CacheList.js","sourceRoot":"","sources":["../../../../src/system/storage/CacheList.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAUH,+CAA4C;AAC5C,gDAA6C;AAC7C,gDAA6C;AAC7C,6CAA0C;AAE1C;;GAEG;AACH,gBAAgB;AAChB,MAAa,SAAS;IAWrB;;OAEG;IACH,YAAmB,UAAiB;QACnC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAK,EAAiB,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACpB,CAAC;IAED;;OAEG;IACI,IAAI;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACI,KAAK;QACX,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACpB,CAAC;IAED;;OAEG;IACI,SAAS,CAAC,GAAW;QAC3B,uBAAuB;QACvB,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"CacheList.js","sourceRoot":"","sources":["../../../../src/system/storage/CacheList.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAUH,+CAA4C;AAC5C,gDAA6C;AAC7C,gDAA6C;AAC7C,6CAA0C;AAE1C;;GAEG;AACH,gBAAgB;AAChB,MAAa,SAAS;IAWrB;;OAEG;IACH,YAAmB,UAAiB;QACnC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAK,EAAiB,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACpB,CAAC;IAED;;OAEG;IACI,IAAI;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACI,KAAK;QACX,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACpB,CAAC;IAED;;OAEG;IACI,SAAS,CAAC,GAAW;QAC3B,uBAAuB;QACvB,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YACvD,mDAAmD;YACnD,IAAI,UAAU,GAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACvD,kCAAkC;YAClC,IAAI,KAAK,GAAkB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACzD,IAAI,iBAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;gBACpC,wDAAwD;gBACxD,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;oBAC3C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC;gBACD,4BAA4B;gBAC5B,KAAK,CAAC,UAAU,GAAG,iBAAO,CAAC,IAAI,EAAE,CAAC;gBAClC,yBAAyB;gBACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,OAAO,KAAK,CAAC,OAAO,CAAC;YACtB,CAAC;QACF,CAAC;QACD,wBAAwB;QACxB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACI,QAAQ,CAAC,GAAW,EAAE,OAAU;QACtC,6CAA6C;QAC7C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,uBAAU,CAAI,GAAG,EAAE,OAAO,EAAE,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;YAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAClG,CAAC;CACD;AAzED,8BAyEC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module OrbitGT\n */\n\n//package orbitgt.system.storage;\n\ntype int8 = number;\ntype int16 = number;\ntype int32 = number;\ntype float32 = number;\ntype float64 = number;\n\nimport { AList } from \"../collection/AList\";\nimport { ASystem } from \"../runtime/ASystem\";\nimport { Strings } from \"../runtime/Strings\";\nimport { CachedItem } from \"./CachedItem\";\n\n/**\n * Class CacheList caches a list of items based on last-recently-used order.\n */\n/** @internal */\nexport class CacheList<T>\n{\n\t/** The optional maximum number of entries in the list (no maximum if zero) */\n\tprivate _maxEntries: int32;\n\t/** The list of entries (most used at the back) */\n\tprivate _entries: AList<CachedItem<T>>;\n\t/** The number of times a requested item was found in the cache */\n\tpublic hitCount: int32;\n\t/** The number of times a requested item was not found in the cache */\n\tpublic missCount: int32;\n\n\t/**\n\t * Create a new cache, with an optional non-zero maximum number of entries.\n\t */\n\tpublic constructor(maxEntries: int32) {\n\t\tthis._maxEntries = maxEntries;\n\t\tthis._entries = new AList<CachedItem<T>>();\n\t\tthis.hitCount = 0;\n\t\tthis.missCount = 0;\n\t}\n\n\t/**\n\t * Get the number of entries in the cache.\n\t */\n\tpublic size(): int32 {\n\t\treturn this._entries.size();\n\t}\n\n\t/**\n\t * Clear all entries.\n\t */\n\tpublic clear(): void {\n\t\tthis._entries.clear();\n\t\tthis.hitCount = 0;\n\t\tthis.missCount = 0;\n\t}\n\n\t/**\n\t * Find an entry in the cache, or return null if not found.\n\t */\n\tpublic findEntry(key: string): T {\n\t\t/* Check all entries */\n\t\tfor (let i: number = 0; i < this._entries.size(); i++) {\n\t\t\t/* Search back (most used) to front (least used) */\n\t\t\tlet entryIndex: int32 = (this._entries.size() - 1 - i);\n\t\t\t/* Is this the requested entry? */\n\t\t\tlet entry: CachedItem<T> = this._entries.get(entryIndex);\n\t\t\tif (Strings.equals(entry.key, key)) {\n\t\t\t\t/* Move the latest-used entry to the back of the list */\n\t\t\t\tif (entryIndex < this._entries.size() - 1) {\n\t\t\t\t\tthis._entries.remove(entryIndex);\n\t\t\t\t\tthis._entries.add(entry);\n\t\t\t\t}\n\t\t\t\t/* Update the access time */\n\t\t\t\tentry.accessTime = ASystem.time();\n\t\t\t\t/* The entry was found */\n\t\t\t\tthis.hitCount++;\n\t\t\t\treturn entry.element;\n\t\t\t}\n\t\t}\n\t\t/* No entry was found */\n\t\tthis.missCount++;\n\t\treturn null;\n\t}\n\n\t/**\n\t * Add an entry to the cache, pushing out the oldest entry if the cache is full.\n\t */\n\tpublic addEntry(key: string, element: T): void {\n\t\t/* Add a new entry to the back of the list */\n\t\tthis._entries.add(new CachedItem<T>(key, element, ASystem.time()));\n\t\tif ((this._maxEntries > 0) && (this._entries.size() > this._maxEntries)) this._entries.remove(0);\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CachedItem.js","sourceRoot":"","sources":["../../../../src/system/storage/CachedItem.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAUH;;GAEG;AACH,gBAAgB;AAChB,MAAa,UAAU;IAStB;;OAEG;IACH,YAAmB,GAAW,EAAE,OAAU,EAAE,UAAmB;QAC9D,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC9B,CAAC;CACD;AAjBD,gCAiBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\
|
|
1
|
+
{"version":3,"file":"CachedItem.js","sourceRoot":"","sources":["../../../../src/system/storage/CachedItem.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAUH;;GAEG;AACH,gBAAgB;AAChB,MAAa,UAAU;IAStB;;OAEG;IACH,YAAmB,GAAW,EAAE,OAAU,EAAE,UAAmB;QAC9D,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC9B,CAAC;CACD;AAjBD,gCAiBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module OrbitGT\n */\n\n//package orbitgt.system.storage;\n\ntype int8 = number;\ntype int16 = number;\ntype int32 = number;\ntype float32 = number;\ntype float64 = number;\n\n/**\n * Class CachedItem stores a single entry in a cache of items.\n */\n/** @internal */\nexport class CachedItem<T>\n{\n\t/** The unique key of the item */\n\tpublic key: string;\n\t/** The item to cache */\n\tpublic element: T;\n\t/** The latest access time of the item */\n\tpublic accessTime: float64;\n\n\t/**\n\t * Create a new item.\n\t */\n\tpublic constructor(key: string, element: T, accessTime: float64) {\n\t\tthis.key = key;\n\t\tthis.element = element;\n\t\tthis.accessTime = accessTime;\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentLoader.js","sourceRoot":"","sources":["../../../../src/system/storage/ContentLoader.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAYH,+CAA4C;AAE5C,gDAA6C;AAE7C,2CAAwC;AAGxC;;GAEG;AACH,gBAAgB;AAChB,MAAa,aAAa;IAkBtB;;OAEG;IACH,YAAmB,WAAwB,EAAE,QAAgB;QACzD,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IAED;;OAEG;IACI,KAAK;QACR,IAAI,CAAC,SAAS,GAAG,IAAI,aAAK,EAAa,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,eAAe,CAAC,MAAa,EAAE,IAAW;QAC7C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,qBAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,mBAAmB;QACtB,IAAI,SAAS,GAAU,CAAC,CAAC;QACzB,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE;YAAE,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAChG,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;OAEG;IACI,SAAS;QACZ,iBAAO,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,eAAe,GAAG,IAAI,CAAC,SAAS,GAAG,oBAAoB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACtK,CAAC;IAED;;OAEG;IACI,QAAQ;QACX,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;OAEG;IACI,WAAW;QACd,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,IAAI;QACb,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACxF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,WAAW,CAAC,MAAa,EAAE,IAAW;QACzC,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"ContentLoader.js","sourceRoot":"","sources":["../../../../src/system/storage/ContentLoader.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAYH,+CAA4C;AAE5C,gDAA6C;AAE7C,2CAAwC;AAGxC;;GAEG;AACH,gBAAgB;AAChB,MAAa,aAAa;IAkBtB;;OAEG;IACH,YAAmB,WAAwB,EAAE,QAAgB;QACzD,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IAED;;OAEG;IACI,KAAK;QACR,IAAI,CAAC,SAAS,GAAG,IAAI,aAAK,EAAa,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,eAAe,CAAC,MAAa,EAAE,IAAW;QAC7C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,qBAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,mBAAmB;QACtB,IAAI,SAAS,GAAU,CAAC,CAAC;QACzB,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE;YAAE,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAChG,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;OAEG;IACI,SAAS;QACZ,iBAAO,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,eAAe,GAAG,IAAI,CAAC,SAAS,GAAG,oBAAoB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACtK,CAAC;IAED;;OAEG;IACI,QAAQ;QACX,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;OAEG;IACI,WAAW;QACd,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,IAAI;QACb,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACxF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,WAAW,CAAC,MAAa,EAAE,IAAW;QACzC,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YACtD,IAAI,QAAQ,GAAgB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACnD,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;gBACpE,OAAO,QAAQ,CAAC,OAAO,CAAC;YAC5B,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;;AAjGL,sCAkGC;AAjGG,8BAA8B;AACN,oBAAM,GAAW,eAAe,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module OrbitGT\n */\n\n//package orbitgt.system.storage;\n\ntype int8 = number;\ntype int16 = number;\ntype int32 = number;\ntype float32 = number;\ntype float64 = number;\n\n\nimport { ABuffer } from \"../buffer/ABuffer\";\nimport { AList } from \"../collection/AList\";\nimport { ALong } from \"../runtime/ALong\";\nimport { Message } from \"../runtime/Message\";\nimport { FileContent } from \"./FileContent\";\nimport { FileRange } from \"./FileRange\";\nimport { FileStorage } from \"./FileStorage\";\n\n/**\n * Class ContentLoader helps requesting and loading multiple ranges from a file with a single request to the storage service.\n */\n/** @internal */\nexport class ContentLoader {\n /** The name of this module */\n private static readonly MODULE: string = \"ContentLoader\";\n\n /** The storage space of the file */\n private _fileStorage: FileStorage;\n /** The name of the file */\n private _fileName: string;\n\n /** The list of requests */\n private _requests: AList<FileRange>;\n /** Has loading started? */\n private _loading: boolean;\n /** Has loading stopped? */\n private _loaded: boolean;\n /** The list of responses */\n private _responses: AList<FileContent>;\n\n /**\n * Create a new content loader.\n */\n public constructor(fileStorage: FileStorage, fileName: string) {\n this._fileStorage = fileStorage;\n this._fileName = fileName;\n this.clear();\n }\n\n /**\n * Clear the content loader for reuse.\n */\n public clear(): void {\n this._requests = new AList<FileRange>();\n this._loading = false;\n this._loaded = false;\n this._responses = null;\n }\n\n /**\n * Add a request to load a content range.\n */\n public requestFilePart(offset: ALong, size: int32): ContentLoader {\n this._requests.add(new FileRange(offset, size));\n return this;\n }\n\n /**\n * Get the total size of the data to be loaded.\n */\n public getTotalRequestSize(): int32 {\n let totalSize: int32 = 0;\n for (let i: number = 0; i < this._requests.size(); i++) totalSize += this._requests.get(i).size;\n return totalSize;\n }\n\n /**\n * Print info.\n */\n public printInfo(): void {\n Message.print(ContentLoader.MODULE, \"Requesting \" + this._requests.size() + \" parts from '\" + this._fileName + \"' with total size \" + this.getTotalRequestSize());\n }\n\n /**\n * Has all content been loaded?\n */\n public isLoaded(): boolean {\n return this._loaded;\n }\n\n /**\n * Has all content been loaded?\n */\n public isAvailable(): boolean {\n return this.isLoaded();\n }\n\n /**\n * Load all content from storage.\n */\n public async load(): Promise<ContentLoader> {\n this._loading = true;\n this.printInfo();\n this._responses = await this._fileStorage.readFileParts(this._fileName, this._requests);\n this._loaded = true;\n return this;\n }\n\n /**\n * Get a content range that has been loaded.\n */\n public getFilePart(offset: ALong, size: int32): ABuffer {\n for (let i: number = 0; i < this._responses.size(); i++) {\n let response: FileContent = this._responses.get(i);\n if (response.offset.same(offset) && (response.content.size() == size)) {\n return response.content;\n }\n }\n return null;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileContent.js","sourceRoot":"","sources":["../../../../src/system/storage/FileContent.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAaH;;GAEG;AACH,gBAAgB;AAChB,MAAa,WAAW;IAMpB;;OAEG;IACH,YAAmB,MAAa,EAAE,OAAgB;QAC9C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ;AAbD,kCAaC","sourcesContent":["/*---------------------------------------------------------------------------------------------\
|
|
1
|
+
{"version":3,"file":"FileContent.js","sourceRoot":"","sources":["../../../../src/system/storage/FileContent.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAaH;;GAEG;AACH,gBAAgB;AAChB,MAAa,WAAW;IAMpB;;OAEG;IACH,YAAmB,MAAa,EAAE,OAAgB;QAC9C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ;AAbD,kCAaC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module OrbitGT\n */\n\n//package orbitgt.system.storage;\n\ntype int8 = number;\ntype int16 = number;\ntype int32 = number;\ntype float32 = number;\ntype float64 = number;\n\nimport { ABuffer } from \"../buffer/ABuffer\";\nimport { ALong } from \"../runtime/ALong\";\n\n/**\n * Class FileContent holds partial content (a single range) of a file.\n */\n/** @internal */\nexport class FileContent {\n /** The (integer) offset of the content range */\n public offset: ALong;\n /** The content */\n public content: ABuffer;\n\n /**\n * Create a new content holder.\n */\n public constructor(offset: ALong, content: ABuffer) {\n this.offset = offset;\n this.content = content;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileRange.js","sourceRoot":"","sources":["../../../../src/system/storage/FileRange.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAYH;;GAEG;AACH,gBAAgB;AAChB,MAAa,SAAS;IAMlB;;OAEG;IACH,YAAmB,MAAa,EAAE,IAAW;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ;AAbD,8BAaC","sourcesContent":["/*---------------------------------------------------------------------------------------------\
|
|
1
|
+
{"version":3,"file":"FileRange.js","sourceRoot":"","sources":["../../../../src/system/storage/FileRange.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAYH;;GAEG;AACH,gBAAgB;AAChB,MAAa,SAAS;IAMlB;;OAEG;IACH,YAAmB,MAAa,EAAE,IAAW;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ;AAbD,8BAaC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module OrbitGT\n */\n\n//package orbitgt.system.storage;\n\ntype int8 = number;\ntype int16 = number;\ntype int32 = number;\ntype float32 = number;\ntype float64 = number;\n\nimport { ALong } from \"../runtime/ALong\";\n\n/**\n * Class FileRange defines a content range in a file.\n */\n/** @internal */\nexport class FileRange {\n /** The (integer) offset of the content range */\n public offset: ALong;\n /** The size of the content range */\n public size: int32;\n\n /**\n * Create a new content range.\n */\n public constructor(offset: ALong, size: int32) {\n this.offset = offset;\n this.size = size;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileStorage.js","sourceRoot":"","sources":["../../../../src/system/storage/FileStorage.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAYH,4CAAyC;AAIzC;;GAEG;AACH,gBAAgB;AAChB,MAAa,WAAW;IACpB;;OAEG;IACH;IACA,CAAC;IAED;;OAEG;IACI,KAAK;QACR,wBAAwB;IAC5B,CAAC;IAED;;OAEG;IACI,eAAe,CAAC,KAAc;QACjC,wBAAwB;IAC5B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,aAAa,CAAC,QAAgB;QACvC,0BAA0B;QAC1B,OAAO,aAAK,CAAC,SAAS,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,aAAa,CAAC,QAAgB,EAAE,MAAwB;QACjE,0BAA0B;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,MAAa,EAAE,IAAW;QAClE,0BAA0B;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,WAAoB;QACzD,0BAA0B;IAC9B,CAAC;CACJ;AAnDD,kCAmDC","sourcesContent":["/*---------------------------------------------------------------------------------------------\
|
|
1
|
+
{"version":3,"file":"FileStorage.js","sourceRoot":"","sources":["../../../../src/system/storage/FileStorage.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAYH,4CAAyC;AAIzC;;GAEG;AACH,gBAAgB;AAChB,MAAa,WAAW;IACpB;;OAEG;IACH;IACA,CAAC;IAED;;OAEG;IACI,KAAK;QACR,wBAAwB;IAC5B,CAAC;IAED;;OAEG;IACI,eAAe,CAAC,KAAc;QACjC,wBAAwB;IAC5B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,aAAa,CAAC,QAAgB;QACvC,0BAA0B;QAC1B,OAAO,aAAK,CAAC,SAAS,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,aAAa,CAAC,QAAgB,EAAE,MAAwB;QACjE,0BAA0B;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,MAAa,EAAE,IAAW;QAClE,0BAA0B;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,WAAoB;QACzD,0BAA0B;IAC9B,CAAC;CACJ;AAnDD,kCAmDC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module OrbitGT\n */\n\n//package orbitgt.system.storage;\n\ntype int8 = number;\ntype int16 = number;\ntype int32 = number;\ntype float32 = number;\ntype float64 = number;\n\nimport { ABuffer } from \"../buffer/ABuffer\";\nimport { AList } from \"../collection/AList\";\nimport { ALong } from \"../runtime/ALong\";\nimport { FileContent } from \"./FileContent\";\nimport { FileRange } from \"./FileRange\";\n\n/**\n * Class FileStorage defines access methods to file content in a certain file storage account.\n */\n/** @internal */\nexport class FileStorage {\n /**\n * Create new storage.\n */\n public constructor() {\n }\n\n /**\n * Close the storage.\n */\n public close(): void {\n /* Override if needed */\n }\n\n /**\n * Print (and optionally clear) file access statistics.\n */\n public printStatistics(clear: boolean): void {\n /* Override if needed */\n }\n\n /**\n * Get the length of a file (returns -1 if the file is not found).\n */\n public async getFileLength(fileName: string): Promise<ALong> {\n /* Override this method */\n return ALong.MINUS_ONE;\n }\n\n /**\n * Read some parts of a file.\n */\n public async readFileParts(fileName: string, ranges: AList<FileRange>): Promise<AList<FileContent>> {\n /* Override this method */\n return null;\n }\n\n /**\n * Read a part of a file.\n */\n public async readFilePart(fileName: string, offset: ALong, size: int32): Promise<ABuffer> {\n /* Override this method */\n return null;\n }\n\n /**\n * Write a file.\n */\n public async writeFile(fileName: string, fileContent: ABuffer): Promise<void> {\n /* Override this method */\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeFS.js","sourceRoot":"","sources":["../../../../src/system/storage/NodeFS.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,yBAAyB;AACzB,+CAA4C;AAC5C,+CAA4C;AAC5C,4CAAyC;AACzC,gDAA6C;AAC7C,+CAA4C;AAE5C,+CAA4C;AAQ5C;;GAEG;AACH,gBAAgB;AAChB,MAAa,MAAO,SAAQ,yBAAW;IACnC;;SAEK;IACL;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;IAED;;SAEK;IACW,KAAK;IACrB,CAAC;IAED;;SAEK;IACW,KAAK,CAAC,aAAa,CAAC,QAAgB;QAChD,MAAM,SAAS,GAAa,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClD,OAAO,aAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED;;SAEK;IACW,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,MAAa,EAAE,IAAW;QAC3E,MAAM,SAAS,GAAgB,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,MAAM,GAAe,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,EAAE,GAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9E,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACjB,iBAAO,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,EAAE,YAAY,IAAI,oBAAoB,SAAS,eAAe,QAAQ,YAAY,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACxI,OAAO,iBAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED;;SAEK;IACW,KAAK,CAAC,aAAa,CAAC,QAAgB,EAAE,MAAwB;QAC1E,MAAM,OAAO,GAAuB,IAAI,aAAK,EAAe,CAAC;QAC7D,MAAM,EAAE,GAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"NodeFS.js","sourceRoot":"","sources":["../../../../src/system/storage/NodeFS.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module OrbitGT\n */\n\nimport * as fs from \"fs\";\nimport { ABuffer } from \"../buffer/ABuffer\";\nimport { AList } from \"../collection/AList\";\nimport { ALong } from \"../runtime/ALong\";\nimport { ASystem } from \"../runtime/ASystem\";\nimport { FileContent } from \"./FileContent\";\nimport { FileRange } from \"./FileRange\";\nimport { FileStorage } from \"./FileStorage\";\n\ntype int8 = number;\ntype int16 = number;\ntype int32 = number;\ntype float32 = number;\ntype float64 = number;\n\n/**\n * Class NodeFS provides access to files using the Node platform.\n */\n/** @internal */\nexport class NodeFS extends FileStorage {\n /**\n * Create new storage.\n */\n public constructor() {\n super();\n }\n\n /**\n * FileStorage method.\n */\n public override close(): void {\n }\n\n /**\n * FileStorage method.\n */\n public override async getFileLength(fileName: string): Promise<ALong> {\n const fileStats: fs.Stats = fs.statSync(fileName);\n return ALong.fromDouble(fileStats.size);\n }\n\n /**\n * FileStorage method.\n */\n public override async readFilePart(fileName: string, offset: ALong, size: int32): Promise<ABuffer> {\n const rawBuffer: ArrayBuffer = new ArrayBuffer(size);\n const buffer: Uint8Array = new Uint8Array(rawBuffer);\n const fd: number = fs.openSync(fileName, \"r\");\n const bytesRead: number = fs.readSync(fd, buffer, 0, size, offset.toDouble());\n fs.closeSync(fd);\n ASystem.assert0(bytesRead == size, `Expected ${size} bytes read, not ${bytesRead} from file '${fileName}' offset ${offset.toDouble()}`);\n return ABuffer.wrap(rawBuffer);\n }\n\n /**\n * FileStorage method.\n */\n public override async readFileParts(fileName: string, ranges: AList<FileRange>): Promise<AList<FileContent>> {\n const buffers: AList<FileContent> = new AList<FileContent>();\n const fd: number = fs.openSync(fileName, \"r\");\n for (let i: number = 0; i < ranges.size(); i++) {\n const range: FileRange = ranges.get(i);\n const rawBuffer: ArrayBuffer = new ArrayBuffer(range.size);\n const buffer: Uint8Array = new Uint8Array(rawBuffer);\n const bytesRead: number = fs.readSync(fd, buffer, 0, range.size, range.offset.toDouble());\n ASystem.assert0(bytesRead == range.size, `Expected ${range.size} bytes read, not ${bytesRead} from file '${fileName}' offset ${range.offset.toDouble()}`);\n buffers.add(new FileContent(range.offset, ABuffer.wrap(rawBuffer)));\n }\n fs.closeSync(fd);\n return buffers;\n }\n\n /**\n * FileStorage method.\n */\n public override async writeFile(fileName: string, fileContent: ABuffer): Promise<void> {\n const fd: number = fs.openSync(fileName, \"w\");\n fs.writeSync(fd, new Uint8Array(fileContent.toNativeBuffer()));\n fs.closeSync(fd);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageCachedFile.js","sourceRoot":"","sources":["../../../../src/system/storage/PageCachedFile.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module OrbitGT\r\n */\r\n\r\n// package orbitgt.system.storage;\r\n\r\ntype int8 = number;\r\ntype int16 = number;\r\ntype int32 = number;\r\ntype float32 = number;\r\ntype float64 = number;\r\n\r\nimport { ABuffer } from \"../buffer/ABuffer\";\r\nimport { AList } from \"../collection/AList\";\r\nimport { StringMap } from \"../collection/StringMap\";\r\nimport { ALong } from \"../runtime/ALong\";\r\nimport { ASystem } from \"../runtime/ASystem\";\r\nimport { Message } from \"../runtime/Message\";\r\nimport { CacheList } from \"./CacheList\";\r\nimport { FileContent } from \"./FileContent\";\r\nimport { FileRange } from \"./FileRange\";\r\nimport { FileStorage } from \"./FileStorage\";\r\n\r\n/**\r\n * Class PageCachedFile defines a paged content cache of a single file.\r\n */\r\n/** @internal */\r\nexport class PageCachedFile extends FileStorage {\r\n\tprivate _fileStorage: FileStorage;\r\n\tprivate _fileName: string;\r\n\tprivate _fileSize: ALong;\r\n\tprivate _pageSize: int32;\r\n\tprivate _pageCount: int32;\r\n\r\n\tprivate _contentCache: CacheList<ABuffer>;\r\n\tprivate _requestCount: int32;\r\n\tprivate _requestSize: int32;\r\n\r\n\t/**\r\n\t * Create a new cached file.\r\n\t * @param fileStorage the underlying file storage.\r\n\t * @param fileName the name of the file to cache.\r\n\t * @param fileSize the length of the file to cache.\r\n\t * @param pageSize the byte size of a cache page (common sizes are 32768, 65536, 131072 or 262144).\r\n\t * @param maxPageCount the maximum number of pages to cache (the oldest pages are purged when the cache is full).\r\n\t */\r\n\tpublic constructor(fileStorage: FileStorage, fileName: string, fileSize: ALong, pageSize: int32, maxPageCount: int32) {\r\n\t\tsuper();\r\n\t\tthis._fileStorage = fileStorage;\r\n\t\tthis._fileName = fileName;\r\n\t\tthis._fileSize = fileSize;\r\n\t\tthis._pageSize = pageSize;\r\n\t\tthis._pageCount = fileSize.subInt(1).divInt(this._pageSize).addInt(1).toInt();\r\n\t\tthis._contentCache = new CacheList<ABuffer>(maxPageCount);\r\n\t\tthis._requestCount = 0;\r\n\t\tthis._requestSize = 0;\r\n\t}\r\n\r\n\t/**\r\n\t * FileStorage method.\r\n\t */\r\n\tpublic override close(): void {\r\n\t\tthis._fileStorage.close(); // deep close\r\n\t}\r\n\r\n\t/**\r\n\t * FileStorage method.\r\n\t */\r\n\tpublic override async getFileLength(fileName: string): Promise<ALong> {\r\n\t\treturn this._fileSize;\r\n\t}\r\n\r\n\t/**\r\n\t * FileStorage method.\r\n\t */\r\n\tpublic override async readFileParts(fileName: string, ranges: AList<FileRange>): Promise<AList<FileContent>> {\r\n\t\t/* Define the set of pages we need to fulfill the request */\r\n\t\tconst pageMap: StringMap<ABuffer> = new StringMap<ABuffer>();\r\n\t\t/* Create a list of missing pages */\r\n\t\tconst missingPages: AList<FileRange> = new AList<FileRange>();\r\n\t\tconst missingKeys: AList<string> = new AList<string>();\r\n\t\tfor (let r: number = 0; r < ranges.size(); r++) {\r\n\t\t\t/* Scan the needed pages of the next range */\r\n\t\t\tconst range: FileRange = ranges.get(r);\r\n\t\t\tconst page0: int32 = range.offset.divInt(this._pageSize).toInt();\r\n\t\t\tconst page1: int32 = range.offset.addInt(range.size - 1).divInt(this._pageSize).toInt() + 1; // exclusive\r\n\t\t\tfor (let i: number = page0; i < page1; i++) {\r\n\t\t\t\t/* Try to get the page from the cache */\r\n\t\t\t\tconst pageKey: string = (`${i}`);\r\n\t\t\t\tconst page: ABuffer = this._contentCache.findEntry(pageKey);\r\n\t\t\t\tif (page == null) {\r\n\t\t\t\t\t/* Do not request the same page twice */\r\n\t\t\t\t\tif (missingKeys.contains(pageKey) == false) {\r\n\t\t\t\t\t\t/* Add a request to read the missing page */\r\n\t\t\t\t\t\tconst pageOffset0: ALong = ALong.fromInt(this._pageSize).mulInt(i);\r\n\t\t\t\t\t\tconst pageOffset1: ALong = ALong.min(pageOffset0.addInt(this._pageSize), this._fileSize);\r\n\t\t\t\t\t\tconst pageSize: int32 = pageOffset1.sub(pageOffset0).toInt();\r\n\t\t\t\t\t\tmissingPages.add(new FileRange(pageOffset0, pageSize));\r\n\t\t\t\t\t\tmissingKeys.add(pageKey);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\t/* Keep */\r\n\t\t\t\t\tpageMap.set(pageKey, page);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t/* Do we have to load missing pages? */\r\n\t\tif (missingPages.size() > 0) {\r\n\t\t\t/* Load all missing pages with one call to the storage */\r\n\t\t\tMessage.log(`Requesting ${missingPages.size()} missing cache pages for '${this._fileName}'`);\r\n\t\t\tconst loadedPages: AList<FileContent> = await this._fileStorage.readFileParts(fileName, missingPages);\r\n\t\t\t/* Add to the cache for reuse */\r\n\t\t\tfor (let i: number = 0; i < loadedPages.size(); i++) {\r\n\t\t\t\tconst pageKey: string = missingKeys.get(i);\r\n\t\t\t\tconst pageContent: FileContent = loadedPages.get(i);\r\n\t\t\t\tthis._contentCache.addEntry(pageKey, pageContent.content);\r\n\t\t\t\tpageMap.set(pageKey, pageContent.content);\r\n\t\t\t}\r\n\t\t}\r\n\t\t/* Create the responses from the cached content */\r\n\t\tconst responseList: AList<FileContent> = new AList<FileContent>();\r\n\t\tfor (let r: number = 0; r < ranges.size(); r++) {\r\n\t\t\t/* Create the response for the next range */\r\n\t\t\tconst range: FileRange = ranges.get(r);\r\n\t\t\tconst rangeExtent: ALong = range.offset.addInt(range.size);\r\n\t\t\tconst response: ABuffer = new ABuffer(range.size);\r\n\t\t\tlet responseOffset: int32 = 0;\r\n\t\t\tthis._requestCount++;\r\n\t\t\tthis._requestSize += range.size;\r\n\t\t\t/* Scan the needed pages */\r\n\t\t\tconst page0: int32 = range.offset.divInt(this._pageSize).toInt();\r\n\t\t\tconst page1: int32 = range.offset.addInt(range.size - 1).divInt(this._pageSize).toInt() + 1; // exclusive\r\n\t\t\tfor (let i: number = page0; i < page1; i++) {\r\n\t\t\t\t/* Get the next page from the cache */\r\n\t\t\t\tconst pageKey: string = (`${i}`);\r\n\t\t\t\tconst page: ABuffer = pageMap.get(pageKey);\r\n\t\t\t\tASystem.assertNot(page == null, `Missing cache page ${pageKey}`);\r\n\t\t\t\t/* Get the extent of the page */\r\n\t\t\t\tconst pageOffset0: ALong = ALong.fromInt(this._pageSize).mulInt(i);\r\n\t\t\t\tconst pageOffset1: ALong = ALong.min(pageOffset0.addInt(this._pageSize), this._fileSize);\r\n\t\t\t\t/* Copy the overlapping part of the page to the response */\r\n\t\t\t\tconst currentOffset: ALong = range.offset.addInt(responseOffset);\r\n\t\t\t\tconst copyOffset: int32 = currentOffset.sub(pageOffset0).toInt();\r\n\t\t\t\tconst copySize: int32 = ALong.min(pageOffset1, rangeExtent).sub(currentOffset).toInt();\r\n\t\t\t\tABuffer.arrayCopy(page, copyOffset, response, responseOffset, copySize);\r\n\t\t\t\tresponseOffset += copySize;\r\n\t\t\t}\r\n\t\t\t/* Add the response to the list */\r\n\t\t\tASystem.assertNot(responseOffset != range.size, `Expected ${range.size} response size, not ${responseOffset}`);\r\n\t\t\tresponseList.add(new FileContent(range.offset, response));\r\n\t\t}\r\n\t\treturn responseList;\r\n\t}\r\n\r\n\t/**\r\n\t * FileStorage method.\r\n\t */\r\n\tpublic override async readFilePart(fileName: string, offset: ALong, size: int32): Promise<ABuffer> {\r\n\t\tconst ranges: AList<FileRange> = new AList<FileRange>();\r\n\t\tranges.add(new FileRange(offset, size));\r\n\t\tconst reponses: AList<FileContent> = await this.readFileParts(fileName, ranges);\r\n\t\tconst reponse: FileContent = reponses.get(0);\r\n\t\treturn reponse.content;\r\n\t}\r\n\r\n\t/**\r\n\t * FileStorage method.\r\n\t */\r\n\tpublic override printStatistics(clear: boolean): void {\r\n\t\tMessage.log(`Page cache of file '${this._fileName}':`);\r\n\t\tMessage.log(`Request count is ${this._requestCount}`);\r\n\t\tMessage.log(`Request size is ${this._requestSize}`);\r\n\t\tMessage.log(`Cache hit count is ${this._contentCache.hitCount}`);\r\n\t\tMessage.log(`Cache miss count is ${this._contentCache.missCount}`);\r\n\t\tif (clear) this._contentCache.hitCount = 0;\r\n\t\tif (clear) this._contentCache.missCount = 0;\r\n\t\tthis._fileStorage.printStatistics(clear);\r\n\t}\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"PageCachedFile.js","sourceRoot":"","sources":["../../../../src/system/storage/PageCachedFile.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module OrbitGT\n */\n\n// package orbitgt.system.storage;\n\ntype int8 = number;\ntype int16 = number;\ntype int32 = number;\ntype float32 = number;\ntype float64 = number;\n\nimport { ABuffer } from \"../buffer/ABuffer\";\nimport { AList } from \"../collection/AList\";\nimport { StringMap } from \"../collection/StringMap\";\nimport { ALong } from \"../runtime/ALong\";\nimport { ASystem } from \"../runtime/ASystem\";\nimport { Message } from \"../runtime/Message\";\nimport { CacheList } from \"./CacheList\";\nimport { FileContent } from \"./FileContent\";\nimport { FileRange } from \"./FileRange\";\nimport { FileStorage } from \"./FileStorage\";\n\n/**\n * Class PageCachedFile defines a paged content cache of a single file.\n */\n/** @internal */\nexport class PageCachedFile extends FileStorage {\n\tprivate _fileStorage: FileStorage;\n\tprivate _fileName: string;\n\tprivate _fileSize: ALong;\n\tprivate _pageSize: int32;\n\tprivate _pageCount: int32;\n\n\tprivate _contentCache: CacheList<ABuffer>;\n\tprivate _requestCount: int32;\n\tprivate _requestSize: int32;\n\n\t/**\n\t * Create a new cached file.\n\t * @param fileStorage the underlying file storage.\n\t * @param fileName the name of the file to cache.\n\t * @param fileSize the length of the file to cache.\n\t * @param pageSize the byte size of a cache page (common sizes are 32768, 65536, 131072 or 262144).\n\t * @param maxPageCount the maximum number of pages to cache (the oldest pages are purged when the cache is full).\n\t */\n\tpublic constructor(fileStorage: FileStorage, fileName: string, fileSize: ALong, pageSize: int32, maxPageCount: int32) {\n\t\tsuper();\n\t\tthis._fileStorage = fileStorage;\n\t\tthis._fileName = fileName;\n\t\tthis._fileSize = fileSize;\n\t\tthis._pageSize = pageSize;\n\t\tthis._pageCount = fileSize.subInt(1).divInt(this._pageSize).addInt(1).toInt();\n\t\tthis._contentCache = new CacheList<ABuffer>(maxPageCount);\n\t\tthis._requestCount = 0;\n\t\tthis._requestSize = 0;\n\t}\n\n\t/**\n\t * FileStorage method.\n\t */\n\tpublic override close(): void {\n\t\tthis._fileStorage.close(); // deep close\n\t}\n\n\t/**\n\t * FileStorage method.\n\t */\n\tpublic override async getFileLength(fileName: string): Promise<ALong> {\n\t\treturn this._fileSize;\n\t}\n\n\t/**\n\t * FileStorage method.\n\t */\n\tpublic override async readFileParts(fileName: string, ranges: AList<FileRange>): Promise<AList<FileContent>> {\n\t\t/* Define the set of pages we need to fulfill the request */\n\t\tconst pageMap: StringMap<ABuffer> = new StringMap<ABuffer>();\n\t\t/* Create a list of missing pages */\n\t\tconst missingPages: AList<FileRange> = new AList<FileRange>();\n\t\tconst missingKeys: AList<string> = new AList<string>();\n\t\tfor (let r: number = 0; r < ranges.size(); r++) {\n\t\t\t/* Scan the needed pages of the next range */\n\t\t\tconst range: FileRange = ranges.get(r);\n\t\t\tconst page0: int32 = range.offset.divInt(this._pageSize).toInt();\n\t\t\tconst page1: int32 = range.offset.addInt(range.size - 1).divInt(this._pageSize).toInt() + 1; // exclusive\n\t\t\tfor (let i: number = page0; i < page1; i++) {\n\t\t\t\t/* Try to get the page from the cache */\n\t\t\t\tconst pageKey: string = (`${i}`);\n\t\t\t\tconst page: ABuffer = this._contentCache.findEntry(pageKey);\n\t\t\t\tif (page == null) {\n\t\t\t\t\t/* Do not request the same page twice */\n\t\t\t\t\tif (missingKeys.contains(pageKey) == false) {\n\t\t\t\t\t\t/* Add a request to read the missing page */\n\t\t\t\t\t\tconst pageOffset0: ALong = ALong.fromInt(this._pageSize).mulInt(i);\n\t\t\t\t\t\tconst pageOffset1: ALong = ALong.min(pageOffset0.addInt(this._pageSize), this._fileSize);\n\t\t\t\t\t\tconst pageSize: int32 = pageOffset1.sub(pageOffset0).toInt();\n\t\t\t\t\t\tmissingPages.add(new FileRange(pageOffset0, pageSize));\n\t\t\t\t\t\tmissingKeys.add(pageKey);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t/* Keep */\n\t\t\t\t\tpageMap.set(pageKey, page);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t/* Do we have to load missing pages? */\n\t\tif (missingPages.size() > 0) {\n\t\t\t/* Load all missing pages with one call to the storage */\n\t\t\tMessage.log(`Requesting ${missingPages.size()} missing cache pages for '${this._fileName}'`);\n\t\t\tconst loadedPages: AList<FileContent> = await this._fileStorage.readFileParts(fileName, missingPages);\n\t\t\t/* Add to the cache for reuse */\n\t\t\tfor (let i: number = 0; i < loadedPages.size(); i++) {\n\t\t\t\tconst pageKey: string = missingKeys.get(i);\n\t\t\t\tconst pageContent: FileContent = loadedPages.get(i);\n\t\t\t\tthis._contentCache.addEntry(pageKey, pageContent.content);\n\t\t\t\tpageMap.set(pageKey, pageContent.content);\n\t\t\t}\n\t\t}\n\t\t/* Create the responses from the cached content */\n\t\tconst responseList: AList<FileContent> = new AList<FileContent>();\n\t\tfor (let r: number = 0; r < ranges.size(); r++) {\n\t\t\t/* Create the response for the next range */\n\t\t\tconst range: FileRange = ranges.get(r);\n\t\t\tconst rangeExtent: ALong = range.offset.addInt(range.size);\n\t\t\tconst response: ABuffer = new ABuffer(range.size);\n\t\t\tlet responseOffset: int32 = 0;\n\t\t\tthis._requestCount++;\n\t\t\tthis._requestSize += range.size;\n\t\t\t/* Scan the needed pages */\n\t\t\tconst page0: int32 = range.offset.divInt(this._pageSize).toInt();\n\t\t\tconst page1: int32 = range.offset.addInt(range.size - 1).divInt(this._pageSize).toInt() + 1; // exclusive\n\t\t\tfor (let i: number = page0; i < page1; i++) {\n\t\t\t\t/* Get the next page from the cache */\n\t\t\t\tconst pageKey: string = (`${i}`);\n\t\t\t\tconst page: ABuffer = pageMap.get(pageKey);\n\t\t\t\tASystem.assertNot(page == null, `Missing cache page ${pageKey}`);\n\t\t\t\t/* Get the extent of the page */\n\t\t\t\tconst pageOffset0: ALong = ALong.fromInt(this._pageSize).mulInt(i);\n\t\t\t\tconst pageOffset1: ALong = ALong.min(pageOffset0.addInt(this._pageSize), this._fileSize);\n\t\t\t\t/* Copy the overlapping part of the page to the response */\n\t\t\t\tconst currentOffset: ALong = range.offset.addInt(responseOffset);\n\t\t\t\tconst copyOffset: int32 = currentOffset.sub(pageOffset0).toInt();\n\t\t\t\tconst copySize: int32 = ALong.min(pageOffset1, rangeExtent).sub(currentOffset).toInt();\n\t\t\t\tABuffer.arrayCopy(page, copyOffset, response, responseOffset, copySize);\n\t\t\t\tresponseOffset += copySize;\n\t\t\t}\n\t\t\t/* Add the response to the list */\n\t\t\tASystem.assertNot(responseOffset != range.size, `Expected ${range.size} response size, not ${responseOffset}`);\n\t\t\tresponseList.add(new FileContent(range.offset, response));\n\t\t}\n\t\treturn responseList;\n\t}\n\n\t/**\n\t * FileStorage method.\n\t */\n\tpublic override async readFilePart(fileName: string, offset: ALong, size: int32): Promise<ABuffer> {\n\t\tconst ranges: AList<FileRange> = new AList<FileRange>();\n\t\tranges.add(new FileRange(offset, size));\n\t\tconst reponses: AList<FileContent> = await this.readFileParts(fileName, ranges);\n\t\tconst reponse: FileContent = reponses.get(0);\n\t\treturn reponse.content;\n\t}\n\n\t/**\n\t * FileStorage method.\n\t */\n\tpublic override printStatistics(clear: boolean): void {\n\t\tMessage.log(`Page cache of file '${this._fileName}':`);\n\t\tMessage.log(`Request count is ${this._requestCount}`);\n\t\tMessage.log(`Request size is ${this._requestSize}`);\n\t\tMessage.log(`Cache hit count is ${this._contentCache.hitCount}`);\n\t\tMessage.log(`Cache miss count is ${this._contentCache.missCount}`);\n\t\tif (clear) this._contentCache.hitCount = 0;\n\t\tif (clear) this._contentCache.missCount = 0;\n\t\tthis._fileStorage.printStatistics(clear);\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UrlFS.js","sourceRoot":"","sources":["../../../../src/system/storage/UrlFS.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"UrlFS.js","sourceRoot":"","sources":["../../../../src/system/storage/UrlFS.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module OrbitGT\n */\n\ntype int8 = number;\ntype int16 = number;\ntype int32 = number;\ntype float32 = number;\ntype float64 = number;\n\nimport { ABuffer } from \"../buffer/ABuffer\";\nimport { AList } from \"../collection/AList\";\nimport { StringMap } from \"../collection/StringMap\";\nimport { ALong } from \"../runtime/ALong\";\nimport { ASystem } from \"../runtime/ASystem\";\nimport { Downloader } from \"../runtime/Downloader\";\nimport { FileContent } from \"./FileContent\";\nimport { FileRange } from \"./FileRange\";\nimport { FileStorage } from \"./FileStorage\";\n\n/**\n * Class UrlFS provides access to file content using URLs.\n */\n/** @internal */\nexport class UrlFS extends FileStorage {\n // the downloader to the file\n private _downloader: Downloader;\n\n // the number of requests that have been made to access the content of the file\n public requestCount: number;\n // the number of content bytes downloaded\n public responseSize: number;\n\n /**\n * Create the URL to access a blob file in an Azure storage account.\n * @param accountName the name of the Azure storage account.\n * @param containerName the name of the container that stores the blob file.\n * @param blobName the name of the blob (should start with a forward slash).\n * @param sasToken the SAS (shared access signature) of the blob or container (the part after the '?' character of the URL).\n * @return the URL.\n */\n public static getAzureBlobSasUrl(accountName: string, containerName: string, blobName: string, sasToken: string): string {\n let blobURL: string = `https://${accountName}.blob.core.windows.net/${containerName}${blobName}`;\n if (sasToken != null) blobURL += `?${sasToken}`;\n return blobURL;\n }\n\n /**\n * Create a new instance.\n */\n public constructor() {\n super();\n this._downloader = Downloader.INSTANCE;\n this.requestCount = 0;\n this.responseSize = 0;\n }\n\n /**\n * FileStorage method.\n */\n public override close(): void {\n }\n\n /**\n * FileStorage method.\n */\n public override async getFileLength(url: string): Promise<ALong> {\n const requestHeaders: StringMap<string> = null;\n const responseHeaders: StringMap<string> = new StringMap<string>();\n await this._downloader.downloadBytes(\"HEAD\"/* method*/, url, requestHeaders, null/* postText*/, null/* postData*/, responseHeaders);\n const fileLength: number = parseInt(responseHeaders.get(\"content-length\"));\n return ALong.fromDouble(fileLength);\n }\n\n /**\n * FileStorage method.\n */\n public override async readFilePart(url: string, offset: ALong, size: int32): Promise<ABuffer> {\n const extent: ALong = offset.addInt(size - 1);\n const range: string = `bytes=${offset.toString()}-${extent.toString()}`;\n const requestHeaders: StringMap<string> = new StringMap<string>();\n requestHeaders.set(\"Range\", range);\n // requestHeaders.set(\"x-ms-range\",range); // https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-the-range-header-for-file-service-operations\n const responseHeaders: StringMap<string> = new StringMap<string>();\n const content: ABuffer = await this._downloader.downloadBytes(\"GET\"/* method*/, url, requestHeaders, null/* postText*/, null/* postData*/, responseHeaders);\n const contentLength: number = parseInt(responseHeaders.get(\"content-length\"));\n ASystem.assertNot(contentLength != size, `Expected ${size} bytes of content, not ${contentLength}`);\n ASystem.assertNot(content.size() != size, `Expected content buffer size ${size}, not ${content}`);\n this.requestCount++;\n this.responseSize += size;\n return content;\n }\n\n /**\n * FileStorage method.\n */\n public override async readFileParts(url: string, ranges: AList<FileRange>): Promise<AList<FileContent>> {\n /* Request all file parts in parallel */\n const contentFetchers: Array<Promise<ABuffer>> = [];\n for (let i: number = 0; i < ranges.size(); i++) {\n const range: FileRange = ranges.get(i);\n const contentFetcher: Promise<ABuffer> = this.readFilePart(url, range.offset, range.size);\n contentFetchers.push(contentFetcher);\n }\n /* Await all requests at once */\n const contentResponses: Array<ABuffer> = await Promise.all(contentFetchers);\n /* Create the result list */\n const contentParts: AList<FileContent> = new AList<FileContent>();\n for (let i: number = 0; i < ranges.size(); i++) {\n const range: FileRange = ranges.get(i);\n const contentResponse: ABuffer = contentResponses[i];\n contentParts.add(new FileContent(range.offset, contentResponse));\n }\n return contentParts;\n }\n\n /**\n * FileStorage method.\n */\n public override printStatistics(clear: boolean): void {\n console.log(\"File url access statistics:\");\n console.log(`Request count ${this.requestCount}`);\n console.log(`Response size ${this.responseSize}`);\n if (clear) this.requestCount = 0;\n if (clear) this.responseSize = 0;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-orbitgt.js","sourceRoot":"","sources":["../../src/core-orbitgt.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,YAAY,IAAI,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvF,OAAO,EAAE,WAAW,IAAI,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,cAAc,IAAI,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAE7F,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGlE,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,gFAAgF;AAChF,6BAA6B;AAC7B,mDAAmD;AACnD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,wBAAwB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\
|
|
1
|
+
{"version":3,"file":"core-orbitgt.js","sourceRoot":"","sources":["../../src/core-orbitgt.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,YAAY,IAAI,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvF,OAAO,EAAE,WAAW,IAAI,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,cAAc,IAAI,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAE7F,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGlE,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,gFAAgF;AAChF,6BAA6B;AAC7B,mDAAmD;AACnD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,wBAAwB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\nexport { BlockIndex as OrbitGtBlockIndex } from \"./pointcloud/model/BlockIndex\";\nexport { PointData as OrbitGtPointData } from \"./pointcloud/model/PointData\";\nexport { TileIndex as OrbitGtTileIndex } from \"./pointcloud/model/TileIndex\";\nexport { AViewRequest as OrbitGtIViewRequest } from \"./pointcloud/render/AViewRequest\";\nexport { DataManager as OrbitGtDataManager } from \"./pointcloud/render/DataManager\";\nexport { FrameData as OrbitGtFrameData } from \"./pointcloud/render/FrameData\";\nexport { Level as OrbitGtLevel } from \"./pointcloud/render/Level\";\nexport { ViewTree as OrbitGtViewTree } from \"./pointcloud/render/ViewTree\";\nexport { TileLoadSorter as OrbitGtTileLoadSorter } from \"./pointcloud/render/TileLoadSorter\";\nexport { IProjectToViewForSort as OrbitGtIProjectToViewForSort } from \"./pointcloud/render/TileLoadSorter\";\nexport { Bounds as OrbitGtBounds } from \"./spatial/geom/Bounds\";\nexport { Coordinate as OrbitGtCoordinate } from \"./spatial/geom/Coordinate\";\nexport { Line as OrbitGtLine } from \"./spatial/geom/Line\";\nexport { Transform as OrbitGtTransform } from \"./spatial/geom/Transform\";\nexport { AList as OrbitGtAList } from \"./system/collection/AList\";\nexport { iComparator as OrbitGtComparator } from \"./system/runtime/iComparator\";\n\nexport * from \"./pointcloud/format/opc/OPCReader\";\nexport * from \"./pointcloud/model/PointCloudReader\";\nexport * from \"./pointcloud/model/PointDataRaw\";\nexport * from \"./spatial/crs/CRSManager\";\nexport * from \"./spatial/ecrs/OnlineEngine\";\nexport * from \"./system/runtime/ALong\";\nexport * from \"./system/runtime/Downloader\";\n// Do not export the Node specific functionality from the barrel. It will cause\n// polyfills on the frontend.\n// export * from \"./system/runtime/DownloaderNode\";\nexport * from \"./system/runtime/DownloaderXhr\";\nexport * from \"./system/storage/PageCachedFile\";\nexport * from \"./system/storage/UrlFS\";"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeMask.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/AttributeMask.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAWH,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAKzD;;;;GAIG;AACH,gBAAgB;AAChB,MAAM,OAAO,aAAa;IAMtB;;;OAGG;IACH,YAAmB,OAA+B;QAC9C,WAAW;QACX,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,mCAAmC;QACnC,IAAI,OAAO,IAAI,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"AttributeMask.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/AttributeMask.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAWH,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAKzD;;;;GAIG;AACH,gBAAgB;AAChB,MAAM,OAAO,aAAa;IAMtB;;;OAGG;IACH,YAAmB,OAA+B;QAC9C,WAAW;QACX,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,mCAAmC;QACnC,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,UAAU,GAAG,IAAI,KAAK,CAAiB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5D,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE;gBAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;YAC5G,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAC3B,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,eAAe,CAAC,UAAsB;QAChD,IAAI,OAAO,GAA2B,IAAI,KAAK,EAAmB,CAAC;QACnE,KAAK,IAAI,MAAM,IAAI,UAAU,CAAC,yBAAyB,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/E,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;CACJ","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module OrbitGT\n */\n\n//package orbitgt.pointcloud.format.opc;\n\ntype int8 = number;\ntype int16 = number;\ntype int32 = number;\ntype float32 = number;\ntype float64 = number;\n\n\nimport { AList } from \"../../../system/collection/AList\";\nimport { PointAttribute } from \"../../model/PointAttribute\";\nimport { AttributeReader } from \"./AttributeReader\";\nimport { FileReader } from \"./FileReader\";\n\n/**\n * Class AttributeMask defines a mask of attributes to read.\n *\n * @version 1.0 January 2014\n */\n/** @internal */\nexport class AttributeMask {\n /** The definitions of the attributes */\n public attributes: Array<PointAttribute>;\n /** The readers of the attributes */\n public readers: AList<AttributeReader>;\n\n /**\n * Create a new mask.\n * @param readers the list of attribute readers (can be null).\n */\n public constructor(readers: AList<AttributeReader>) {\n /* Clear */\n this.attributes = null;\n this.readers = null;\n /* Do we have a list of readers? */\n if (readers != null) {\n this.attributes = new Array<PointAttribute>(readers.size());\n for (let i: number = 0; i < this.attributes.length; i++) this.attributes[i] = readers.get(i).getAttribute();\n this.readers = readers;\n }\n }\n\n /**\n * Read all embedded attributes of a file.\n * @param fileReader the file reader.\n * @return the mask.\n */\n public static readAllEmbedded(fileReader: FileReader): AttributeMask {\n let readers: AList<AttributeReader> = new AList<AttributeReader>();\n for (let reader of fileReader.getStaticAttributeReaders()) readers.add(reader);\n return new AttributeMask(readers);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeReader.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/AttributeReader.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAmBH;;;;GAIG;AACH,gBAAgB;AAChB,MAAM,OAAgB,eAAe;IACjC;;OAEG;IACH;IACA,CAAC;CA6CJ","sourcesContent":["/*---------------------------------------------------------------------------------------------\
|
|
1
|
+
{"version":3,"file":"AttributeReader.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/AttributeReader.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAmBH;;;;GAIG;AACH,gBAAgB;AAChB,MAAM,OAAgB,eAAe;IACjC;;OAEG;IACH;IACA,CAAC;CA6CJ","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module OrbitGT\n */\n\n//package orbitgt.pointcloud.format.opc;\n\ntype int8 = number;\ntype int16 = number;\ntype int32 = number;\ntype float32 = number;\ntype float64 = number;\n\nimport { ALong } from \"../../../system/runtime/ALong\";\nimport { ContentLoader } from \"../../../system/storage/ContentLoader\";\nimport { AttributeValue } from \"../../model/AttributeValue\";\nimport { CloudPoint } from \"../../model/CloudPoint\";\nimport { PointAttribute } from \"../../model/PointAttribute\";\nimport { ReadRequest } from \"../../model/ReadRequest\";\nimport { TileIndex } from \"../../model/TileIndex\";\nimport { TileReadBuffer } from \"./TileReadBuffer\";\n\n/**\n * Class AttributeReader reads attribute data.\n *\n * @version 1.0 January 2014\n */\n/** @internal */\nexport abstract class AttributeReader {\n /**\n * Create a new reader.\n */\n public constructor() {\n }\n\n /**\n * Close the reader.\n */\n public abstract close(): void;\n\n /**\n * Get the attribute.\n * @return the attribute.\n */\n public abstract getAttribute(): PointAttribute;\n\n /**\n * Get the minimum value.\n * @return the minimum value.\n */\n public abstract getMinimumValue(): AttributeValue;\n\n /**\n * Get the maximum value.\n * @return the maximum value.\n */\n public abstract getMaximumValue(): AttributeValue;\n\n /**\n * Read the raw data for a tile.\n * @param level the index of the level.\n * @param tile the tile.\n * @param tileBuffer the buffer to read into.\n * @param bufferIndex the index of the attribute in the read buffer.\n * @param readRequest the read parameters (contains the result read statistics).\n */\n public abstract readTileData2(level: int32, tile: TileIndex, pointOffset: ALong, pointCount: int32, tileBuffer: TileReadBuffer, bufferIndex: int32, readRequest: ReadRequest, fileContents: ContentLoader): void;\n\n /**\n * Get an attribute value.\n * @param level the index of the level.\n * @param tile the tile.\n * @param tileBuffer the buffer that has been read.\n * @param bufferIndex the index of the attribute in the read buffer.\n * @param pointIndex the index of the point in the tile (starts at 0).\n * @param cloudPoint the point to read the attribute of.\n */\n public abstract getPointData(level: int32, tile: TileIndex, tileBuffer: TileReadBuffer, bufferIndex: int32, pointIndex: int32, cloudPoint: CloudPoint): void;\n}\n"]}
|
|
@@ -15,7 +15,7 @@ import { GridIndex } from "../../model/GridIndex";
|
|
|
15
15
|
* @version 1.0 January 2014
|
|
16
16
|
*/
|
|
17
17
|
/** @internal */
|
|
18
|
-
class BlockRecord {
|
|
18
|
+
export class BlockRecord {
|
|
19
19
|
/**
|
|
20
20
|
* No instances.
|
|
21
21
|
*/
|
|
@@ -78,5 +78,4 @@ class BlockRecord {
|
|
|
78
78
|
}
|
|
79
79
|
/** The size of the record in the file */
|
|
80
80
|
BlockRecord.RECORD_SIZE = 24;
|
|
81
|
-
export { BlockRecord };
|
|
82
81
|
//# sourceMappingURL=BlockRecord.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockRecord.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/BlockRecord.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAUH,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAInE,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD;;;;GAIG;AACH,gBAAgB;AAChB,
|
|
1
|
+
{"version":3,"file":"BlockRecord.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/BlockRecord.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAUH,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAInE,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD;;;;GAIG;AACH,gBAAgB;AAChB,MAAM,OAAO,WAAW;IAIpB;;OAEG;IACH;IACA,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,aAAa,CAAC,SAAgB,EAAE,SAAgB;QAC1D,IAAI,SAAS,GAAG,CAAC;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QACzE,OAAO,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,YAAY,CAAC,KAAY,EAAE,KAAY,EAAE,KAAY,EAAE,SAAgB;QACjF,OAAO,IAAI,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAChK,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,KAAiB,EAAE,MAAiB;QACpD,IAAI,MAAM,GAAU,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACtC,IAAI,MAAM,GAAU,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACtC,IAAI,MAAM,GAAU,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACtC,YAAY,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5C,YAAY,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5C,YAAY,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5C,YAAY,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACrD,YAAY,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,OAAO,CAAC,KAAY,EAAE,KAAe,EAAE,UAAiB,EAAE,SAAgB,EAAE,UAAiB;QACvG,qBAAqB;QACrB,IAAI,MAAM,GAAU,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,MAAM,GAAU,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,MAAM,GAAU,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,SAAS,GAAU,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,UAAU,GAAU,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3D,uBAAuB;QACvB,OAAO,IAAI,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAClI,CAAC;;AAhED,yCAAyC;AAClB,uBAAW,GAAU,EAAE,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module OrbitGT\n */\n\n//package orbitgt.pointcloud.format.opc;\n\ntype int8 = number;\ntype int16 = number;\ntype int32 = number;\ntype float32 = number;\ntype float64 = number;\n\nimport { LittleEndian } from \"../../../system/buffer/LittleEndian\";\nimport { InStream } from \"../../../system/io/InStream\";\nimport { OutStream } from \"../../../system/io/OutStream\";\nimport { ALong } from \"../../../system/runtime/ALong\";\nimport { Numbers } from \"../../../system/runtime/Numbers\";\nimport { BlockIndex } from \"../../model/BlockIndex\";\nimport { GridIndex } from \"../../model/GridIndex\";\n\n/**\n * Class BlockRecord defines a (32x32x32) block of tiles.\n *\n * @version 1.0 January 2014\n */\n/** @internal */\nexport class BlockRecord {\n /** The size of the record in the file */\n public static readonly RECORD_SIZE: int32 = 24;\n\n /**\n * No instances.\n */\n private constructor() {\n }\n\n /**\n * Convert a tile grid index to a block grid index.\n * @param tileIndex the tile index.\n * @param blockSize the block size.\n * @return the block index.\n */\n public static toBlockIndex1(tileIndex: int32, blockSize: int32): int32 {\n if (tileIndex < 0) return Numbers.divInt((tileIndex + 1), blockSize) - 1;\n return Numbers.divInt(tileIndex, blockSize);\n }\n\n /**\n * Convert a tile grid index to a block grid index.\n * @param tileX the x index of the tile.\n * @param tileY the y index of the tile.\n * @param tileZ the z index of the tile.\n * @param blockSize the block size.\n * @return the block index.\n */\n public static toBlockIndex(tileX: int32, tileY: int32, tileZ: int32, blockSize: int32): GridIndex {\n return new GridIndex(BlockRecord.toBlockIndex1(tileX, blockSize), BlockRecord.toBlockIndex1(tileY, blockSize), BlockRecord.toBlockIndex1(tileZ, blockSize));\n }\n\n /**\n * Write a record.\n * @param output the output stream.\n */\n public static write(block: BlockIndex, output: OutStream): void {\n let blockX: int32 = block.gridIndex.x;\n let blockY: int32 = block.gridIndex.y;\n let blockZ: int32 = block.gridIndex.z;\n LittleEndian.writeStreamInt(output, blockX);\n LittleEndian.writeStreamInt(output, blockY);\n LittleEndian.writeStreamInt(output, blockZ);\n LittleEndian.writeStreamInt(output, block.tileCount);\n LittleEndian.writeStreamLong(output, block.pointCount);\n }\n\n /**\n * Read a record.\n * @param level the level.\n * @param in the input stream from the file.\n * @param tileIndex the index of the tile.\n * @param pointIndex the index of the first point in the block.\n * @return the requested record.\n */\n public static readNew(level: int32, input: InStream, blockIndex: int32, tileIndex: int32, pointIndex: ALong): BlockIndex {\n /* Read the record */\n let blockX: int32 = LittleEndian.readStreamInt(input);\n let blockY: int32 = LittleEndian.readStreamInt(input);\n let blockZ: int32 = LittleEndian.readStreamInt(input);\n let tileCount: int32 = LittleEndian.readStreamInt(input);\n let pointCount: ALong = LittleEndian.readStreamLong(input);\n /* Create the record */\n return new BlockIndex(level, blockIndex, new GridIndex(blockX, blockY, blockZ), tileIndex, tileCount, pointIndex, pointCount);\n }\n}\n"]}
|
|
@@ -20,7 +20,7 @@ import { FileAccess } from "./FileAccess";
|
|
|
20
20
|
* @version 1.0 January 2014
|
|
21
21
|
*/
|
|
22
22
|
/** @internal */
|
|
23
|
-
class ContainerFile {
|
|
23
|
+
export class ContainerFile {
|
|
24
24
|
/**
|
|
25
25
|
* Create a new container file.
|
|
26
26
|
* @param fileName the name of the file.
|
|
@@ -193,5 +193,4 @@ class ContainerFile {
|
|
|
193
193
|
}
|
|
194
194
|
/** The name of this module */
|
|
195
195
|
ContainerFile.MODULE = "ContainerFile";
|
|
196
|
-
export { ContainerFile };
|
|
197
196
|
//# sourceMappingURL=ContainerFile.js.map
|