@itwin/core-orbitgt 3.7.13 → 3.7.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (614) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/lib/cjs/core-orbitgt.d.ts +26 -26
  3. package/lib/cjs/core-orbitgt.js +58 -58
  4. package/lib/cjs/core-orbitgt.js.map +1 -1
  5. package/lib/cjs/pointcloud/format/opc/AttributeMask.d.ts +30 -30
  6. package/lib/cjs/pointcloud/format/opc/AttributeMask.js +47 -47
  7. package/lib/cjs/pointcloud/format/opc/AttributeMask.js.map +1 -1
  8. package/lib/cjs/pointcloud/format/opc/AttributeReader.d.ts +63 -63
  9. package/lib/cjs/pointcloud/format/opc/AttributeReader.js +24 -24
  10. package/lib/cjs/pointcloud/format/opc/AttributeReader.js.map +1 -1
  11. package/lib/cjs/pointcloud/format/opc/BlockRecord.d.ts +54 -54
  12. package/lib/cjs/pointcloud/format/opc/BlockRecord.js +84 -84
  13. package/lib/cjs/pointcloud/format/opc/BlockRecord.js.map +1 -1
  14. package/lib/cjs/pointcloud/format/opc/ContainerFile.d.ts +85 -85
  15. package/lib/cjs/pointcloud/format/opc/ContainerFile.js +199 -199
  16. package/lib/cjs/pointcloud/format/opc/ContainerFile.js.map +1 -1
  17. package/lib/cjs/pointcloud/format/opc/ContainerFilePart.d.ts +55 -55
  18. package/lib/cjs/pointcloud/format/opc/ContainerFilePart.js +75 -75
  19. package/lib/cjs/pointcloud/format/opc/ContainerFilePart.js.map +1 -1
  20. package/lib/cjs/pointcloud/format/opc/DirectoryReader.d.ts +75 -75
  21. package/lib/cjs/pointcloud/format/opc/DirectoryReader.js +169 -169
  22. package/lib/cjs/pointcloud/format/opc/DirectoryReader.js.map +1 -1
  23. package/lib/cjs/pointcloud/format/opc/DirectoryRecord.d.ts +59 -59
  24. package/lib/cjs/pointcloud/format/opc/DirectoryRecord.js +89 -89
  25. package/lib/cjs/pointcloud/format/opc/DirectoryRecord.js.map +1 -1
  26. package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.d.ts +106 -106
  27. package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.js +197 -197
  28. package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.js.map +1 -1
  29. package/lib/cjs/pointcloud/format/opc/FileAccess.d.ts +39 -39
  30. package/lib/cjs/pointcloud/format/opc/FileAccess.js +48 -48
  31. package/lib/cjs/pointcloud/format/opc/FileAccess.js.map +1 -1
  32. package/lib/cjs/pointcloud/format/opc/FileReader.d.ts +118 -118
  33. package/lib/cjs/pointcloud/format/opc/FileReader.js +248 -248
  34. package/lib/cjs/pointcloud/format/opc/FileReader.js.map +1 -1
  35. package/lib/cjs/pointcloud/format/opc/FileRecord.d.ts +89 -89
  36. package/lib/cjs/pointcloud/format/opc/FileRecord.js +125 -125
  37. package/lib/cjs/pointcloud/format/opc/FileRecord.js.map +1 -1
  38. package/lib/cjs/pointcloud/format/opc/GeometryReader.d.ts +79 -79
  39. package/lib/cjs/pointcloud/format/opc/GeometryReader.js +163 -163
  40. package/lib/cjs/pointcloud/format/opc/GeometryReader.js.map +1 -1
  41. package/lib/cjs/pointcloud/format/opc/GeometryRecord.d.ts +53 -53
  42. package/lib/cjs/pointcloud/format/opc/GeometryRecord.js +107 -107
  43. package/lib/cjs/pointcloud/format/opc/GeometryRecord.js.map +1 -1
  44. package/lib/cjs/pointcloud/format/opc/OPCReader.d.ts +157 -157
  45. package/lib/cjs/pointcloud/format/opc/OPCReader.js +319 -319
  46. package/lib/cjs/pointcloud/format/opc/OPCReader.js.map +1 -1
  47. package/lib/cjs/pointcloud/format/opc/PointReader.d.ts +72 -72
  48. package/lib/cjs/pointcloud/format/opc/PointReader.js +152 -152
  49. package/lib/cjs/pointcloud/format/opc/PointReader.js.map +1 -1
  50. package/lib/cjs/pointcloud/format/opc/TileReadBuffer.d.ts +63 -63
  51. package/lib/cjs/pointcloud/format/opc/TileReadBuffer.js +92 -92
  52. package/lib/cjs/pointcloud/format/opc/TileReadBuffer.js.map +1 -1
  53. package/lib/cjs/pointcloud/format/opc/TileRecord.d.ts +88 -88
  54. package/lib/cjs/pointcloud/format/opc/TileRecord.js +161 -161
  55. package/lib/cjs/pointcloud/format/opc/TileRecord.js.map +1 -1
  56. package/lib/cjs/pointcloud/model/AttributeTypes.d.ts +37 -37
  57. package/lib/cjs/pointcloud/model/AttributeTypes.js +64 -64
  58. package/lib/cjs/pointcloud/model/AttributeTypes.js.map +1 -1
  59. package/lib/cjs/pointcloud/model/AttributeValue.d.ts +247 -247
  60. package/lib/cjs/pointcloud/model/AttributeValue.js +508 -508
  61. package/lib/cjs/pointcloud/model/AttributeValue.js.map +1 -1
  62. package/lib/cjs/pointcloud/model/BlockIndex.d.ts +49 -49
  63. package/lib/cjs/pointcloud/model/BlockIndex.js +48 -48
  64. package/lib/cjs/pointcloud/model/BlockIndex.js.map +1 -1
  65. package/lib/cjs/pointcloud/model/CloudPoint.d.ts +210 -210
  66. package/lib/cjs/pointcloud/model/CloudPoint.js +318 -318
  67. package/lib/cjs/pointcloud/model/CloudPoint.js.map +1 -1
  68. package/lib/cjs/pointcloud/model/Grid.d.ts +91 -91
  69. package/lib/cjs/pointcloud/model/Grid.js +129 -129
  70. package/lib/cjs/pointcloud/model/Grid.js.map +1 -1
  71. package/lib/cjs/pointcloud/model/GridIndex.d.ts +66 -66
  72. package/lib/cjs/pointcloud/model/GridIndex.js +93 -93
  73. package/lib/cjs/pointcloud/model/GridIndex.js.map +1 -1
  74. package/lib/cjs/pointcloud/model/PointAttribute.d.ts +208 -208
  75. package/lib/cjs/pointcloud/model/PointAttribute.js +374 -374
  76. package/lib/cjs/pointcloud/model/PointAttribute.js.map +1 -1
  77. package/lib/cjs/pointcloud/model/PointCloudReader.d.ts +156 -156
  78. package/lib/cjs/pointcloud/model/PointCloudReader.js +189 -189
  79. package/lib/cjs/pointcloud/model/PointCloudReader.js.map +1 -1
  80. package/lib/cjs/pointcloud/model/PointData.d.ts +17 -17
  81. package/lib/cjs/pointcloud/model/PointData.js +24 -24
  82. package/lib/cjs/pointcloud/model/PointData.js.map +1 -1
  83. package/lib/cjs/pointcloud/model/PointDataRaw.d.ts +34 -34
  84. package/lib/cjs/pointcloud/model/PointDataRaw.js +69 -69
  85. package/lib/cjs/pointcloud/model/PointDataRaw.js.map +1 -1
  86. package/lib/cjs/pointcloud/model/ReadRequest.d.ts +175 -175
  87. package/lib/cjs/pointcloud/model/ReadRequest.js +239 -239
  88. package/lib/cjs/pointcloud/model/ReadRequest.js.map +1 -1
  89. package/lib/cjs/pointcloud/model/StandardAttributes.d.ts +40 -40
  90. package/lib/cjs/pointcloud/model/StandardAttributes.js +47 -47
  91. package/lib/cjs/pointcloud/model/StandardAttributes.js.map +1 -1
  92. package/lib/cjs/pointcloud/model/TileIndex.d.ts +47 -47
  93. package/lib/cjs/pointcloud/model/TileIndex.js +47 -47
  94. package/lib/cjs/pointcloud/model/TileIndex.js.map +1 -1
  95. package/lib/cjs/pointcloud/render/AViewRequest.d.ts +38 -38
  96. package/lib/cjs/pointcloud/render/AViewRequest.js +24 -24
  97. package/lib/cjs/pointcloud/render/AViewRequest.js.map +1 -1
  98. package/lib/cjs/pointcloud/render/Block.d.ts +67 -67
  99. package/lib/cjs/pointcloud/render/Block.js +119 -119
  100. package/lib/cjs/pointcloud/render/Block.js.map +1 -1
  101. package/lib/cjs/pointcloud/render/DataManager.d.ts +136 -136
  102. package/lib/cjs/pointcloud/render/DataManager.js +342 -342
  103. package/lib/cjs/pointcloud/render/DataManager.js.map +1 -1
  104. package/lib/cjs/pointcloud/render/FrameData.d.ts +30 -30
  105. package/lib/cjs/pointcloud/render/FrameData.js +39 -39
  106. package/lib/cjs/pointcloud/render/FrameData.js.map +1 -1
  107. package/lib/cjs/pointcloud/render/Level.d.ts +90 -90
  108. package/lib/cjs/pointcloud/render/Level.js +119 -119
  109. package/lib/cjs/pointcloud/render/Level.js.map +1 -1
  110. package/lib/cjs/pointcloud/render/TileLoadSorter.d.ts +60 -60
  111. package/lib/cjs/pointcloud/render/TileLoadSorter.js +99 -99
  112. package/lib/cjs/pointcloud/render/TileLoadSorter.js.map +1 -1
  113. package/lib/cjs/pointcloud/render/ViewTree.d.ts +113 -113
  114. package/lib/cjs/pointcloud/render/ViewTree.js +363 -363
  115. package/lib/cjs/pointcloud/render/ViewTree.js.map +1 -1
  116. package/lib/cjs/spatial/crs/CRSEngine.d.ts +55 -55
  117. package/lib/cjs/spatial/crs/CRSEngine.js +93 -93
  118. package/lib/cjs/spatial/crs/CRSEngine.js.map +1 -1
  119. package/lib/cjs/spatial/crs/CRSManager.d.ts +49 -49
  120. package/lib/cjs/spatial/crs/CRSManager.js +109 -109
  121. package/lib/cjs/spatial/crs/CRSManager.js.map +1 -1
  122. package/lib/cjs/spatial/ecrs/Axis.d.ts +77 -77
  123. package/lib/cjs/spatial/ecrs/Axis.js +93 -93
  124. package/lib/cjs/spatial/ecrs/Axis.js.map +1 -1
  125. package/lib/cjs/spatial/ecrs/CRS.d.ts +447 -447
  126. package/lib/cjs/spatial/ecrs/CRS.js +930 -930
  127. package/lib/cjs/spatial/ecrs/CRS.js.map +1 -1
  128. package/lib/cjs/spatial/ecrs/CoordinateSystem.d.ts +142 -142
  129. package/lib/cjs/spatial/ecrs/CoordinateSystem.js +326 -326
  130. package/lib/cjs/spatial/ecrs/CoordinateSystem.js.map +1 -1
  131. package/lib/cjs/spatial/ecrs/DataFileUnit.d.ts +10 -10
  132. package/lib/cjs/spatial/ecrs/DataFileUnit.js +104 -104
  133. package/lib/cjs/spatial/ecrs/DataFileUnit.js.map +1 -1
  134. package/lib/cjs/spatial/ecrs/Datum.d.ts +111 -111
  135. package/lib/cjs/spatial/ecrs/Datum.js +166 -166
  136. package/lib/cjs/spatial/ecrs/Datum.js.map +1 -1
  137. package/lib/cjs/spatial/ecrs/Ellipsoid.d.ts +188 -188
  138. package/lib/cjs/spatial/ecrs/Ellipsoid.js +336 -336
  139. package/lib/cjs/spatial/ecrs/Ellipsoid.js.map +1 -1
  140. package/lib/cjs/spatial/ecrs/OnlineEngine.d.ts +48 -48
  141. package/lib/cjs/spatial/ecrs/OnlineEngine.js +102 -102
  142. package/lib/cjs/spatial/ecrs/OnlineEngine.js.map +1 -1
  143. package/lib/cjs/spatial/ecrs/OnlineRegistry.d.ts +37 -37
  144. package/lib/cjs/spatial/ecrs/OnlineRegistry.js +76 -76
  145. package/lib/cjs/spatial/ecrs/OnlineRegistry.js.map +1 -1
  146. package/lib/cjs/spatial/ecrs/Operation.d.ts +191 -191
  147. package/lib/cjs/spatial/ecrs/Operation.js +345 -345
  148. package/lib/cjs/spatial/ecrs/Operation.js.map +1 -1
  149. package/lib/cjs/spatial/ecrs/OperationMethod.d.ts +71 -71
  150. package/lib/cjs/spatial/ecrs/OperationMethod.js +75 -75
  151. package/lib/cjs/spatial/ecrs/OperationMethod.js.map +1 -1
  152. package/lib/cjs/spatial/ecrs/ParameterValue.d.ts +49 -49
  153. package/lib/cjs/spatial/ecrs/ParameterValue.js +65 -65
  154. package/lib/cjs/spatial/ecrs/ParameterValue.js.map +1 -1
  155. package/lib/cjs/spatial/ecrs/ParameterValueList.d.ts +72 -72
  156. package/lib/cjs/spatial/ecrs/ParameterValueList.js +120 -120
  157. package/lib/cjs/spatial/ecrs/ParameterValueList.js.map +1 -1
  158. package/lib/cjs/spatial/ecrs/PrimeMeridian.d.ts +78 -78
  159. package/lib/cjs/spatial/ecrs/PrimeMeridian.js +108 -108
  160. package/lib/cjs/spatial/ecrs/PrimeMeridian.js.map +1 -1
  161. package/lib/cjs/spatial/ecrs/Registry.d.ts +109 -109
  162. package/lib/cjs/spatial/ecrs/Registry.js +207 -207
  163. package/lib/cjs/spatial/ecrs/Registry.js.map +1 -1
  164. package/lib/cjs/spatial/ecrs/Transform.d.ts +77 -77
  165. package/lib/cjs/spatial/ecrs/Transform.js +396 -396
  166. package/lib/cjs/spatial/ecrs/Transform.js.map +1 -1
  167. package/lib/cjs/spatial/ecrs/Unit.d.ts +170 -170
  168. package/lib/cjs/spatial/ecrs/Unit.js +336 -336
  169. package/lib/cjs/spatial/ecrs/Unit.js.map +1 -1
  170. package/lib/cjs/spatial/ecrs/VerticalModel.d.ts +69 -69
  171. package/lib/cjs/spatial/ecrs/VerticalModel.js +88 -88
  172. package/lib/cjs/spatial/ecrs/VerticalModel.js.map +1 -1
  173. package/lib/cjs/spatial/ecrs/WellKnownText.d.ts +153 -153
  174. package/lib/cjs/spatial/ecrs/WellKnownText.js +494 -494
  175. package/lib/cjs/spatial/ecrs/WellKnownText.js.map +1 -1
  176. package/lib/cjs/spatial/ecrs/WellKnownTextNode.d.ts +69 -69
  177. package/lib/cjs/spatial/ecrs/WellKnownTextNode.js +128 -128
  178. package/lib/cjs/spatial/ecrs/WellKnownTextNode.js.map +1 -1
  179. package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.d.ts +101 -101
  180. package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.js +162 -162
  181. package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.js.map +1 -1
  182. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConic.d.ts +79 -79
  183. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConic.js +125 -125
  184. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConic.js.map +1 -1
  185. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConicEN.d.ts +47 -47
  186. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js +73 -73
  187. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js.map +1 -1
  188. package/lib/cjs/spatial/ecrs/projection/LambertConical1SP.d.ts +72 -72
  189. package/lib/cjs/spatial/ecrs/projection/LambertConical1SP.js +129 -129
  190. package/lib/cjs/spatial/ecrs/projection/LambertConical1SP.js.map +1 -1
  191. package/lib/cjs/spatial/ecrs/projection/LambertConical2SP.d.ts +120 -120
  192. package/lib/cjs/spatial/ecrs/projection/LambertConical2SP.js +179 -179
  193. package/lib/cjs/spatial/ecrs/projection/LambertConical2SP.js.map +1 -1
  194. package/lib/cjs/spatial/ecrs/projection/Mercator1SP.d.ts +73 -73
  195. package/lib/cjs/spatial/ecrs/projection/Mercator1SP.js +112 -112
  196. package/lib/cjs/spatial/ecrs/projection/Mercator1SP.js.map +1 -1
  197. package/lib/cjs/spatial/ecrs/projection/ObliqueMercator.d.ts +96 -96
  198. package/lib/cjs/spatial/ecrs/projection/ObliqueMercator.js +173 -173
  199. package/lib/cjs/spatial/ecrs/projection/ObliqueMercator.js.map +1 -1
  200. package/lib/cjs/spatial/ecrs/projection/ObliqueStereographic.d.ts +123 -123
  201. package/lib/cjs/spatial/ecrs/projection/ObliqueStereographic.js +208 -208
  202. package/lib/cjs/spatial/ecrs/projection/ObliqueStereographic.js.map +1 -1
  203. package/lib/cjs/spatial/ecrs/projection/TransverseMercator.d.ts +108 -108
  204. package/lib/cjs/spatial/ecrs/projection/TransverseMercator.js +183 -183
  205. package/lib/cjs/spatial/ecrs/projection/TransverseMercator.js.map +1 -1
  206. package/lib/cjs/spatial/ecrs/transformation/PositionVector.d.ts +90 -90
  207. package/lib/cjs/spatial/ecrs/transformation/PositionVector.js +130 -130
  208. package/lib/cjs/spatial/ecrs/transformation/PositionVector.js.map +1 -1
  209. package/lib/cjs/spatial/geom/Bounds.d.ts +33 -33
  210. package/lib/cjs/spatial/geom/Bounds.js +156 -156
  211. package/lib/cjs/spatial/geom/Bounds.js.map +1 -1
  212. package/lib/cjs/spatial/geom/Coordinate.d.ts +61 -61
  213. package/lib/cjs/spatial/geom/Coordinate.js +186 -186
  214. package/lib/cjs/spatial/geom/Coordinate.js.map +1 -1
  215. package/lib/cjs/spatial/geom/Line.d.ts +225 -225
  216. package/lib/cjs/spatial/geom/Line.js +432 -432
  217. package/lib/cjs/spatial/geom/Line.js.map +1 -1
  218. package/lib/cjs/spatial/geom/Transform.d.ts +340 -340
  219. package/lib/cjs/spatial/geom/Transform.js +748 -748
  220. package/lib/cjs/spatial/geom/Transform.js.map +1 -1
  221. package/lib/cjs/system/buffer/ABuffer.d.ts +51 -51
  222. package/lib/cjs/system/buffer/ABuffer.js +90 -90
  223. package/lib/cjs/system/buffer/ABuffer.js.map +1 -1
  224. package/lib/cjs/system/buffer/Float32Buffer.d.ts +46 -46
  225. package/lib/cjs/system/buffer/Float32Buffer.js +60 -60
  226. package/lib/cjs/system/buffer/Float32Buffer.js.map +1 -1
  227. package/lib/cjs/system/buffer/LittleEndian.d.ts +149 -149
  228. package/lib/cjs/system/buffer/LittleEndian.js +303 -303
  229. package/lib/cjs/system/buffer/LittleEndian.js.map +1 -1
  230. package/lib/cjs/system/buffer/Uint16Buffer.d.ts +49 -49
  231. package/lib/cjs/system/buffer/Uint16Buffer.js +65 -65
  232. package/lib/cjs/system/buffer/Uint16Buffer.js.map +1 -1
  233. package/lib/cjs/system/buffer/Uint8Buffer.d.ts +49 -49
  234. package/lib/cjs/system/buffer/Uint8Buffer.js +65 -65
  235. package/lib/cjs/system/buffer/Uint8Buffer.js.map +1 -1
  236. package/lib/cjs/system/collection/AList.d.ts +30 -30
  237. package/lib/cjs/system/collection/AList.js +70 -70
  238. package/lib/cjs/system/collection/AList.js.map +1 -1
  239. package/lib/cjs/system/collection/IntMap.d.ts +18 -18
  240. package/lib/cjs/system/collection/IntMap.js +35 -35
  241. package/lib/cjs/system/collection/IntMap.js.map +1 -1
  242. package/lib/cjs/system/collection/StringMap.d.ts +26 -26
  243. package/lib/cjs/system/collection/StringMap.js +63 -63
  244. package/lib/cjs/system/collection/StringMap.js.map +1 -1
  245. package/lib/cjs/system/io/ABufferInStream.d.ts +29 -29
  246. package/lib/cjs/system/io/ABufferInStream.js +46 -46
  247. package/lib/cjs/system/io/ABufferInStream.js.map +1 -1
  248. package/lib/cjs/system/io/InStream.d.ts +23 -23
  249. package/lib/cjs/system/io/InStream.js +34 -34
  250. package/lib/cjs/system/io/InStream.js.map +1 -1
  251. package/lib/cjs/system/io/OutStream.d.ts +23 -23
  252. package/lib/cjs/system/io/OutStream.js +33 -33
  253. package/lib/cjs/system/io/OutStream.js.map +1 -1
  254. package/lib/cjs/system/runtime/ALong.d.ts +329 -329
  255. package/lib/cjs/system/runtime/ALong.js +687 -687
  256. package/lib/cjs/system/runtime/ALong.js.map +1 -1
  257. package/lib/cjs/system/runtime/ASystem.d.ts +14 -14
  258. package/lib/cjs/system/runtime/ASystem.js +31 -31
  259. package/lib/cjs/system/runtime/ASystem.js.map +1 -1
  260. package/lib/cjs/system/runtime/Downloader.d.ts +17 -17
  261. package/lib/cjs/system/runtime/Downloader.js +38 -38
  262. package/lib/cjs/system/runtime/Downloader.js.map +1 -1
  263. package/lib/cjs/system/runtime/DownloaderNode.d.ts +18 -18
  264. package/lib/cjs/system/runtime/DownloaderNode.js +129 -129
  265. package/lib/cjs/system/runtime/DownloaderNode.js.map +1 -1
  266. package/lib/cjs/system/runtime/DownloaderXhr.d.ts +18 -18
  267. package/lib/cjs/system/runtime/DownloaderXhr.js +131 -131
  268. package/lib/cjs/system/runtime/DownloaderXhr.js.map +1 -1
  269. package/lib/cjs/system/runtime/Message.d.ts +16 -16
  270. package/lib/cjs/system/runtime/Message.js +39 -39
  271. package/lib/cjs/system/runtime/Message.js.map +1 -1
  272. package/lib/cjs/system/runtime/Numbers.d.ts +34 -34
  273. package/lib/cjs/system/runtime/Numbers.js +87 -87
  274. package/lib/cjs/system/runtime/Numbers.js.map +1 -1
  275. package/lib/cjs/system/runtime/Strings.d.ts +49 -49
  276. package/lib/cjs/system/runtime/Strings.js +188 -188
  277. package/lib/cjs/system/runtime/Strings.js.map +1 -1
  278. package/lib/cjs/system/runtime/iComparator.d.ts +12 -12
  279. package/lib/cjs/system/runtime/iComparator.js +9 -9
  280. package/lib/cjs/system/runtime/iComparator.js.map +1 -1
  281. package/lib/cjs/system/storage/CacheList.d.ts +39 -39
  282. package/lib/cjs/system/storage/CacheList.js +80 -80
  283. package/lib/cjs/system/storage/CacheList.js.map +1 -1
  284. package/lib/cjs/system/storage/CachedItem.d.ts +21 -21
  285. package/lib/cjs/system/storage/CachedItem.js +25 -25
  286. package/lib/cjs/system/storage/CachedItem.js.map +1 -1
  287. package/lib/cjs/system/storage/ContentLoader.d.ts +64 -64
  288. package/lib/cjs/system/storage/ContentLoader.js +95 -95
  289. package/lib/cjs/system/storage/ContentLoader.js.map +1 -1
  290. package/lib/cjs/system/storage/FileContent.d.ts +19 -19
  291. package/lib/cjs/system/storage/FileContent.js +24 -24
  292. package/lib/cjs/system/storage/FileContent.js.map +1 -1
  293. package/lib/cjs/system/storage/FileRange.d.ts +20 -20
  294. package/lib/cjs/system/storage/FileRange.js +24 -24
  295. package/lib/cjs/system/storage/FileRange.js.map +1 -1
  296. package/lib/cjs/system/storage/FileStorage.d.ts +44 -44
  297. package/lib/cjs/system/storage/FileStorage.js +62 -62
  298. package/lib/cjs/system/storage/FileStorage.js.map +1 -1
  299. package/lib/cjs/system/storage/NodeFS.d.ts +41 -41
  300. package/lib/cjs/system/storage/NodeFS.js +79 -79
  301. package/lib/cjs/system/storage/NodeFS.js.map +1 -1
  302. package/lib/cjs/system/storage/PageCachedFile.d.ts +54 -54
  303. package/lib/cjs/system/storage/PageCachedFile.js +165 -165
  304. package/lib/cjs/system/storage/PageCachedFile.js.map +1 -1
  305. package/lib/cjs/system/storage/UrlFS.d.ts +53 -53
  306. package/lib/cjs/system/storage/UrlFS.js +114 -114
  307. package/lib/cjs/system/storage/UrlFS.js.map +1 -1
  308. package/lib/esm/core-orbitgt.d.ts +26 -26
  309. package/lib/esm/core-orbitgt.js +31 -31
  310. package/lib/esm/core-orbitgt.js.map +1 -1
  311. package/lib/esm/pointcloud/format/opc/AttributeMask.d.ts +30 -30
  312. package/lib/esm/pointcloud/format/opc/AttributeMask.js +43 -43
  313. package/lib/esm/pointcloud/format/opc/AttributeMask.js.map +1 -1
  314. package/lib/esm/pointcloud/format/opc/AttributeReader.d.ts +63 -63
  315. package/lib/esm/pointcloud/format/opc/AttributeReader.js +20 -20
  316. package/lib/esm/pointcloud/format/opc/AttributeReader.js.map +1 -1
  317. package/lib/esm/pointcloud/format/opc/BlockRecord.d.ts +54 -54
  318. package/lib/esm/pointcloud/format/opc/BlockRecord.js +80 -80
  319. package/lib/esm/pointcloud/format/opc/BlockRecord.js.map +1 -1
  320. package/lib/esm/pointcloud/format/opc/ContainerFile.d.ts +85 -85
  321. package/lib/esm/pointcloud/format/opc/ContainerFile.js +195 -195
  322. package/lib/esm/pointcloud/format/opc/ContainerFile.js.map +1 -1
  323. package/lib/esm/pointcloud/format/opc/ContainerFilePart.d.ts +55 -55
  324. package/lib/esm/pointcloud/format/opc/ContainerFilePart.js +71 -71
  325. package/lib/esm/pointcloud/format/opc/ContainerFilePart.js.map +1 -1
  326. package/lib/esm/pointcloud/format/opc/DirectoryReader.d.ts +75 -75
  327. package/lib/esm/pointcloud/format/opc/DirectoryReader.js +165 -165
  328. package/lib/esm/pointcloud/format/opc/DirectoryReader.js.map +1 -1
  329. package/lib/esm/pointcloud/format/opc/DirectoryRecord.d.ts +59 -59
  330. package/lib/esm/pointcloud/format/opc/DirectoryRecord.js +85 -85
  331. package/lib/esm/pointcloud/format/opc/DirectoryRecord.js.map +1 -1
  332. package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.d.ts +106 -106
  333. package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.js +193 -193
  334. package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.js.map +1 -1
  335. package/lib/esm/pointcloud/format/opc/FileAccess.d.ts +39 -39
  336. package/lib/esm/pointcloud/format/opc/FileAccess.js +44 -44
  337. package/lib/esm/pointcloud/format/opc/FileAccess.js.map +1 -1
  338. package/lib/esm/pointcloud/format/opc/FileReader.d.ts +118 -118
  339. package/lib/esm/pointcloud/format/opc/FileReader.js +244 -244
  340. package/lib/esm/pointcloud/format/opc/FileReader.js.map +1 -1
  341. package/lib/esm/pointcloud/format/opc/FileRecord.d.ts +89 -89
  342. package/lib/esm/pointcloud/format/opc/FileRecord.js +121 -121
  343. package/lib/esm/pointcloud/format/opc/FileRecord.js.map +1 -1
  344. package/lib/esm/pointcloud/format/opc/GeometryReader.d.ts +79 -79
  345. package/lib/esm/pointcloud/format/opc/GeometryReader.js +159 -159
  346. package/lib/esm/pointcloud/format/opc/GeometryReader.js.map +1 -1
  347. package/lib/esm/pointcloud/format/opc/GeometryRecord.d.ts +53 -53
  348. package/lib/esm/pointcloud/format/opc/GeometryRecord.js +103 -103
  349. package/lib/esm/pointcloud/format/opc/GeometryRecord.js.map +1 -1
  350. package/lib/esm/pointcloud/format/opc/OPCReader.d.ts +157 -157
  351. package/lib/esm/pointcloud/format/opc/OPCReader.js +315 -315
  352. package/lib/esm/pointcloud/format/opc/OPCReader.js.map +1 -1
  353. package/lib/esm/pointcloud/format/opc/PointReader.d.ts +72 -72
  354. package/lib/esm/pointcloud/format/opc/PointReader.js +148 -148
  355. package/lib/esm/pointcloud/format/opc/PointReader.js.map +1 -1
  356. package/lib/esm/pointcloud/format/opc/TileReadBuffer.d.ts +63 -63
  357. package/lib/esm/pointcloud/format/opc/TileReadBuffer.js +88 -88
  358. package/lib/esm/pointcloud/format/opc/TileReadBuffer.js.map +1 -1
  359. package/lib/esm/pointcloud/format/opc/TileRecord.d.ts +88 -88
  360. package/lib/esm/pointcloud/format/opc/TileRecord.js +157 -157
  361. package/lib/esm/pointcloud/format/opc/TileRecord.js.map +1 -1
  362. package/lib/esm/pointcloud/model/AttributeTypes.d.ts +37 -37
  363. package/lib/esm/pointcloud/model/AttributeTypes.js +60 -60
  364. package/lib/esm/pointcloud/model/AttributeTypes.js.map +1 -1
  365. package/lib/esm/pointcloud/model/AttributeValue.d.ts +247 -247
  366. package/lib/esm/pointcloud/model/AttributeValue.js +504 -504
  367. package/lib/esm/pointcloud/model/AttributeValue.js.map +1 -1
  368. package/lib/esm/pointcloud/model/BlockIndex.d.ts +49 -49
  369. package/lib/esm/pointcloud/model/BlockIndex.js +44 -44
  370. package/lib/esm/pointcloud/model/BlockIndex.js.map +1 -1
  371. package/lib/esm/pointcloud/model/CloudPoint.d.ts +210 -210
  372. package/lib/esm/pointcloud/model/CloudPoint.js +314 -314
  373. package/lib/esm/pointcloud/model/CloudPoint.js.map +1 -1
  374. package/lib/esm/pointcloud/model/Grid.d.ts +91 -91
  375. package/lib/esm/pointcloud/model/Grid.js +125 -125
  376. package/lib/esm/pointcloud/model/Grid.js.map +1 -1
  377. package/lib/esm/pointcloud/model/GridIndex.d.ts +66 -66
  378. package/lib/esm/pointcloud/model/GridIndex.js +89 -89
  379. package/lib/esm/pointcloud/model/GridIndex.js.map +1 -1
  380. package/lib/esm/pointcloud/model/PointAttribute.d.ts +208 -208
  381. package/lib/esm/pointcloud/model/PointAttribute.js +370 -370
  382. package/lib/esm/pointcloud/model/PointAttribute.js.map +1 -1
  383. package/lib/esm/pointcloud/model/PointCloudReader.d.ts +156 -156
  384. package/lib/esm/pointcloud/model/PointCloudReader.js +185 -185
  385. package/lib/esm/pointcloud/model/PointCloudReader.js.map +1 -1
  386. package/lib/esm/pointcloud/model/PointData.d.ts +17 -17
  387. package/lib/esm/pointcloud/model/PointData.js +20 -20
  388. package/lib/esm/pointcloud/model/PointData.js.map +1 -1
  389. package/lib/esm/pointcloud/model/PointDataRaw.d.ts +34 -34
  390. package/lib/esm/pointcloud/model/PointDataRaw.js +65 -65
  391. package/lib/esm/pointcloud/model/PointDataRaw.js.map +1 -1
  392. package/lib/esm/pointcloud/model/ReadRequest.d.ts +175 -175
  393. package/lib/esm/pointcloud/model/ReadRequest.js +235 -235
  394. package/lib/esm/pointcloud/model/ReadRequest.js.map +1 -1
  395. package/lib/esm/pointcloud/model/StandardAttributes.d.ts +40 -40
  396. package/lib/esm/pointcloud/model/StandardAttributes.js +43 -43
  397. package/lib/esm/pointcloud/model/StandardAttributes.js.map +1 -1
  398. package/lib/esm/pointcloud/model/TileIndex.d.ts +47 -47
  399. package/lib/esm/pointcloud/model/TileIndex.js +43 -43
  400. package/lib/esm/pointcloud/model/TileIndex.js.map +1 -1
  401. package/lib/esm/pointcloud/render/AViewRequest.d.ts +38 -38
  402. package/lib/esm/pointcloud/render/AViewRequest.js +20 -20
  403. package/lib/esm/pointcloud/render/AViewRequest.js.map +1 -1
  404. package/lib/esm/pointcloud/render/Block.d.ts +67 -67
  405. package/lib/esm/pointcloud/render/Block.js +115 -115
  406. package/lib/esm/pointcloud/render/Block.js.map +1 -1
  407. package/lib/esm/pointcloud/render/DataManager.d.ts +136 -136
  408. package/lib/esm/pointcloud/render/DataManager.js +338 -338
  409. package/lib/esm/pointcloud/render/DataManager.js.map +1 -1
  410. package/lib/esm/pointcloud/render/FrameData.d.ts +30 -30
  411. package/lib/esm/pointcloud/render/FrameData.js +35 -35
  412. package/lib/esm/pointcloud/render/FrameData.js.map +1 -1
  413. package/lib/esm/pointcloud/render/Level.d.ts +90 -90
  414. package/lib/esm/pointcloud/render/Level.js +115 -115
  415. package/lib/esm/pointcloud/render/Level.js.map +1 -1
  416. package/lib/esm/pointcloud/render/TileLoadSorter.d.ts +60 -60
  417. package/lib/esm/pointcloud/render/TileLoadSorter.js +95 -95
  418. package/lib/esm/pointcloud/render/TileLoadSorter.js.map +1 -1
  419. package/lib/esm/pointcloud/render/ViewTree.d.ts +113 -113
  420. package/lib/esm/pointcloud/render/ViewTree.js +359 -359
  421. package/lib/esm/pointcloud/render/ViewTree.js.map +1 -1
  422. package/lib/esm/spatial/crs/CRSEngine.d.ts +55 -55
  423. package/lib/esm/spatial/crs/CRSEngine.js +89 -89
  424. package/lib/esm/spatial/crs/CRSEngine.js.map +1 -1
  425. package/lib/esm/spatial/crs/CRSManager.d.ts +49 -49
  426. package/lib/esm/spatial/crs/CRSManager.js +105 -105
  427. package/lib/esm/spatial/crs/CRSManager.js.map +1 -1
  428. package/lib/esm/spatial/ecrs/Axis.d.ts +77 -77
  429. package/lib/esm/spatial/ecrs/Axis.js +89 -89
  430. package/lib/esm/spatial/ecrs/Axis.js.map +1 -1
  431. package/lib/esm/spatial/ecrs/CRS.d.ts +447 -447
  432. package/lib/esm/spatial/ecrs/CRS.js +926 -926
  433. package/lib/esm/spatial/ecrs/CRS.js.map +1 -1
  434. package/lib/esm/spatial/ecrs/CoordinateSystem.d.ts +142 -142
  435. package/lib/esm/spatial/ecrs/CoordinateSystem.js +322 -322
  436. package/lib/esm/spatial/ecrs/CoordinateSystem.js.map +1 -1
  437. package/lib/esm/spatial/ecrs/DataFileUnit.d.ts +10 -10
  438. package/lib/esm/spatial/ecrs/DataFileUnit.js +100 -100
  439. package/lib/esm/spatial/ecrs/DataFileUnit.js.map +1 -1
  440. package/lib/esm/spatial/ecrs/Datum.d.ts +111 -111
  441. package/lib/esm/spatial/ecrs/Datum.js +162 -162
  442. package/lib/esm/spatial/ecrs/Datum.js.map +1 -1
  443. package/lib/esm/spatial/ecrs/Ellipsoid.d.ts +188 -188
  444. package/lib/esm/spatial/ecrs/Ellipsoid.js +332 -332
  445. package/lib/esm/spatial/ecrs/Ellipsoid.js.map +1 -1
  446. package/lib/esm/spatial/ecrs/OnlineEngine.d.ts +48 -48
  447. package/lib/esm/spatial/ecrs/OnlineEngine.js +98 -98
  448. package/lib/esm/spatial/ecrs/OnlineEngine.js.map +1 -1
  449. package/lib/esm/spatial/ecrs/OnlineRegistry.d.ts +37 -37
  450. package/lib/esm/spatial/ecrs/OnlineRegistry.js +72 -72
  451. package/lib/esm/spatial/ecrs/OnlineRegistry.js.map +1 -1
  452. package/lib/esm/spatial/ecrs/Operation.d.ts +191 -191
  453. package/lib/esm/spatial/ecrs/Operation.js +341 -341
  454. package/lib/esm/spatial/ecrs/Operation.js.map +1 -1
  455. package/lib/esm/spatial/ecrs/OperationMethod.d.ts +71 -71
  456. package/lib/esm/spatial/ecrs/OperationMethod.js +71 -71
  457. package/lib/esm/spatial/ecrs/OperationMethod.js.map +1 -1
  458. package/lib/esm/spatial/ecrs/ParameterValue.d.ts +49 -49
  459. package/lib/esm/spatial/ecrs/ParameterValue.js +61 -61
  460. package/lib/esm/spatial/ecrs/ParameterValue.js.map +1 -1
  461. package/lib/esm/spatial/ecrs/ParameterValueList.d.ts +72 -72
  462. package/lib/esm/spatial/ecrs/ParameterValueList.js +116 -116
  463. package/lib/esm/spatial/ecrs/ParameterValueList.js.map +1 -1
  464. package/lib/esm/spatial/ecrs/PrimeMeridian.d.ts +78 -78
  465. package/lib/esm/spatial/ecrs/PrimeMeridian.js +104 -104
  466. package/lib/esm/spatial/ecrs/PrimeMeridian.js.map +1 -1
  467. package/lib/esm/spatial/ecrs/Registry.d.ts +109 -109
  468. package/lib/esm/spatial/ecrs/Registry.js +203 -203
  469. package/lib/esm/spatial/ecrs/Registry.js.map +1 -1
  470. package/lib/esm/spatial/ecrs/Transform.d.ts +77 -77
  471. package/lib/esm/spatial/ecrs/Transform.js +392 -392
  472. package/lib/esm/spatial/ecrs/Transform.js.map +1 -1
  473. package/lib/esm/spatial/ecrs/Unit.d.ts +170 -170
  474. package/lib/esm/spatial/ecrs/Unit.js +332 -332
  475. package/lib/esm/spatial/ecrs/Unit.js.map +1 -1
  476. package/lib/esm/spatial/ecrs/VerticalModel.d.ts +69 -69
  477. package/lib/esm/spatial/ecrs/VerticalModel.js +84 -84
  478. package/lib/esm/spatial/ecrs/VerticalModel.js.map +1 -1
  479. package/lib/esm/spatial/ecrs/WellKnownText.d.ts +153 -153
  480. package/lib/esm/spatial/ecrs/WellKnownText.js +490 -490
  481. package/lib/esm/spatial/ecrs/WellKnownText.js.map +1 -1
  482. package/lib/esm/spatial/ecrs/WellKnownTextNode.d.ts +69 -69
  483. package/lib/esm/spatial/ecrs/WellKnownTextNode.js +124 -124
  484. package/lib/esm/spatial/ecrs/WellKnownTextNode.js.map +1 -1
  485. package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.d.ts +101 -101
  486. package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.js +158 -158
  487. package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.js.map +1 -1
  488. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConic.d.ts +79 -79
  489. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConic.js +121 -121
  490. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConic.js.map +1 -1
  491. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConicEN.d.ts +47 -47
  492. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js +69 -69
  493. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js.map +1 -1
  494. package/lib/esm/spatial/ecrs/projection/LambertConical1SP.d.ts +72 -72
  495. package/lib/esm/spatial/ecrs/projection/LambertConical1SP.js +125 -125
  496. package/lib/esm/spatial/ecrs/projection/LambertConical1SP.js.map +1 -1
  497. package/lib/esm/spatial/ecrs/projection/LambertConical2SP.d.ts +120 -120
  498. package/lib/esm/spatial/ecrs/projection/LambertConical2SP.js +175 -175
  499. package/lib/esm/spatial/ecrs/projection/LambertConical2SP.js.map +1 -1
  500. package/lib/esm/spatial/ecrs/projection/Mercator1SP.d.ts +73 -73
  501. package/lib/esm/spatial/ecrs/projection/Mercator1SP.js +108 -108
  502. package/lib/esm/spatial/ecrs/projection/Mercator1SP.js.map +1 -1
  503. package/lib/esm/spatial/ecrs/projection/ObliqueMercator.d.ts +96 -96
  504. package/lib/esm/spatial/ecrs/projection/ObliqueMercator.js +169 -169
  505. package/lib/esm/spatial/ecrs/projection/ObliqueMercator.js.map +1 -1
  506. package/lib/esm/spatial/ecrs/projection/ObliqueStereographic.d.ts +123 -123
  507. package/lib/esm/spatial/ecrs/projection/ObliqueStereographic.js +204 -204
  508. package/lib/esm/spatial/ecrs/projection/ObliqueStereographic.js.map +1 -1
  509. package/lib/esm/spatial/ecrs/projection/TransverseMercator.d.ts +108 -108
  510. package/lib/esm/spatial/ecrs/projection/TransverseMercator.js +179 -179
  511. package/lib/esm/spatial/ecrs/projection/TransverseMercator.js.map +1 -1
  512. package/lib/esm/spatial/ecrs/transformation/PositionVector.d.ts +90 -90
  513. package/lib/esm/spatial/ecrs/transformation/PositionVector.js +126 -126
  514. package/lib/esm/spatial/ecrs/transformation/PositionVector.js.map +1 -1
  515. package/lib/esm/spatial/geom/Bounds.d.ts +33 -33
  516. package/lib/esm/spatial/geom/Bounds.js +152 -152
  517. package/lib/esm/spatial/geom/Bounds.js.map +1 -1
  518. package/lib/esm/spatial/geom/Coordinate.d.ts +61 -61
  519. package/lib/esm/spatial/geom/Coordinate.js +182 -182
  520. package/lib/esm/spatial/geom/Coordinate.js.map +1 -1
  521. package/lib/esm/spatial/geom/Line.d.ts +225 -225
  522. package/lib/esm/spatial/geom/Line.js +428 -428
  523. package/lib/esm/spatial/geom/Line.js.map +1 -1
  524. package/lib/esm/spatial/geom/Transform.d.ts +340 -340
  525. package/lib/esm/spatial/geom/Transform.js +744 -744
  526. package/lib/esm/spatial/geom/Transform.js.map +1 -1
  527. package/lib/esm/system/buffer/ABuffer.d.ts +51 -51
  528. package/lib/esm/system/buffer/ABuffer.js +86 -86
  529. package/lib/esm/system/buffer/ABuffer.js.map +1 -1
  530. package/lib/esm/system/buffer/Float32Buffer.d.ts +46 -46
  531. package/lib/esm/system/buffer/Float32Buffer.js +56 -56
  532. package/lib/esm/system/buffer/Float32Buffer.js.map +1 -1
  533. package/lib/esm/system/buffer/LittleEndian.d.ts +149 -149
  534. package/lib/esm/system/buffer/LittleEndian.js +299 -299
  535. package/lib/esm/system/buffer/LittleEndian.js.map +1 -1
  536. package/lib/esm/system/buffer/Uint16Buffer.d.ts +49 -49
  537. package/lib/esm/system/buffer/Uint16Buffer.js +61 -61
  538. package/lib/esm/system/buffer/Uint16Buffer.js.map +1 -1
  539. package/lib/esm/system/buffer/Uint8Buffer.d.ts +49 -49
  540. package/lib/esm/system/buffer/Uint8Buffer.js +61 -61
  541. package/lib/esm/system/buffer/Uint8Buffer.js.map +1 -1
  542. package/lib/esm/system/collection/AList.d.ts +30 -30
  543. package/lib/esm/system/collection/AList.js +66 -66
  544. package/lib/esm/system/collection/AList.js.map +1 -1
  545. package/lib/esm/system/collection/IntMap.d.ts +18 -18
  546. package/lib/esm/system/collection/IntMap.js +31 -31
  547. package/lib/esm/system/collection/IntMap.js.map +1 -1
  548. package/lib/esm/system/collection/StringMap.d.ts +26 -26
  549. package/lib/esm/system/collection/StringMap.js +59 -59
  550. package/lib/esm/system/collection/StringMap.js.map +1 -1
  551. package/lib/esm/system/io/ABufferInStream.d.ts +29 -29
  552. package/lib/esm/system/io/ABufferInStream.js +42 -42
  553. package/lib/esm/system/io/ABufferInStream.js.map +1 -1
  554. package/lib/esm/system/io/InStream.d.ts +23 -23
  555. package/lib/esm/system/io/InStream.js +30 -30
  556. package/lib/esm/system/io/InStream.js.map +1 -1
  557. package/lib/esm/system/io/OutStream.d.ts +23 -23
  558. package/lib/esm/system/io/OutStream.js +29 -29
  559. package/lib/esm/system/io/OutStream.js.map +1 -1
  560. package/lib/esm/system/runtime/ALong.d.ts +329 -329
  561. package/lib/esm/system/runtime/ALong.js +683 -683
  562. package/lib/esm/system/runtime/ALong.js.map +1 -1
  563. package/lib/esm/system/runtime/ASystem.d.ts +14 -14
  564. package/lib/esm/system/runtime/ASystem.js +27 -27
  565. package/lib/esm/system/runtime/ASystem.js.map +1 -1
  566. package/lib/esm/system/runtime/Downloader.d.ts +17 -17
  567. package/lib/esm/system/runtime/Downloader.js +34 -34
  568. package/lib/esm/system/runtime/Downloader.js.map +1 -1
  569. package/lib/esm/system/runtime/DownloaderNode.d.ts +18 -18
  570. package/lib/esm/system/runtime/DownloaderNode.js +125 -125
  571. package/lib/esm/system/runtime/DownloaderNode.js.map +1 -1
  572. package/lib/esm/system/runtime/DownloaderXhr.d.ts +18 -18
  573. package/lib/esm/system/runtime/DownloaderXhr.js +127 -127
  574. package/lib/esm/system/runtime/DownloaderXhr.js.map +1 -1
  575. package/lib/esm/system/runtime/Message.d.ts +16 -16
  576. package/lib/esm/system/runtime/Message.js +35 -35
  577. package/lib/esm/system/runtime/Message.js.map +1 -1
  578. package/lib/esm/system/runtime/Numbers.d.ts +34 -34
  579. package/lib/esm/system/runtime/Numbers.js +83 -83
  580. package/lib/esm/system/runtime/Numbers.js.map +1 -1
  581. package/lib/esm/system/runtime/Strings.d.ts +49 -49
  582. package/lib/esm/system/runtime/Strings.js +184 -184
  583. package/lib/esm/system/runtime/Strings.js.map +1 -1
  584. package/lib/esm/system/runtime/iComparator.d.ts +12 -12
  585. package/lib/esm/system/runtime/iComparator.js +8 -8
  586. package/lib/esm/system/runtime/iComparator.js.map +1 -1
  587. package/lib/esm/system/storage/CacheList.d.ts +39 -39
  588. package/lib/esm/system/storage/CacheList.js +76 -76
  589. package/lib/esm/system/storage/CacheList.js.map +1 -1
  590. package/lib/esm/system/storage/CachedItem.d.ts +21 -21
  591. package/lib/esm/system/storage/CachedItem.js +21 -21
  592. package/lib/esm/system/storage/CachedItem.js.map +1 -1
  593. package/lib/esm/system/storage/ContentLoader.d.ts +64 -64
  594. package/lib/esm/system/storage/ContentLoader.js +91 -91
  595. package/lib/esm/system/storage/ContentLoader.js.map +1 -1
  596. package/lib/esm/system/storage/FileContent.d.ts +19 -19
  597. package/lib/esm/system/storage/FileContent.js +20 -20
  598. package/lib/esm/system/storage/FileContent.js.map +1 -1
  599. package/lib/esm/system/storage/FileRange.d.ts +20 -20
  600. package/lib/esm/system/storage/FileRange.js +20 -20
  601. package/lib/esm/system/storage/FileRange.js.map +1 -1
  602. package/lib/esm/system/storage/FileStorage.d.ts +44 -44
  603. package/lib/esm/system/storage/FileStorage.js +58 -58
  604. package/lib/esm/system/storage/FileStorage.js.map +1 -1
  605. package/lib/esm/system/storage/NodeFS.d.ts +41 -41
  606. package/lib/esm/system/storage/NodeFS.js +75 -75
  607. package/lib/esm/system/storage/NodeFS.js.map +1 -1
  608. package/lib/esm/system/storage/PageCachedFile.d.ts +54 -54
  609. package/lib/esm/system/storage/PageCachedFile.js +161 -161
  610. package/lib/esm/system/storage/PageCachedFile.js.map +1 -1
  611. package/lib/esm/system/storage/UrlFS.d.ts +53 -53
  612. package/lib/esm/system/storage/UrlFS.js +110 -110
  613. package/lib/esm/system/storage/UrlFS.js.map +1 -1
  614. package/package.json +5 -5
@@ -1 +1 @@
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
+ {"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,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":["/*---------------------------------------------------------------------------------------------\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"]}
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"]}