@itwin/core-orbitgt 4.0.0-dev.8 → 4.0.0-dev.80
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 +41 -1
- package/lib/cjs/core-orbitgt.d.ts +26 -26
- package/lib/cjs/core-orbitgt.js +62 -58
- package/lib/cjs/core-orbitgt.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/AttributeMask.d.ts +30 -30
- package/lib/cjs/pointcloud/format/opc/AttributeMask.js +47 -47
- package/lib/cjs/pointcloud/format/opc/AttributeReader.d.ts +63 -63
- package/lib/cjs/pointcloud/format/opc/AttributeReader.d.ts.map +1 -1
- package/lib/cjs/pointcloud/format/opc/AttributeReader.js +24 -24
- package/lib/cjs/pointcloud/format/opc/BlockRecord.d.ts +54 -54
- package/lib/cjs/pointcloud/format/opc/BlockRecord.d.ts.map +1 -1
- package/lib/cjs/pointcloud/format/opc/BlockRecord.js +84 -84
- package/lib/cjs/pointcloud/format/opc/BlockRecord.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/ContainerFile.d.ts +85 -85
- package/lib/cjs/pointcloud/format/opc/ContainerFile.d.ts.map +1 -1
- package/lib/cjs/pointcloud/format/opc/ContainerFile.js +199 -199
- package/lib/cjs/pointcloud/format/opc/ContainerFile.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/ContainerFilePart.d.ts +55 -55
- package/lib/cjs/pointcloud/format/opc/ContainerFilePart.js +75 -75
- package/lib/cjs/pointcloud/format/opc/DirectoryReader.d.ts +75 -75
- package/lib/cjs/pointcloud/format/opc/DirectoryReader.d.ts.map +1 -1
- package/lib/cjs/pointcloud/format/opc/DirectoryReader.js +169 -169
- package/lib/cjs/pointcloud/format/opc/DirectoryRecord.d.ts +59 -59
- package/lib/cjs/pointcloud/format/opc/DirectoryRecord.d.ts.map +1 -1
- package/lib/cjs/pointcloud/format/opc/DirectoryRecord.js +89 -89
- package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.d.ts +106 -106
- package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.d.ts.map +1 -1
- package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.js +197 -197
- package/lib/cjs/pointcloud/format/opc/FileAccess.d.ts +39 -39
- package/lib/cjs/pointcloud/format/opc/FileAccess.js +48 -48
- package/lib/cjs/pointcloud/format/opc/FileReader.d.ts +118 -118
- package/lib/cjs/pointcloud/format/opc/FileReader.d.ts.map +1 -1
- package/lib/cjs/pointcloud/format/opc/FileReader.js +248 -248
- package/lib/cjs/pointcloud/format/opc/FileReader.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/FileRecord.d.ts +89 -89
- package/lib/cjs/pointcloud/format/opc/FileRecord.d.ts.map +1 -1
- package/lib/cjs/pointcloud/format/opc/FileRecord.js +125 -125
- package/lib/cjs/pointcloud/format/opc/GeometryReader.d.ts +79 -79
- package/lib/cjs/pointcloud/format/opc/GeometryReader.d.ts.map +1 -1
- package/lib/cjs/pointcloud/format/opc/GeometryReader.js +163 -163
- package/lib/cjs/pointcloud/format/opc/GeometryReader.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/GeometryRecord.d.ts +53 -53
- package/lib/cjs/pointcloud/format/opc/GeometryRecord.js +107 -107
- package/lib/cjs/pointcloud/format/opc/OPCReader.d.ts +157 -157
- package/lib/cjs/pointcloud/format/opc/OPCReader.d.ts.map +1 -1
- package/lib/cjs/pointcloud/format/opc/OPCReader.js +319 -319
- package/lib/cjs/pointcloud/format/opc/OPCReader.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/PointReader.d.ts +72 -72
- package/lib/cjs/pointcloud/format/opc/PointReader.d.ts.map +1 -1
- package/lib/cjs/pointcloud/format/opc/PointReader.js +152 -152
- package/lib/cjs/pointcloud/format/opc/TileReadBuffer.d.ts +63 -63
- package/lib/cjs/pointcloud/format/opc/TileReadBuffer.d.ts.map +1 -1
- package/lib/cjs/pointcloud/format/opc/TileReadBuffer.js +92 -92
- package/lib/cjs/pointcloud/format/opc/TileRecord.d.ts +88 -88
- package/lib/cjs/pointcloud/format/opc/TileRecord.d.ts.map +1 -1
- package/lib/cjs/pointcloud/format/opc/TileRecord.js +161 -161
- package/lib/cjs/pointcloud/format/opc/TileRecord.js.map +1 -1
- package/lib/cjs/pointcloud/model/AttributeTypes.d.ts +37 -37
- package/lib/cjs/pointcloud/model/AttributeTypes.d.ts.map +1 -1
- package/lib/cjs/pointcloud/model/AttributeTypes.js +64 -64
- package/lib/cjs/pointcloud/model/AttributeTypes.js.map +1 -1
- package/lib/cjs/pointcloud/model/AttributeValue.d.ts +247 -247
- package/lib/cjs/pointcloud/model/AttributeValue.d.ts.map +1 -1
- package/lib/cjs/pointcloud/model/AttributeValue.js +508 -508
- package/lib/cjs/pointcloud/model/AttributeValue.js.map +1 -1
- package/lib/cjs/pointcloud/model/BlockIndex.d.ts +49 -49
- package/lib/cjs/pointcloud/model/BlockIndex.d.ts.map +1 -1
- package/lib/cjs/pointcloud/model/BlockIndex.js +48 -48
- package/lib/cjs/pointcloud/model/CloudPoint.d.ts +210 -210
- package/lib/cjs/pointcloud/model/CloudPoint.d.ts.map +1 -1
- package/lib/cjs/pointcloud/model/CloudPoint.js +318 -318
- package/lib/cjs/pointcloud/model/CloudPoint.js.map +1 -1
- package/lib/cjs/pointcloud/model/Grid.d.ts +91 -91
- package/lib/cjs/pointcloud/model/Grid.d.ts.map +1 -1
- package/lib/cjs/pointcloud/model/Grid.js +129 -129
- package/lib/cjs/pointcloud/model/GridIndex.d.ts +66 -66
- package/lib/cjs/pointcloud/model/GridIndex.d.ts.map +1 -1
- package/lib/cjs/pointcloud/model/GridIndex.js +93 -93
- package/lib/cjs/pointcloud/model/PointAttribute.d.ts +208 -208
- package/lib/cjs/pointcloud/model/PointAttribute.d.ts.map +1 -1
- package/lib/cjs/pointcloud/model/PointAttribute.js +374 -374
- package/lib/cjs/pointcloud/model/PointCloudReader.d.ts +156 -156
- package/lib/cjs/pointcloud/model/PointCloudReader.d.ts.map +1 -1
- package/lib/cjs/pointcloud/model/PointCloudReader.js +189 -189
- package/lib/cjs/pointcloud/model/PointData.d.ts +17 -17
- package/lib/cjs/pointcloud/model/PointData.js +24 -24
- package/lib/cjs/pointcloud/model/PointDataRaw.d.ts +34 -34
- package/lib/cjs/pointcloud/model/PointDataRaw.d.ts.map +1 -1
- package/lib/cjs/pointcloud/model/PointDataRaw.js +69 -69
- package/lib/cjs/pointcloud/model/PointDataRaw.js.map +1 -1
- package/lib/cjs/pointcloud/model/ReadRequest.d.ts +175 -175
- package/lib/cjs/pointcloud/model/ReadRequest.d.ts.map +1 -1
- package/lib/cjs/pointcloud/model/ReadRequest.js +239 -239
- package/lib/cjs/pointcloud/model/ReadRequest.js.map +1 -1
- package/lib/cjs/pointcloud/model/StandardAttributes.d.ts +40 -40
- package/lib/cjs/pointcloud/model/StandardAttributes.d.ts.map +1 -1
- package/lib/cjs/pointcloud/model/StandardAttributes.js +47 -47
- package/lib/cjs/pointcloud/model/StandardAttributes.js.map +1 -1
- package/lib/cjs/pointcloud/model/TileIndex.d.ts +47 -47
- package/lib/cjs/pointcloud/model/TileIndex.d.ts.map +1 -1
- package/lib/cjs/pointcloud/model/TileIndex.js +47 -47
- package/lib/cjs/pointcloud/render/AViewRequest.d.ts +38 -38
- package/lib/cjs/pointcloud/render/AViewRequest.d.ts.map +1 -1
- package/lib/cjs/pointcloud/render/AViewRequest.js +24 -24
- package/lib/cjs/pointcloud/render/Block.d.ts +67 -67
- package/lib/cjs/pointcloud/render/Block.js +119 -119
- package/lib/cjs/pointcloud/render/DataManager.d.ts +136 -136
- package/lib/cjs/pointcloud/render/DataManager.d.ts.map +1 -1
- package/lib/cjs/pointcloud/render/DataManager.js +342 -342
- package/lib/cjs/pointcloud/render/DataManager.js.map +1 -1
- package/lib/cjs/pointcloud/render/FrameData.d.ts +30 -30
- package/lib/cjs/pointcloud/render/FrameData.js +39 -39
- package/lib/cjs/pointcloud/render/Level.d.ts +90 -90
- package/lib/cjs/pointcloud/render/Level.d.ts.map +1 -1
- package/lib/cjs/pointcloud/render/Level.js +119 -119
- package/lib/cjs/pointcloud/render/TileLoadSorter.d.ts +60 -60
- package/lib/cjs/pointcloud/render/TileLoadSorter.d.ts.map +1 -1
- package/lib/cjs/pointcloud/render/TileLoadSorter.js +99 -99
- package/lib/cjs/pointcloud/render/TileLoadSorter.js.map +1 -1
- package/lib/cjs/pointcloud/render/ViewTree.d.ts +113 -113
- package/lib/cjs/pointcloud/render/ViewTree.d.ts.map +1 -1
- package/lib/cjs/pointcloud/render/ViewTree.js +363 -363
- package/lib/cjs/pointcloud/render/ViewTree.js.map +1 -1
- package/lib/cjs/spatial/crs/CRSEngine.d.ts +55 -55
- package/lib/cjs/spatial/crs/CRSEngine.js +93 -93
- package/lib/cjs/spatial/crs/CRSManager.d.ts +49 -49
- package/lib/cjs/spatial/crs/CRSManager.js +109 -109
- package/lib/cjs/spatial/crs/CRSManager.js.map +1 -1
- package/lib/cjs/spatial/ecrs/Axis.d.ts +77 -77
- package/lib/cjs/spatial/ecrs/Axis.d.ts.map +1 -1
- package/lib/cjs/spatial/ecrs/Axis.js +93 -93
- package/lib/cjs/spatial/ecrs/CRS.d.ts +447 -447
- package/lib/cjs/spatial/ecrs/CRS.d.ts.map +1 -1
- package/lib/cjs/spatial/ecrs/CRS.js +930 -930
- package/lib/cjs/spatial/ecrs/CRS.js.map +1 -1
- package/lib/cjs/spatial/ecrs/CoordinateSystem.d.ts +142 -142
- package/lib/cjs/spatial/ecrs/CoordinateSystem.d.ts.map +1 -1
- package/lib/cjs/spatial/ecrs/CoordinateSystem.js +326 -326
- package/lib/cjs/spatial/ecrs/CoordinateSystem.js.map +1 -1
- package/lib/cjs/spatial/ecrs/DataFileUnit.d.ts +10 -10
- package/lib/cjs/spatial/ecrs/DataFileUnit.js +104 -104
- package/lib/cjs/spatial/ecrs/DataFileUnit.js.map +1 -1
- package/lib/cjs/spatial/ecrs/Datum.d.ts +111 -111
- package/lib/cjs/spatial/ecrs/Datum.d.ts.map +1 -1
- package/lib/cjs/spatial/ecrs/Datum.js +166 -166
- package/lib/cjs/spatial/ecrs/Datum.js.map +1 -1
- package/lib/cjs/spatial/ecrs/Ellipsoid.d.ts +188 -188
- package/lib/cjs/spatial/ecrs/Ellipsoid.d.ts.map +1 -1
- package/lib/cjs/spatial/ecrs/Ellipsoid.js +336 -336
- package/lib/cjs/spatial/ecrs/OnlineEngine.d.ts +48 -48
- package/lib/cjs/spatial/ecrs/OnlineEngine.js +102 -102
- package/lib/cjs/spatial/ecrs/OnlineEngine.js.map +1 -1
- package/lib/cjs/spatial/ecrs/OnlineRegistry.d.ts +37 -37
- package/lib/cjs/spatial/ecrs/OnlineRegistry.d.ts.map +1 -1
- package/lib/cjs/spatial/ecrs/OnlineRegistry.js +76 -76
- package/lib/cjs/spatial/ecrs/OnlineRegistry.js.map +1 -1
- package/lib/cjs/spatial/ecrs/Operation.d.ts +191 -191
- package/lib/cjs/spatial/ecrs/Operation.d.ts.map +1 -1
- package/lib/cjs/spatial/ecrs/Operation.js +345 -345
- package/lib/cjs/spatial/ecrs/Operation.js.map +1 -1
- package/lib/cjs/spatial/ecrs/OperationMethod.d.ts +71 -71
- package/lib/cjs/spatial/ecrs/OperationMethod.d.ts.map +1 -1
- package/lib/cjs/spatial/ecrs/OperationMethod.js +75 -75
- package/lib/cjs/spatial/ecrs/ParameterValue.d.ts +49 -49
- package/lib/cjs/spatial/ecrs/ParameterValue.d.ts.map +1 -1
- package/lib/cjs/spatial/ecrs/ParameterValue.js +65 -65
- package/lib/cjs/spatial/ecrs/ParameterValueList.d.ts +72 -72
- package/lib/cjs/spatial/ecrs/ParameterValueList.d.ts.map +1 -1
- package/lib/cjs/spatial/ecrs/ParameterValueList.js +120 -120
- package/lib/cjs/spatial/ecrs/PrimeMeridian.d.ts +78 -78
- package/lib/cjs/spatial/ecrs/PrimeMeridian.d.ts.map +1 -1
- package/lib/cjs/spatial/ecrs/PrimeMeridian.js +108 -108
- package/lib/cjs/spatial/ecrs/Registry.d.ts +109 -109
- package/lib/cjs/spatial/ecrs/Registry.d.ts.map +1 -1
- package/lib/cjs/spatial/ecrs/Registry.js +207 -207
- package/lib/cjs/spatial/ecrs/Registry.js.map +1 -1
- package/lib/cjs/spatial/ecrs/Transform.d.ts +77 -77
- package/lib/cjs/spatial/ecrs/Transform.d.ts.map +1 -1
- package/lib/cjs/spatial/ecrs/Transform.js +396 -396
- package/lib/cjs/spatial/ecrs/Transform.js.map +1 -1
- package/lib/cjs/spatial/ecrs/Unit.d.ts +170 -170
- package/lib/cjs/spatial/ecrs/Unit.d.ts.map +1 -1
- package/lib/cjs/spatial/ecrs/Unit.js +336 -336
- package/lib/cjs/spatial/ecrs/Unit.js.map +1 -1
- package/lib/cjs/spatial/ecrs/VerticalModel.d.ts +69 -69
- package/lib/cjs/spatial/ecrs/VerticalModel.d.ts.map +1 -1
- package/lib/cjs/spatial/ecrs/VerticalModel.js +88 -88
- package/lib/cjs/spatial/ecrs/WellKnownText.d.ts +153 -153
- package/lib/cjs/spatial/ecrs/WellKnownText.d.ts.map +1 -1
- package/lib/cjs/spatial/ecrs/WellKnownText.js +494 -494
- package/lib/cjs/spatial/ecrs/WellKnownText.js.map +1 -1
- package/lib/cjs/spatial/ecrs/WellKnownTextNode.d.ts +69 -69
- package/lib/cjs/spatial/ecrs/WellKnownTextNode.d.ts.map +1 -1
- package/lib/cjs/spatial/ecrs/WellKnownTextNode.js +128 -128
- package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.d.ts +101 -101
- package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.d.ts.map +1 -1
- package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.js +162 -162
- package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.js.map +1 -1
- package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConic.d.ts +79 -79
- package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConic.d.ts.map +1 -1
- package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConic.js +125 -125
- package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConic.js.map +1 -1
- package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConicEN.d.ts +47 -47
- package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConicEN.d.ts.map +1 -1
- package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js +73 -73
- package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js.map +1 -1
- package/lib/cjs/spatial/ecrs/projection/LambertConical1SP.d.ts +72 -72
- package/lib/cjs/spatial/ecrs/projection/LambertConical1SP.d.ts.map +1 -1
- package/lib/cjs/spatial/ecrs/projection/LambertConical1SP.js +129 -129
- package/lib/cjs/spatial/ecrs/projection/LambertConical1SP.js.map +1 -1
- package/lib/cjs/spatial/ecrs/projection/LambertConical2SP.d.ts +120 -120
- package/lib/cjs/spatial/ecrs/projection/LambertConical2SP.d.ts.map +1 -1
- package/lib/cjs/spatial/ecrs/projection/LambertConical2SP.js +179 -179
- package/lib/cjs/spatial/ecrs/projection/LambertConical2SP.js.map +1 -1
- package/lib/cjs/spatial/ecrs/projection/Mercator1SP.d.ts +73 -73
- package/lib/cjs/spatial/ecrs/projection/Mercator1SP.d.ts.map +1 -1
- package/lib/cjs/spatial/ecrs/projection/Mercator1SP.js +112 -112
- package/lib/cjs/spatial/ecrs/projection/Mercator1SP.js.map +1 -1
- package/lib/cjs/spatial/ecrs/projection/ObliqueMercator.d.ts +96 -96
- package/lib/cjs/spatial/ecrs/projection/ObliqueMercator.d.ts.map +1 -1
- package/lib/cjs/spatial/ecrs/projection/ObliqueMercator.js +173 -173
- package/lib/cjs/spatial/ecrs/projection/ObliqueMercator.js.map +1 -1
- package/lib/cjs/spatial/ecrs/projection/ObliqueStereographic.d.ts +123 -123
- package/lib/cjs/spatial/ecrs/projection/ObliqueStereographic.d.ts.map +1 -1
- package/lib/cjs/spatial/ecrs/projection/ObliqueStereographic.js +208 -208
- package/lib/cjs/spatial/ecrs/projection/ObliqueStereographic.js.map +1 -1
- package/lib/cjs/spatial/ecrs/projection/TransverseMercator.d.ts +108 -108
- package/lib/cjs/spatial/ecrs/projection/TransverseMercator.d.ts.map +1 -1
- package/lib/cjs/spatial/ecrs/projection/TransverseMercator.js +183 -183
- package/lib/cjs/spatial/ecrs/projection/TransverseMercator.js.map +1 -1
- package/lib/cjs/spatial/ecrs/transformation/PositionVector.d.ts +90 -90
- package/lib/cjs/spatial/ecrs/transformation/PositionVector.d.ts.map +1 -1
- package/lib/cjs/spatial/ecrs/transformation/PositionVector.js +130 -130
- package/lib/cjs/spatial/ecrs/transformation/PositionVector.js.map +1 -1
- package/lib/cjs/spatial/geom/Bounds.d.ts +33 -33
- package/lib/cjs/spatial/geom/Bounds.d.ts.map +1 -1
- package/lib/cjs/spatial/geom/Bounds.js +156 -156
- package/lib/cjs/spatial/geom/Coordinate.d.ts +61 -61
- package/lib/cjs/spatial/geom/Coordinate.d.ts.map +1 -1
- package/lib/cjs/spatial/geom/Coordinate.js +186 -186
- package/lib/cjs/spatial/geom/Line.d.ts +225 -225
- package/lib/cjs/spatial/geom/Line.d.ts.map +1 -1
- package/lib/cjs/spatial/geom/Line.js +432 -432
- package/lib/cjs/spatial/geom/Transform.d.ts +340 -340
- package/lib/cjs/spatial/geom/Transform.d.ts.map +1 -1
- package/lib/cjs/spatial/geom/Transform.js +748 -748
- package/lib/cjs/system/buffer/ABuffer.d.ts +51 -51
- package/lib/cjs/system/buffer/ABuffer.d.ts.map +1 -1
- package/lib/cjs/system/buffer/ABuffer.js +90 -90
- package/lib/cjs/system/buffer/Float32Buffer.d.ts +46 -46
- package/lib/cjs/system/buffer/Float32Buffer.d.ts.map +1 -1
- package/lib/cjs/system/buffer/Float32Buffer.js +60 -60
- package/lib/cjs/system/buffer/Float32Buffer.js.map +1 -1
- package/lib/cjs/system/buffer/LittleEndian.d.ts +149 -149
- package/lib/cjs/system/buffer/LittleEndian.d.ts.map +1 -1
- package/lib/cjs/system/buffer/LittleEndian.js +303 -303
- package/lib/cjs/system/buffer/Uint16Buffer.d.ts +49 -49
- package/lib/cjs/system/buffer/Uint16Buffer.d.ts.map +1 -1
- package/lib/cjs/system/buffer/Uint16Buffer.js +65 -65
- package/lib/cjs/system/buffer/Uint16Buffer.js.map +1 -1
- package/lib/cjs/system/buffer/Uint8Buffer.d.ts +49 -49
- package/lib/cjs/system/buffer/Uint8Buffer.d.ts.map +1 -1
- package/lib/cjs/system/buffer/Uint8Buffer.js +65 -65
- package/lib/cjs/system/buffer/Uint8Buffer.js.map +1 -1
- package/lib/cjs/system/collection/AList.d.ts +30 -30
- package/lib/cjs/system/collection/AList.d.ts.map +1 -1
- package/lib/cjs/system/collection/AList.js +70 -70
- package/lib/cjs/system/collection/IntMap.d.ts +18 -18
- package/lib/cjs/system/collection/IntMap.d.ts.map +1 -1
- package/lib/cjs/system/collection/IntMap.js +35 -35
- package/lib/cjs/system/collection/StringMap.d.ts +26 -26
- package/lib/cjs/system/collection/StringMap.d.ts.map +1 -1
- package/lib/cjs/system/collection/StringMap.js +63 -63
- package/lib/cjs/system/io/ABufferInStream.d.ts +29 -29
- package/lib/cjs/system/io/ABufferInStream.d.ts.map +1 -1
- package/lib/cjs/system/io/ABufferInStream.js +46 -46
- package/lib/cjs/system/io/InStream.d.ts +23 -23
- package/lib/cjs/system/io/InStream.d.ts.map +1 -1
- package/lib/cjs/system/io/InStream.js +34 -34
- package/lib/cjs/system/io/OutStream.d.ts +23 -23
- package/lib/cjs/system/io/OutStream.d.ts.map +1 -1
- package/lib/cjs/system/io/OutStream.js +33 -33
- package/lib/cjs/system/runtime/ALong.d.ts +329 -329
- package/lib/cjs/system/runtime/ALong.d.ts.map +1 -1
- package/lib/cjs/system/runtime/ALong.js +687 -687
- package/lib/cjs/system/runtime/ALong.js.map +1 -1
- package/lib/cjs/system/runtime/ASystem.d.ts +14 -14
- package/lib/cjs/system/runtime/ASystem.js +31 -31
- package/lib/cjs/system/runtime/ASystem.js.map +1 -1
- package/lib/cjs/system/runtime/Downloader.d.ts +17 -17
- package/lib/cjs/system/runtime/Downloader.js +38 -38
- package/lib/cjs/system/runtime/Downloader.js.map +1 -1
- package/lib/cjs/system/runtime/DownloaderNode.d.ts +18 -18
- package/lib/cjs/system/runtime/DownloaderNode.js +129 -129
- package/lib/cjs/system/runtime/DownloaderXhr.d.ts +18 -18
- package/lib/cjs/system/runtime/DownloaderXhr.js +131 -131
- package/lib/cjs/system/runtime/Message.d.ts +16 -16
- package/lib/cjs/system/runtime/Message.js +39 -39
- package/lib/cjs/system/runtime/Message.js.map +1 -1
- package/lib/cjs/system/runtime/Numbers.d.ts +34 -34
- package/lib/cjs/system/runtime/Numbers.d.ts.map +1 -1
- package/lib/cjs/system/runtime/Numbers.js +87 -87
- package/lib/cjs/system/runtime/Numbers.js.map +1 -1
- package/lib/cjs/system/runtime/Strings.d.ts +49 -49
- package/lib/cjs/system/runtime/Strings.d.ts.map +1 -1
- package/lib/cjs/system/runtime/Strings.js +188 -188
- package/lib/cjs/system/runtime/Strings.js.map +1 -1
- package/lib/cjs/system/runtime/iComparator.d.ts +12 -12
- package/lib/cjs/system/runtime/iComparator.d.ts.map +1 -1
- package/lib/cjs/system/runtime/iComparator.js +9 -9
- package/lib/cjs/system/storage/CacheList.d.ts +39 -39
- package/lib/cjs/system/storage/CacheList.d.ts.map +1 -1
- package/lib/cjs/system/storage/CacheList.js +80 -80
- package/lib/cjs/system/storage/CachedItem.d.ts +21 -21
- package/lib/cjs/system/storage/CachedItem.d.ts.map +1 -1
- package/lib/cjs/system/storage/CachedItem.js +25 -25
- package/lib/cjs/system/storage/ContentLoader.d.ts +64 -64
- package/lib/cjs/system/storage/ContentLoader.d.ts.map +1 -1
- package/lib/cjs/system/storage/ContentLoader.js +95 -95
- package/lib/cjs/system/storage/ContentLoader.js.map +1 -1
- package/lib/cjs/system/storage/FileContent.d.ts +19 -19
- package/lib/cjs/system/storage/FileContent.js +24 -24
- package/lib/cjs/system/storage/FileRange.d.ts +20 -20
- package/lib/cjs/system/storage/FileRange.d.ts.map +1 -1
- package/lib/cjs/system/storage/FileRange.js +24 -24
- package/lib/cjs/system/storage/FileStorage.d.ts +44 -44
- package/lib/cjs/system/storage/FileStorage.d.ts.map +1 -1
- package/lib/cjs/system/storage/FileStorage.js +62 -62
- package/lib/cjs/system/storage/NodeFS.d.ts +41 -41
- package/lib/cjs/system/storage/NodeFS.d.ts.map +1 -1
- package/lib/cjs/system/storage/NodeFS.js +79 -79
- package/lib/cjs/system/storage/PageCachedFile.d.ts +54 -54
- package/lib/cjs/system/storage/PageCachedFile.d.ts.map +1 -1
- package/lib/cjs/system/storage/PageCachedFile.js +165 -165
- package/lib/cjs/system/storage/UrlFS.d.ts +53 -53
- package/lib/cjs/system/storage/UrlFS.d.ts.map +1 -1
- package/lib/cjs/system/storage/UrlFS.js +114 -114
- package/lib/cjs/system/storage/UrlFS.js.map +1 -1
- package/lib/esm/core-orbitgt.d.ts +26 -26
- package/lib/esm/core-orbitgt.js +31 -31
- package/lib/esm/pointcloud/format/opc/AttributeMask.d.ts +30 -30
- package/lib/esm/pointcloud/format/opc/AttributeMask.js +43 -43
- package/lib/esm/pointcloud/format/opc/AttributeReader.d.ts +63 -63
- package/lib/esm/pointcloud/format/opc/AttributeReader.d.ts.map +1 -1
- package/lib/esm/pointcloud/format/opc/AttributeReader.js +20 -20
- package/lib/esm/pointcloud/format/opc/BlockRecord.d.ts +54 -54
- package/lib/esm/pointcloud/format/opc/BlockRecord.d.ts.map +1 -1
- package/lib/esm/pointcloud/format/opc/BlockRecord.js +81 -80
- package/lib/esm/pointcloud/format/opc/BlockRecord.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/ContainerFile.d.ts +85 -85
- package/lib/esm/pointcloud/format/opc/ContainerFile.d.ts.map +1 -1
- package/lib/esm/pointcloud/format/opc/ContainerFile.js +196 -195
- package/lib/esm/pointcloud/format/opc/ContainerFile.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/ContainerFilePart.d.ts +55 -55
- package/lib/esm/pointcloud/format/opc/ContainerFilePart.js +71 -71
- package/lib/esm/pointcloud/format/opc/DirectoryReader.d.ts +75 -75
- package/lib/esm/pointcloud/format/opc/DirectoryReader.d.ts.map +1 -1
- package/lib/esm/pointcloud/format/opc/DirectoryReader.js +165 -165
- package/lib/esm/pointcloud/format/opc/DirectoryRecord.d.ts +59 -59
- package/lib/esm/pointcloud/format/opc/DirectoryRecord.d.ts.map +1 -1
- package/lib/esm/pointcloud/format/opc/DirectoryRecord.js +85 -85
- package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.d.ts +106 -106
- package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.d.ts.map +1 -1
- package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.js +193 -193
- package/lib/esm/pointcloud/format/opc/FileAccess.d.ts +39 -39
- package/lib/esm/pointcloud/format/opc/FileAccess.js +44 -44
- package/lib/esm/pointcloud/format/opc/FileReader.d.ts +118 -118
- package/lib/esm/pointcloud/format/opc/FileReader.d.ts.map +1 -1
- package/lib/esm/pointcloud/format/opc/FileReader.js +245 -244
- package/lib/esm/pointcloud/format/opc/FileReader.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/FileRecord.d.ts +89 -89
- package/lib/esm/pointcloud/format/opc/FileRecord.d.ts.map +1 -1
- package/lib/esm/pointcloud/format/opc/FileRecord.js +121 -121
- package/lib/esm/pointcloud/format/opc/GeometryReader.d.ts +79 -79
- package/lib/esm/pointcloud/format/opc/GeometryReader.d.ts.map +1 -1
- package/lib/esm/pointcloud/format/opc/GeometryReader.js +160 -159
- package/lib/esm/pointcloud/format/opc/GeometryReader.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/GeometryRecord.d.ts +53 -53
- package/lib/esm/pointcloud/format/opc/GeometryRecord.js +103 -103
- package/lib/esm/pointcloud/format/opc/OPCReader.d.ts +157 -157
- package/lib/esm/pointcloud/format/opc/OPCReader.d.ts.map +1 -1
- package/lib/esm/pointcloud/format/opc/OPCReader.js +315 -315
- package/lib/esm/pointcloud/format/opc/OPCReader.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/PointReader.d.ts +72 -72
- package/lib/esm/pointcloud/format/opc/PointReader.d.ts.map +1 -1
- package/lib/esm/pointcloud/format/opc/PointReader.js +148 -148
- package/lib/esm/pointcloud/format/opc/TileReadBuffer.d.ts +63 -63
- package/lib/esm/pointcloud/format/opc/TileReadBuffer.d.ts.map +1 -1
- package/lib/esm/pointcloud/format/opc/TileReadBuffer.js +88 -88
- package/lib/esm/pointcloud/format/opc/TileRecord.d.ts +88 -88
- package/lib/esm/pointcloud/format/opc/TileRecord.d.ts.map +1 -1
- package/lib/esm/pointcloud/format/opc/TileRecord.js +158 -157
- package/lib/esm/pointcloud/format/opc/TileRecord.js.map +1 -1
- package/lib/esm/pointcloud/model/AttributeTypes.d.ts +37 -37
- package/lib/esm/pointcloud/model/AttributeTypes.d.ts.map +1 -1
- package/lib/esm/pointcloud/model/AttributeTypes.js +61 -60
- package/lib/esm/pointcloud/model/AttributeTypes.js.map +1 -1
- package/lib/esm/pointcloud/model/AttributeValue.d.ts +247 -247
- package/lib/esm/pointcloud/model/AttributeValue.d.ts.map +1 -1
- package/lib/esm/pointcloud/model/AttributeValue.js +505 -504
- package/lib/esm/pointcloud/model/AttributeValue.js.map +1 -1
- package/lib/esm/pointcloud/model/BlockIndex.d.ts +49 -49
- package/lib/esm/pointcloud/model/BlockIndex.d.ts.map +1 -1
- package/lib/esm/pointcloud/model/BlockIndex.js +44 -44
- package/lib/esm/pointcloud/model/CloudPoint.d.ts +210 -210
- package/lib/esm/pointcloud/model/CloudPoint.d.ts.map +1 -1
- package/lib/esm/pointcloud/model/CloudPoint.js +315 -314
- package/lib/esm/pointcloud/model/CloudPoint.js.map +1 -1
- package/lib/esm/pointcloud/model/Grid.d.ts +91 -91
- package/lib/esm/pointcloud/model/Grid.d.ts.map +1 -1
- package/lib/esm/pointcloud/model/Grid.js +125 -125
- package/lib/esm/pointcloud/model/GridIndex.d.ts +66 -66
- package/lib/esm/pointcloud/model/GridIndex.d.ts.map +1 -1
- package/lib/esm/pointcloud/model/GridIndex.js +89 -89
- package/lib/esm/pointcloud/model/PointAttribute.d.ts +208 -208
- package/lib/esm/pointcloud/model/PointAttribute.d.ts.map +1 -1
- package/lib/esm/pointcloud/model/PointAttribute.js +370 -370
- package/lib/esm/pointcloud/model/PointCloudReader.d.ts +156 -156
- package/lib/esm/pointcloud/model/PointCloudReader.d.ts.map +1 -1
- package/lib/esm/pointcloud/model/PointCloudReader.js +185 -185
- package/lib/esm/pointcloud/model/PointData.d.ts +17 -17
- package/lib/esm/pointcloud/model/PointData.js +20 -20
- package/lib/esm/pointcloud/model/PointDataRaw.d.ts +34 -34
- package/lib/esm/pointcloud/model/PointDataRaw.d.ts.map +1 -1
- package/lib/esm/pointcloud/model/PointDataRaw.js +66 -65
- package/lib/esm/pointcloud/model/PointDataRaw.js.map +1 -1
- package/lib/esm/pointcloud/model/ReadRequest.d.ts +175 -175
- package/lib/esm/pointcloud/model/ReadRequest.d.ts.map +1 -1
- package/lib/esm/pointcloud/model/ReadRequest.js +236 -235
- package/lib/esm/pointcloud/model/ReadRequest.js.map +1 -1
- package/lib/esm/pointcloud/model/StandardAttributes.d.ts +40 -40
- package/lib/esm/pointcloud/model/StandardAttributes.d.ts.map +1 -1
- package/lib/esm/pointcloud/model/StandardAttributes.js +44 -43
- package/lib/esm/pointcloud/model/StandardAttributes.js.map +1 -1
- package/lib/esm/pointcloud/model/TileIndex.d.ts +47 -47
- package/lib/esm/pointcloud/model/TileIndex.d.ts.map +1 -1
- package/lib/esm/pointcloud/model/TileIndex.js +43 -43
- package/lib/esm/pointcloud/render/AViewRequest.d.ts +38 -38
- package/lib/esm/pointcloud/render/AViewRequest.d.ts.map +1 -1
- package/lib/esm/pointcloud/render/AViewRequest.js +20 -20
- package/lib/esm/pointcloud/render/Block.d.ts +67 -67
- package/lib/esm/pointcloud/render/Block.js +115 -115
- package/lib/esm/pointcloud/render/DataManager.d.ts +136 -136
- package/lib/esm/pointcloud/render/DataManager.d.ts.map +1 -1
- package/lib/esm/pointcloud/render/DataManager.js +339 -338
- package/lib/esm/pointcloud/render/DataManager.js.map +1 -1
- package/lib/esm/pointcloud/render/FrameData.d.ts +30 -30
- package/lib/esm/pointcloud/render/FrameData.js +35 -35
- package/lib/esm/pointcloud/render/Level.d.ts +90 -90
- package/lib/esm/pointcloud/render/Level.d.ts.map +1 -1
- package/lib/esm/pointcloud/render/Level.js +115 -115
- package/lib/esm/pointcloud/render/TileLoadSorter.d.ts +60 -60
- package/lib/esm/pointcloud/render/TileLoadSorter.d.ts.map +1 -1
- package/lib/esm/pointcloud/render/TileLoadSorter.js +96 -95
- package/lib/esm/pointcloud/render/TileLoadSorter.js.map +1 -1
- package/lib/esm/pointcloud/render/ViewTree.d.ts +113 -113
- package/lib/esm/pointcloud/render/ViewTree.d.ts.map +1 -1
- package/lib/esm/pointcloud/render/ViewTree.js +360 -359
- package/lib/esm/pointcloud/render/ViewTree.js.map +1 -1
- package/lib/esm/spatial/crs/CRSEngine.d.ts +55 -55
- package/lib/esm/spatial/crs/CRSEngine.js +89 -89
- package/lib/esm/spatial/crs/CRSManager.d.ts +49 -49
- package/lib/esm/spatial/crs/CRSManager.js +106 -105
- package/lib/esm/spatial/crs/CRSManager.js.map +1 -1
- package/lib/esm/spatial/ecrs/Axis.d.ts +77 -77
- package/lib/esm/spatial/ecrs/Axis.d.ts.map +1 -1
- package/lib/esm/spatial/ecrs/Axis.js +89 -89
- package/lib/esm/spatial/ecrs/CRS.d.ts +447 -447
- package/lib/esm/spatial/ecrs/CRS.d.ts.map +1 -1
- package/lib/esm/spatial/ecrs/CRS.js +927 -926
- package/lib/esm/spatial/ecrs/CRS.js.map +1 -1
- package/lib/esm/spatial/ecrs/CoordinateSystem.d.ts +142 -142
- package/lib/esm/spatial/ecrs/CoordinateSystem.d.ts.map +1 -1
- package/lib/esm/spatial/ecrs/CoordinateSystem.js +323 -322
- package/lib/esm/spatial/ecrs/CoordinateSystem.js.map +1 -1
- package/lib/esm/spatial/ecrs/DataFileUnit.d.ts +10 -10
- package/lib/esm/spatial/ecrs/DataFileUnit.js +101 -100
- package/lib/esm/spatial/ecrs/DataFileUnit.js.map +1 -1
- package/lib/esm/spatial/ecrs/Datum.d.ts +111 -111
- package/lib/esm/spatial/ecrs/Datum.d.ts.map +1 -1
- package/lib/esm/spatial/ecrs/Datum.js +163 -162
- package/lib/esm/spatial/ecrs/Datum.js.map +1 -1
- package/lib/esm/spatial/ecrs/Ellipsoid.d.ts +188 -188
- package/lib/esm/spatial/ecrs/Ellipsoid.d.ts.map +1 -1
- package/lib/esm/spatial/ecrs/Ellipsoid.js +332 -332
- package/lib/esm/spatial/ecrs/OnlineEngine.d.ts +48 -48
- package/lib/esm/spatial/ecrs/OnlineEngine.js +98 -98
- package/lib/esm/spatial/ecrs/OnlineEngine.js.map +1 -1
- package/lib/esm/spatial/ecrs/OnlineRegistry.d.ts +37 -37
- package/lib/esm/spatial/ecrs/OnlineRegistry.d.ts.map +1 -1
- package/lib/esm/spatial/ecrs/OnlineRegistry.js +73 -72
- package/lib/esm/spatial/ecrs/OnlineRegistry.js.map +1 -1
- package/lib/esm/spatial/ecrs/Operation.d.ts +191 -191
- package/lib/esm/spatial/ecrs/Operation.d.ts.map +1 -1
- package/lib/esm/spatial/ecrs/Operation.js +342 -341
- package/lib/esm/spatial/ecrs/Operation.js.map +1 -1
- package/lib/esm/spatial/ecrs/OperationMethod.d.ts +71 -71
- package/lib/esm/spatial/ecrs/OperationMethod.d.ts.map +1 -1
- package/lib/esm/spatial/ecrs/OperationMethod.js +71 -71
- package/lib/esm/spatial/ecrs/ParameterValue.d.ts +49 -49
- package/lib/esm/spatial/ecrs/ParameterValue.d.ts.map +1 -1
- package/lib/esm/spatial/ecrs/ParameterValue.js +61 -61
- package/lib/esm/spatial/ecrs/ParameterValueList.d.ts +72 -72
- package/lib/esm/spatial/ecrs/ParameterValueList.d.ts.map +1 -1
- package/lib/esm/spatial/ecrs/ParameterValueList.js +116 -116
- package/lib/esm/spatial/ecrs/PrimeMeridian.d.ts +78 -78
- package/lib/esm/spatial/ecrs/PrimeMeridian.d.ts.map +1 -1
- package/lib/esm/spatial/ecrs/PrimeMeridian.js +104 -104
- package/lib/esm/spatial/ecrs/Registry.d.ts +109 -109
- package/lib/esm/spatial/ecrs/Registry.d.ts.map +1 -1
- package/lib/esm/spatial/ecrs/Registry.js +204 -203
- package/lib/esm/spatial/ecrs/Registry.js.map +1 -1
- package/lib/esm/spatial/ecrs/Transform.d.ts +77 -77
- package/lib/esm/spatial/ecrs/Transform.d.ts.map +1 -1
- package/lib/esm/spatial/ecrs/Transform.js +393 -392
- package/lib/esm/spatial/ecrs/Transform.js.map +1 -1
- package/lib/esm/spatial/ecrs/Unit.d.ts +170 -170
- package/lib/esm/spatial/ecrs/Unit.d.ts.map +1 -1
- package/lib/esm/spatial/ecrs/Unit.js +333 -332
- package/lib/esm/spatial/ecrs/Unit.js.map +1 -1
- package/lib/esm/spatial/ecrs/VerticalModel.d.ts +69 -69
- package/lib/esm/spatial/ecrs/VerticalModel.d.ts.map +1 -1
- package/lib/esm/spatial/ecrs/VerticalModel.js +84 -84
- package/lib/esm/spatial/ecrs/WellKnownText.d.ts +153 -153
- package/lib/esm/spatial/ecrs/WellKnownText.d.ts.map +1 -1
- package/lib/esm/spatial/ecrs/WellKnownText.js +491 -490
- package/lib/esm/spatial/ecrs/WellKnownText.js.map +1 -1
- package/lib/esm/spatial/ecrs/WellKnownTextNode.d.ts +69 -69
- package/lib/esm/spatial/ecrs/WellKnownTextNode.d.ts.map +1 -1
- package/lib/esm/spatial/ecrs/WellKnownTextNode.js +124 -124
- package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.d.ts +101 -101
- package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.d.ts.map +1 -1
- package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.js +159 -158
- package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.js.map +1 -1
- package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConic.d.ts +79 -79
- package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConic.d.ts.map +1 -1
- package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConic.js +122 -121
- package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConic.js.map +1 -1
- package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConicEN.d.ts +47 -47
- package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConicEN.d.ts.map +1 -1
- package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js +70 -69
- package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js.map +1 -1
- package/lib/esm/spatial/ecrs/projection/LambertConical1SP.d.ts +72 -72
- package/lib/esm/spatial/ecrs/projection/LambertConical1SP.d.ts.map +1 -1
- package/lib/esm/spatial/ecrs/projection/LambertConical1SP.js +126 -125
- package/lib/esm/spatial/ecrs/projection/LambertConical1SP.js.map +1 -1
- package/lib/esm/spatial/ecrs/projection/LambertConical2SP.d.ts +120 -120
- package/lib/esm/spatial/ecrs/projection/LambertConical2SP.d.ts.map +1 -1
- package/lib/esm/spatial/ecrs/projection/LambertConical2SP.js +176 -175
- package/lib/esm/spatial/ecrs/projection/LambertConical2SP.js.map +1 -1
- package/lib/esm/spatial/ecrs/projection/Mercator1SP.d.ts +73 -73
- package/lib/esm/spatial/ecrs/projection/Mercator1SP.d.ts.map +1 -1
- package/lib/esm/spatial/ecrs/projection/Mercator1SP.js +109 -108
- package/lib/esm/spatial/ecrs/projection/Mercator1SP.js.map +1 -1
- package/lib/esm/spatial/ecrs/projection/ObliqueMercator.d.ts +96 -96
- package/lib/esm/spatial/ecrs/projection/ObliqueMercator.d.ts.map +1 -1
- package/lib/esm/spatial/ecrs/projection/ObliqueMercator.js +170 -169
- package/lib/esm/spatial/ecrs/projection/ObliqueMercator.js.map +1 -1
- package/lib/esm/spatial/ecrs/projection/ObliqueStereographic.d.ts +123 -123
- package/lib/esm/spatial/ecrs/projection/ObliqueStereographic.d.ts.map +1 -1
- package/lib/esm/spatial/ecrs/projection/ObliqueStereographic.js +205 -204
- package/lib/esm/spatial/ecrs/projection/ObliqueStereographic.js.map +1 -1
- package/lib/esm/spatial/ecrs/projection/TransverseMercator.d.ts +108 -108
- package/lib/esm/spatial/ecrs/projection/TransverseMercator.d.ts.map +1 -1
- package/lib/esm/spatial/ecrs/projection/TransverseMercator.js +180 -179
- package/lib/esm/spatial/ecrs/projection/TransverseMercator.js.map +1 -1
- package/lib/esm/spatial/ecrs/transformation/PositionVector.d.ts +90 -90
- package/lib/esm/spatial/ecrs/transformation/PositionVector.d.ts.map +1 -1
- package/lib/esm/spatial/ecrs/transformation/PositionVector.js +127 -126
- package/lib/esm/spatial/ecrs/transformation/PositionVector.js.map +1 -1
- package/lib/esm/spatial/geom/Bounds.d.ts +33 -33
- package/lib/esm/spatial/geom/Bounds.d.ts.map +1 -1
- package/lib/esm/spatial/geom/Bounds.js +152 -152
- package/lib/esm/spatial/geom/Coordinate.d.ts +61 -61
- package/lib/esm/spatial/geom/Coordinate.d.ts.map +1 -1
- package/lib/esm/spatial/geom/Coordinate.js +182 -182
- package/lib/esm/spatial/geom/Line.d.ts +225 -225
- package/lib/esm/spatial/geom/Line.d.ts.map +1 -1
- package/lib/esm/spatial/geom/Line.js +428 -428
- package/lib/esm/spatial/geom/Transform.d.ts +340 -340
- package/lib/esm/spatial/geom/Transform.d.ts.map +1 -1
- package/lib/esm/spatial/geom/Transform.js +744 -744
- package/lib/esm/system/buffer/ABuffer.d.ts +51 -51
- package/lib/esm/system/buffer/ABuffer.d.ts.map +1 -1
- package/lib/esm/system/buffer/ABuffer.js +86 -86
- package/lib/esm/system/buffer/Float32Buffer.d.ts +46 -46
- package/lib/esm/system/buffer/Float32Buffer.d.ts.map +1 -1
- package/lib/esm/system/buffer/Float32Buffer.js +57 -56
- package/lib/esm/system/buffer/Float32Buffer.js.map +1 -1
- package/lib/esm/system/buffer/LittleEndian.d.ts +149 -149
- package/lib/esm/system/buffer/LittleEndian.d.ts.map +1 -1
- package/lib/esm/system/buffer/LittleEndian.js +299 -299
- package/lib/esm/system/buffer/Uint16Buffer.d.ts +49 -49
- package/lib/esm/system/buffer/Uint16Buffer.d.ts.map +1 -1
- package/lib/esm/system/buffer/Uint16Buffer.js +62 -61
- package/lib/esm/system/buffer/Uint16Buffer.js.map +1 -1
- package/lib/esm/system/buffer/Uint8Buffer.d.ts +49 -49
- package/lib/esm/system/buffer/Uint8Buffer.d.ts.map +1 -1
- package/lib/esm/system/buffer/Uint8Buffer.js +62 -61
- package/lib/esm/system/buffer/Uint8Buffer.js.map +1 -1
- package/lib/esm/system/collection/AList.d.ts +30 -30
- package/lib/esm/system/collection/AList.d.ts.map +1 -1
- package/lib/esm/system/collection/AList.js +66 -66
- package/lib/esm/system/collection/IntMap.d.ts +18 -18
- package/lib/esm/system/collection/IntMap.d.ts.map +1 -1
- package/lib/esm/system/collection/IntMap.js +31 -31
- package/lib/esm/system/collection/StringMap.d.ts +26 -26
- package/lib/esm/system/collection/StringMap.d.ts.map +1 -1
- package/lib/esm/system/collection/StringMap.js +59 -59
- package/lib/esm/system/io/ABufferInStream.d.ts +29 -29
- package/lib/esm/system/io/ABufferInStream.d.ts.map +1 -1
- package/lib/esm/system/io/ABufferInStream.js +42 -42
- package/lib/esm/system/io/InStream.d.ts +23 -23
- package/lib/esm/system/io/InStream.d.ts.map +1 -1
- package/lib/esm/system/io/InStream.js +30 -30
- package/lib/esm/system/io/OutStream.d.ts +23 -23
- package/lib/esm/system/io/OutStream.d.ts.map +1 -1
- package/lib/esm/system/io/OutStream.js +29 -29
- package/lib/esm/system/runtime/ALong.d.ts +329 -329
- package/lib/esm/system/runtime/ALong.d.ts.map +1 -1
- package/lib/esm/system/runtime/ALong.js +684 -683
- package/lib/esm/system/runtime/ALong.js.map +1 -1
- package/lib/esm/system/runtime/ASystem.d.ts +14 -14
- package/lib/esm/system/runtime/ASystem.js +28 -27
- package/lib/esm/system/runtime/ASystem.js.map +1 -1
- package/lib/esm/system/runtime/Downloader.d.ts +17 -17
- package/lib/esm/system/runtime/Downloader.js +35 -34
- package/lib/esm/system/runtime/Downloader.js.map +1 -1
- package/lib/esm/system/runtime/DownloaderNode.d.ts +18 -18
- package/lib/esm/system/runtime/DownloaderNode.js +125 -125
- package/lib/esm/system/runtime/DownloaderXhr.d.ts +18 -18
- package/lib/esm/system/runtime/DownloaderXhr.js +127 -127
- package/lib/esm/system/runtime/Message.d.ts +16 -16
- package/lib/esm/system/runtime/Message.js +36 -35
- package/lib/esm/system/runtime/Message.js.map +1 -1
- package/lib/esm/system/runtime/Numbers.d.ts +34 -34
- package/lib/esm/system/runtime/Numbers.d.ts.map +1 -1
- package/lib/esm/system/runtime/Numbers.js +84 -83
- package/lib/esm/system/runtime/Numbers.js.map +1 -1
- package/lib/esm/system/runtime/Strings.d.ts +49 -49
- package/lib/esm/system/runtime/Strings.d.ts.map +1 -1
- package/lib/esm/system/runtime/Strings.js +185 -184
- package/lib/esm/system/runtime/Strings.js.map +1 -1
- package/lib/esm/system/runtime/iComparator.d.ts +12 -12
- package/lib/esm/system/runtime/iComparator.d.ts.map +1 -1
- package/lib/esm/system/runtime/iComparator.js +8 -8
- package/lib/esm/system/storage/CacheList.d.ts +39 -39
- package/lib/esm/system/storage/CacheList.d.ts.map +1 -1
- package/lib/esm/system/storage/CacheList.js +76 -76
- package/lib/esm/system/storage/CachedItem.d.ts +21 -21
- package/lib/esm/system/storage/CachedItem.d.ts.map +1 -1
- package/lib/esm/system/storage/CachedItem.js +21 -21
- package/lib/esm/system/storage/ContentLoader.d.ts +64 -64
- package/lib/esm/system/storage/ContentLoader.d.ts.map +1 -1
- package/lib/esm/system/storage/ContentLoader.js +92 -91
- package/lib/esm/system/storage/ContentLoader.js.map +1 -1
- package/lib/esm/system/storage/FileContent.d.ts +19 -19
- package/lib/esm/system/storage/FileContent.js +20 -20
- package/lib/esm/system/storage/FileRange.d.ts +20 -20
- package/lib/esm/system/storage/FileRange.d.ts.map +1 -1
- package/lib/esm/system/storage/FileRange.js +20 -20
- package/lib/esm/system/storage/FileStorage.d.ts +44 -44
- package/lib/esm/system/storage/FileStorage.d.ts.map +1 -1
- package/lib/esm/system/storage/FileStorage.js +58 -58
- package/lib/esm/system/storage/NodeFS.d.ts +41 -41
- package/lib/esm/system/storage/NodeFS.d.ts.map +1 -1
- package/lib/esm/system/storage/NodeFS.js +75 -75
- package/lib/esm/system/storage/PageCachedFile.d.ts +54 -54
- package/lib/esm/system/storage/PageCachedFile.d.ts.map +1 -1
- package/lib/esm/system/storage/PageCachedFile.js +161 -161
- package/lib/esm/system/storage/UrlFS.d.ts +53 -53
- package/lib/esm/system/storage/UrlFS.d.ts.map +1 -1
- package/lib/esm/system/storage/UrlFS.js +110 -110
- package/lib/esm/system/storage/UrlFS.js.map +1 -1
- package/package.json +10 -11
|
@@ -1,245 +1,246 @@
|
|
|
1
|
-
/*---------------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
-
*--------------------------------------------------------------------------------------------*/
|
|
5
|
-
/** @packageDocumentation
|
|
6
|
-
* @module OrbitGT
|
|
7
|
-
*/
|
|
8
|
-
import { ALong } from "../../../system/runtime/ALong";
|
|
9
|
-
import { Message } from "../../../system/runtime/Message";
|
|
10
|
-
import { Strings } from "../../../system/runtime/Strings";
|
|
11
|
-
import { ContentLoader } from "../../../system/storage/ContentLoader";
|
|
12
|
-
import { ContainerFile } from "./ContainerFile";
|
|
13
|
-
import { DirectoryReader } from "./DirectoryReader";
|
|
14
|
-
import { EmbeddedAttributeReader } from "./EmbeddedAttributeReader";
|
|
15
|
-
import { FileRecord } from "./FileRecord";
|
|
16
|
-
import { GeometryReader } from "./GeometryReader";
|
|
17
|
-
/**
|
|
18
|
-
* Class FileReader reads OPC files.
|
|
19
|
-
*
|
|
20
|
-
* @version 1.0 January 2014
|
|
21
|
-
*/
|
|
22
|
-
/** @internal */
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Create a new reader.
|
|
26
|
-
* @param fileName the name of the file.
|
|
27
|
-
* @param container the container file.
|
|
28
|
-
* @param fileRecord the file record.
|
|
29
|
-
*/
|
|
30
|
-
constructor(fileStorage, fileName, container, fileRecord) {
|
|
31
|
-
/* Store the parameters */
|
|
32
|
-
this._fileStorage = fileStorage;
|
|
33
|
-
this._fileName = fileName;
|
|
34
|
-
this._container = container;
|
|
35
|
-
this._fileRecord = fileRecord;
|
|
36
|
-
/* Clear */
|
|
37
|
-
this._directoryReaders = null;
|
|
38
|
-
this._geometryReaders = null;
|
|
39
|
-
this._attributeReaders = null;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Open a file.
|
|
43
|
-
* @param fileName the name of the file.
|
|
44
|
-
* @param lazyLoading avoid early loading to keep a low memory profile?
|
|
45
|
-
* @return the reader.
|
|
46
|
-
*/
|
|
47
|
-
static async openFile(fileStorage, fileName, lazyLoading) {
|
|
48
|
-
/* Open the container file */
|
|
49
|
-
let container = await ContainerFile.read(fileStorage, fileName, "OPC3");
|
|
50
|
-
/* Read the file record */
|
|
51
|
-
let filePart = container.getPart("file");
|
|
52
|
-
let fileRecord = await FileRecord.readNew(fileStorage, filePart.getFileAccess().getFileName(), filePart.getOffset(), filePart.getSize());
|
|
53
|
-
/* Create a reader */
|
|
54
|
-
let fileReader = new FileReader(fileStorage, fileName, container, fileRecord);
|
|
55
|
-
/* Open the reader */
|
|
56
|
-
fileReader = await fileReader.open(lazyLoading);
|
|
57
|
-
/* Return the reader */
|
|
58
|
-
return fileReader;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Open the reader.
|
|
62
|
-
* @param lazyLoading avoid early loading to keep a low memory profile?
|
|
63
|
-
* @return the reader.
|
|
64
|
-
*/
|
|
65
|
-
async open(lazyLoading) {
|
|
66
|
-
/* Log */
|
|
67
|
-
Message.print(FileReader.MODULE, "Opening OPC with " + this._fileRecord.getLevelCount() + " levels (crs " + this._fileRecord.getCRS() + ", lazy? " + lazyLoading + ")");
|
|
68
|
-
Message.print(FileReader.MODULE, "Container has " + this._container.getPartCount() + " parts");
|
|
69
|
-
// for(ContainerFilePart part: this._container.getParts()) Message.print(MODULE,"Part '"+part.getName()+"'");
|
|
70
|
-
/* Define the content we are going to need (dozens of parts) */
|
|
71
|
-
Message.print(FileReader.MODULE, "Loading " + this._fileRecord.getLevelCount() + " levels and " + this._fileRecord.getAttributeCount() + " attributes");
|
|
72
|
-
let fileContents = new ContentLoader(this._fileStorage, this._fileName);
|
|
73
|
-
/* Only read the block list for the top levels? (to save memory) */
|
|
74
|
-
let prefetchLevelIndex = (this._fileRecord.getLevelCount() - 6);
|
|
75
|
-
if (prefetchLevelIndex < 0)
|
|
76
|
-
prefetchLevelIndex = 0;
|
|
77
|
-
if (lazyLoading == false)
|
|
78
|
-
prefetchLevelIndex = 0;
|
|
79
|
-
Message.print(FileReader.MODULE, "Prefetching from level " + prefetchLevelIndex);
|
|
80
|
-
/* Read the directory */
|
|
81
|
-
this._directoryReaders = new Array(this._fileRecord.getLevelCount());
|
|
82
|
-
for (let i = 0; i < this._directoryReaders.length; i++) {
|
|
83
|
-
let directoryReader = new DirectoryReader(this, i);
|
|
84
|
-
let readBlockList = (i >= prefetchLevelIndex);
|
|
85
|
-
directoryReader.loadData(readBlockList, fileContents);
|
|
86
|
-
this._directoryReaders[i] = directoryReader;
|
|
87
|
-
}
|
|
88
|
-
/* Read the geometry */
|
|
89
|
-
this._geometryReaders = new Array(this._fileRecord.getLevelCount());
|
|
90
|
-
for (let i = 0; i < this._geometryReaders.length; i++) {
|
|
91
|
-
let geometryReader = new GeometryReader(this, i);
|
|
92
|
-
geometryReader.loadData(fileContents);
|
|
93
|
-
this._geometryReaders[i] = geometryReader;
|
|
94
|
-
}
|
|
95
|
-
/* Read the attributes */
|
|
96
|
-
this._attributeReaders = new Array(this._fileRecord.getAttributeCount());
|
|
97
|
-
for (let i = 0; i < this._fileRecord.getAttributeCount(); i++) {
|
|
98
|
-
let attributeReader = new EmbeddedAttributeReader(this._container, i, this._fileRecord.getLevelCount());
|
|
99
|
-
attributeReader.loadData(fileContents);
|
|
100
|
-
this._attributeReaders[i] = attributeReader;
|
|
101
|
-
}
|
|
102
|
-
/* Load all data needed for the structures */
|
|
103
|
-
fileContents = await fileContents.load();
|
|
104
|
-
/* Read the directory */
|
|
105
|
-
for (let i = 0; i < this._directoryReaders.length; i++) {
|
|
106
|
-
let readBlockList = (i >= prefetchLevelIndex);
|
|
107
|
-
this._directoryReaders[i].loadData(readBlockList, fileContents);
|
|
108
|
-
}
|
|
109
|
-
/* Read the geometry */
|
|
110
|
-
for (let i = 0; i < this._geometryReaders.length; i++) {
|
|
111
|
-
this._geometryReaders[i].loadData(fileContents);
|
|
112
|
-
}
|
|
113
|
-
/* Read the attributes */
|
|
114
|
-
for (let i = 0; i < this._fileRecord.getAttributeCount(); i++) {
|
|
115
|
-
let attributeReader = (this._attributeReaders[i]);
|
|
116
|
-
attributeReader.loadData(fileContents);
|
|
117
|
-
}
|
|
118
|
-
/* Log file info */
|
|
119
|
-
Message.print(FileReader.MODULE, "OPC bounds are " + this._geometryReaders[0].getGeometryRecord().getBounds());
|
|
120
|
-
let tileGridSize0 = this._geometryReaders[0].getGeometryRecord().getTileGrid().size;
|
|
121
|
-
Message.print(FileReader.MODULE, "OPC level0 tile size is (" + tileGridSize0.x + "," + tileGridSize0.y + "," + tileGridSize0.z + ")");
|
|
122
|
-
let totalPointCount = ALong.ZERO;
|
|
123
|
-
let totalTileCount = 0;
|
|
124
|
-
let totalBlockCount = 0;
|
|
125
|
-
for (let i = 0; i < this._fileRecord.getLevelCount(); i++) {
|
|
126
|
-
let directoryRecord = this._directoryReaders[i].getDirectoryRecord();
|
|
127
|
-
Message.print(FileReader.MODULE, "Level " + i + " has " + directoryRecord.getPointCount() + " points, " + directoryRecord.getTileCount() + " tiles, " + directoryRecord.getBlockCount() + " blocks");
|
|
128
|
-
totalPointCount = totalPointCount.add(directoryRecord.getPointCount());
|
|
129
|
-
totalTileCount += directoryRecord.getTileCount();
|
|
130
|
-
totalBlockCount += directoryRecord.getBlockCount();
|
|
131
|
-
}
|
|
132
|
-
Message.print(FileReader.MODULE, "Pointcloud has " + totalPointCount + " points, " + totalTileCount + " tiles, " + totalBlockCount + " blocks");
|
|
133
|
-
/* Get the attributes */
|
|
134
|
-
Message.print(FileReader.MODULE, "Pointcloud has " + this._attributeReaders.length + " static attributes:");
|
|
135
|
-
for (let i = 0; i < this._attributeReaders.length; i++) {
|
|
136
|
-
Message.print(FileReader.MODULE, "Attribute " + i + ": " + this._attributeReaders[i].getAttribute());
|
|
137
|
-
Message.print(FileReader.MODULE, " min: " + this._attributeReaders[i].getMinimumValue());
|
|
138
|
-
Message.print(FileReader.MODULE, " max: " + this._attributeReaders[i].getMaximumValue());
|
|
139
|
-
}
|
|
140
|
-
/* Return the reader */
|
|
141
|
-
return this;
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Close the file.
|
|
145
|
-
*/
|
|
146
|
-
close() {
|
|
147
|
-
for (let attributeReader of this._attributeReaders)
|
|
148
|
-
attributeReader.close();
|
|
149
|
-
if (this._container != null)
|
|
150
|
-
this._container.close(true);
|
|
151
|
-
this._container = null;
|
|
152
|
-
}
|
|
153
|
-
/**
|
|
154
|
-
* Get the storage of the file.
|
|
155
|
-
* @return the storage of the file.
|
|
156
|
-
*/
|
|
157
|
-
getFileStorage() {
|
|
158
|
-
return this._fileStorage;
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Get the name of the file.
|
|
162
|
-
* @return the name of the file.
|
|
163
|
-
*/
|
|
164
|
-
getFileName() {
|
|
165
|
-
return this._fileName;
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Get the container file.
|
|
169
|
-
* @return the container file.
|
|
170
|
-
*/
|
|
171
|
-
getContainer() {
|
|
172
|
-
return this._container;
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Get the file record.
|
|
176
|
-
* @return the file record.
|
|
177
|
-
*/
|
|
178
|
-
getFileRecord() {
|
|
179
|
-
return this._fileRecord;
|
|
180
|
-
}
|
|
181
|
-
/**
|
|
182
|
-
* Get the number of resolution levels.
|
|
183
|
-
* @return the number of resolution levels.
|
|
184
|
-
*/
|
|
185
|
-
getLevelCount() {
|
|
186
|
-
return this._fileRecord.getLevelCount();
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Get a directory reader.
|
|
190
|
-
* @param level the index of the level.
|
|
191
|
-
* @return the directory reader.
|
|
192
|
-
*/
|
|
193
|
-
getDirectoryReader(level) {
|
|
194
|
-
return this._directoryReaders[level];
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Get a geometry reader.
|
|
198
|
-
* @param level the index of the level.
|
|
199
|
-
* @return the geometry reader.
|
|
200
|
-
*/
|
|
201
|
-
getGeometryReader(level) {
|
|
202
|
-
return this._geometryReaders[level];
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Get the static attribute readers.
|
|
206
|
-
* @return the static attribute readers.
|
|
207
|
-
*/
|
|
208
|
-
getStaticAttributeReaders() {
|
|
209
|
-
return this._attributeReaders;
|
|
210
|
-
}
|
|
211
|
-
/**
|
|
212
|
-
* Get the attribute readers.
|
|
213
|
-
* @return the attribute readers.
|
|
214
|
-
*/
|
|
215
|
-
getAttributeReaders() {
|
|
216
|
-
return this._attributeReaders;
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* Get the attributes.
|
|
220
|
-
* @return the attributes.
|
|
221
|
-
*/
|
|
222
|
-
getAttributes() {
|
|
223
|
-
let list = new Array(this._attributeReaders.length);
|
|
224
|
-
for (let i = 0; i < this._attributeReaders.length; i++)
|
|
225
|
-
list[i] = this._attributeReaders[i].getAttribute();
|
|
226
|
-
return list;
|
|
227
|
-
}
|
|
228
|
-
/**
|
|
229
|
-
* Find an attribute reader.
|
|
230
|
-
* @param attributeName the name of the attribute.
|
|
231
|
-
* @return the attribute reader (null if not found).
|
|
232
|
-
*/
|
|
233
|
-
findAttributeReader(attributeName) {
|
|
234
|
-
/* Check the static attributes */
|
|
235
|
-
for (let attributeReader of this._attributeReaders) {
|
|
236
|
-
if (Strings.equalsIgnoreCase(attributeReader.getAttribute().getName(), attributeName))
|
|
237
|
-
return attributeReader;
|
|
238
|
-
}
|
|
239
|
-
/* Not found */
|
|
240
|
-
return null;
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
/** The name of this module */
|
|
244
|
-
FileReader.MODULE = "FileReader";
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
/** @packageDocumentation
|
|
6
|
+
* @module OrbitGT
|
|
7
|
+
*/
|
|
8
|
+
import { ALong } from "../../../system/runtime/ALong";
|
|
9
|
+
import { Message } from "../../../system/runtime/Message";
|
|
10
|
+
import { Strings } from "../../../system/runtime/Strings";
|
|
11
|
+
import { ContentLoader } from "../../../system/storage/ContentLoader";
|
|
12
|
+
import { ContainerFile } from "./ContainerFile";
|
|
13
|
+
import { DirectoryReader } from "./DirectoryReader";
|
|
14
|
+
import { EmbeddedAttributeReader } from "./EmbeddedAttributeReader";
|
|
15
|
+
import { FileRecord } from "./FileRecord";
|
|
16
|
+
import { GeometryReader } from "./GeometryReader";
|
|
17
|
+
/**
|
|
18
|
+
* Class FileReader reads OPC files.
|
|
19
|
+
*
|
|
20
|
+
* @version 1.0 January 2014
|
|
21
|
+
*/
|
|
22
|
+
/** @internal */
|
|
23
|
+
class FileReader {
|
|
24
|
+
/**
|
|
25
|
+
* Create a new reader.
|
|
26
|
+
* @param fileName the name of the file.
|
|
27
|
+
* @param container the container file.
|
|
28
|
+
* @param fileRecord the file record.
|
|
29
|
+
*/
|
|
30
|
+
constructor(fileStorage, fileName, container, fileRecord) {
|
|
31
|
+
/* Store the parameters */
|
|
32
|
+
this._fileStorage = fileStorage;
|
|
33
|
+
this._fileName = fileName;
|
|
34
|
+
this._container = container;
|
|
35
|
+
this._fileRecord = fileRecord;
|
|
36
|
+
/* Clear */
|
|
37
|
+
this._directoryReaders = null;
|
|
38
|
+
this._geometryReaders = null;
|
|
39
|
+
this._attributeReaders = null;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Open a file.
|
|
43
|
+
* @param fileName the name of the file.
|
|
44
|
+
* @param lazyLoading avoid early loading to keep a low memory profile?
|
|
45
|
+
* @return the reader.
|
|
46
|
+
*/
|
|
47
|
+
static async openFile(fileStorage, fileName, lazyLoading) {
|
|
48
|
+
/* Open the container file */
|
|
49
|
+
let container = await ContainerFile.read(fileStorage, fileName, "OPC3");
|
|
50
|
+
/* Read the file record */
|
|
51
|
+
let filePart = container.getPart("file");
|
|
52
|
+
let fileRecord = await FileRecord.readNew(fileStorage, filePart.getFileAccess().getFileName(), filePart.getOffset(), filePart.getSize());
|
|
53
|
+
/* Create a reader */
|
|
54
|
+
let fileReader = new FileReader(fileStorage, fileName, container, fileRecord);
|
|
55
|
+
/* Open the reader */
|
|
56
|
+
fileReader = await fileReader.open(lazyLoading);
|
|
57
|
+
/* Return the reader */
|
|
58
|
+
return fileReader;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Open the reader.
|
|
62
|
+
* @param lazyLoading avoid early loading to keep a low memory profile?
|
|
63
|
+
* @return the reader.
|
|
64
|
+
*/
|
|
65
|
+
async open(lazyLoading) {
|
|
66
|
+
/* Log */
|
|
67
|
+
Message.print(FileReader.MODULE, "Opening OPC with " + this._fileRecord.getLevelCount() + " levels (crs " + this._fileRecord.getCRS() + ", lazy? " + lazyLoading + ")");
|
|
68
|
+
Message.print(FileReader.MODULE, "Container has " + this._container.getPartCount() + " parts");
|
|
69
|
+
// for(ContainerFilePart part: this._container.getParts()) Message.print(MODULE,"Part '"+part.getName()+"'");
|
|
70
|
+
/* Define the content we are going to need (dozens of parts) */
|
|
71
|
+
Message.print(FileReader.MODULE, "Loading " + this._fileRecord.getLevelCount() + " levels and " + this._fileRecord.getAttributeCount() + " attributes");
|
|
72
|
+
let fileContents = new ContentLoader(this._fileStorage, this._fileName);
|
|
73
|
+
/* Only read the block list for the top levels? (to save memory) */
|
|
74
|
+
let prefetchLevelIndex = (this._fileRecord.getLevelCount() - 6);
|
|
75
|
+
if (prefetchLevelIndex < 0)
|
|
76
|
+
prefetchLevelIndex = 0;
|
|
77
|
+
if (lazyLoading == false)
|
|
78
|
+
prefetchLevelIndex = 0;
|
|
79
|
+
Message.print(FileReader.MODULE, "Prefetching from level " + prefetchLevelIndex);
|
|
80
|
+
/* Read the directory */
|
|
81
|
+
this._directoryReaders = new Array(this._fileRecord.getLevelCount());
|
|
82
|
+
for (let i = 0; i < this._directoryReaders.length; i++) {
|
|
83
|
+
let directoryReader = new DirectoryReader(this, i);
|
|
84
|
+
let readBlockList = (i >= prefetchLevelIndex);
|
|
85
|
+
directoryReader.loadData(readBlockList, fileContents);
|
|
86
|
+
this._directoryReaders[i] = directoryReader;
|
|
87
|
+
}
|
|
88
|
+
/* Read the geometry */
|
|
89
|
+
this._geometryReaders = new Array(this._fileRecord.getLevelCount());
|
|
90
|
+
for (let i = 0; i < this._geometryReaders.length; i++) {
|
|
91
|
+
let geometryReader = new GeometryReader(this, i);
|
|
92
|
+
geometryReader.loadData(fileContents);
|
|
93
|
+
this._geometryReaders[i] = geometryReader;
|
|
94
|
+
}
|
|
95
|
+
/* Read the attributes */
|
|
96
|
+
this._attributeReaders = new Array(this._fileRecord.getAttributeCount());
|
|
97
|
+
for (let i = 0; i < this._fileRecord.getAttributeCount(); i++) {
|
|
98
|
+
let attributeReader = new EmbeddedAttributeReader(this._container, i, this._fileRecord.getLevelCount());
|
|
99
|
+
attributeReader.loadData(fileContents);
|
|
100
|
+
this._attributeReaders[i] = attributeReader;
|
|
101
|
+
}
|
|
102
|
+
/* Load all data needed for the structures */
|
|
103
|
+
fileContents = await fileContents.load();
|
|
104
|
+
/* Read the directory */
|
|
105
|
+
for (let i = 0; i < this._directoryReaders.length; i++) {
|
|
106
|
+
let readBlockList = (i >= prefetchLevelIndex);
|
|
107
|
+
this._directoryReaders[i].loadData(readBlockList, fileContents);
|
|
108
|
+
}
|
|
109
|
+
/* Read the geometry */
|
|
110
|
+
for (let i = 0; i < this._geometryReaders.length; i++) {
|
|
111
|
+
this._geometryReaders[i].loadData(fileContents);
|
|
112
|
+
}
|
|
113
|
+
/* Read the attributes */
|
|
114
|
+
for (let i = 0; i < this._fileRecord.getAttributeCount(); i++) {
|
|
115
|
+
let attributeReader = (this._attributeReaders[i]);
|
|
116
|
+
attributeReader.loadData(fileContents);
|
|
117
|
+
}
|
|
118
|
+
/* Log file info */
|
|
119
|
+
Message.print(FileReader.MODULE, "OPC bounds are " + this._geometryReaders[0].getGeometryRecord().getBounds());
|
|
120
|
+
let tileGridSize0 = this._geometryReaders[0].getGeometryRecord().getTileGrid().size;
|
|
121
|
+
Message.print(FileReader.MODULE, "OPC level0 tile size is (" + tileGridSize0.x + "," + tileGridSize0.y + "," + tileGridSize0.z + ")");
|
|
122
|
+
let totalPointCount = ALong.ZERO;
|
|
123
|
+
let totalTileCount = 0;
|
|
124
|
+
let totalBlockCount = 0;
|
|
125
|
+
for (let i = 0; i < this._fileRecord.getLevelCount(); i++) {
|
|
126
|
+
let directoryRecord = this._directoryReaders[i].getDirectoryRecord();
|
|
127
|
+
Message.print(FileReader.MODULE, "Level " + i + " has " + directoryRecord.getPointCount() + " points, " + directoryRecord.getTileCount() + " tiles, " + directoryRecord.getBlockCount() + " blocks");
|
|
128
|
+
totalPointCount = totalPointCount.add(directoryRecord.getPointCount());
|
|
129
|
+
totalTileCount += directoryRecord.getTileCount();
|
|
130
|
+
totalBlockCount += directoryRecord.getBlockCount();
|
|
131
|
+
}
|
|
132
|
+
Message.print(FileReader.MODULE, "Pointcloud has " + totalPointCount + " points, " + totalTileCount + " tiles, " + totalBlockCount + " blocks");
|
|
133
|
+
/* Get the attributes */
|
|
134
|
+
Message.print(FileReader.MODULE, "Pointcloud has " + this._attributeReaders.length + " static attributes:");
|
|
135
|
+
for (let i = 0; i < this._attributeReaders.length; i++) {
|
|
136
|
+
Message.print(FileReader.MODULE, "Attribute " + i + ": " + this._attributeReaders[i].getAttribute());
|
|
137
|
+
Message.print(FileReader.MODULE, " min: " + this._attributeReaders[i].getMinimumValue());
|
|
138
|
+
Message.print(FileReader.MODULE, " max: " + this._attributeReaders[i].getMaximumValue());
|
|
139
|
+
}
|
|
140
|
+
/* Return the reader */
|
|
141
|
+
return this;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Close the file.
|
|
145
|
+
*/
|
|
146
|
+
close() {
|
|
147
|
+
for (let attributeReader of this._attributeReaders)
|
|
148
|
+
attributeReader.close();
|
|
149
|
+
if (this._container != null)
|
|
150
|
+
this._container.close(true);
|
|
151
|
+
this._container = null;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Get the storage of the file.
|
|
155
|
+
* @return the storage of the file.
|
|
156
|
+
*/
|
|
157
|
+
getFileStorage() {
|
|
158
|
+
return this._fileStorage;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Get the name of the file.
|
|
162
|
+
* @return the name of the file.
|
|
163
|
+
*/
|
|
164
|
+
getFileName() {
|
|
165
|
+
return this._fileName;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Get the container file.
|
|
169
|
+
* @return the container file.
|
|
170
|
+
*/
|
|
171
|
+
getContainer() {
|
|
172
|
+
return this._container;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Get the file record.
|
|
176
|
+
* @return the file record.
|
|
177
|
+
*/
|
|
178
|
+
getFileRecord() {
|
|
179
|
+
return this._fileRecord;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Get the number of resolution levels.
|
|
183
|
+
* @return the number of resolution levels.
|
|
184
|
+
*/
|
|
185
|
+
getLevelCount() {
|
|
186
|
+
return this._fileRecord.getLevelCount();
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Get a directory reader.
|
|
190
|
+
* @param level the index of the level.
|
|
191
|
+
* @return the directory reader.
|
|
192
|
+
*/
|
|
193
|
+
getDirectoryReader(level) {
|
|
194
|
+
return this._directoryReaders[level];
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Get a geometry reader.
|
|
198
|
+
* @param level the index of the level.
|
|
199
|
+
* @return the geometry reader.
|
|
200
|
+
*/
|
|
201
|
+
getGeometryReader(level) {
|
|
202
|
+
return this._geometryReaders[level];
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Get the static attribute readers.
|
|
206
|
+
* @return the static attribute readers.
|
|
207
|
+
*/
|
|
208
|
+
getStaticAttributeReaders() {
|
|
209
|
+
return this._attributeReaders;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Get the attribute readers.
|
|
213
|
+
* @return the attribute readers.
|
|
214
|
+
*/
|
|
215
|
+
getAttributeReaders() {
|
|
216
|
+
return this._attributeReaders;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Get the attributes.
|
|
220
|
+
* @return the attributes.
|
|
221
|
+
*/
|
|
222
|
+
getAttributes() {
|
|
223
|
+
let list = new Array(this._attributeReaders.length);
|
|
224
|
+
for (let i = 0; i < this._attributeReaders.length; i++)
|
|
225
|
+
list[i] = this._attributeReaders[i].getAttribute();
|
|
226
|
+
return list;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Find an attribute reader.
|
|
230
|
+
* @param attributeName the name of the attribute.
|
|
231
|
+
* @return the attribute reader (null if not found).
|
|
232
|
+
*/
|
|
233
|
+
findAttributeReader(attributeName) {
|
|
234
|
+
/* Check the static attributes */
|
|
235
|
+
for (let attributeReader of this._attributeReaders) {
|
|
236
|
+
if (Strings.equalsIgnoreCase(attributeReader.getAttribute().getName(), attributeName))
|
|
237
|
+
return attributeReader;
|
|
238
|
+
}
|
|
239
|
+
/* Not found */
|
|
240
|
+
return null;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
/** The name of this module */
|
|
244
|
+
FileReader.MODULE = "FileReader";
|
|
245
|
+
export { FileReader };
|
|
245
246
|
//# sourceMappingURL=FileReader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileReader.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/FileReader.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.pointcloud.format.opc;\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 { Coordinate } from \"../../../spatial/geom/Coordinate\";\r\nimport { AList } from \"../../../system/collection/AList\";\r\nimport { ALong } from \"../../../system/runtime/ALong\";\r\nimport { Message } from \"../../../system/runtime/Message\";\r\nimport { Strings } from \"../../../system/runtime/Strings\";\r\nimport { ContentLoader } from \"../../../system/storage/ContentLoader\";\r\nimport { FileStorage } from \"../../../system/storage/FileStorage\";\r\nimport { PointAttribute } from \"../../model/PointAttribute\";\r\nimport { AttributeReader } from \"./AttributeReader\";\r\nimport { ContainerFile } from \"./ContainerFile\";\r\nimport { ContainerFilePart } from \"./ContainerFilePart\";\r\nimport { DirectoryReader } from \"./DirectoryReader\";\r\nimport { DirectoryRecord } from \"./DirectoryRecord\";\r\nimport { EmbeddedAttributeReader } from \"./EmbeddedAttributeReader\";\r\nimport { FileRecord } from \"./FileRecord\";\r\nimport { GeometryReader } from \"./GeometryReader\";\r\n\r\n/**\r\n * Class FileReader reads OPC files.\r\n *\r\n * @version 1.0 January 2014\r\n */\r\n/** @internal */\r\nexport class FileReader {\r\n /** The name of this module */\r\n private static readonly MODULE: string = \"FileReader\";\r\n\r\n /** The file storage */\r\n private _fileStorage: FileStorage;\r\n /** The name of the file */\r\n private _fileName: string;\r\n /** The container */\r\n private _container: ContainerFile;\r\n\r\n /** The file record */\r\n private _fileRecord: FileRecord;\r\n /** The directory readers (1 per level) */\r\n private _directoryReaders: Array<DirectoryReader>;\r\n /** The geometry readers (1 per level) */\r\n private _geometryReaders: Array<GeometryReader>;\r\n /** The attribute readers */\r\n private _attributeReaders: Array<AttributeReader>;\r\n\r\n /**\r\n * Create a new reader.\r\n * @param fileName the name of the file.\r\n * @param container the container file.\r\n * @param fileRecord the file record.\r\n */\r\n private constructor(fileStorage: FileStorage, fileName: string, container: ContainerFile, fileRecord: FileRecord) {\r\n /* Store the parameters */\r\n this._fileStorage = fileStorage;\r\n this._fileName = fileName;\r\n this._container = container;\r\n this._fileRecord = fileRecord;\r\n /* Clear */\r\n this._directoryReaders = null;\r\n this._geometryReaders = null;\r\n this._attributeReaders = null;\r\n }\r\n\r\n /**\r\n * Open a file.\r\n * @param fileName the name of the file.\r\n * @param lazyLoading avoid early loading to keep a low memory profile?\r\n * @return the reader.\r\n */\r\n public static async openFile(fileStorage: FileStorage, fileName: string, lazyLoading: boolean): Promise<FileReader> {\r\n /* Open the container file */\r\n let container: ContainerFile = await ContainerFile.read(fileStorage, fileName, \"OPC3\");\r\n /* Read the file record */\r\n let filePart: ContainerFilePart = container.getPart(\"file\");\r\n let fileRecord: FileRecord = await FileRecord.readNew(fileStorage, filePart.getFileAccess().getFileName(), filePart.getOffset(), filePart.getSize());\r\n /* Create a reader */\r\n let fileReader: FileReader = new FileReader(fileStorage, fileName, container, fileRecord);\r\n /* Open the reader */\r\n fileReader = await fileReader.open(lazyLoading);\r\n /* Return the reader */\r\n return fileReader;\r\n }\r\n\r\n /**\r\n * Open the reader.\r\n * @param lazyLoading avoid early loading to keep a low memory profile?\r\n * @return the reader.\r\n */\r\n private async open(lazyLoading: boolean): Promise<FileReader> {\r\n /* Log */\r\n Message.print(FileReader.MODULE, \"Opening OPC with \" + this._fileRecord.getLevelCount() + \" levels (crs \" + this._fileRecord.getCRS() + \", lazy? \" + lazyLoading + \")\");\r\n Message.print(FileReader.MODULE, \"Container has \" + this._container.getPartCount() + \" parts\");\r\n // for(ContainerFilePart part: this._container.getParts()) Message.print(MODULE,\"Part '\"+part.getName()+\"'\");\r\n /* Define the content we are going to need (dozens of parts) */\r\n Message.print(FileReader.MODULE, \"Loading \" + this._fileRecord.getLevelCount() + \" levels and \" + this._fileRecord.getAttributeCount() + \" attributes\");\r\n let fileContents: ContentLoader = new ContentLoader(this._fileStorage, this._fileName);\r\n /* Only read the block list for the top levels? (to save memory) */\r\n let prefetchLevelIndex: int32 = (this._fileRecord.getLevelCount() - 6);\r\n if (prefetchLevelIndex < 0) prefetchLevelIndex = 0;\r\n if (lazyLoading == false) prefetchLevelIndex = 0;\r\n Message.print(FileReader.MODULE, \"Prefetching from level \" + prefetchLevelIndex);\r\n /* Read the directory */\r\n this._directoryReaders = new Array<DirectoryReader>(this._fileRecord.getLevelCount());\r\n for (let i: number = 0; i < this._directoryReaders.length; i++) {\r\n let directoryReader: DirectoryReader = new DirectoryReader(this, i);\r\n let readBlockList: boolean = (i >= prefetchLevelIndex);\r\n directoryReader.loadData(readBlockList, fileContents);\r\n this._directoryReaders[i] = directoryReader;\r\n }\r\n /* Read the geometry */\r\n this._geometryReaders = new Array<GeometryReader>(this._fileRecord.getLevelCount());\r\n for (let i: number = 0; i < this._geometryReaders.length; i++) {\r\n let geometryReader: GeometryReader = new GeometryReader(this, i);\r\n geometryReader.loadData(fileContents);\r\n this._geometryReaders[i] = geometryReader;\r\n }\r\n /* Read the attributes */\r\n this._attributeReaders = new Array<AttributeReader>(this._fileRecord.getAttributeCount());\r\n for (let i: number = 0; i < this._fileRecord.getAttributeCount(); i++) {\r\n let attributeReader: EmbeddedAttributeReader = new EmbeddedAttributeReader(this._container, i, this._fileRecord.getLevelCount());\r\n attributeReader.loadData(fileContents);\r\n this._attributeReaders[i] = attributeReader;\r\n }\r\n /* Load all data needed for the structures */\r\n fileContents = await fileContents.load();\r\n /* Read the directory */\r\n for (let i: number = 0; i < this._directoryReaders.length; i++) {\r\n let readBlockList: boolean = (i >= prefetchLevelIndex);\r\n this._directoryReaders[i].loadData(readBlockList, fileContents);\r\n }\r\n /* Read the geometry */\r\n for (let i: number = 0; i < this._geometryReaders.length; i++) {\r\n this._geometryReaders[i].loadData(fileContents);\r\n }\r\n /* Read the attributes */\r\n for (let i: number = 0; i < this._fileRecord.getAttributeCount(); i++) {\r\n let attributeReader: EmbeddedAttributeReader = <EmbeddedAttributeReader><unknown>(this._attributeReaders[i]);\r\n attributeReader.loadData(fileContents);\r\n }\r\n /* Log file info */\r\n Message.print(FileReader.MODULE, \"OPC bounds are \" + this._geometryReaders[0].getGeometryRecord().getBounds());\r\n let tileGridSize0: Coordinate = this._geometryReaders[0].getGeometryRecord().getTileGrid().size;\r\n Message.print(FileReader.MODULE, \"OPC level0 tile size is (\" + tileGridSize0.x + \",\" + tileGridSize0.y + \",\" + tileGridSize0.z + \")\");\r\n let totalPointCount: ALong = ALong.ZERO;\r\n let totalTileCount: int32 = 0;\r\n let totalBlockCount: int32 = 0;\r\n for (let i: number = 0; i < this._fileRecord.getLevelCount(); i++) {\r\n let directoryRecord: DirectoryRecord = this._directoryReaders[i].getDirectoryRecord();\r\n Message.print(FileReader.MODULE, \"Level \" + i + \" has \" + directoryRecord.getPointCount() + \" points, \" + directoryRecord.getTileCount() + \" tiles, \" + directoryRecord.getBlockCount() + \" blocks\");\r\n totalPointCount = totalPointCount.add(directoryRecord.getPointCount());\r\n totalTileCount += directoryRecord.getTileCount();\r\n totalBlockCount += directoryRecord.getBlockCount();\r\n }\r\n Message.print(FileReader.MODULE, \"Pointcloud has \" + totalPointCount + \" points, \" + totalTileCount + \" tiles, \" + totalBlockCount + \" blocks\");\r\n /* Get the attributes */\r\n Message.print(FileReader.MODULE, \"Pointcloud has \" + this._attributeReaders.length + \" static attributes:\");\r\n for (let i: number = 0; i < this._attributeReaders.length; i++) {\r\n Message.print(FileReader.MODULE, \"Attribute \" + i + \": \" + this._attributeReaders[i].getAttribute());\r\n Message.print(FileReader.MODULE, \" min: \" + this._attributeReaders[i].getMinimumValue());\r\n Message.print(FileReader.MODULE, \" max: \" + this._attributeReaders[i].getMaximumValue());\r\n }\r\n /* Return the reader */\r\n return this;\r\n }\r\n\r\n /**\r\n * Close the file.\r\n */\r\n public close(): void {\r\n for (let attributeReader of this._attributeReaders) attributeReader.close();\r\n if (this._container != null) this._container.close(true);\r\n this._container = null;\r\n }\r\n\r\n /**\r\n * Get the storage of the file.\r\n * @return the storage of the file.\r\n */\r\n public getFileStorage(): FileStorage {\r\n return this._fileStorage;\r\n }\r\n\r\n /**\r\n * Get the name of the file.\r\n * @return the name of the file.\r\n */\r\n public getFileName(): string {\r\n return this._fileName;\r\n }\r\n\r\n /**\r\n * Get the container file.\r\n * @return the container file.\r\n */\r\n public getContainer(): ContainerFile {\r\n return this._container;\r\n }\r\n\r\n /**\r\n * Get the file record.\r\n * @return the file record.\r\n */\r\n public getFileRecord(): FileRecord {\r\n return this._fileRecord;\r\n }\r\n\r\n /**\r\n * Get the number of resolution levels.\r\n * @return the number of resolution levels.\r\n */\r\n public getLevelCount(): int32 {\r\n return this._fileRecord.getLevelCount();\r\n }\r\n\r\n /**\r\n * Get a directory reader.\r\n * @param level the index of the level.\r\n * @return the directory reader.\r\n */\r\n public getDirectoryReader(level: int32): DirectoryReader {\r\n return this._directoryReaders[level];\r\n }\r\n\r\n /**\r\n * Get a geometry reader.\r\n * @param level the index of the level.\r\n * @return the geometry reader.\r\n */\r\n public getGeometryReader(level: int32): GeometryReader {\r\n return this._geometryReaders[level];\r\n }\r\n\r\n /**\r\n * Get the static attribute readers.\r\n * @return the static attribute readers.\r\n */\r\n public getStaticAttributeReaders(): Array<AttributeReader> {\r\n return this._attributeReaders;\r\n }\r\n\r\n /**\r\n * Get the attribute readers.\r\n * @return the attribute readers.\r\n */\r\n public getAttributeReaders(): Array<AttributeReader> {\r\n return this._attributeReaders;\r\n }\r\n\r\n /**\r\n * Get the attributes.\r\n * @return the attributes.\r\n */\r\n public getAttributes(): Array<PointAttribute> {\r\n let list: Array<PointAttribute> = new Array<PointAttribute>(this._attributeReaders.length);\r\n for (let i: number = 0; i < this._attributeReaders.length; i++) list[i] = this._attributeReaders[i].getAttribute();\r\n return list;\r\n }\r\n\r\n /**\r\n * Find an attribute reader.\r\n * @param attributeName the name of the attribute.\r\n * @return the attribute reader (null if not found).\r\n */\r\n public findAttributeReader(attributeName: string): AttributeReader {\r\n /* Check the static attributes */\r\n for (let attributeReader of this._attributeReaders) {\r\n if (Strings.equalsIgnoreCase(attributeReader.getAttribute().getName(), attributeName)) return attributeReader;\r\n }\r\n /* Not found */\r\n return null;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"FileReader.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/FileReader.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.pointcloud.format.opc;\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 { Coordinate } from \"../../../spatial/geom/Coordinate\";\r\nimport { AList } from \"../../../system/collection/AList\";\r\nimport { ALong } from \"../../../system/runtime/ALong\";\r\nimport { Message } from \"../../../system/runtime/Message\";\r\nimport { Strings } from \"../../../system/runtime/Strings\";\r\nimport { ContentLoader } from \"../../../system/storage/ContentLoader\";\r\nimport { FileStorage } from \"../../../system/storage/FileStorage\";\r\nimport { PointAttribute } from \"../../model/PointAttribute\";\r\nimport { AttributeReader } from \"./AttributeReader\";\r\nimport { ContainerFile } from \"./ContainerFile\";\r\nimport { ContainerFilePart } from \"./ContainerFilePart\";\r\nimport { DirectoryReader } from \"./DirectoryReader\";\r\nimport { DirectoryRecord } from \"./DirectoryRecord\";\r\nimport { EmbeddedAttributeReader } from \"./EmbeddedAttributeReader\";\r\nimport { FileRecord } from \"./FileRecord\";\r\nimport { GeometryReader } from \"./GeometryReader\";\r\n\r\n/**\r\n * Class FileReader reads OPC files.\r\n *\r\n * @version 1.0 January 2014\r\n */\r\n/** @internal */\r\nexport class FileReader {\r\n /** The name of this module */\r\n private static readonly MODULE: string = \"FileReader\";\r\n\r\n /** The file storage */\r\n private _fileStorage: FileStorage;\r\n /** The name of the file */\r\n private _fileName: string;\r\n /** The container */\r\n private _container: ContainerFile;\r\n\r\n /** The file record */\r\n private _fileRecord: FileRecord;\r\n /** The directory readers (1 per level) */\r\n private _directoryReaders: Array<DirectoryReader>;\r\n /** The geometry readers (1 per level) */\r\n private _geometryReaders: Array<GeometryReader>;\r\n /** The attribute readers */\r\n private _attributeReaders: Array<AttributeReader>;\r\n\r\n /**\r\n * Create a new reader.\r\n * @param fileName the name of the file.\r\n * @param container the container file.\r\n * @param fileRecord the file record.\r\n */\r\n private constructor(fileStorage: FileStorage, fileName: string, container: ContainerFile, fileRecord: FileRecord) {\r\n /* Store the parameters */\r\n this._fileStorage = fileStorage;\r\n this._fileName = fileName;\r\n this._container = container;\r\n this._fileRecord = fileRecord;\r\n /* Clear */\r\n this._directoryReaders = null;\r\n this._geometryReaders = null;\r\n this._attributeReaders = null;\r\n }\r\n\r\n /**\r\n * Open a file.\r\n * @param fileName the name of the file.\r\n * @param lazyLoading avoid early loading to keep a low memory profile?\r\n * @return the reader.\r\n */\r\n public static async openFile(fileStorage: FileStorage, fileName: string, lazyLoading: boolean): Promise<FileReader> {\r\n /* Open the container file */\r\n let container: ContainerFile = await ContainerFile.read(fileStorage, fileName, \"OPC3\");\r\n /* Read the file record */\r\n let filePart: ContainerFilePart = container.getPart(\"file\");\r\n let fileRecord: FileRecord = await FileRecord.readNew(fileStorage, filePart.getFileAccess().getFileName(), filePart.getOffset(), filePart.getSize());\r\n /* Create a reader */\r\n let fileReader: FileReader = new FileReader(fileStorage, fileName, container, fileRecord);\r\n /* Open the reader */\r\n fileReader = await fileReader.open(lazyLoading);\r\n /* Return the reader */\r\n return fileReader;\r\n }\r\n\r\n /**\r\n * Open the reader.\r\n * @param lazyLoading avoid early loading to keep a low memory profile?\r\n * @return the reader.\r\n */\r\n private async open(lazyLoading: boolean): Promise<FileReader> {\r\n /* Log */\r\n Message.print(FileReader.MODULE, \"Opening OPC with \" + this._fileRecord.getLevelCount() + \" levels (crs \" + this._fileRecord.getCRS() + \", lazy? \" + lazyLoading + \")\");\r\n Message.print(FileReader.MODULE, \"Container has \" + this._container.getPartCount() + \" parts\");\r\n // for(ContainerFilePart part: this._container.getParts()) Message.print(MODULE,\"Part '\"+part.getName()+\"'\");\r\n /* Define the content we are going to need (dozens of parts) */\r\n Message.print(FileReader.MODULE, \"Loading \" + this._fileRecord.getLevelCount() + \" levels and \" + this._fileRecord.getAttributeCount() + \" attributes\");\r\n let fileContents: ContentLoader = new ContentLoader(this._fileStorage, this._fileName);\r\n /* Only read the block list for the top levels? (to save memory) */\r\n let prefetchLevelIndex: int32 = (this._fileRecord.getLevelCount() - 6);\r\n if (prefetchLevelIndex < 0) prefetchLevelIndex = 0;\r\n if (lazyLoading == false) prefetchLevelIndex = 0;\r\n Message.print(FileReader.MODULE, \"Prefetching from level \" + prefetchLevelIndex);\r\n /* Read the directory */\r\n this._directoryReaders = new Array<DirectoryReader>(this._fileRecord.getLevelCount());\r\n for (let i: number = 0; i < this._directoryReaders.length; i++) {\r\n let directoryReader: DirectoryReader = new DirectoryReader(this, i);\r\n let readBlockList: boolean = (i >= prefetchLevelIndex);\r\n directoryReader.loadData(readBlockList, fileContents);\r\n this._directoryReaders[i] = directoryReader;\r\n }\r\n /* Read the geometry */\r\n this._geometryReaders = new Array<GeometryReader>(this._fileRecord.getLevelCount());\r\n for (let i: number = 0; i < this._geometryReaders.length; i++) {\r\n let geometryReader: GeometryReader = new GeometryReader(this, i);\r\n geometryReader.loadData(fileContents);\r\n this._geometryReaders[i] = geometryReader;\r\n }\r\n /* Read the attributes */\r\n this._attributeReaders = new Array<AttributeReader>(this._fileRecord.getAttributeCount());\r\n for (let i: number = 0; i < this._fileRecord.getAttributeCount(); i++) {\r\n let attributeReader: EmbeddedAttributeReader = new EmbeddedAttributeReader(this._container, i, this._fileRecord.getLevelCount());\r\n attributeReader.loadData(fileContents);\r\n this._attributeReaders[i] = attributeReader;\r\n }\r\n /* Load all data needed for the structures */\r\n fileContents = await fileContents.load();\r\n /* Read the directory */\r\n for (let i: number = 0; i < this._directoryReaders.length; i++) {\r\n let readBlockList: boolean = (i >= prefetchLevelIndex);\r\n this._directoryReaders[i].loadData(readBlockList, fileContents);\r\n }\r\n /* Read the geometry */\r\n for (let i: number = 0; i < this._geometryReaders.length; i++) {\r\n this._geometryReaders[i].loadData(fileContents);\r\n }\r\n /* Read the attributes */\r\n for (let i: number = 0; i < this._fileRecord.getAttributeCount(); i++) {\r\n let attributeReader: EmbeddedAttributeReader = <EmbeddedAttributeReader><unknown>(this._attributeReaders[i]);\r\n attributeReader.loadData(fileContents);\r\n }\r\n /* Log file info */\r\n Message.print(FileReader.MODULE, \"OPC bounds are \" + this._geometryReaders[0].getGeometryRecord().getBounds());\r\n let tileGridSize0: Coordinate = this._geometryReaders[0].getGeometryRecord().getTileGrid().size;\r\n Message.print(FileReader.MODULE, \"OPC level0 tile size is (\" + tileGridSize0.x + \",\" + tileGridSize0.y + \",\" + tileGridSize0.z + \")\");\r\n let totalPointCount: ALong = ALong.ZERO;\r\n let totalTileCount: int32 = 0;\r\n let totalBlockCount: int32 = 0;\r\n for (let i: number = 0; i < this._fileRecord.getLevelCount(); i++) {\r\n let directoryRecord: DirectoryRecord = this._directoryReaders[i].getDirectoryRecord();\r\n Message.print(FileReader.MODULE, \"Level \" + i + \" has \" + directoryRecord.getPointCount() + \" points, \" + directoryRecord.getTileCount() + \" tiles, \" + directoryRecord.getBlockCount() + \" blocks\");\r\n totalPointCount = totalPointCount.add(directoryRecord.getPointCount());\r\n totalTileCount += directoryRecord.getTileCount();\r\n totalBlockCount += directoryRecord.getBlockCount();\r\n }\r\n Message.print(FileReader.MODULE, \"Pointcloud has \" + totalPointCount + \" points, \" + totalTileCount + \" tiles, \" + totalBlockCount + \" blocks\");\r\n /* Get the attributes */\r\n Message.print(FileReader.MODULE, \"Pointcloud has \" + this._attributeReaders.length + \" static attributes:\");\r\n for (let i: number = 0; i < this._attributeReaders.length; i++) {\r\n Message.print(FileReader.MODULE, \"Attribute \" + i + \": \" + this._attributeReaders[i].getAttribute());\r\n Message.print(FileReader.MODULE, \" min: \" + this._attributeReaders[i].getMinimumValue());\r\n Message.print(FileReader.MODULE, \" max: \" + this._attributeReaders[i].getMaximumValue());\r\n }\r\n /* Return the reader */\r\n return this;\r\n }\r\n\r\n /**\r\n * Close the file.\r\n */\r\n public close(): void {\r\n for (let attributeReader of this._attributeReaders) attributeReader.close();\r\n if (this._container != null) this._container.close(true);\r\n this._container = null;\r\n }\r\n\r\n /**\r\n * Get the storage of the file.\r\n * @return the storage of the file.\r\n */\r\n public getFileStorage(): FileStorage {\r\n return this._fileStorage;\r\n }\r\n\r\n /**\r\n * Get the name of the file.\r\n * @return the name of the file.\r\n */\r\n public getFileName(): string {\r\n return this._fileName;\r\n }\r\n\r\n /**\r\n * Get the container file.\r\n * @return the container file.\r\n */\r\n public getContainer(): ContainerFile {\r\n return this._container;\r\n }\r\n\r\n /**\r\n * Get the file record.\r\n * @return the file record.\r\n */\r\n public getFileRecord(): FileRecord {\r\n return this._fileRecord;\r\n }\r\n\r\n /**\r\n * Get the number of resolution levels.\r\n * @return the number of resolution levels.\r\n */\r\n public getLevelCount(): int32 {\r\n return this._fileRecord.getLevelCount();\r\n }\r\n\r\n /**\r\n * Get a directory reader.\r\n * @param level the index of the level.\r\n * @return the directory reader.\r\n */\r\n public getDirectoryReader(level: int32): DirectoryReader {\r\n return this._directoryReaders[level];\r\n }\r\n\r\n /**\r\n * Get a geometry reader.\r\n * @param level the index of the level.\r\n * @return the geometry reader.\r\n */\r\n public getGeometryReader(level: int32): GeometryReader {\r\n return this._geometryReaders[level];\r\n }\r\n\r\n /**\r\n * Get the static attribute readers.\r\n * @return the static attribute readers.\r\n */\r\n public getStaticAttributeReaders(): Array<AttributeReader> {\r\n return this._attributeReaders;\r\n }\r\n\r\n /**\r\n * Get the attribute readers.\r\n * @return the attribute readers.\r\n */\r\n public getAttributeReaders(): Array<AttributeReader> {\r\n return this._attributeReaders;\r\n }\r\n\r\n /**\r\n * Get the attributes.\r\n * @return the attributes.\r\n */\r\n public getAttributes(): Array<PointAttribute> {\r\n let list: Array<PointAttribute> = new Array<PointAttribute>(this._attributeReaders.length);\r\n for (let i: number = 0; i < this._attributeReaders.length; i++) list[i] = this._attributeReaders[i].getAttribute();\r\n return list;\r\n }\r\n\r\n /**\r\n * Find an attribute reader.\r\n * @param attributeName the name of the attribute.\r\n * @return the attribute reader (null if not found).\r\n */\r\n public findAttributeReader(attributeName: string): AttributeReader {\r\n /* Check the static attributes */\r\n for (let attributeReader of this._attributeReaders) {\r\n if (Strings.equalsIgnoreCase(attributeReader.getAttribute().getName(), attributeName)) return attributeReader;\r\n }\r\n /* Not found */\r\n return null;\r\n }\r\n}\r\n"]}
|