@itwin/core-orbitgt 4.0.0-dev.44 → 4.0.0-dev.48
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/lib/cjs/core-orbitgt.d.ts +26 -26
- package/lib/cjs/core-orbitgt.js +58 -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/AttributeMask.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/AttributeReader.d.ts +63 -63
- package/lib/cjs/pointcloud/format/opc/AttributeReader.js +24 -24
- package/lib/cjs/pointcloud/format/opc/AttributeReader.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/BlockRecord.d.ts +54 -54
- 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.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/ContainerFilePart.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/DirectoryReader.d.ts +75 -75
- package/lib/cjs/pointcloud/format/opc/DirectoryReader.js +169 -169
- package/lib/cjs/pointcloud/format/opc/DirectoryReader.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/DirectoryRecord.d.ts +59 -59
- package/lib/cjs/pointcloud/format/opc/DirectoryRecord.js +89 -89
- package/lib/cjs/pointcloud/format/opc/DirectoryRecord.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.d.ts +106 -106
- package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.js +197 -197
- package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.js.map +1 -1
- 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/FileAccess.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/FileReader.d.ts +118 -118
- 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.js +125 -125
- package/lib/cjs/pointcloud/format/opc/FileRecord.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/GeometryReader.d.ts +79 -79
- 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/GeometryRecord.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/OPCReader.d.ts +157 -157
- 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.js +152 -152
- package/lib/cjs/pointcloud/format/opc/PointReader.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/TileReadBuffer.d.ts +63 -63
- package/lib/cjs/pointcloud/format/opc/TileReadBuffer.js +92 -92
- package/lib/cjs/pointcloud/format/opc/TileReadBuffer.js.map +1 -1
- package/lib/cjs/pointcloud/format/opc/TileRecord.d.ts +88 -88
- 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.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.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.js +48 -48
- package/lib/cjs/pointcloud/model/BlockIndex.js.map +1 -1
- package/lib/cjs/pointcloud/model/CloudPoint.d.ts +210 -210
- 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.js +129 -129
- package/lib/cjs/pointcloud/model/Grid.js.map +1 -1
- package/lib/cjs/pointcloud/model/GridIndex.d.ts +66 -66
- package/lib/cjs/pointcloud/model/GridIndex.js +93 -93
- package/lib/cjs/pointcloud/model/GridIndex.js.map +1 -1
- package/lib/cjs/pointcloud/model/PointAttribute.d.ts +208 -208
- package/lib/cjs/pointcloud/model/PointAttribute.js +374 -374
- package/lib/cjs/pointcloud/model/PointAttribute.js.map +1 -1
- package/lib/cjs/pointcloud/model/PointCloudReader.d.ts +156 -156
- package/lib/cjs/pointcloud/model/PointCloudReader.js +189 -189
- package/lib/cjs/pointcloud/model/PointCloudReader.js.map +1 -1
- package/lib/cjs/pointcloud/model/PointData.d.ts +17 -17
- package/lib/cjs/pointcloud/model/PointData.js +24 -24
- package/lib/cjs/pointcloud/model/PointData.js.map +1 -1
- package/lib/cjs/pointcloud/model/PointDataRaw.d.ts +34 -34
- 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.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.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.js +47 -47
- package/lib/cjs/pointcloud/model/TileIndex.js.map +1 -1
- package/lib/cjs/pointcloud/render/AViewRequest.d.ts +38 -38
- package/lib/cjs/pointcloud/render/AViewRequest.js +24 -24
- package/lib/cjs/pointcloud/render/AViewRequest.js.map +1 -1
- package/lib/cjs/pointcloud/render/Block.d.ts +67 -67
- package/lib/cjs/pointcloud/render/Block.js +119 -119
- package/lib/cjs/pointcloud/render/Block.js.map +1 -1
- package/lib/cjs/pointcloud/render/DataManager.d.ts +136 -136
- 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/FrameData.js.map +1 -1
- package/lib/cjs/pointcloud/render/Level.d.ts +90 -90
- package/lib/cjs/pointcloud/render/Level.js +119 -119
- package/lib/cjs/pointcloud/render/Level.js.map +1 -1
- package/lib/cjs/pointcloud/render/TileLoadSorter.d.ts +60 -60
- 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.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/CRSEngine.js.map +1 -1
- 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.js +93 -93
- package/lib/cjs/spatial/ecrs/Axis.js.map +1 -1
- package/lib/cjs/spatial/ecrs/CRS.d.ts +447 -447
- 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.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.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.js +336 -336
- package/lib/cjs/spatial/ecrs/Ellipsoid.js.map +1 -1
- 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.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.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.js +75 -75
- package/lib/cjs/spatial/ecrs/OperationMethod.js.map +1 -1
- package/lib/cjs/spatial/ecrs/ParameterValue.d.ts +49 -49
- package/lib/cjs/spatial/ecrs/ParameterValue.js +65 -65
- package/lib/cjs/spatial/ecrs/ParameterValue.js.map +1 -1
- package/lib/cjs/spatial/ecrs/ParameterValueList.d.ts +72 -72
- package/lib/cjs/spatial/ecrs/ParameterValueList.js +120 -120
- package/lib/cjs/spatial/ecrs/ParameterValueList.js.map +1 -1
- package/lib/cjs/spatial/ecrs/PrimeMeridian.d.ts +78 -78
- package/lib/cjs/spatial/ecrs/PrimeMeridian.js +108 -108
- package/lib/cjs/spatial/ecrs/PrimeMeridian.js.map +1 -1
- package/lib/cjs/spatial/ecrs/Registry.d.ts +109 -109
- 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.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.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.js +88 -88
- package/lib/cjs/spatial/ecrs/VerticalModel.js.map +1 -1
- package/lib/cjs/spatial/ecrs/WellKnownText.d.ts +153 -153
- 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.js +128 -128
- package/lib/cjs/spatial/ecrs/WellKnownTextNode.js.map +1 -1
- package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.d.ts +101 -101
- 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.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.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.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.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.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.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.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.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.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.js +156 -156
- package/lib/cjs/spatial/geom/Bounds.js.map +1 -1
- package/lib/cjs/spatial/geom/Coordinate.d.ts +61 -61
- package/lib/cjs/spatial/geom/Coordinate.js +186 -186
- package/lib/cjs/spatial/geom/Coordinate.js.map +1 -1
- package/lib/cjs/spatial/geom/Line.d.ts +225 -225
- package/lib/cjs/spatial/geom/Line.js +432 -432
- package/lib/cjs/spatial/geom/Line.js.map +1 -1
- package/lib/cjs/spatial/geom/Transform.d.ts +340 -340
- package/lib/cjs/spatial/geom/Transform.js +748 -748
- package/lib/cjs/spatial/geom/Transform.js.map +1 -1
- package/lib/cjs/system/buffer/ABuffer.d.ts +51 -51
- package/lib/cjs/system/buffer/ABuffer.js +90 -90
- package/lib/cjs/system/buffer/ABuffer.js.map +1 -1
- package/lib/cjs/system/buffer/Float32Buffer.d.ts +46 -46
- 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.js +303 -303
- package/lib/cjs/system/buffer/LittleEndian.js.map +1 -1
- package/lib/cjs/system/buffer/Uint16Buffer.d.ts +49 -49
- 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.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.js +70 -70
- package/lib/cjs/system/collection/AList.js.map +1 -1
- package/lib/cjs/system/collection/IntMap.d.ts +18 -18
- package/lib/cjs/system/collection/IntMap.js +35 -35
- package/lib/cjs/system/collection/IntMap.js.map +1 -1
- package/lib/cjs/system/collection/StringMap.d.ts +26 -26
- package/lib/cjs/system/collection/StringMap.js +63 -63
- package/lib/cjs/system/collection/StringMap.js.map +1 -1
- package/lib/cjs/system/io/ABufferInStream.d.ts +29 -29
- package/lib/cjs/system/io/ABufferInStream.js +46 -46
- package/lib/cjs/system/io/ABufferInStream.js.map +1 -1
- package/lib/cjs/system/io/InStream.d.ts +23 -23
- package/lib/cjs/system/io/InStream.js +34 -34
- package/lib/cjs/system/io/InStream.js.map +1 -1
- package/lib/cjs/system/io/OutStream.d.ts +23 -23
- package/lib/cjs/system/io/OutStream.js +33 -33
- package/lib/cjs/system/io/OutStream.js.map +1 -1
- package/lib/cjs/system/runtime/ALong.d.ts +329 -329
- 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/DownloaderNode.js.map +1 -1
- package/lib/cjs/system/runtime/DownloaderXhr.d.ts +18 -18
- package/lib/cjs/system/runtime/DownloaderXhr.js +131 -131
- package/lib/cjs/system/runtime/DownloaderXhr.js.map +1 -1
- 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.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.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.js +9 -9
- package/lib/cjs/system/runtime/iComparator.js.map +1 -1
- package/lib/cjs/system/storage/CacheList.d.ts +39 -39
- package/lib/cjs/system/storage/CacheList.js +80 -80
- package/lib/cjs/system/storage/CacheList.js.map +1 -1
- package/lib/cjs/system/storage/CachedItem.d.ts +21 -21
- package/lib/cjs/system/storage/CachedItem.js +25 -25
- package/lib/cjs/system/storage/CachedItem.js.map +1 -1
- package/lib/cjs/system/storage/ContentLoader.d.ts +64 -64
- 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/FileContent.js.map +1 -1
- package/lib/cjs/system/storage/FileRange.d.ts +20 -20
- package/lib/cjs/system/storage/FileRange.js +24 -24
- package/lib/cjs/system/storage/FileRange.js.map +1 -1
- package/lib/cjs/system/storage/FileStorage.d.ts +44 -44
- package/lib/cjs/system/storage/FileStorage.js +62 -62
- package/lib/cjs/system/storage/FileStorage.js.map +1 -1
- package/lib/cjs/system/storage/NodeFS.d.ts +41 -41
- package/lib/cjs/system/storage/NodeFS.js +79 -79
- package/lib/cjs/system/storage/NodeFS.js.map +1 -1
- package/lib/cjs/system/storage/PageCachedFile.d.ts +54 -54
- package/lib/cjs/system/storage/PageCachedFile.js +165 -165
- package/lib/cjs/system/storage/PageCachedFile.js.map +1 -1
- package/lib/cjs/system/storage/UrlFS.d.ts +53 -53
- 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/core-orbitgt.js.map +1 -1
- 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/AttributeMask.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/AttributeReader.d.ts +63 -63
- package/lib/esm/pointcloud/format/opc/AttributeReader.js +20 -20
- package/lib/esm/pointcloud/format/opc/AttributeReader.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/BlockRecord.d.ts +54 -54
- package/lib/esm/pointcloud/format/opc/BlockRecord.js +80 -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.js +195 -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/ContainerFilePart.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/DirectoryReader.d.ts +75 -75
- package/lib/esm/pointcloud/format/opc/DirectoryReader.js +165 -165
- package/lib/esm/pointcloud/format/opc/DirectoryReader.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/DirectoryRecord.d.ts +59 -59
- package/lib/esm/pointcloud/format/opc/DirectoryRecord.js +85 -85
- package/lib/esm/pointcloud/format/opc/DirectoryRecord.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.d.ts +106 -106
- package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.js +193 -193
- package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.js.map +1 -1
- 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/FileAccess.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/FileReader.d.ts +118 -118
- package/lib/esm/pointcloud/format/opc/FileReader.js +244 -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.js +121 -121
- package/lib/esm/pointcloud/format/opc/FileRecord.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/GeometryReader.d.ts +79 -79
- package/lib/esm/pointcloud/format/opc/GeometryReader.js +159 -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/GeometryRecord.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/OPCReader.d.ts +157 -157
- 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.js +148 -148
- package/lib/esm/pointcloud/format/opc/PointReader.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/TileReadBuffer.d.ts +63 -63
- package/lib/esm/pointcloud/format/opc/TileReadBuffer.js +88 -88
- package/lib/esm/pointcloud/format/opc/TileReadBuffer.js.map +1 -1
- package/lib/esm/pointcloud/format/opc/TileRecord.d.ts +88 -88
- package/lib/esm/pointcloud/format/opc/TileRecord.js +157 -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.js +60 -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.js +504 -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.js +44 -44
- package/lib/esm/pointcloud/model/BlockIndex.js.map +1 -1
- package/lib/esm/pointcloud/model/CloudPoint.d.ts +210 -210
- package/lib/esm/pointcloud/model/CloudPoint.js +314 -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.js +125 -125
- package/lib/esm/pointcloud/model/Grid.js.map +1 -1
- package/lib/esm/pointcloud/model/GridIndex.d.ts +66 -66
- package/lib/esm/pointcloud/model/GridIndex.js +89 -89
- package/lib/esm/pointcloud/model/GridIndex.js.map +1 -1
- package/lib/esm/pointcloud/model/PointAttribute.d.ts +208 -208
- package/lib/esm/pointcloud/model/PointAttribute.js +370 -370
- package/lib/esm/pointcloud/model/PointAttribute.js.map +1 -1
- package/lib/esm/pointcloud/model/PointCloudReader.d.ts +156 -156
- package/lib/esm/pointcloud/model/PointCloudReader.js +185 -185
- package/lib/esm/pointcloud/model/PointCloudReader.js.map +1 -1
- package/lib/esm/pointcloud/model/PointData.d.ts +17 -17
- package/lib/esm/pointcloud/model/PointData.js +20 -20
- package/lib/esm/pointcloud/model/PointData.js.map +1 -1
- package/lib/esm/pointcloud/model/PointDataRaw.d.ts +34 -34
- package/lib/esm/pointcloud/model/PointDataRaw.js +65 -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.js +235 -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.js +43 -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.js +43 -43
- package/lib/esm/pointcloud/model/TileIndex.js.map +1 -1
- package/lib/esm/pointcloud/render/AViewRequest.d.ts +38 -38
- package/lib/esm/pointcloud/render/AViewRequest.js +20 -20
- package/lib/esm/pointcloud/render/AViewRequest.js.map +1 -1
- package/lib/esm/pointcloud/render/Block.d.ts +67 -67
- package/lib/esm/pointcloud/render/Block.js +115 -115
- package/lib/esm/pointcloud/render/Block.js.map +1 -1
- package/lib/esm/pointcloud/render/DataManager.d.ts +136 -136
- package/lib/esm/pointcloud/render/DataManager.js +338 -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/FrameData.js.map +1 -1
- package/lib/esm/pointcloud/render/Level.d.ts +90 -90
- package/lib/esm/pointcloud/render/Level.js +115 -115
- package/lib/esm/pointcloud/render/Level.js.map +1 -1
- package/lib/esm/pointcloud/render/TileLoadSorter.d.ts +60 -60
- package/lib/esm/pointcloud/render/TileLoadSorter.js +95 -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.js +359 -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/CRSEngine.js.map +1 -1
- package/lib/esm/spatial/crs/CRSManager.d.ts +49 -49
- package/lib/esm/spatial/crs/CRSManager.js +105 -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.js +89 -89
- package/lib/esm/spatial/ecrs/Axis.js.map +1 -1
- package/lib/esm/spatial/ecrs/CRS.d.ts +447 -447
- package/lib/esm/spatial/ecrs/CRS.js +926 -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.js +322 -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 +100 -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.js +162 -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.js +332 -332
- package/lib/esm/spatial/ecrs/Ellipsoid.js.map +1 -1
- 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.js +72 -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.js +341 -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.js +71 -71
- package/lib/esm/spatial/ecrs/OperationMethod.js.map +1 -1
- package/lib/esm/spatial/ecrs/ParameterValue.d.ts +49 -49
- package/lib/esm/spatial/ecrs/ParameterValue.js +61 -61
- package/lib/esm/spatial/ecrs/ParameterValue.js.map +1 -1
- package/lib/esm/spatial/ecrs/ParameterValueList.d.ts +72 -72
- package/lib/esm/spatial/ecrs/ParameterValueList.js +116 -116
- package/lib/esm/spatial/ecrs/ParameterValueList.js.map +1 -1
- package/lib/esm/spatial/ecrs/PrimeMeridian.d.ts +78 -78
- package/lib/esm/spatial/ecrs/PrimeMeridian.js +104 -104
- package/lib/esm/spatial/ecrs/PrimeMeridian.js.map +1 -1
- package/lib/esm/spatial/ecrs/Registry.d.ts +109 -109
- package/lib/esm/spatial/ecrs/Registry.js +203 -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.js +392 -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.js +332 -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.js +84 -84
- package/lib/esm/spatial/ecrs/VerticalModel.js.map +1 -1
- package/lib/esm/spatial/ecrs/WellKnownText.d.ts +153 -153
- package/lib/esm/spatial/ecrs/WellKnownText.js +490 -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.js +124 -124
- package/lib/esm/spatial/ecrs/WellKnownTextNode.js.map +1 -1
- package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.d.ts +101 -101
- package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.js +158 -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.js +121 -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.js +69 -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.js +125 -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.js +175 -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.js +108 -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.js +169 -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.js +204 -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.js +179 -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.js +126 -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.js +152 -152
- package/lib/esm/spatial/geom/Bounds.js.map +1 -1
- package/lib/esm/spatial/geom/Coordinate.d.ts +61 -61
- package/lib/esm/spatial/geom/Coordinate.js +182 -182
- package/lib/esm/spatial/geom/Coordinate.js.map +1 -1
- package/lib/esm/spatial/geom/Line.d.ts +225 -225
- package/lib/esm/spatial/geom/Line.js +428 -428
- package/lib/esm/spatial/geom/Line.js.map +1 -1
- package/lib/esm/spatial/geom/Transform.d.ts +340 -340
- package/lib/esm/spatial/geom/Transform.js +744 -744
- package/lib/esm/spatial/geom/Transform.js.map +1 -1
- package/lib/esm/system/buffer/ABuffer.d.ts +51 -51
- package/lib/esm/system/buffer/ABuffer.js +86 -86
- package/lib/esm/system/buffer/ABuffer.js.map +1 -1
- package/lib/esm/system/buffer/Float32Buffer.d.ts +46 -46
- package/lib/esm/system/buffer/Float32Buffer.js +56 -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.js +299 -299
- package/lib/esm/system/buffer/LittleEndian.js.map +1 -1
- package/lib/esm/system/buffer/Uint16Buffer.d.ts +49 -49
- package/lib/esm/system/buffer/Uint16Buffer.js +61 -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.js +61 -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.js +66 -66
- package/lib/esm/system/collection/AList.js.map +1 -1
- package/lib/esm/system/collection/IntMap.d.ts +18 -18
- package/lib/esm/system/collection/IntMap.js +31 -31
- package/lib/esm/system/collection/IntMap.js.map +1 -1
- package/lib/esm/system/collection/StringMap.d.ts +26 -26
- package/lib/esm/system/collection/StringMap.js +59 -59
- package/lib/esm/system/collection/StringMap.js.map +1 -1
- package/lib/esm/system/io/ABufferInStream.d.ts +29 -29
- package/lib/esm/system/io/ABufferInStream.js +42 -42
- package/lib/esm/system/io/ABufferInStream.js.map +1 -1
- package/lib/esm/system/io/InStream.d.ts +23 -23
- package/lib/esm/system/io/InStream.js +30 -30
- package/lib/esm/system/io/InStream.js.map +1 -1
- package/lib/esm/system/io/OutStream.d.ts +23 -23
- package/lib/esm/system/io/OutStream.js +29 -29
- package/lib/esm/system/io/OutStream.js.map +1 -1
- package/lib/esm/system/runtime/ALong.d.ts +329 -329
- package/lib/esm/system/runtime/ALong.js +683 -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 +27 -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 +34 -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/DownloaderNode.js.map +1 -1
- package/lib/esm/system/runtime/DownloaderXhr.d.ts +18 -18
- package/lib/esm/system/runtime/DownloaderXhr.js +127 -127
- package/lib/esm/system/runtime/DownloaderXhr.js.map +1 -1
- package/lib/esm/system/runtime/Message.d.ts +16 -16
- package/lib/esm/system/runtime/Message.js +35 -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.js +83 -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.js +184 -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.js +8 -8
- package/lib/esm/system/runtime/iComparator.js.map +1 -1
- package/lib/esm/system/storage/CacheList.d.ts +39 -39
- package/lib/esm/system/storage/CacheList.js +76 -76
- package/lib/esm/system/storage/CacheList.js.map +1 -1
- package/lib/esm/system/storage/CachedItem.d.ts +21 -21
- package/lib/esm/system/storage/CachedItem.js +21 -21
- package/lib/esm/system/storage/CachedItem.js.map +1 -1
- package/lib/esm/system/storage/ContentLoader.d.ts +64 -64
- package/lib/esm/system/storage/ContentLoader.js +91 -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/FileContent.js.map +1 -1
- package/lib/esm/system/storage/FileRange.d.ts +20 -20
- package/lib/esm/system/storage/FileRange.js +20 -20
- package/lib/esm/system/storage/FileRange.js.map +1 -1
- package/lib/esm/system/storage/FileStorage.d.ts +44 -44
- package/lib/esm/system/storage/FileStorage.js +58 -58
- package/lib/esm/system/storage/FileStorage.js.map +1 -1
- package/lib/esm/system/storage/NodeFS.d.ts +41 -41
- package/lib/esm/system/storage/NodeFS.js +75 -75
- package/lib/esm/system/storage/NodeFS.js.map +1 -1
- package/lib/esm/system/storage/PageCachedFile.d.ts +54 -54
- package/lib/esm/system/storage/PageCachedFile.js +161 -161
- package/lib/esm/system/storage/PageCachedFile.js.map +1 -1
- package/lib/esm/system/storage/UrlFS.d.ts +53 -53
- package/lib/esm/system/storage/UrlFS.js +110 -110
- package/lib/esm/system/storage/UrlFS.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OPCReader.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/OPCReader.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 { Bounds } from \"../../../spatial/geom/Bounds\";\r\nimport { Coordinate } from \"../../../spatial/geom/Coordinate\";\r\nimport { ABuffer } from \"../../../system/buffer/ABuffer\";\r\nimport { Uint16Buffer } from \"../../../system/buffer/Uint16Buffer\";\r\nimport { Uint8Buffer } from \"../../../system/buffer/Uint8Buffer\";\r\nimport { AList } from \"../../../system/collection/AList\";\r\nimport { ALong } from \"../../../system/runtime/ALong\";\r\nimport { ASystem } from \"../../../system/runtime/ASystem\";\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 { AttributeValue } from \"../../model/AttributeValue\";\r\nimport { BlockIndex } from \"../../model/BlockIndex\";\r\nimport { CloudPoint } from \"../../model/CloudPoint\";\r\nimport { Grid } from \"../../model/Grid\";\r\nimport { PointAttribute } from \"../../model/PointAttribute\";\r\nimport { PointCloudReader } from \"../../model/PointCloudReader\";\r\nimport { PointData } from \"../../model/PointData\";\r\nimport { PointDataRaw } from \"../../model/PointDataRaw\";\r\nimport { ReadRequest } from \"../../model/ReadRequest\";\r\nimport { StandardAttributes } from \"../../model/StandardAttributes\";\r\nimport { TileIndex } from \"../../model/TileIndex\";\r\nimport { AttributeMask } from \"./AttributeMask\";\r\nimport { AttributeReader } from \"./AttributeReader\";\r\nimport { DirectoryReader } from \"./DirectoryReader\";\r\nimport { FileReader } from \"./FileReader\";\r\nimport { PointReader } from \"./PointReader\";\r\nimport { TileReadBuffer } from \"./TileReadBuffer\";\r\n\r\n/**\r\n * Class OPCReader reads pointcloud files.\r\n *\r\n * @version 1.0 January 2014\r\n */\r\n/** @internal */\r\nexport class OPCReader extends PointCloudReader {\r\n /** The file reader */\r\n private _fileReader: FileReader;\r\n /** The index of the first level */\r\n private _levelOffset: int32;\r\n /** The number of levels */\r\n private _levelCount: int32;\r\n\r\n /**\r\n * Create a new reader for a file.\r\n * @param fileName the name of the file.\r\n * @param lazyLoading avoid early loading of all block indexes to keep a low memory profile? Lazy loading only loads the block indexes of the top 6 levels (see CLOUD-1152 issue)\r\n * @return the reader.\r\n */\r\n public static async openFile(fileStorage: FileStorage, fileName: string, lazyLoading: boolean): Promise<OPCReader> {\r\n /* Open the file */\r\n const fileReader: FileReader = await FileReader.openFile(fileStorage, fileName, lazyLoading);\r\n /* Create the reader */\r\n return new OPCReader(fileReader, 0, fileReader.getLevelCount());\r\n }\r\n\r\n /**\r\n * Create a new reader.\r\n */\r\n private constructor(fileReader: FileReader, levelOffset: int32, levelCount: int32) {\r\n super();\r\n this._fileReader = fileReader;\r\n this._levelOffset = levelOffset;\r\n this._levelCount = levelCount;\r\n }\r\n\r\n /**\r\n * Get the file reader.\r\n * @return the file reader.\r\n */\r\n public getFileReader(): FileReader {\r\n return this._fileReader;\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#close\r\n */\r\n public override close(): void {\r\n if (this._fileReader != null) this._fileReader.close();\r\n this._fileReader = null;\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#getProperty\r\n */\r\n public override getProperty(propertyName: string): Object {\r\n if (propertyName == null) return null;\r\n if (Strings.equalsIgnoreCase(propertyName, \"metricCellSize\")) return new Coordinate(this._fileReader.getFileRecord().getMetricCellSize(), 0.0, 0.0);\r\n return null;\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#getFileStorage\r\n */\r\n public override getFileStorage(): FileStorage {\r\n return this._fileReader.getFileStorage();\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#getFileName\r\n */\r\n public override getFileName(): string {\r\n return this._fileReader.getFileName();\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#getFileCRS\r\n */\r\n public override getFileCRS(): string {\r\n return this._fileReader.getFileRecord().getCRS();\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#getFileBounds\r\n */\r\n public override getFileBounds(): Bounds {\r\n return this._fileReader.getGeometryReader(0).getGeometryRecord().getBounds();\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#getPointAttributes\r\n */\r\n public override getPointAttributes(): Array<PointAttribute> {\r\n return this._fileReader.getAttributes();\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#getMinAttributeValue\r\n */\r\n public override getMinAttributeValue(attribute: PointAttribute): AttributeValue {\r\n for (const reader of this._fileReader.getAttributeReaders()) if (reader.getAttribute().hasName(attribute.getName())) return reader.getMinimumValue();\r\n return null;\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#getMaxAttributeValue\r\n */\r\n public override getMaxAttributeValue(attribute: PointAttribute): AttributeValue {\r\n for (const reader of this._fileReader.getAttributeReaders()) if (reader.getAttribute().hasName(attribute.getName())) return reader.getMaximumValue();\r\n return null;\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#getLevelCount\r\n */\r\n public override getLevelCount(): int32 {\r\n return this._fileReader.getLevelCount();\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#getLevelPointCount\r\n */\r\n public override getLevelPointCount(level: int32): ALong {\r\n return this._fileReader.getDirectoryReader(level).getDirectoryRecord().getPointCount();\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#getLevelPointBounds\r\n */\r\n public override getLevelPointBounds(level: int32): Bounds {\r\n return this._fileReader.getGeometryReader(level).getGeometryRecord().getBounds();\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#getLevelBlockGrid\r\n */\r\n public override getLevelBlockGrid(level: int32): Grid {\r\n return this.getLevelTileGrid(level).scale(this._fileReader.getFileRecord().getBlockSize());\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#getLevelTileGrid\r\n */\r\n public override getLevelTileGrid(level: int32): Grid {\r\n return this._fileReader.getGeometryReader(level).getGeometryRecord().getTileGrid();\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#peekBlockIndexes\r\n */\r\n public override peekBlockIndexes(level: int32): Array<BlockIndex> {\r\n return this._fileReader.getDirectoryReader(level).getBlocks();\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#readBlockIndexes\r\n */\r\n public override readBlockIndexes(level: int32, fileContents: ContentLoader): Array<BlockIndex> {\r\n /* Get the directory reader */\r\n const directoryReader: DirectoryReader = this._fileReader.getDirectoryReader(level);\r\n /* Already read all blocks? */\r\n const blocks: Array<BlockIndex> = directoryReader.getBlocks();\r\n if (blocks.length > 0) return blocks;\r\n /* Delegate to the directory reader */\r\n return directoryReader.readBlocks(this._fileReader.getFileRecord(), fileContents);\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#readTileIndexes\r\n */\r\n public override readTileIndexes(block: BlockIndex, fileContents: ContentLoader): Array<TileIndex> {\r\n return this._fileReader.getDirectoryReader(block.level).readTiles2(block, fileContents);\r\n }\r\n\r\n /**\r\n * Get the attribute mask to use for reading.\r\n * @param parameters the read parameters.\r\n * @return the attribute mask.\r\n */\r\n private getAttributeMask(parameters: ReadRequest): AttributeMask {\r\n /* Make a list of readers */\r\n const readers: AList<AttributeReader> = new AList<AttributeReader>();\r\n /* Should we read all attributes? */\r\n if (parameters.readAllExtraAttributes()) {\r\n /* Read all attributes */\r\n for (const reader of this._fileReader.getAttributeReaders()) readers.add(reader);\r\n } else {\r\n /* Read color? */\r\n if (parameters.readColor()) {\r\n const reader: AttributeReader = this._fileReader.findAttributeReader(StandardAttributes.COLOR.getName());\r\n if (reader != null) readers.add(reader);\r\n }\r\n /* Read intensity? */\r\n if (parameters.readIntensity()) {\r\n const reader: AttributeReader = this._fileReader.findAttributeReader(StandardAttributes.INTENSITY.getName());\r\n if (reader != null) readers.add(reader);\r\n }\r\n /* Read the extra attributes */\r\n const extraAttributes: AList<string> = parameters.getExtraAttributes();\r\n for (let i: number = 0; i < extraAttributes.size(); i++) {\r\n /* Get the name of the extra attribute */\r\n const extraAttribute: string = extraAttributes.get(i);\r\n /* Did we already add the color? */\r\n if (parameters.readColor() && Strings.equalsIgnoreCase(extraAttribute, StandardAttributes.COLOR.getName())) continue;\r\n /* Did we already add the intensity? */\r\n if (parameters.readIntensity() && Strings.equalsIgnoreCase(extraAttribute, StandardAttributes.INTENSITY.getName())) continue;\r\n /* Find the attribute reader */\r\n const reader: AttributeReader = this._fileReader.findAttributeReader(extraAttribute);\r\n /* Add the reader */\r\n if (reader != null) readers.add(reader);\r\n }\r\n }\r\n /* Create the mask */\r\n return new AttributeMask(readers);\r\n }\r\n\r\n /**\r\n * PointCloudReader interface method.\r\n * @see PointCloudReader#readPoints\r\n */\r\n public override readPoints(tileIndex: TileIndex, readRequest: ReadRequest, fileContents: ContentLoader): AList<CloudPoint> {\r\n /* Create the attribute mask */\r\n const attributeMask: AttributeMask = this.getAttributeMask(readRequest);\r\n /* Create the read buffer */\r\n const tileBuffer: TileReadBuffer = new TileReadBuffer(attributeMask.attributes.length);\r\n /* Read the points in the tile */\r\n const pointOffset: int32 = 0;\r\n const pointCount: int32 = tileIndex.pointCount;\r\n return PointReader.readTilePoints(this.getFileReader(), readRequest, attributeMask, tileIndex.level, tileIndex, pointOffset, pointCount, tileBuffer, fileContents);\r\n }\r\n\r\n /**\r\n * PointCloudReader interface method.\r\n * @see PointCloudReader#readPointData\r\n */\r\n public override readPointData(tileIndex: TileIndex, dataFormat: int32, accessTime: float64, fileContents: ContentLoader): PointData {\r\n /* 16-bit XYZ geometry and 8-bit RGB colors? */\r\n if (dataFormat == PointDataRaw.TYPE) {\r\n /* Create the attribute mask */\r\n const readRequest: ReadRequest = ReadRequest.READ_GEOMETRY_AND_COLOR;\r\n const readers: AList<AttributeReader> = new AList<AttributeReader>();\r\n const colorReader: AttributeReader = this._fileReader.findAttributeReader(StandardAttributes.COLOR.getName());\r\n if (colorReader != null) readers.add(colorReader);\r\n const attributeMask: AttributeMask = new AttributeMask(readers);\r\n /* Has the data been loaded? */\r\n let tileBuffer: TileReadBuffer = null;\r\n let pointData: PointDataRaw = null;\r\n if (fileContents.isAvailable()) {\r\n /* Create the read buffer */\r\n tileBuffer = new TileReadBuffer(attributeMask.attributes.length);\r\n /* Create the point data buffer */\r\n const tileGrid: Grid = this._fileReader.getGeometryReader(tileIndex.level).getGeometryRecord().getTileGrid();\r\n const tileBounds: Bounds = tileGrid.getCellBounds(tileIndex.gridIndex);\r\n pointData = new PointDataRaw(tileIndex, tileBounds, null, null, null);\r\n }\r\n /* Fill the point data buffer */\r\n PointReader.readTilePointsRaw(this.getFileReader(), readRequest, attributeMask, tileIndex, tileBuffer, pointData, fileContents);\r\n /* Missing color channel after data load? */\r\n if (fileContents.isAvailable() && (pointData.colors == null)) {\r\n /* Define the default RGB color (0xE6C60D) */\r\n const defaultR: int32 = 230;\r\n const defaultG: int32 = 198;\r\n const defaultB: int32 = 13;\r\n /* Create a default color buffer (BGR sample sequence) */\r\n pointData.colors = Uint8Buffer.wrap(new ABuffer(3 * tileIndex.pointCount));\r\n for (let i: number = 0; i < tileIndex.pointCount; i++) {\r\n pointData.colors.set(3 * i + 0, defaultB);\r\n pointData.colors.set(3 * i + 1, defaultG);\r\n pointData.colors.set(3 * i + 2, defaultR);\r\n }\r\n }\r\n return pointData;\r\n }\r\n /* Unknown format */\r\n return null;\r\n }\r\n\r\n /**\r\n * PointCloudReader interface method.\r\n * @see PointCloudReader#clipToLevelRange\r\n */\r\n public override clipToLevelRange(levelOffset: int32, levelCount: int32): PointCloudReader {\r\n /* Check the parameters */\r\n ASystem.assert0(levelOffset >= 0, `Invalid level offset ${levelOffset}`);\r\n ASystem.assert0(levelCount > 0, `Invalid level count ${levelCount}`);\r\n ASystem.assert0(levelOffset + levelCount <= this._levelCount, `Level range ${levelOffset}+${levelCount} not possible in ${this._levelCount} levels`);\r\n /* Create a new reader */\r\n return new OPCReader(this._fileReader, this._levelOffset + levelOffset, levelCount);\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"OPCReader.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/OPCReader.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.pointcloud.format.opc;\n\ntype int8 = number;\ntype int16 = number;\ntype int32 = number;\ntype float32 = number;\ntype float64 = number;\n\nimport { Bounds } from \"../../../spatial/geom/Bounds\";\nimport { Coordinate } from \"../../../spatial/geom/Coordinate\";\nimport { ABuffer } from \"../../../system/buffer/ABuffer\";\nimport { Uint16Buffer } from \"../../../system/buffer/Uint16Buffer\";\nimport { Uint8Buffer } from \"../../../system/buffer/Uint8Buffer\";\nimport { AList } from \"../../../system/collection/AList\";\nimport { ALong } from \"../../../system/runtime/ALong\";\nimport { ASystem } from \"../../../system/runtime/ASystem\";\nimport { Message } from \"../../../system/runtime/Message\";\nimport { Strings } from \"../../../system/runtime/Strings\";\nimport { ContentLoader } from \"../../../system/storage/ContentLoader\";\nimport { FileStorage } from \"../../../system/storage/FileStorage\";\nimport { AttributeValue } from \"../../model/AttributeValue\";\nimport { BlockIndex } from \"../../model/BlockIndex\";\nimport { CloudPoint } from \"../../model/CloudPoint\";\nimport { Grid } from \"../../model/Grid\";\nimport { PointAttribute } from \"../../model/PointAttribute\";\nimport { PointCloudReader } from \"../../model/PointCloudReader\";\nimport { PointData } from \"../../model/PointData\";\nimport { PointDataRaw } from \"../../model/PointDataRaw\";\nimport { ReadRequest } from \"../../model/ReadRequest\";\nimport { StandardAttributes } from \"../../model/StandardAttributes\";\nimport { TileIndex } from \"../../model/TileIndex\";\nimport { AttributeMask } from \"./AttributeMask\";\nimport { AttributeReader } from \"./AttributeReader\";\nimport { DirectoryReader } from \"./DirectoryReader\";\nimport { FileReader } from \"./FileReader\";\nimport { PointReader } from \"./PointReader\";\nimport { TileReadBuffer } from \"./TileReadBuffer\";\n\n/**\n * Class OPCReader reads pointcloud files.\n *\n * @version 1.0 January 2014\n */\n/** @internal */\nexport class OPCReader extends PointCloudReader {\n /** The file reader */\n private _fileReader: FileReader;\n /** The index of the first level */\n private _levelOffset: int32;\n /** The number of levels */\n private _levelCount: int32;\n\n /**\n * Create a new reader for a file.\n * @param fileName the name of the file.\n * @param lazyLoading avoid early loading of all block indexes to keep a low memory profile? Lazy loading only loads the block indexes of the top 6 levels (see CLOUD-1152 issue)\n * @return the reader.\n */\n public static async openFile(fileStorage: FileStorage, fileName: string, lazyLoading: boolean): Promise<OPCReader> {\n /* Open the file */\n const fileReader: FileReader = await FileReader.openFile(fileStorage, fileName, lazyLoading);\n /* Create the reader */\n return new OPCReader(fileReader, 0, fileReader.getLevelCount());\n }\n\n /**\n * Create a new reader.\n */\n private constructor(fileReader: FileReader, levelOffset: int32, levelCount: int32) {\n super();\n this._fileReader = fileReader;\n this._levelOffset = levelOffset;\n this._levelCount = levelCount;\n }\n\n /**\n * Get the file reader.\n * @return the file reader.\n */\n public getFileReader(): FileReader {\n return this._fileReader;\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#close\n */\n public override close(): void {\n if (this._fileReader != null) this._fileReader.close();\n this._fileReader = null;\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getProperty\n */\n public override getProperty(propertyName: string): Object {\n if (propertyName == null) return null;\n if (Strings.equalsIgnoreCase(propertyName, \"metricCellSize\")) return new Coordinate(this._fileReader.getFileRecord().getMetricCellSize(), 0.0, 0.0);\n return null;\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getFileStorage\n */\n public override getFileStorage(): FileStorage {\n return this._fileReader.getFileStorage();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getFileName\n */\n public override getFileName(): string {\n return this._fileReader.getFileName();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getFileCRS\n */\n public override getFileCRS(): string {\n return this._fileReader.getFileRecord().getCRS();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getFileBounds\n */\n public override getFileBounds(): Bounds {\n return this._fileReader.getGeometryReader(0).getGeometryRecord().getBounds();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getPointAttributes\n */\n public override getPointAttributes(): Array<PointAttribute> {\n return this._fileReader.getAttributes();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getMinAttributeValue\n */\n public override getMinAttributeValue(attribute: PointAttribute): AttributeValue {\n for (const reader of this._fileReader.getAttributeReaders()) if (reader.getAttribute().hasName(attribute.getName())) return reader.getMinimumValue();\n return null;\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getMaxAttributeValue\n */\n public override getMaxAttributeValue(attribute: PointAttribute): AttributeValue {\n for (const reader of this._fileReader.getAttributeReaders()) if (reader.getAttribute().hasName(attribute.getName())) return reader.getMaximumValue();\n return null;\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getLevelCount\n */\n public override getLevelCount(): int32 {\n return this._fileReader.getLevelCount();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getLevelPointCount\n */\n public override getLevelPointCount(level: int32): ALong {\n return this._fileReader.getDirectoryReader(level).getDirectoryRecord().getPointCount();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getLevelPointBounds\n */\n public override getLevelPointBounds(level: int32): Bounds {\n return this._fileReader.getGeometryReader(level).getGeometryRecord().getBounds();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getLevelBlockGrid\n */\n public override getLevelBlockGrid(level: int32): Grid {\n return this.getLevelTileGrid(level).scale(this._fileReader.getFileRecord().getBlockSize());\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getLevelTileGrid\n */\n public override getLevelTileGrid(level: int32): Grid {\n return this._fileReader.getGeometryReader(level).getGeometryRecord().getTileGrid();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#peekBlockIndexes\n */\n public override peekBlockIndexes(level: int32): Array<BlockIndex> {\n return this._fileReader.getDirectoryReader(level).getBlocks();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#readBlockIndexes\n */\n public override readBlockIndexes(level: int32, fileContents: ContentLoader): Array<BlockIndex> {\n /* Get the directory reader */\n const directoryReader: DirectoryReader = this._fileReader.getDirectoryReader(level);\n /* Already read all blocks? */\n const blocks: Array<BlockIndex> = directoryReader.getBlocks();\n if (blocks.length > 0) return blocks;\n /* Delegate to the directory reader */\n return directoryReader.readBlocks(this._fileReader.getFileRecord(), fileContents);\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#readTileIndexes\n */\n public override readTileIndexes(block: BlockIndex, fileContents: ContentLoader): Array<TileIndex> {\n return this._fileReader.getDirectoryReader(block.level).readTiles2(block, fileContents);\n }\n\n /**\n * Get the attribute mask to use for reading.\n * @param parameters the read parameters.\n * @return the attribute mask.\n */\n private getAttributeMask(parameters: ReadRequest): AttributeMask {\n /* Make a list of readers */\n const readers: AList<AttributeReader> = new AList<AttributeReader>();\n /* Should we read all attributes? */\n if (parameters.readAllExtraAttributes()) {\n /* Read all attributes */\n for (const reader of this._fileReader.getAttributeReaders()) readers.add(reader);\n } else {\n /* Read color? */\n if (parameters.readColor()) {\n const reader: AttributeReader = this._fileReader.findAttributeReader(StandardAttributes.COLOR.getName());\n if (reader != null) readers.add(reader);\n }\n /* Read intensity? */\n if (parameters.readIntensity()) {\n const reader: AttributeReader = this._fileReader.findAttributeReader(StandardAttributes.INTENSITY.getName());\n if (reader != null) readers.add(reader);\n }\n /* Read the extra attributes */\n const extraAttributes: AList<string> = parameters.getExtraAttributes();\n for (let i: number = 0; i < extraAttributes.size(); i++) {\n /* Get the name of the extra attribute */\n const extraAttribute: string = extraAttributes.get(i);\n /* Did we already add the color? */\n if (parameters.readColor() && Strings.equalsIgnoreCase(extraAttribute, StandardAttributes.COLOR.getName())) continue;\n /* Did we already add the intensity? */\n if (parameters.readIntensity() && Strings.equalsIgnoreCase(extraAttribute, StandardAttributes.INTENSITY.getName())) continue;\n /* Find the attribute reader */\n const reader: AttributeReader = this._fileReader.findAttributeReader(extraAttribute);\n /* Add the reader */\n if (reader != null) readers.add(reader);\n }\n }\n /* Create the mask */\n return new AttributeMask(readers);\n }\n\n /**\n * PointCloudReader interface method.\n * @see PointCloudReader#readPoints\n */\n public override readPoints(tileIndex: TileIndex, readRequest: ReadRequest, fileContents: ContentLoader): AList<CloudPoint> {\n /* Create the attribute mask */\n const attributeMask: AttributeMask = this.getAttributeMask(readRequest);\n /* Create the read buffer */\n const tileBuffer: TileReadBuffer = new TileReadBuffer(attributeMask.attributes.length);\n /* Read the points in the tile */\n const pointOffset: int32 = 0;\n const pointCount: int32 = tileIndex.pointCount;\n return PointReader.readTilePoints(this.getFileReader(), readRequest, attributeMask, tileIndex.level, tileIndex, pointOffset, pointCount, tileBuffer, fileContents);\n }\n\n /**\n * PointCloudReader interface method.\n * @see PointCloudReader#readPointData\n */\n public override readPointData(tileIndex: TileIndex, dataFormat: int32, accessTime: float64, fileContents: ContentLoader): PointData {\n /* 16-bit XYZ geometry and 8-bit RGB colors? */\n if (dataFormat == PointDataRaw.TYPE) {\n /* Create the attribute mask */\n const readRequest: ReadRequest = ReadRequest.READ_GEOMETRY_AND_COLOR;\n const readers: AList<AttributeReader> = new AList<AttributeReader>();\n const colorReader: AttributeReader = this._fileReader.findAttributeReader(StandardAttributes.COLOR.getName());\n if (colorReader != null) readers.add(colorReader);\n const attributeMask: AttributeMask = new AttributeMask(readers);\n /* Has the data been loaded? */\n let tileBuffer: TileReadBuffer = null;\n let pointData: PointDataRaw = null;\n if (fileContents.isAvailable()) {\n /* Create the read buffer */\n tileBuffer = new TileReadBuffer(attributeMask.attributes.length);\n /* Create the point data buffer */\n const tileGrid: Grid = this._fileReader.getGeometryReader(tileIndex.level).getGeometryRecord().getTileGrid();\n const tileBounds: Bounds = tileGrid.getCellBounds(tileIndex.gridIndex);\n pointData = new PointDataRaw(tileIndex, tileBounds, null, null, null);\n }\n /* Fill the point data buffer */\n PointReader.readTilePointsRaw(this.getFileReader(), readRequest, attributeMask, tileIndex, tileBuffer, pointData, fileContents);\n /* Missing color channel after data load? */\n if (fileContents.isAvailable() && (pointData.colors == null)) {\n /* Define the default RGB color (0xE6C60D) */\n const defaultR: int32 = 230;\n const defaultG: int32 = 198;\n const defaultB: int32 = 13;\n /* Create a default color buffer (BGR sample sequence) */\n pointData.colors = Uint8Buffer.wrap(new ABuffer(3 * tileIndex.pointCount));\n for (let i: number = 0; i < tileIndex.pointCount; i++) {\n pointData.colors.set(3 * i + 0, defaultB);\n pointData.colors.set(3 * i + 1, defaultG);\n pointData.colors.set(3 * i + 2, defaultR);\n }\n }\n return pointData;\n }\n /* Unknown format */\n return null;\n }\n\n /**\n * PointCloudReader interface method.\n * @see PointCloudReader#clipToLevelRange\n */\n public override clipToLevelRange(levelOffset: int32, levelCount: int32): PointCloudReader {\n /* Check the parameters */\n ASystem.assert0(levelOffset >= 0, `Invalid level offset ${levelOffset}`);\n ASystem.assert0(levelCount > 0, `Invalid level count ${levelCount}`);\n ASystem.assert0(levelOffset + levelCount <= this._levelCount, `Level range ${levelOffset}+${levelCount} not possible in ${this._levelCount} levels`);\n /* Create a new reader */\n return new OPCReader(this._fileReader, this._levelOffset + levelOffset, levelCount);\n }\n}\n"]}
|
|
@@ -1,73 +1,73 @@
|
|
|
1
|
-
/** @packageDocumentation
|
|
2
|
-
* @module OrbitGT
|
|
3
|
-
*/
|
|
4
|
-
declare type int32 = number;
|
|
5
|
-
import { AList } from "../../../system/collection/AList";
|
|
6
|
-
import { ContentLoader } from "../../../system/storage/ContentLoader";
|
|
7
|
-
import { CloudPoint } from "../../model/CloudPoint";
|
|
8
|
-
import { PointDataRaw } from "../../model/PointDataRaw";
|
|
9
|
-
import { ReadRequest } from "../../model/ReadRequest";
|
|
10
|
-
import { TileIndex } from "../../model/TileIndex";
|
|
11
|
-
import { AttributeMask } from "./AttributeMask";
|
|
12
|
-
import { FileReader } from "./FileReader";
|
|
13
|
-
import { TileReadBuffer } from "./TileReadBuffer";
|
|
14
|
-
/**
|
|
15
|
-
* Class PointReader reads points from tiles.
|
|
16
|
-
*
|
|
17
|
-
* @version 1.0 January 2014
|
|
18
|
-
*/
|
|
19
|
-
/** @internal */
|
|
20
|
-
export declare class PointReader {
|
|
21
|
-
/**
|
|
22
|
-
* No instances.
|
|
23
|
-
*/
|
|
24
|
-
private constructor();
|
|
25
|
-
/**
|
|
26
|
-
* Read the data of a tile.
|
|
27
|
-
* @param reader the file reader.
|
|
28
|
-
* @param readRequest the read request parameters.
|
|
29
|
-
* @param attributeMask the attribute mask for reading.
|
|
30
|
-
* @param level the index of the level to read from.
|
|
31
|
-
* @param tileRecord the tile record.
|
|
32
|
-
* @param tileBuffer the buffer to help reading.
|
|
33
|
-
*/
|
|
34
|
-
private static readTileData;
|
|
35
|
-
/**
|
|
36
|
-
* Parse the data of a tile.
|
|
37
|
-
* @return the parsed tile data.
|
|
38
|
-
*/
|
|
39
|
-
private static parseTileData;
|
|
40
|
-
/**
|
|
41
|
-
* Read some points of a tile.
|
|
42
|
-
* @param reader the file reader.
|
|
43
|
-
* @param readRequest the read request parameters.
|
|
44
|
-
* @param attributeMask the attribute mask for reading.
|
|
45
|
-
* @param level the index of the level to read from.
|
|
46
|
-
* @param tileRecord the tile record.
|
|
47
|
-
* @param tileBuffer the buffer to help reading.
|
|
48
|
-
* @param processor the point processor.
|
|
49
|
-
* @param fileContens the file contents.
|
|
50
|
-
* @return the tile points.
|
|
51
|
-
*/
|
|
52
|
-
static readTilePoints(reader: FileReader, readRequest: ReadRequest, attributeMask: AttributeMask, level: int32, tileRecord: TileIndex, pointOffset: int32, pointCount: int32, tileBuffer: TileReadBuffer, fileContens: ContentLoader): AList<CloudPoint>;
|
|
53
|
-
/**
|
|
54
|
-
* Parse the data of a tile.
|
|
55
|
-
* @return the parsed tile data.
|
|
56
|
-
*/
|
|
57
|
-
private static parseTileDataRaw;
|
|
58
|
-
/**
|
|
59
|
-
* Read some points of a tile.
|
|
60
|
-
* @param reader the file reader.
|
|
61
|
-
* @param readRequest the read request parameters.
|
|
62
|
-
* @param attributeMask the attribute mask for reading.
|
|
63
|
-
* @param level the index of the level to read from.
|
|
64
|
-
* @param tileRecord the tile record.
|
|
65
|
-
* @param tileBuffer the buffer to help reading.
|
|
66
|
-
* @param processor the point processor.
|
|
67
|
-
* @param fileContens the file contents.
|
|
68
|
-
* @return the tile points.
|
|
69
|
-
*/
|
|
70
|
-
static readTilePointsRaw(reader: FileReader, readRequest: ReadRequest, attributeMask: AttributeMask, tileRecord: TileIndex, tileBuffer: TileReadBuffer, pointData: PointDataRaw, fileContents: ContentLoader): void;
|
|
71
|
-
}
|
|
72
|
-
export {};
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module OrbitGT
|
|
3
|
+
*/
|
|
4
|
+
declare type int32 = number;
|
|
5
|
+
import { AList } from "../../../system/collection/AList";
|
|
6
|
+
import { ContentLoader } from "../../../system/storage/ContentLoader";
|
|
7
|
+
import { CloudPoint } from "../../model/CloudPoint";
|
|
8
|
+
import { PointDataRaw } from "../../model/PointDataRaw";
|
|
9
|
+
import { ReadRequest } from "../../model/ReadRequest";
|
|
10
|
+
import { TileIndex } from "../../model/TileIndex";
|
|
11
|
+
import { AttributeMask } from "./AttributeMask";
|
|
12
|
+
import { FileReader } from "./FileReader";
|
|
13
|
+
import { TileReadBuffer } from "./TileReadBuffer";
|
|
14
|
+
/**
|
|
15
|
+
* Class PointReader reads points from tiles.
|
|
16
|
+
*
|
|
17
|
+
* @version 1.0 January 2014
|
|
18
|
+
*/
|
|
19
|
+
/** @internal */
|
|
20
|
+
export declare class PointReader {
|
|
21
|
+
/**
|
|
22
|
+
* No instances.
|
|
23
|
+
*/
|
|
24
|
+
private constructor();
|
|
25
|
+
/**
|
|
26
|
+
* Read the data of a tile.
|
|
27
|
+
* @param reader the file reader.
|
|
28
|
+
* @param readRequest the read request parameters.
|
|
29
|
+
* @param attributeMask the attribute mask for reading.
|
|
30
|
+
* @param level the index of the level to read from.
|
|
31
|
+
* @param tileRecord the tile record.
|
|
32
|
+
* @param tileBuffer the buffer to help reading.
|
|
33
|
+
*/
|
|
34
|
+
private static readTileData;
|
|
35
|
+
/**
|
|
36
|
+
* Parse the data of a tile.
|
|
37
|
+
* @return the parsed tile data.
|
|
38
|
+
*/
|
|
39
|
+
private static parseTileData;
|
|
40
|
+
/**
|
|
41
|
+
* Read some points of a tile.
|
|
42
|
+
* @param reader the file reader.
|
|
43
|
+
* @param readRequest the read request parameters.
|
|
44
|
+
* @param attributeMask the attribute mask for reading.
|
|
45
|
+
* @param level the index of the level to read from.
|
|
46
|
+
* @param tileRecord the tile record.
|
|
47
|
+
* @param tileBuffer the buffer to help reading.
|
|
48
|
+
* @param processor the point processor.
|
|
49
|
+
* @param fileContens the file contents.
|
|
50
|
+
* @return the tile points.
|
|
51
|
+
*/
|
|
52
|
+
static readTilePoints(reader: FileReader, readRequest: ReadRequest, attributeMask: AttributeMask, level: int32, tileRecord: TileIndex, pointOffset: int32, pointCount: int32, tileBuffer: TileReadBuffer, fileContens: ContentLoader): AList<CloudPoint>;
|
|
53
|
+
/**
|
|
54
|
+
* Parse the data of a tile.
|
|
55
|
+
* @return the parsed tile data.
|
|
56
|
+
*/
|
|
57
|
+
private static parseTileDataRaw;
|
|
58
|
+
/**
|
|
59
|
+
* Read some points of a tile.
|
|
60
|
+
* @param reader the file reader.
|
|
61
|
+
* @param readRequest the read request parameters.
|
|
62
|
+
* @param attributeMask the attribute mask for reading.
|
|
63
|
+
* @param level the index of the level to read from.
|
|
64
|
+
* @param tileRecord the tile record.
|
|
65
|
+
* @param tileBuffer the buffer to help reading.
|
|
66
|
+
* @param processor the point processor.
|
|
67
|
+
* @param fileContens the file contents.
|
|
68
|
+
* @return the tile points.
|
|
69
|
+
*/
|
|
70
|
+
static readTilePointsRaw(reader: FileReader, readRequest: ReadRequest, attributeMask: AttributeMask, tileRecord: TileIndex, tileBuffer: TileReadBuffer, pointData: PointDataRaw, fileContents: ContentLoader): void;
|
|
71
|
+
}
|
|
72
|
+
export {};
|
|
73
73
|
//# sourceMappingURL=PointReader.d.ts.map
|
|
@@ -1,153 +1,153 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*---------------------------------------------------------------------------------------------
|
|
3
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
-
*--------------------------------------------------------------------------------------------*/
|
|
6
|
-
/** @packageDocumentation
|
|
7
|
-
* @module OrbitGT
|
|
8
|
-
*/
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.PointReader = void 0;
|
|
11
|
-
const Uint8Buffer_1 = require("../../../system/buffer/Uint8Buffer");
|
|
12
|
-
const AList_1 = require("../../../system/collection/AList");
|
|
13
|
-
const ALong_1 = require("../../../system/runtime/ALong");
|
|
14
|
-
const CloudPoint_1 = require("../../model/CloudPoint");
|
|
15
|
-
/**
|
|
16
|
-
* Class PointReader reads points from tiles.
|
|
17
|
-
*
|
|
18
|
-
* @version 1.0 January 2014
|
|
19
|
-
*/
|
|
20
|
-
/** @internal */
|
|
21
|
-
class PointReader {
|
|
22
|
-
/**
|
|
23
|
-
* No instances.
|
|
24
|
-
*/
|
|
25
|
-
constructor() { }
|
|
26
|
-
/**
|
|
27
|
-
* Read the data of a tile.
|
|
28
|
-
* @param reader the file reader.
|
|
29
|
-
* @param readRequest the read request parameters.
|
|
30
|
-
* @param attributeMask the attribute mask for reading.
|
|
31
|
-
* @param level the index of the level to read from.
|
|
32
|
-
* @param tileRecord the tile record.
|
|
33
|
-
* @param tileBuffer the buffer to help reading.
|
|
34
|
-
*/
|
|
35
|
-
static readTileData(reader, readRequest, attributeMask, level, tileRecord, pointOffset, pointCount, tileBuffer, fileContents) {
|
|
36
|
-
/* Should we read the geometry? */
|
|
37
|
-
let geometryReader = null;
|
|
38
|
-
if (readRequest.readGeometry()) {
|
|
39
|
-
/* Read all geometry data */
|
|
40
|
-
geometryReader = reader.getGeometryReader(level);
|
|
41
|
-
geometryReader.readTileData2(tileRecord, pointOffset, pointCount, tileBuffer, readRequest, fileContents);
|
|
42
|
-
}
|
|
43
|
-
/* Read all attribute data */
|
|
44
|
-
let attributeReaders = attributeMask.readers;
|
|
45
|
-
for (let i = 0; i < attributeReaders.size(); i++) {
|
|
46
|
-
let attributeReader = attributeReaders.get(i);
|
|
47
|
-
attributeReader.readTileData2(level, tileRecord, ALong_1.ALong.fromInt(pointOffset), pointCount, tileBuffer, i, readRequest, fileContents);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Parse the data of a tile.
|
|
52
|
-
* @return the parsed tile data.
|
|
53
|
-
*/
|
|
54
|
-
static parseTileData(reader, readRequest, attributeMask, level, tileRecord, pointOffset, pointCount, tileBuffer, fileContents) {
|
|
55
|
-
/* We should have the file content */
|
|
56
|
-
if (fileContents.isAvailable() == false)
|
|
57
|
-
return null;
|
|
58
|
-
/* Should we read the geometry? */
|
|
59
|
-
let geometryReader = null;
|
|
60
|
-
if (readRequest.readGeometry()) {
|
|
61
|
-
/* Read all geometry data */
|
|
62
|
-
geometryReader = reader.getGeometryReader(level);
|
|
63
|
-
}
|
|
64
|
-
/* Read all attribute data */
|
|
65
|
-
let attributeReaders = attributeMask.readers;
|
|
66
|
-
/* Thinning? */
|
|
67
|
-
let thinning = readRequest.getThinning();
|
|
68
|
-
if (thinning < 2)
|
|
69
|
-
thinning = 0;
|
|
70
|
-
/* Process all points */
|
|
71
|
-
let cloudPointList = new AList_1.AList();
|
|
72
|
-
for (let i = 0; i < pointCount; i++) {
|
|
73
|
-
/* Create a point */
|
|
74
|
-
let cloudPoint = CloudPoint_1.CloudPoint.createWithAttributes(attributeMask.attributes);
|
|
75
|
-
/* Thinning? */
|
|
76
|
-
if ((thinning != 0) && (i % thinning != 0)) {
|
|
77
|
-
/* Skip */
|
|
78
|
-
continue;
|
|
79
|
-
}
|
|
80
|
-
/* Get the point index */
|
|
81
|
-
let pointIndex = tileRecord.pointIndex.addInt(pointOffset + i);
|
|
82
|
-
/* Set the index */
|
|
83
|
-
cloudPoint.setIndex(pointIndex);
|
|
84
|
-
/* Set the geometry */
|
|
85
|
-
if (readRequest.readGeometry())
|
|
86
|
-
geometryReader.getPointData(tileRecord, tileBuffer, i, cloudPoint);
|
|
87
|
-
/* Set the attributes */
|
|
88
|
-
for (let j = 0; j < attributeReaders.size(); j++) {
|
|
89
|
-
let attributeReader = attributeReaders.get(j);
|
|
90
|
-
attributeReader.getPointData(level, tileRecord, tileBuffer, j, i, cloudPoint);
|
|
91
|
-
}
|
|
92
|
-
/* Process the point */
|
|
93
|
-
cloudPointList.add(cloudPoint);
|
|
94
|
-
}
|
|
95
|
-
/* Return the list */
|
|
96
|
-
return cloudPointList;
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Read some points of a tile.
|
|
100
|
-
* @param reader the file reader.
|
|
101
|
-
* @param readRequest the read request parameters.
|
|
102
|
-
* @param attributeMask the attribute mask for reading.
|
|
103
|
-
* @param level the index of the level to read from.
|
|
104
|
-
* @param tileRecord the tile record.
|
|
105
|
-
* @param tileBuffer the buffer to help reading.
|
|
106
|
-
* @param processor the point processor.
|
|
107
|
-
* @param fileContens the file contents.
|
|
108
|
-
* @return the tile points.
|
|
109
|
-
*/
|
|
110
|
-
static readTilePoints(reader, readRequest, attributeMask, level, tileRecord, pointOffset, pointCount, tileBuffer, fileContens) {
|
|
111
|
-
/* Read the tile data */
|
|
112
|
-
PointReader.readTileData(reader, readRequest, attributeMask, level, tileRecord, pointOffset, pointCount, tileBuffer, fileContens);
|
|
113
|
-
/* Parse the tile data */
|
|
114
|
-
return PointReader.parseTileData(reader, readRequest, attributeMask, level, tileRecord, pointOffset, pointCount, tileBuffer, fileContens);
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Parse the data of a tile.
|
|
118
|
-
* @return the parsed tile data.
|
|
119
|
-
*/
|
|
120
|
-
static parseTileDataRaw(reader, readRequest, attributeMask, tileRecord, tileBuffer, pointData, fileContents) {
|
|
121
|
-
/* We should have the file content */
|
|
122
|
-
if (fileContents.isAvailable() == false)
|
|
123
|
-
return;
|
|
124
|
-
/* Read the geometry */
|
|
125
|
-
let geometryReader = reader.getGeometryReader(tileRecord.level);
|
|
126
|
-
geometryReader.getPointDataRaw(tileRecord, tileBuffer, pointData);
|
|
127
|
-
/* Read the color? */
|
|
128
|
-
if (tileBuffer.getAttributeCount() > 0) {
|
|
129
|
-
/* Little-endian encoding makes 24-bit RGB values to be written as BGR byte sequence */
|
|
130
|
-
pointData.colors = new Uint8Buffer_1.Uint8Buffer(tileBuffer.getAttributeBuffer(0), 0, 3 * tileRecord.pointCount);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Read some points of a tile.
|
|
135
|
-
* @param reader the file reader.
|
|
136
|
-
* @param readRequest the read request parameters.
|
|
137
|
-
* @param attributeMask the attribute mask for reading.
|
|
138
|
-
* @param level the index of the level to read from.
|
|
139
|
-
* @param tileRecord the tile record.
|
|
140
|
-
* @param tileBuffer the buffer to help reading.
|
|
141
|
-
* @param processor the point processor.
|
|
142
|
-
* @param fileContens the file contents.
|
|
143
|
-
* @return the tile points.
|
|
144
|
-
*/
|
|
145
|
-
static readTilePointsRaw(reader, readRequest, attributeMask, tileRecord, tileBuffer, pointData, fileContents) {
|
|
146
|
-
/* Read the tile data */
|
|
147
|
-
PointReader.readTileData(reader, readRequest, attributeMask, tileRecord.level, tileRecord, 0, tileRecord.pointCount, tileBuffer, fileContents);
|
|
148
|
-
/* Parse the tile data */
|
|
149
|
-
PointReader.parseTileDataRaw(reader, readRequest, attributeMask, tileRecord, tileBuffer, pointData, fileContents);
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
exports.PointReader = PointReader;
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
/** @packageDocumentation
|
|
7
|
+
* @module OrbitGT
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.PointReader = void 0;
|
|
11
|
+
const Uint8Buffer_1 = require("../../../system/buffer/Uint8Buffer");
|
|
12
|
+
const AList_1 = require("../../../system/collection/AList");
|
|
13
|
+
const ALong_1 = require("../../../system/runtime/ALong");
|
|
14
|
+
const CloudPoint_1 = require("../../model/CloudPoint");
|
|
15
|
+
/**
|
|
16
|
+
* Class PointReader reads points from tiles.
|
|
17
|
+
*
|
|
18
|
+
* @version 1.0 January 2014
|
|
19
|
+
*/
|
|
20
|
+
/** @internal */
|
|
21
|
+
class PointReader {
|
|
22
|
+
/**
|
|
23
|
+
* No instances.
|
|
24
|
+
*/
|
|
25
|
+
constructor() { }
|
|
26
|
+
/**
|
|
27
|
+
* Read the data of a tile.
|
|
28
|
+
* @param reader the file reader.
|
|
29
|
+
* @param readRequest the read request parameters.
|
|
30
|
+
* @param attributeMask the attribute mask for reading.
|
|
31
|
+
* @param level the index of the level to read from.
|
|
32
|
+
* @param tileRecord the tile record.
|
|
33
|
+
* @param tileBuffer the buffer to help reading.
|
|
34
|
+
*/
|
|
35
|
+
static readTileData(reader, readRequest, attributeMask, level, tileRecord, pointOffset, pointCount, tileBuffer, fileContents) {
|
|
36
|
+
/* Should we read the geometry? */
|
|
37
|
+
let geometryReader = null;
|
|
38
|
+
if (readRequest.readGeometry()) {
|
|
39
|
+
/* Read all geometry data */
|
|
40
|
+
geometryReader = reader.getGeometryReader(level);
|
|
41
|
+
geometryReader.readTileData2(tileRecord, pointOffset, pointCount, tileBuffer, readRequest, fileContents);
|
|
42
|
+
}
|
|
43
|
+
/* Read all attribute data */
|
|
44
|
+
let attributeReaders = attributeMask.readers;
|
|
45
|
+
for (let i = 0; i < attributeReaders.size(); i++) {
|
|
46
|
+
let attributeReader = attributeReaders.get(i);
|
|
47
|
+
attributeReader.readTileData2(level, tileRecord, ALong_1.ALong.fromInt(pointOffset), pointCount, tileBuffer, i, readRequest, fileContents);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Parse the data of a tile.
|
|
52
|
+
* @return the parsed tile data.
|
|
53
|
+
*/
|
|
54
|
+
static parseTileData(reader, readRequest, attributeMask, level, tileRecord, pointOffset, pointCount, tileBuffer, fileContents) {
|
|
55
|
+
/* We should have the file content */
|
|
56
|
+
if (fileContents.isAvailable() == false)
|
|
57
|
+
return null;
|
|
58
|
+
/* Should we read the geometry? */
|
|
59
|
+
let geometryReader = null;
|
|
60
|
+
if (readRequest.readGeometry()) {
|
|
61
|
+
/* Read all geometry data */
|
|
62
|
+
geometryReader = reader.getGeometryReader(level);
|
|
63
|
+
}
|
|
64
|
+
/* Read all attribute data */
|
|
65
|
+
let attributeReaders = attributeMask.readers;
|
|
66
|
+
/* Thinning? */
|
|
67
|
+
let thinning = readRequest.getThinning();
|
|
68
|
+
if (thinning < 2)
|
|
69
|
+
thinning = 0;
|
|
70
|
+
/* Process all points */
|
|
71
|
+
let cloudPointList = new AList_1.AList();
|
|
72
|
+
for (let i = 0; i < pointCount; i++) {
|
|
73
|
+
/* Create a point */
|
|
74
|
+
let cloudPoint = CloudPoint_1.CloudPoint.createWithAttributes(attributeMask.attributes);
|
|
75
|
+
/* Thinning? */
|
|
76
|
+
if ((thinning != 0) && (i % thinning != 0)) {
|
|
77
|
+
/* Skip */
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
/* Get the point index */
|
|
81
|
+
let pointIndex = tileRecord.pointIndex.addInt(pointOffset + i);
|
|
82
|
+
/* Set the index */
|
|
83
|
+
cloudPoint.setIndex(pointIndex);
|
|
84
|
+
/* Set the geometry */
|
|
85
|
+
if (readRequest.readGeometry())
|
|
86
|
+
geometryReader.getPointData(tileRecord, tileBuffer, i, cloudPoint);
|
|
87
|
+
/* Set the attributes */
|
|
88
|
+
for (let j = 0; j < attributeReaders.size(); j++) {
|
|
89
|
+
let attributeReader = attributeReaders.get(j);
|
|
90
|
+
attributeReader.getPointData(level, tileRecord, tileBuffer, j, i, cloudPoint);
|
|
91
|
+
}
|
|
92
|
+
/* Process the point */
|
|
93
|
+
cloudPointList.add(cloudPoint);
|
|
94
|
+
}
|
|
95
|
+
/* Return the list */
|
|
96
|
+
return cloudPointList;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Read some points of a tile.
|
|
100
|
+
* @param reader the file reader.
|
|
101
|
+
* @param readRequest the read request parameters.
|
|
102
|
+
* @param attributeMask the attribute mask for reading.
|
|
103
|
+
* @param level the index of the level to read from.
|
|
104
|
+
* @param tileRecord the tile record.
|
|
105
|
+
* @param tileBuffer the buffer to help reading.
|
|
106
|
+
* @param processor the point processor.
|
|
107
|
+
* @param fileContens the file contents.
|
|
108
|
+
* @return the tile points.
|
|
109
|
+
*/
|
|
110
|
+
static readTilePoints(reader, readRequest, attributeMask, level, tileRecord, pointOffset, pointCount, tileBuffer, fileContens) {
|
|
111
|
+
/* Read the tile data */
|
|
112
|
+
PointReader.readTileData(reader, readRequest, attributeMask, level, tileRecord, pointOffset, pointCount, tileBuffer, fileContens);
|
|
113
|
+
/* Parse the tile data */
|
|
114
|
+
return PointReader.parseTileData(reader, readRequest, attributeMask, level, tileRecord, pointOffset, pointCount, tileBuffer, fileContens);
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Parse the data of a tile.
|
|
118
|
+
* @return the parsed tile data.
|
|
119
|
+
*/
|
|
120
|
+
static parseTileDataRaw(reader, readRequest, attributeMask, tileRecord, tileBuffer, pointData, fileContents) {
|
|
121
|
+
/* We should have the file content */
|
|
122
|
+
if (fileContents.isAvailable() == false)
|
|
123
|
+
return;
|
|
124
|
+
/* Read the geometry */
|
|
125
|
+
let geometryReader = reader.getGeometryReader(tileRecord.level);
|
|
126
|
+
geometryReader.getPointDataRaw(tileRecord, tileBuffer, pointData);
|
|
127
|
+
/* Read the color? */
|
|
128
|
+
if (tileBuffer.getAttributeCount() > 0) {
|
|
129
|
+
/* Little-endian encoding makes 24-bit RGB values to be written as BGR byte sequence */
|
|
130
|
+
pointData.colors = new Uint8Buffer_1.Uint8Buffer(tileBuffer.getAttributeBuffer(0), 0, 3 * tileRecord.pointCount);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Read some points of a tile.
|
|
135
|
+
* @param reader the file reader.
|
|
136
|
+
* @param readRequest the read request parameters.
|
|
137
|
+
* @param attributeMask the attribute mask for reading.
|
|
138
|
+
* @param level the index of the level to read from.
|
|
139
|
+
* @param tileRecord the tile record.
|
|
140
|
+
* @param tileBuffer the buffer to help reading.
|
|
141
|
+
* @param processor the point processor.
|
|
142
|
+
* @param fileContens the file contents.
|
|
143
|
+
* @return the tile points.
|
|
144
|
+
*/
|
|
145
|
+
static readTilePointsRaw(reader, readRequest, attributeMask, tileRecord, tileBuffer, pointData, fileContents) {
|
|
146
|
+
/* Read the tile data */
|
|
147
|
+
PointReader.readTileData(reader, readRequest, attributeMask, tileRecord.level, tileRecord, 0, tileRecord.pointCount, tileBuffer, fileContents);
|
|
148
|
+
/* Parse the tile data */
|
|
149
|
+
PointReader.parseTileDataRaw(reader, readRequest, attributeMask, tileRecord, tileBuffer, pointData, fileContents);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
exports.PointReader = PointReader;
|
|
153
153
|
//# sourceMappingURL=PointReader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PointReader.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/PointReader.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\n\r\nimport { ABuffer } from \"../../../system/buffer/ABuffer\";\r\nimport { Uint8Buffer } from \"../../../system/buffer/Uint8Buffer\";\r\nimport { AList } from \"../../../system/collection/AList\";\r\nimport { ALong } from \"../../../system/runtime/ALong\";\r\nimport { ContentLoader } from \"../../../system/storage/ContentLoader\";\r\nimport { CloudPoint } from \"../../model/CloudPoint\";\r\nimport { PointDataRaw } from \"../../model/PointDataRaw\";\r\nimport { ReadRequest } from \"../../model/ReadRequest\";\r\nimport { TileIndex } from \"../../model/TileIndex\";\r\nimport { AttributeMask } from \"./AttributeMask\";\r\nimport { AttributeReader } from \"./AttributeReader\";\r\nimport { FileReader } from \"./FileReader\";\r\nimport { GeometryReader } from \"./GeometryReader\";\r\nimport { TileReadBuffer } from \"./TileReadBuffer\";\r\n\r\n/**\r\n * Class PointReader reads points from tiles.\r\n *\r\n * @version 1.0 January 2014\r\n */\r\n/** @internal */\r\nexport class PointReader {\r\n /**\r\n * No instances.\r\n */\r\n private constructor() { }\r\n\r\n /**\r\n * Read the data of a tile.\r\n * @param reader the file reader.\r\n * @param readRequest the read request parameters.\r\n * @param attributeMask the attribute mask for reading.\r\n * @param level the index of the level to read from.\r\n * @param tileRecord the tile record.\r\n * @param tileBuffer the buffer to help reading.\r\n */\r\n private static readTileData(reader: FileReader, readRequest: ReadRequest, attributeMask: AttributeMask, level: int32, tileRecord: TileIndex, pointOffset: int32, pointCount: int32, tileBuffer: TileReadBuffer, fileContents: ContentLoader): void {\r\n /* Should we read the geometry? */\r\n let geometryReader: GeometryReader = null;\r\n if (readRequest.readGeometry()) {\r\n /* Read all geometry data */\r\n geometryReader = reader.getGeometryReader(level);\r\n geometryReader.readTileData2(tileRecord, pointOffset, pointCount, tileBuffer, readRequest, fileContents);\r\n }\r\n /* Read all attribute data */\r\n let attributeReaders: AList<AttributeReader> = attributeMask.readers;\r\n for (let i: number = 0; i < attributeReaders.size(); i++) {\r\n let attributeReader: AttributeReader = attributeReaders.get(i);\r\n attributeReader.readTileData2(level, tileRecord, ALong.fromInt(pointOffset), pointCount, tileBuffer, i, readRequest, fileContents);\r\n }\r\n }\r\n\r\n /**\r\n * Parse the data of a tile.\r\n * @return the parsed tile data.\r\n */\r\n private static parseTileData(reader: FileReader, readRequest: ReadRequest, attributeMask: AttributeMask, level: int32, tileRecord: TileIndex, pointOffset: int32, pointCount: int32, tileBuffer: TileReadBuffer, fileContents: ContentLoader): AList<CloudPoint> {\r\n /* We should have the file content */\r\n if (fileContents.isAvailable() == false) return null;\r\n /* Should we read the geometry? */\r\n let geometryReader: GeometryReader = null;\r\n if (readRequest.readGeometry()) {\r\n /* Read all geometry data */\r\n geometryReader = reader.getGeometryReader(level);\r\n }\r\n /* Read all attribute data */\r\n let attributeReaders: AList<AttributeReader> = attributeMask.readers;\r\n /* Thinning? */\r\n let thinning: int32 = readRequest.getThinning();\r\n if (thinning < 2) thinning = 0;\r\n /* Process all points */\r\n let cloudPointList: AList<CloudPoint> = new AList<CloudPoint>();\r\n for (let i: number = 0; i < pointCount; i++) {\r\n /* Create a point */\r\n let cloudPoint: CloudPoint = CloudPoint.createWithAttributes(attributeMask.attributes);\r\n /* Thinning? */\r\n if ((thinning != 0) && (i % thinning != 0)) {\r\n /* Skip */\r\n continue;\r\n }\r\n /* Get the point index */\r\n let pointIndex: ALong = tileRecord.pointIndex.addInt(pointOffset + i);\r\n /* Set the index */\r\n cloudPoint.setIndex(pointIndex);\r\n /* Set the geometry */\r\n if (readRequest.readGeometry()) geometryReader.getPointData(tileRecord, tileBuffer, i, cloudPoint);\r\n /* Set the attributes */\r\n for (let j: number = 0; j < attributeReaders.size(); j++) {\r\n let attributeReader: AttributeReader = attributeReaders.get(j);\r\n attributeReader.getPointData(level, tileRecord, tileBuffer, j, i, cloudPoint);\r\n }\r\n /* Process the point */\r\n cloudPointList.add(cloudPoint);\r\n }\r\n /* Return the list */\r\n return cloudPointList;\r\n }\r\n\r\n /**\r\n * Read some points of a tile.\r\n * @param reader the file reader.\r\n * @param readRequest the read request parameters.\r\n * @param attributeMask the attribute mask for reading.\r\n * @param level the index of the level to read from.\r\n * @param tileRecord the tile record.\r\n * @param tileBuffer the buffer to help reading.\r\n * @param processor the point processor.\r\n * @param fileContens the file contents.\r\n * @return the tile points.\r\n */\r\n public static readTilePoints(reader: FileReader, readRequest: ReadRequest, attributeMask: AttributeMask, level: int32, tileRecord: TileIndex, pointOffset: int32, pointCount: int32, tileBuffer: TileReadBuffer, fileContens: ContentLoader): AList<CloudPoint> {\r\n /* Read the tile data */\r\n PointReader.readTileData(reader, readRequest, attributeMask, level, tileRecord, pointOffset, pointCount, tileBuffer, fileContens);\r\n /* Parse the tile data */\r\n return PointReader.parseTileData(reader, readRequest, attributeMask, level, tileRecord, pointOffset, pointCount, tileBuffer, fileContens);\r\n }\r\n\r\n /**\r\n * Parse the data of a tile.\r\n * @return the parsed tile data.\r\n */\r\n private static parseTileDataRaw(reader: FileReader, readRequest: ReadRequest, attributeMask: AttributeMask, tileRecord: TileIndex, tileBuffer: TileReadBuffer, pointData: PointDataRaw, fileContents: ContentLoader): void {\r\n /* We should have the file content */\r\n if (fileContents.isAvailable() == false) return;\r\n /* Read the geometry */\r\n let geometryReader: GeometryReader = reader.getGeometryReader(tileRecord.level);\r\n geometryReader.getPointDataRaw(tileRecord, tileBuffer, pointData);\r\n /* Read the color? */\r\n if (tileBuffer.getAttributeCount() > 0) {\r\n /* Little-endian encoding makes 24-bit RGB values to be written as BGR byte sequence */\r\n pointData.colors = new Uint8Buffer(tileBuffer.getAttributeBuffer(0), 0, 3 * tileRecord.pointCount);\r\n }\r\n }\r\n\r\n /**\r\n * Read some points of a tile.\r\n * @param reader the file reader.\r\n * @param readRequest the read request parameters.\r\n * @param attributeMask the attribute mask for reading.\r\n * @param level the index of the level to read from.\r\n * @param tileRecord the tile record.\r\n * @param tileBuffer the buffer to help reading.\r\n * @param processor the point processor.\r\n * @param fileContens the file contents.\r\n * @return the tile points.\r\n */\r\n public static readTilePointsRaw(reader: FileReader, readRequest: ReadRequest, attributeMask: AttributeMask, tileRecord: TileIndex, tileBuffer: TileReadBuffer, pointData: PointDataRaw, fileContents: ContentLoader): void {\r\n /* Read the tile data */\r\n PointReader.readTileData(reader, readRequest, attributeMask, tileRecord.level, tileRecord, 0, tileRecord.pointCount, tileBuffer, fileContents);\r\n /* Parse the tile data */\r\n PointReader.parseTileDataRaw(reader, readRequest, attributeMask, tileRecord, tileBuffer, pointData, fileContents);\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"PointReader.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/PointReader.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.pointcloud.format.opc;\n\ntype int8 = number;\ntype int16 = number;\ntype int32 = number;\ntype float32 = number;\ntype float64 = number;\n\n\nimport { ABuffer } from \"../../../system/buffer/ABuffer\";\nimport { Uint8Buffer } from \"../../../system/buffer/Uint8Buffer\";\nimport { AList } from \"../../../system/collection/AList\";\nimport { ALong } from \"../../../system/runtime/ALong\";\nimport { ContentLoader } from \"../../../system/storage/ContentLoader\";\nimport { CloudPoint } from \"../../model/CloudPoint\";\nimport { PointDataRaw } from \"../../model/PointDataRaw\";\nimport { ReadRequest } from \"../../model/ReadRequest\";\nimport { TileIndex } from \"../../model/TileIndex\";\nimport { AttributeMask } from \"./AttributeMask\";\nimport { AttributeReader } from \"./AttributeReader\";\nimport { FileReader } from \"./FileReader\";\nimport { GeometryReader } from \"./GeometryReader\";\nimport { TileReadBuffer } from \"./TileReadBuffer\";\n\n/**\n * Class PointReader reads points from tiles.\n *\n * @version 1.0 January 2014\n */\n/** @internal */\nexport class PointReader {\n /**\n * No instances.\n */\n private constructor() { }\n\n /**\n * Read the data of a tile.\n * @param reader the file reader.\n * @param readRequest the read request parameters.\n * @param attributeMask the attribute mask for reading.\n * @param level the index of the level to read from.\n * @param tileRecord the tile record.\n * @param tileBuffer the buffer to help reading.\n */\n private static readTileData(reader: FileReader, readRequest: ReadRequest, attributeMask: AttributeMask, level: int32, tileRecord: TileIndex, pointOffset: int32, pointCount: int32, tileBuffer: TileReadBuffer, fileContents: ContentLoader): void {\n /* Should we read the geometry? */\n let geometryReader: GeometryReader = null;\n if (readRequest.readGeometry()) {\n /* Read all geometry data */\n geometryReader = reader.getGeometryReader(level);\n geometryReader.readTileData2(tileRecord, pointOffset, pointCount, tileBuffer, readRequest, fileContents);\n }\n /* Read all attribute data */\n let attributeReaders: AList<AttributeReader> = attributeMask.readers;\n for (let i: number = 0; i < attributeReaders.size(); i++) {\n let attributeReader: AttributeReader = attributeReaders.get(i);\n attributeReader.readTileData2(level, tileRecord, ALong.fromInt(pointOffset), pointCount, tileBuffer, i, readRequest, fileContents);\n }\n }\n\n /**\n * Parse the data of a tile.\n * @return the parsed tile data.\n */\n private static parseTileData(reader: FileReader, readRequest: ReadRequest, attributeMask: AttributeMask, level: int32, tileRecord: TileIndex, pointOffset: int32, pointCount: int32, tileBuffer: TileReadBuffer, fileContents: ContentLoader): AList<CloudPoint> {\n /* We should have the file content */\n if (fileContents.isAvailable() == false) return null;\n /* Should we read the geometry? */\n let geometryReader: GeometryReader = null;\n if (readRequest.readGeometry()) {\n /* Read all geometry data */\n geometryReader = reader.getGeometryReader(level);\n }\n /* Read all attribute data */\n let attributeReaders: AList<AttributeReader> = attributeMask.readers;\n /* Thinning? */\n let thinning: int32 = readRequest.getThinning();\n if (thinning < 2) thinning = 0;\n /* Process all points */\n let cloudPointList: AList<CloudPoint> = new AList<CloudPoint>();\n for (let i: number = 0; i < pointCount; i++) {\n /* Create a point */\n let cloudPoint: CloudPoint = CloudPoint.createWithAttributes(attributeMask.attributes);\n /* Thinning? */\n if ((thinning != 0) && (i % thinning != 0)) {\n /* Skip */\n continue;\n }\n /* Get the point index */\n let pointIndex: ALong = tileRecord.pointIndex.addInt(pointOffset + i);\n /* Set the index */\n cloudPoint.setIndex(pointIndex);\n /* Set the geometry */\n if (readRequest.readGeometry()) geometryReader.getPointData(tileRecord, tileBuffer, i, cloudPoint);\n /* Set the attributes */\n for (let j: number = 0; j < attributeReaders.size(); j++) {\n let attributeReader: AttributeReader = attributeReaders.get(j);\n attributeReader.getPointData(level, tileRecord, tileBuffer, j, i, cloudPoint);\n }\n /* Process the point */\n cloudPointList.add(cloudPoint);\n }\n /* Return the list */\n return cloudPointList;\n }\n\n /**\n * Read some points of a tile.\n * @param reader the file reader.\n * @param readRequest the read request parameters.\n * @param attributeMask the attribute mask for reading.\n * @param level the index of the level to read from.\n * @param tileRecord the tile record.\n * @param tileBuffer the buffer to help reading.\n * @param processor the point processor.\n * @param fileContens the file contents.\n * @return the tile points.\n */\n public static readTilePoints(reader: FileReader, readRequest: ReadRequest, attributeMask: AttributeMask, level: int32, tileRecord: TileIndex, pointOffset: int32, pointCount: int32, tileBuffer: TileReadBuffer, fileContens: ContentLoader): AList<CloudPoint> {\n /* Read the tile data */\n PointReader.readTileData(reader, readRequest, attributeMask, level, tileRecord, pointOffset, pointCount, tileBuffer, fileContens);\n /* Parse the tile data */\n return PointReader.parseTileData(reader, readRequest, attributeMask, level, tileRecord, pointOffset, pointCount, tileBuffer, fileContens);\n }\n\n /**\n * Parse the data of a tile.\n * @return the parsed tile data.\n */\n private static parseTileDataRaw(reader: FileReader, readRequest: ReadRequest, attributeMask: AttributeMask, tileRecord: TileIndex, tileBuffer: TileReadBuffer, pointData: PointDataRaw, fileContents: ContentLoader): void {\n /* We should have the file content */\n if (fileContents.isAvailable() == false) return;\n /* Read the geometry */\n let geometryReader: GeometryReader = reader.getGeometryReader(tileRecord.level);\n geometryReader.getPointDataRaw(tileRecord, tileBuffer, pointData);\n /* Read the color? */\n if (tileBuffer.getAttributeCount() > 0) {\n /* Little-endian encoding makes 24-bit RGB values to be written as BGR byte sequence */\n pointData.colors = new Uint8Buffer(tileBuffer.getAttributeBuffer(0), 0, 3 * tileRecord.pointCount);\n }\n }\n\n /**\n * Read some points of a tile.\n * @param reader the file reader.\n * @param readRequest the read request parameters.\n * @param attributeMask the attribute mask for reading.\n * @param level the index of the level to read from.\n * @param tileRecord the tile record.\n * @param tileBuffer the buffer to help reading.\n * @param processor the point processor.\n * @param fileContens the file contents.\n * @return the tile points.\n */\n public static readTilePointsRaw(reader: FileReader, readRequest: ReadRequest, attributeMask: AttributeMask, tileRecord: TileIndex, tileBuffer: TileReadBuffer, pointData: PointDataRaw, fileContents: ContentLoader): void {\n /* Read the tile data */\n PointReader.readTileData(reader, readRequest, attributeMask, tileRecord.level, tileRecord, 0, tileRecord.pointCount, tileBuffer, fileContents);\n /* Parse the tile data */\n PointReader.parseTileDataRaw(reader, readRequest, attributeMask, tileRecord, tileBuffer, pointData, fileContents);\n }\n}\n"]}
|