@itwin/core-orbitgt 4.0.0-dev.44 → 4.0.0-dev.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (613) hide show
  1. package/lib/cjs/core-orbitgt.d.ts +26 -26
  2. package/lib/cjs/core-orbitgt.js +58 -58
  3. package/lib/cjs/core-orbitgt.js.map +1 -1
  4. package/lib/cjs/pointcloud/format/opc/AttributeMask.d.ts +30 -30
  5. package/lib/cjs/pointcloud/format/opc/AttributeMask.js +47 -47
  6. package/lib/cjs/pointcloud/format/opc/AttributeMask.js.map +1 -1
  7. package/lib/cjs/pointcloud/format/opc/AttributeReader.d.ts +63 -63
  8. package/lib/cjs/pointcloud/format/opc/AttributeReader.js +24 -24
  9. package/lib/cjs/pointcloud/format/opc/AttributeReader.js.map +1 -1
  10. package/lib/cjs/pointcloud/format/opc/BlockRecord.d.ts +54 -54
  11. package/lib/cjs/pointcloud/format/opc/BlockRecord.js +84 -84
  12. package/lib/cjs/pointcloud/format/opc/BlockRecord.js.map +1 -1
  13. package/lib/cjs/pointcloud/format/opc/ContainerFile.d.ts +85 -85
  14. package/lib/cjs/pointcloud/format/opc/ContainerFile.js +199 -199
  15. package/lib/cjs/pointcloud/format/opc/ContainerFile.js.map +1 -1
  16. package/lib/cjs/pointcloud/format/opc/ContainerFilePart.d.ts +55 -55
  17. package/lib/cjs/pointcloud/format/opc/ContainerFilePart.js +75 -75
  18. package/lib/cjs/pointcloud/format/opc/ContainerFilePart.js.map +1 -1
  19. package/lib/cjs/pointcloud/format/opc/DirectoryReader.d.ts +75 -75
  20. package/lib/cjs/pointcloud/format/opc/DirectoryReader.js +169 -169
  21. package/lib/cjs/pointcloud/format/opc/DirectoryReader.js.map +1 -1
  22. package/lib/cjs/pointcloud/format/opc/DirectoryRecord.d.ts +59 -59
  23. package/lib/cjs/pointcloud/format/opc/DirectoryRecord.js +89 -89
  24. package/lib/cjs/pointcloud/format/opc/DirectoryRecord.js.map +1 -1
  25. package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.d.ts +106 -106
  26. package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.js +197 -197
  27. package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.js.map +1 -1
  28. package/lib/cjs/pointcloud/format/opc/FileAccess.d.ts +39 -39
  29. package/lib/cjs/pointcloud/format/opc/FileAccess.js +48 -48
  30. package/lib/cjs/pointcloud/format/opc/FileAccess.js.map +1 -1
  31. package/lib/cjs/pointcloud/format/opc/FileReader.d.ts +118 -118
  32. package/lib/cjs/pointcloud/format/opc/FileReader.js +248 -248
  33. package/lib/cjs/pointcloud/format/opc/FileReader.js.map +1 -1
  34. package/lib/cjs/pointcloud/format/opc/FileRecord.d.ts +89 -89
  35. package/lib/cjs/pointcloud/format/opc/FileRecord.js +125 -125
  36. package/lib/cjs/pointcloud/format/opc/FileRecord.js.map +1 -1
  37. package/lib/cjs/pointcloud/format/opc/GeometryReader.d.ts +79 -79
  38. package/lib/cjs/pointcloud/format/opc/GeometryReader.js +163 -163
  39. package/lib/cjs/pointcloud/format/opc/GeometryReader.js.map +1 -1
  40. package/lib/cjs/pointcloud/format/opc/GeometryRecord.d.ts +53 -53
  41. package/lib/cjs/pointcloud/format/opc/GeometryRecord.js +107 -107
  42. package/lib/cjs/pointcloud/format/opc/GeometryRecord.js.map +1 -1
  43. package/lib/cjs/pointcloud/format/opc/OPCReader.d.ts +157 -157
  44. package/lib/cjs/pointcloud/format/opc/OPCReader.js +319 -319
  45. package/lib/cjs/pointcloud/format/opc/OPCReader.js.map +1 -1
  46. package/lib/cjs/pointcloud/format/opc/PointReader.d.ts +72 -72
  47. package/lib/cjs/pointcloud/format/opc/PointReader.js +152 -152
  48. package/lib/cjs/pointcloud/format/opc/PointReader.js.map +1 -1
  49. package/lib/cjs/pointcloud/format/opc/TileReadBuffer.d.ts +63 -63
  50. package/lib/cjs/pointcloud/format/opc/TileReadBuffer.js +92 -92
  51. package/lib/cjs/pointcloud/format/opc/TileReadBuffer.js.map +1 -1
  52. package/lib/cjs/pointcloud/format/opc/TileRecord.d.ts +88 -88
  53. package/lib/cjs/pointcloud/format/opc/TileRecord.js +161 -161
  54. package/lib/cjs/pointcloud/format/opc/TileRecord.js.map +1 -1
  55. package/lib/cjs/pointcloud/model/AttributeTypes.d.ts +37 -37
  56. package/lib/cjs/pointcloud/model/AttributeTypes.js +64 -64
  57. package/lib/cjs/pointcloud/model/AttributeTypes.js.map +1 -1
  58. package/lib/cjs/pointcloud/model/AttributeValue.d.ts +247 -247
  59. package/lib/cjs/pointcloud/model/AttributeValue.js +508 -508
  60. package/lib/cjs/pointcloud/model/AttributeValue.js.map +1 -1
  61. package/lib/cjs/pointcloud/model/BlockIndex.d.ts +49 -49
  62. package/lib/cjs/pointcloud/model/BlockIndex.js +48 -48
  63. package/lib/cjs/pointcloud/model/BlockIndex.js.map +1 -1
  64. package/lib/cjs/pointcloud/model/CloudPoint.d.ts +210 -210
  65. package/lib/cjs/pointcloud/model/CloudPoint.js +318 -318
  66. package/lib/cjs/pointcloud/model/CloudPoint.js.map +1 -1
  67. package/lib/cjs/pointcloud/model/Grid.d.ts +91 -91
  68. package/lib/cjs/pointcloud/model/Grid.js +129 -129
  69. package/lib/cjs/pointcloud/model/Grid.js.map +1 -1
  70. package/lib/cjs/pointcloud/model/GridIndex.d.ts +66 -66
  71. package/lib/cjs/pointcloud/model/GridIndex.js +93 -93
  72. package/lib/cjs/pointcloud/model/GridIndex.js.map +1 -1
  73. package/lib/cjs/pointcloud/model/PointAttribute.d.ts +208 -208
  74. package/lib/cjs/pointcloud/model/PointAttribute.js +374 -374
  75. package/lib/cjs/pointcloud/model/PointAttribute.js.map +1 -1
  76. package/lib/cjs/pointcloud/model/PointCloudReader.d.ts +156 -156
  77. package/lib/cjs/pointcloud/model/PointCloudReader.js +189 -189
  78. package/lib/cjs/pointcloud/model/PointCloudReader.js.map +1 -1
  79. package/lib/cjs/pointcloud/model/PointData.d.ts +17 -17
  80. package/lib/cjs/pointcloud/model/PointData.js +24 -24
  81. package/lib/cjs/pointcloud/model/PointData.js.map +1 -1
  82. package/lib/cjs/pointcloud/model/PointDataRaw.d.ts +34 -34
  83. package/lib/cjs/pointcloud/model/PointDataRaw.js +69 -69
  84. package/lib/cjs/pointcloud/model/PointDataRaw.js.map +1 -1
  85. package/lib/cjs/pointcloud/model/ReadRequest.d.ts +175 -175
  86. package/lib/cjs/pointcloud/model/ReadRequest.js +239 -239
  87. package/lib/cjs/pointcloud/model/ReadRequest.js.map +1 -1
  88. package/lib/cjs/pointcloud/model/StandardAttributes.d.ts +40 -40
  89. package/lib/cjs/pointcloud/model/StandardAttributes.js +47 -47
  90. package/lib/cjs/pointcloud/model/StandardAttributes.js.map +1 -1
  91. package/lib/cjs/pointcloud/model/TileIndex.d.ts +47 -47
  92. package/lib/cjs/pointcloud/model/TileIndex.js +47 -47
  93. package/lib/cjs/pointcloud/model/TileIndex.js.map +1 -1
  94. package/lib/cjs/pointcloud/render/AViewRequest.d.ts +38 -38
  95. package/lib/cjs/pointcloud/render/AViewRequest.js +24 -24
  96. package/lib/cjs/pointcloud/render/AViewRequest.js.map +1 -1
  97. package/lib/cjs/pointcloud/render/Block.d.ts +67 -67
  98. package/lib/cjs/pointcloud/render/Block.js +119 -119
  99. package/lib/cjs/pointcloud/render/Block.js.map +1 -1
  100. package/lib/cjs/pointcloud/render/DataManager.d.ts +136 -136
  101. package/lib/cjs/pointcloud/render/DataManager.js +342 -342
  102. package/lib/cjs/pointcloud/render/DataManager.js.map +1 -1
  103. package/lib/cjs/pointcloud/render/FrameData.d.ts +30 -30
  104. package/lib/cjs/pointcloud/render/FrameData.js +39 -39
  105. package/lib/cjs/pointcloud/render/FrameData.js.map +1 -1
  106. package/lib/cjs/pointcloud/render/Level.d.ts +90 -90
  107. package/lib/cjs/pointcloud/render/Level.js +119 -119
  108. package/lib/cjs/pointcloud/render/Level.js.map +1 -1
  109. package/lib/cjs/pointcloud/render/TileLoadSorter.d.ts +60 -60
  110. package/lib/cjs/pointcloud/render/TileLoadSorter.js +99 -99
  111. package/lib/cjs/pointcloud/render/TileLoadSorter.js.map +1 -1
  112. package/lib/cjs/pointcloud/render/ViewTree.d.ts +113 -113
  113. package/lib/cjs/pointcloud/render/ViewTree.js +363 -363
  114. package/lib/cjs/pointcloud/render/ViewTree.js.map +1 -1
  115. package/lib/cjs/spatial/crs/CRSEngine.d.ts +55 -55
  116. package/lib/cjs/spatial/crs/CRSEngine.js +93 -93
  117. package/lib/cjs/spatial/crs/CRSEngine.js.map +1 -1
  118. package/lib/cjs/spatial/crs/CRSManager.d.ts +49 -49
  119. package/lib/cjs/spatial/crs/CRSManager.js +109 -109
  120. package/lib/cjs/spatial/crs/CRSManager.js.map +1 -1
  121. package/lib/cjs/spatial/ecrs/Axis.d.ts +77 -77
  122. package/lib/cjs/spatial/ecrs/Axis.js +93 -93
  123. package/lib/cjs/spatial/ecrs/Axis.js.map +1 -1
  124. package/lib/cjs/spatial/ecrs/CRS.d.ts +447 -447
  125. package/lib/cjs/spatial/ecrs/CRS.js +930 -930
  126. package/lib/cjs/spatial/ecrs/CRS.js.map +1 -1
  127. package/lib/cjs/spatial/ecrs/CoordinateSystem.d.ts +142 -142
  128. package/lib/cjs/spatial/ecrs/CoordinateSystem.js +326 -326
  129. package/lib/cjs/spatial/ecrs/CoordinateSystem.js.map +1 -1
  130. package/lib/cjs/spatial/ecrs/DataFileUnit.d.ts +10 -10
  131. package/lib/cjs/spatial/ecrs/DataFileUnit.js +104 -104
  132. package/lib/cjs/spatial/ecrs/DataFileUnit.js.map +1 -1
  133. package/lib/cjs/spatial/ecrs/Datum.d.ts +111 -111
  134. package/lib/cjs/spatial/ecrs/Datum.js +166 -166
  135. package/lib/cjs/spatial/ecrs/Datum.js.map +1 -1
  136. package/lib/cjs/spatial/ecrs/Ellipsoid.d.ts +188 -188
  137. package/lib/cjs/spatial/ecrs/Ellipsoid.js +336 -336
  138. package/lib/cjs/spatial/ecrs/Ellipsoid.js.map +1 -1
  139. package/lib/cjs/spatial/ecrs/OnlineEngine.d.ts +48 -48
  140. package/lib/cjs/spatial/ecrs/OnlineEngine.js +102 -102
  141. package/lib/cjs/spatial/ecrs/OnlineEngine.js.map +1 -1
  142. package/lib/cjs/spatial/ecrs/OnlineRegistry.d.ts +37 -37
  143. package/lib/cjs/spatial/ecrs/OnlineRegistry.js +76 -76
  144. package/lib/cjs/spatial/ecrs/OnlineRegistry.js.map +1 -1
  145. package/lib/cjs/spatial/ecrs/Operation.d.ts +191 -191
  146. package/lib/cjs/spatial/ecrs/Operation.js +345 -345
  147. package/lib/cjs/spatial/ecrs/Operation.js.map +1 -1
  148. package/lib/cjs/spatial/ecrs/OperationMethod.d.ts +71 -71
  149. package/lib/cjs/spatial/ecrs/OperationMethod.js +75 -75
  150. package/lib/cjs/spatial/ecrs/OperationMethod.js.map +1 -1
  151. package/lib/cjs/spatial/ecrs/ParameterValue.d.ts +49 -49
  152. package/lib/cjs/spatial/ecrs/ParameterValue.js +65 -65
  153. package/lib/cjs/spatial/ecrs/ParameterValue.js.map +1 -1
  154. package/lib/cjs/spatial/ecrs/ParameterValueList.d.ts +72 -72
  155. package/lib/cjs/spatial/ecrs/ParameterValueList.js +120 -120
  156. package/lib/cjs/spatial/ecrs/ParameterValueList.js.map +1 -1
  157. package/lib/cjs/spatial/ecrs/PrimeMeridian.d.ts +78 -78
  158. package/lib/cjs/spatial/ecrs/PrimeMeridian.js +108 -108
  159. package/lib/cjs/spatial/ecrs/PrimeMeridian.js.map +1 -1
  160. package/lib/cjs/spatial/ecrs/Registry.d.ts +109 -109
  161. package/lib/cjs/spatial/ecrs/Registry.js +207 -207
  162. package/lib/cjs/spatial/ecrs/Registry.js.map +1 -1
  163. package/lib/cjs/spatial/ecrs/Transform.d.ts +77 -77
  164. package/lib/cjs/spatial/ecrs/Transform.js +396 -396
  165. package/lib/cjs/spatial/ecrs/Transform.js.map +1 -1
  166. package/lib/cjs/spatial/ecrs/Unit.d.ts +170 -170
  167. package/lib/cjs/spatial/ecrs/Unit.js +336 -336
  168. package/lib/cjs/spatial/ecrs/Unit.js.map +1 -1
  169. package/lib/cjs/spatial/ecrs/VerticalModel.d.ts +69 -69
  170. package/lib/cjs/spatial/ecrs/VerticalModel.js +88 -88
  171. package/lib/cjs/spatial/ecrs/VerticalModel.js.map +1 -1
  172. package/lib/cjs/spatial/ecrs/WellKnownText.d.ts +153 -153
  173. package/lib/cjs/spatial/ecrs/WellKnownText.js +494 -494
  174. package/lib/cjs/spatial/ecrs/WellKnownText.js.map +1 -1
  175. package/lib/cjs/spatial/ecrs/WellKnownTextNode.d.ts +69 -69
  176. package/lib/cjs/spatial/ecrs/WellKnownTextNode.js +128 -128
  177. package/lib/cjs/spatial/ecrs/WellKnownTextNode.js.map +1 -1
  178. package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.d.ts +101 -101
  179. package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.js +162 -162
  180. package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.js.map +1 -1
  181. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConic.d.ts +79 -79
  182. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConic.js +125 -125
  183. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConic.js.map +1 -1
  184. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConicEN.d.ts +47 -47
  185. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js +73 -73
  186. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js.map +1 -1
  187. package/lib/cjs/spatial/ecrs/projection/LambertConical1SP.d.ts +72 -72
  188. package/lib/cjs/spatial/ecrs/projection/LambertConical1SP.js +129 -129
  189. package/lib/cjs/spatial/ecrs/projection/LambertConical1SP.js.map +1 -1
  190. package/lib/cjs/spatial/ecrs/projection/LambertConical2SP.d.ts +120 -120
  191. package/lib/cjs/spatial/ecrs/projection/LambertConical2SP.js +179 -179
  192. package/lib/cjs/spatial/ecrs/projection/LambertConical2SP.js.map +1 -1
  193. package/lib/cjs/spatial/ecrs/projection/Mercator1SP.d.ts +73 -73
  194. package/lib/cjs/spatial/ecrs/projection/Mercator1SP.js +112 -112
  195. package/lib/cjs/spatial/ecrs/projection/Mercator1SP.js.map +1 -1
  196. package/lib/cjs/spatial/ecrs/projection/ObliqueMercator.d.ts +96 -96
  197. package/lib/cjs/spatial/ecrs/projection/ObliqueMercator.js +173 -173
  198. package/lib/cjs/spatial/ecrs/projection/ObliqueMercator.js.map +1 -1
  199. package/lib/cjs/spatial/ecrs/projection/ObliqueStereographic.d.ts +123 -123
  200. package/lib/cjs/spatial/ecrs/projection/ObliqueStereographic.js +208 -208
  201. package/lib/cjs/spatial/ecrs/projection/ObliqueStereographic.js.map +1 -1
  202. package/lib/cjs/spatial/ecrs/projection/TransverseMercator.d.ts +108 -108
  203. package/lib/cjs/spatial/ecrs/projection/TransverseMercator.js +183 -183
  204. package/lib/cjs/spatial/ecrs/projection/TransverseMercator.js.map +1 -1
  205. package/lib/cjs/spatial/ecrs/transformation/PositionVector.d.ts +90 -90
  206. package/lib/cjs/spatial/ecrs/transformation/PositionVector.js +130 -130
  207. package/lib/cjs/spatial/ecrs/transformation/PositionVector.js.map +1 -1
  208. package/lib/cjs/spatial/geom/Bounds.d.ts +33 -33
  209. package/lib/cjs/spatial/geom/Bounds.js +156 -156
  210. package/lib/cjs/spatial/geom/Bounds.js.map +1 -1
  211. package/lib/cjs/spatial/geom/Coordinate.d.ts +61 -61
  212. package/lib/cjs/spatial/geom/Coordinate.js +186 -186
  213. package/lib/cjs/spatial/geom/Coordinate.js.map +1 -1
  214. package/lib/cjs/spatial/geom/Line.d.ts +225 -225
  215. package/lib/cjs/spatial/geom/Line.js +432 -432
  216. package/lib/cjs/spatial/geom/Line.js.map +1 -1
  217. package/lib/cjs/spatial/geom/Transform.d.ts +340 -340
  218. package/lib/cjs/spatial/geom/Transform.js +748 -748
  219. package/lib/cjs/spatial/geom/Transform.js.map +1 -1
  220. package/lib/cjs/system/buffer/ABuffer.d.ts +51 -51
  221. package/lib/cjs/system/buffer/ABuffer.js +90 -90
  222. package/lib/cjs/system/buffer/ABuffer.js.map +1 -1
  223. package/lib/cjs/system/buffer/Float32Buffer.d.ts +46 -46
  224. package/lib/cjs/system/buffer/Float32Buffer.js +60 -60
  225. package/lib/cjs/system/buffer/Float32Buffer.js.map +1 -1
  226. package/lib/cjs/system/buffer/LittleEndian.d.ts +149 -149
  227. package/lib/cjs/system/buffer/LittleEndian.js +303 -303
  228. package/lib/cjs/system/buffer/LittleEndian.js.map +1 -1
  229. package/lib/cjs/system/buffer/Uint16Buffer.d.ts +49 -49
  230. package/lib/cjs/system/buffer/Uint16Buffer.js +65 -65
  231. package/lib/cjs/system/buffer/Uint16Buffer.js.map +1 -1
  232. package/lib/cjs/system/buffer/Uint8Buffer.d.ts +49 -49
  233. package/lib/cjs/system/buffer/Uint8Buffer.js +65 -65
  234. package/lib/cjs/system/buffer/Uint8Buffer.js.map +1 -1
  235. package/lib/cjs/system/collection/AList.d.ts +30 -30
  236. package/lib/cjs/system/collection/AList.js +70 -70
  237. package/lib/cjs/system/collection/AList.js.map +1 -1
  238. package/lib/cjs/system/collection/IntMap.d.ts +18 -18
  239. package/lib/cjs/system/collection/IntMap.js +35 -35
  240. package/lib/cjs/system/collection/IntMap.js.map +1 -1
  241. package/lib/cjs/system/collection/StringMap.d.ts +26 -26
  242. package/lib/cjs/system/collection/StringMap.js +63 -63
  243. package/lib/cjs/system/collection/StringMap.js.map +1 -1
  244. package/lib/cjs/system/io/ABufferInStream.d.ts +29 -29
  245. package/lib/cjs/system/io/ABufferInStream.js +46 -46
  246. package/lib/cjs/system/io/ABufferInStream.js.map +1 -1
  247. package/lib/cjs/system/io/InStream.d.ts +23 -23
  248. package/lib/cjs/system/io/InStream.js +34 -34
  249. package/lib/cjs/system/io/InStream.js.map +1 -1
  250. package/lib/cjs/system/io/OutStream.d.ts +23 -23
  251. package/lib/cjs/system/io/OutStream.js +33 -33
  252. package/lib/cjs/system/io/OutStream.js.map +1 -1
  253. package/lib/cjs/system/runtime/ALong.d.ts +329 -329
  254. package/lib/cjs/system/runtime/ALong.js +687 -687
  255. package/lib/cjs/system/runtime/ALong.js.map +1 -1
  256. package/lib/cjs/system/runtime/ASystem.d.ts +14 -14
  257. package/lib/cjs/system/runtime/ASystem.js +31 -31
  258. package/lib/cjs/system/runtime/ASystem.js.map +1 -1
  259. package/lib/cjs/system/runtime/Downloader.d.ts +17 -17
  260. package/lib/cjs/system/runtime/Downloader.js +38 -38
  261. package/lib/cjs/system/runtime/Downloader.js.map +1 -1
  262. package/lib/cjs/system/runtime/DownloaderNode.d.ts +18 -18
  263. package/lib/cjs/system/runtime/DownloaderNode.js +129 -129
  264. package/lib/cjs/system/runtime/DownloaderNode.js.map +1 -1
  265. package/lib/cjs/system/runtime/DownloaderXhr.d.ts +18 -18
  266. package/lib/cjs/system/runtime/DownloaderXhr.js +131 -131
  267. package/lib/cjs/system/runtime/DownloaderXhr.js.map +1 -1
  268. package/lib/cjs/system/runtime/Message.d.ts +16 -16
  269. package/lib/cjs/system/runtime/Message.js +39 -39
  270. package/lib/cjs/system/runtime/Message.js.map +1 -1
  271. package/lib/cjs/system/runtime/Numbers.d.ts +34 -34
  272. package/lib/cjs/system/runtime/Numbers.js +87 -87
  273. package/lib/cjs/system/runtime/Numbers.js.map +1 -1
  274. package/lib/cjs/system/runtime/Strings.d.ts +49 -49
  275. package/lib/cjs/system/runtime/Strings.js +188 -188
  276. package/lib/cjs/system/runtime/Strings.js.map +1 -1
  277. package/lib/cjs/system/runtime/iComparator.d.ts +12 -12
  278. package/lib/cjs/system/runtime/iComparator.js +9 -9
  279. package/lib/cjs/system/runtime/iComparator.js.map +1 -1
  280. package/lib/cjs/system/storage/CacheList.d.ts +39 -39
  281. package/lib/cjs/system/storage/CacheList.js +80 -80
  282. package/lib/cjs/system/storage/CacheList.js.map +1 -1
  283. package/lib/cjs/system/storage/CachedItem.d.ts +21 -21
  284. package/lib/cjs/system/storage/CachedItem.js +25 -25
  285. package/lib/cjs/system/storage/CachedItem.js.map +1 -1
  286. package/lib/cjs/system/storage/ContentLoader.d.ts +64 -64
  287. package/lib/cjs/system/storage/ContentLoader.js +95 -95
  288. package/lib/cjs/system/storage/ContentLoader.js.map +1 -1
  289. package/lib/cjs/system/storage/FileContent.d.ts +19 -19
  290. package/lib/cjs/system/storage/FileContent.js +24 -24
  291. package/lib/cjs/system/storage/FileContent.js.map +1 -1
  292. package/lib/cjs/system/storage/FileRange.d.ts +20 -20
  293. package/lib/cjs/system/storage/FileRange.js +24 -24
  294. package/lib/cjs/system/storage/FileRange.js.map +1 -1
  295. package/lib/cjs/system/storage/FileStorage.d.ts +44 -44
  296. package/lib/cjs/system/storage/FileStorage.js +62 -62
  297. package/lib/cjs/system/storage/FileStorage.js.map +1 -1
  298. package/lib/cjs/system/storage/NodeFS.d.ts +41 -41
  299. package/lib/cjs/system/storage/NodeFS.js +79 -79
  300. package/lib/cjs/system/storage/NodeFS.js.map +1 -1
  301. package/lib/cjs/system/storage/PageCachedFile.d.ts +54 -54
  302. package/lib/cjs/system/storage/PageCachedFile.js +165 -165
  303. package/lib/cjs/system/storage/PageCachedFile.js.map +1 -1
  304. package/lib/cjs/system/storage/UrlFS.d.ts +53 -53
  305. package/lib/cjs/system/storage/UrlFS.js +114 -114
  306. package/lib/cjs/system/storage/UrlFS.js.map +1 -1
  307. package/lib/esm/core-orbitgt.d.ts +26 -26
  308. package/lib/esm/core-orbitgt.js +31 -31
  309. package/lib/esm/core-orbitgt.js.map +1 -1
  310. package/lib/esm/pointcloud/format/opc/AttributeMask.d.ts +30 -30
  311. package/lib/esm/pointcloud/format/opc/AttributeMask.js +43 -43
  312. package/lib/esm/pointcloud/format/opc/AttributeMask.js.map +1 -1
  313. package/lib/esm/pointcloud/format/opc/AttributeReader.d.ts +63 -63
  314. package/lib/esm/pointcloud/format/opc/AttributeReader.js +20 -20
  315. package/lib/esm/pointcloud/format/opc/AttributeReader.js.map +1 -1
  316. package/lib/esm/pointcloud/format/opc/BlockRecord.d.ts +54 -54
  317. package/lib/esm/pointcloud/format/opc/BlockRecord.js +80 -80
  318. package/lib/esm/pointcloud/format/opc/BlockRecord.js.map +1 -1
  319. package/lib/esm/pointcloud/format/opc/ContainerFile.d.ts +85 -85
  320. package/lib/esm/pointcloud/format/opc/ContainerFile.js +195 -195
  321. package/lib/esm/pointcloud/format/opc/ContainerFile.js.map +1 -1
  322. package/lib/esm/pointcloud/format/opc/ContainerFilePart.d.ts +55 -55
  323. package/lib/esm/pointcloud/format/opc/ContainerFilePart.js +71 -71
  324. package/lib/esm/pointcloud/format/opc/ContainerFilePart.js.map +1 -1
  325. package/lib/esm/pointcloud/format/opc/DirectoryReader.d.ts +75 -75
  326. package/lib/esm/pointcloud/format/opc/DirectoryReader.js +165 -165
  327. package/lib/esm/pointcloud/format/opc/DirectoryReader.js.map +1 -1
  328. package/lib/esm/pointcloud/format/opc/DirectoryRecord.d.ts +59 -59
  329. package/lib/esm/pointcloud/format/opc/DirectoryRecord.js +85 -85
  330. package/lib/esm/pointcloud/format/opc/DirectoryRecord.js.map +1 -1
  331. package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.d.ts +106 -106
  332. package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.js +193 -193
  333. package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.js.map +1 -1
  334. package/lib/esm/pointcloud/format/opc/FileAccess.d.ts +39 -39
  335. package/lib/esm/pointcloud/format/opc/FileAccess.js +44 -44
  336. package/lib/esm/pointcloud/format/opc/FileAccess.js.map +1 -1
  337. package/lib/esm/pointcloud/format/opc/FileReader.d.ts +118 -118
  338. package/lib/esm/pointcloud/format/opc/FileReader.js +244 -244
  339. package/lib/esm/pointcloud/format/opc/FileReader.js.map +1 -1
  340. package/lib/esm/pointcloud/format/opc/FileRecord.d.ts +89 -89
  341. package/lib/esm/pointcloud/format/opc/FileRecord.js +121 -121
  342. package/lib/esm/pointcloud/format/opc/FileRecord.js.map +1 -1
  343. package/lib/esm/pointcloud/format/opc/GeometryReader.d.ts +79 -79
  344. package/lib/esm/pointcloud/format/opc/GeometryReader.js +159 -159
  345. package/lib/esm/pointcloud/format/opc/GeometryReader.js.map +1 -1
  346. package/lib/esm/pointcloud/format/opc/GeometryRecord.d.ts +53 -53
  347. package/lib/esm/pointcloud/format/opc/GeometryRecord.js +103 -103
  348. package/lib/esm/pointcloud/format/opc/GeometryRecord.js.map +1 -1
  349. package/lib/esm/pointcloud/format/opc/OPCReader.d.ts +157 -157
  350. package/lib/esm/pointcloud/format/opc/OPCReader.js +315 -315
  351. package/lib/esm/pointcloud/format/opc/OPCReader.js.map +1 -1
  352. package/lib/esm/pointcloud/format/opc/PointReader.d.ts +72 -72
  353. package/lib/esm/pointcloud/format/opc/PointReader.js +148 -148
  354. package/lib/esm/pointcloud/format/opc/PointReader.js.map +1 -1
  355. package/lib/esm/pointcloud/format/opc/TileReadBuffer.d.ts +63 -63
  356. package/lib/esm/pointcloud/format/opc/TileReadBuffer.js +88 -88
  357. package/lib/esm/pointcloud/format/opc/TileReadBuffer.js.map +1 -1
  358. package/lib/esm/pointcloud/format/opc/TileRecord.d.ts +88 -88
  359. package/lib/esm/pointcloud/format/opc/TileRecord.js +157 -157
  360. package/lib/esm/pointcloud/format/opc/TileRecord.js.map +1 -1
  361. package/lib/esm/pointcloud/model/AttributeTypes.d.ts +37 -37
  362. package/lib/esm/pointcloud/model/AttributeTypes.js +60 -60
  363. package/lib/esm/pointcloud/model/AttributeTypes.js.map +1 -1
  364. package/lib/esm/pointcloud/model/AttributeValue.d.ts +247 -247
  365. package/lib/esm/pointcloud/model/AttributeValue.js +504 -504
  366. package/lib/esm/pointcloud/model/AttributeValue.js.map +1 -1
  367. package/lib/esm/pointcloud/model/BlockIndex.d.ts +49 -49
  368. package/lib/esm/pointcloud/model/BlockIndex.js +44 -44
  369. package/lib/esm/pointcloud/model/BlockIndex.js.map +1 -1
  370. package/lib/esm/pointcloud/model/CloudPoint.d.ts +210 -210
  371. package/lib/esm/pointcloud/model/CloudPoint.js +314 -314
  372. package/lib/esm/pointcloud/model/CloudPoint.js.map +1 -1
  373. package/lib/esm/pointcloud/model/Grid.d.ts +91 -91
  374. package/lib/esm/pointcloud/model/Grid.js +125 -125
  375. package/lib/esm/pointcloud/model/Grid.js.map +1 -1
  376. package/lib/esm/pointcloud/model/GridIndex.d.ts +66 -66
  377. package/lib/esm/pointcloud/model/GridIndex.js +89 -89
  378. package/lib/esm/pointcloud/model/GridIndex.js.map +1 -1
  379. package/lib/esm/pointcloud/model/PointAttribute.d.ts +208 -208
  380. package/lib/esm/pointcloud/model/PointAttribute.js +370 -370
  381. package/lib/esm/pointcloud/model/PointAttribute.js.map +1 -1
  382. package/lib/esm/pointcloud/model/PointCloudReader.d.ts +156 -156
  383. package/lib/esm/pointcloud/model/PointCloudReader.js +185 -185
  384. package/lib/esm/pointcloud/model/PointCloudReader.js.map +1 -1
  385. package/lib/esm/pointcloud/model/PointData.d.ts +17 -17
  386. package/lib/esm/pointcloud/model/PointData.js +20 -20
  387. package/lib/esm/pointcloud/model/PointData.js.map +1 -1
  388. package/lib/esm/pointcloud/model/PointDataRaw.d.ts +34 -34
  389. package/lib/esm/pointcloud/model/PointDataRaw.js +65 -65
  390. package/lib/esm/pointcloud/model/PointDataRaw.js.map +1 -1
  391. package/lib/esm/pointcloud/model/ReadRequest.d.ts +175 -175
  392. package/lib/esm/pointcloud/model/ReadRequest.js +235 -235
  393. package/lib/esm/pointcloud/model/ReadRequest.js.map +1 -1
  394. package/lib/esm/pointcloud/model/StandardAttributes.d.ts +40 -40
  395. package/lib/esm/pointcloud/model/StandardAttributes.js +43 -43
  396. package/lib/esm/pointcloud/model/StandardAttributes.js.map +1 -1
  397. package/lib/esm/pointcloud/model/TileIndex.d.ts +47 -47
  398. package/lib/esm/pointcloud/model/TileIndex.js +43 -43
  399. package/lib/esm/pointcloud/model/TileIndex.js.map +1 -1
  400. package/lib/esm/pointcloud/render/AViewRequest.d.ts +38 -38
  401. package/lib/esm/pointcloud/render/AViewRequest.js +20 -20
  402. package/lib/esm/pointcloud/render/AViewRequest.js.map +1 -1
  403. package/lib/esm/pointcloud/render/Block.d.ts +67 -67
  404. package/lib/esm/pointcloud/render/Block.js +115 -115
  405. package/lib/esm/pointcloud/render/Block.js.map +1 -1
  406. package/lib/esm/pointcloud/render/DataManager.d.ts +136 -136
  407. package/lib/esm/pointcloud/render/DataManager.js +338 -338
  408. package/lib/esm/pointcloud/render/DataManager.js.map +1 -1
  409. package/lib/esm/pointcloud/render/FrameData.d.ts +30 -30
  410. package/lib/esm/pointcloud/render/FrameData.js +35 -35
  411. package/lib/esm/pointcloud/render/FrameData.js.map +1 -1
  412. package/lib/esm/pointcloud/render/Level.d.ts +90 -90
  413. package/lib/esm/pointcloud/render/Level.js +115 -115
  414. package/lib/esm/pointcloud/render/Level.js.map +1 -1
  415. package/lib/esm/pointcloud/render/TileLoadSorter.d.ts +60 -60
  416. package/lib/esm/pointcloud/render/TileLoadSorter.js +95 -95
  417. package/lib/esm/pointcloud/render/TileLoadSorter.js.map +1 -1
  418. package/lib/esm/pointcloud/render/ViewTree.d.ts +113 -113
  419. package/lib/esm/pointcloud/render/ViewTree.js +359 -359
  420. package/lib/esm/pointcloud/render/ViewTree.js.map +1 -1
  421. package/lib/esm/spatial/crs/CRSEngine.d.ts +55 -55
  422. package/lib/esm/spatial/crs/CRSEngine.js +89 -89
  423. package/lib/esm/spatial/crs/CRSEngine.js.map +1 -1
  424. package/lib/esm/spatial/crs/CRSManager.d.ts +49 -49
  425. package/lib/esm/spatial/crs/CRSManager.js +105 -105
  426. package/lib/esm/spatial/crs/CRSManager.js.map +1 -1
  427. package/lib/esm/spatial/ecrs/Axis.d.ts +77 -77
  428. package/lib/esm/spatial/ecrs/Axis.js +89 -89
  429. package/lib/esm/spatial/ecrs/Axis.js.map +1 -1
  430. package/lib/esm/spatial/ecrs/CRS.d.ts +447 -447
  431. package/lib/esm/spatial/ecrs/CRS.js +926 -926
  432. package/lib/esm/spatial/ecrs/CRS.js.map +1 -1
  433. package/lib/esm/spatial/ecrs/CoordinateSystem.d.ts +142 -142
  434. package/lib/esm/spatial/ecrs/CoordinateSystem.js +322 -322
  435. package/lib/esm/spatial/ecrs/CoordinateSystem.js.map +1 -1
  436. package/lib/esm/spatial/ecrs/DataFileUnit.d.ts +10 -10
  437. package/lib/esm/spatial/ecrs/DataFileUnit.js +100 -100
  438. package/lib/esm/spatial/ecrs/DataFileUnit.js.map +1 -1
  439. package/lib/esm/spatial/ecrs/Datum.d.ts +111 -111
  440. package/lib/esm/spatial/ecrs/Datum.js +162 -162
  441. package/lib/esm/spatial/ecrs/Datum.js.map +1 -1
  442. package/lib/esm/spatial/ecrs/Ellipsoid.d.ts +188 -188
  443. package/lib/esm/spatial/ecrs/Ellipsoid.js +332 -332
  444. package/lib/esm/spatial/ecrs/Ellipsoid.js.map +1 -1
  445. package/lib/esm/spatial/ecrs/OnlineEngine.d.ts +48 -48
  446. package/lib/esm/spatial/ecrs/OnlineEngine.js +98 -98
  447. package/lib/esm/spatial/ecrs/OnlineEngine.js.map +1 -1
  448. package/lib/esm/spatial/ecrs/OnlineRegistry.d.ts +37 -37
  449. package/lib/esm/spatial/ecrs/OnlineRegistry.js +72 -72
  450. package/lib/esm/spatial/ecrs/OnlineRegistry.js.map +1 -1
  451. package/lib/esm/spatial/ecrs/Operation.d.ts +191 -191
  452. package/lib/esm/spatial/ecrs/Operation.js +341 -341
  453. package/lib/esm/spatial/ecrs/Operation.js.map +1 -1
  454. package/lib/esm/spatial/ecrs/OperationMethod.d.ts +71 -71
  455. package/lib/esm/spatial/ecrs/OperationMethod.js +71 -71
  456. package/lib/esm/spatial/ecrs/OperationMethod.js.map +1 -1
  457. package/lib/esm/spatial/ecrs/ParameterValue.d.ts +49 -49
  458. package/lib/esm/spatial/ecrs/ParameterValue.js +61 -61
  459. package/lib/esm/spatial/ecrs/ParameterValue.js.map +1 -1
  460. package/lib/esm/spatial/ecrs/ParameterValueList.d.ts +72 -72
  461. package/lib/esm/spatial/ecrs/ParameterValueList.js +116 -116
  462. package/lib/esm/spatial/ecrs/ParameterValueList.js.map +1 -1
  463. package/lib/esm/spatial/ecrs/PrimeMeridian.d.ts +78 -78
  464. package/lib/esm/spatial/ecrs/PrimeMeridian.js +104 -104
  465. package/lib/esm/spatial/ecrs/PrimeMeridian.js.map +1 -1
  466. package/lib/esm/spatial/ecrs/Registry.d.ts +109 -109
  467. package/lib/esm/spatial/ecrs/Registry.js +203 -203
  468. package/lib/esm/spatial/ecrs/Registry.js.map +1 -1
  469. package/lib/esm/spatial/ecrs/Transform.d.ts +77 -77
  470. package/lib/esm/spatial/ecrs/Transform.js +392 -392
  471. package/lib/esm/spatial/ecrs/Transform.js.map +1 -1
  472. package/lib/esm/spatial/ecrs/Unit.d.ts +170 -170
  473. package/lib/esm/spatial/ecrs/Unit.js +332 -332
  474. package/lib/esm/spatial/ecrs/Unit.js.map +1 -1
  475. package/lib/esm/spatial/ecrs/VerticalModel.d.ts +69 -69
  476. package/lib/esm/spatial/ecrs/VerticalModel.js +84 -84
  477. package/lib/esm/spatial/ecrs/VerticalModel.js.map +1 -1
  478. package/lib/esm/spatial/ecrs/WellKnownText.d.ts +153 -153
  479. package/lib/esm/spatial/ecrs/WellKnownText.js +490 -490
  480. package/lib/esm/spatial/ecrs/WellKnownText.js.map +1 -1
  481. package/lib/esm/spatial/ecrs/WellKnownTextNode.d.ts +69 -69
  482. package/lib/esm/spatial/ecrs/WellKnownTextNode.js +124 -124
  483. package/lib/esm/spatial/ecrs/WellKnownTextNode.js.map +1 -1
  484. package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.d.ts +101 -101
  485. package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.js +158 -158
  486. package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.js.map +1 -1
  487. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConic.d.ts +79 -79
  488. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConic.js +121 -121
  489. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConic.js.map +1 -1
  490. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConicEN.d.ts +47 -47
  491. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js +69 -69
  492. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js.map +1 -1
  493. package/lib/esm/spatial/ecrs/projection/LambertConical1SP.d.ts +72 -72
  494. package/lib/esm/spatial/ecrs/projection/LambertConical1SP.js +125 -125
  495. package/lib/esm/spatial/ecrs/projection/LambertConical1SP.js.map +1 -1
  496. package/lib/esm/spatial/ecrs/projection/LambertConical2SP.d.ts +120 -120
  497. package/lib/esm/spatial/ecrs/projection/LambertConical2SP.js +175 -175
  498. package/lib/esm/spatial/ecrs/projection/LambertConical2SP.js.map +1 -1
  499. package/lib/esm/spatial/ecrs/projection/Mercator1SP.d.ts +73 -73
  500. package/lib/esm/spatial/ecrs/projection/Mercator1SP.js +108 -108
  501. package/lib/esm/spatial/ecrs/projection/Mercator1SP.js.map +1 -1
  502. package/lib/esm/spatial/ecrs/projection/ObliqueMercator.d.ts +96 -96
  503. package/lib/esm/spatial/ecrs/projection/ObliqueMercator.js +169 -169
  504. package/lib/esm/spatial/ecrs/projection/ObliqueMercator.js.map +1 -1
  505. package/lib/esm/spatial/ecrs/projection/ObliqueStereographic.d.ts +123 -123
  506. package/lib/esm/spatial/ecrs/projection/ObliqueStereographic.js +204 -204
  507. package/lib/esm/spatial/ecrs/projection/ObliqueStereographic.js.map +1 -1
  508. package/lib/esm/spatial/ecrs/projection/TransverseMercator.d.ts +108 -108
  509. package/lib/esm/spatial/ecrs/projection/TransverseMercator.js +179 -179
  510. package/lib/esm/spatial/ecrs/projection/TransverseMercator.js.map +1 -1
  511. package/lib/esm/spatial/ecrs/transformation/PositionVector.d.ts +90 -90
  512. package/lib/esm/spatial/ecrs/transformation/PositionVector.js +126 -126
  513. package/lib/esm/spatial/ecrs/transformation/PositionVector.js.map +1 -1
  514. package/lib/esm/spatial/geom/Bounds.d.ts +33 -33
  515. package/lib/esm/spatial/geom/Bounds.js +152 -152
  516. package/lib/esm/spatial/geom/Bounds.js.map +1 -1
  517. package/lib/esm/spatial/geom/Coordinate.d.ts +61 -61
  518. package/lib/esm/spatial/geom/Coordinate.js +182 -182
  519. package/lib/esm/spatial/geom/Coordinate.js.map +1 -1
  520. package/lib/esm/spatial/geom/Line.d.ts +225 -225
  521. package/lib/esm/spatial/geom/Line.js +428 -428
  522. package/lib/esm/spatial/geom/Line.js.map +1 -1
  523. package/lib/esm/spatial/geom/Transform.d.ts +340 -340
  524. package/lib/esm/spatial/geom/Transform.js +744 -744
  525. package/lib/esm/spatial/geom/Transform.js.map +1 -1
  526. package/lib/esm/system/buffer/ABuffer.d.ts +51 -51
  527. package/lib/esm/system/buffer/ABuffer.js +86 -86
  528. package/lib/esm/system/buffer/ABuffer.js.map +1 -1
  529. package/lib/esm/system/buffer/Float32Buffer.d.ts +46 -46
  530. package/lib/esm/system/buffer/Float32Buffer.js +56 -56
  531. package/lib/esm/system/buffer/Float32Buffer.js.map +1 -1
  532. package/lib/esm/system/buffer/LittleEndian.d.ts +149 -149
  533. package/lib/esm/system/buffer/LittleEndian.js +299 -299
  534. package/lib/esm/system/buffer/LittleEndian.js.map +1 -1
  535. package/lib/esm/system/buffer/Uint16Buffer.d.ts +49 -49
  536. package/lib/esm/system/buffer/Uint16Buffer.js +61 -61
  537. package/lib/esm/system/buffer/Uint16Buffer.js.map +1 -1
  538. package/lib/esm/system/buffer/Uint8Buffer.d.ts +49 -49
  539. package/lib/esm/system/buffer/Uint8Buffer.js +61 -61
  540. package/lib/esm/system/buffer/Uint8Buffer.js.map +1 -1
  541. package/lib/esm/system/collection/AList.d.ts +30 -30
  542. package/lib/esm/system/collection/AList.js +66 -66
  543. package/lib/esm/system/collection/AList.js.map +1 -1
  544. package/lib/esm/system/collection/IntMap.d.ts +18 -18
  545. package/lib/esm/system/collection/IntMap.js +31 -31
  546. package/lib/esm/system/collection/IntMap.js.map +1 -1
  547. package/lib/esm/system/collection/StringMap.d.ts +26 -26
  548. package/lib/esm/system/collection/StringMap.js +59 -59
  549. package/lib/esm/system/collection/StringMap.js.map +1 -1
  550. package/lib/esm/system/io/ABufferInStream.d.ts +29 -29
  551. package/lib/esm/system/io/ABufferInStream.js +42 -42
  552. package/lib/esm/system/io/ABufferInStream.js.map +1 -1
  553. package/lib/esm/system/io/InStream.d.ts +23 -23
  554. package/lib/esm/system/io/InStream.js +30 -30
  555. package/lib/esm/system/io/InStream.js.map +1 -1
  556. package/lib/esm/system/io/OutStream.d.ts +23 -23
  557. package/lib/esm/system/io/OutStream.js +29 -29
  558. package/lib/esm/system/io/OutStream.js.map +1 -1
  559. package/lib/esm/system/runtime/ALong.d.ts +329 -329
  560. package/lib/esm/system/runtime/ALong.js +683 -683
  561. package/lib/esm/system/runtime/ALong.js.map +1 -1
  562. package/lib/esm/system/runtime/ASystem.d.ts +14 -14
  563. package/lib/esm/system/runtime/ASystem.js +27 -27
  564. package/lib/esm/system/runtime/ASystem.js.map +1 -1
  565. package/lib/esm/system/runtime/Downloader.d.ts +17 -17
  566. package/lib/esm/system/runtime/Downloader.js +34 -34
  567. package/lib/esm/system/runtime/Downloader.js.map +1 -1
  568. package/lib/esm/system/runtime/DownloaderNode.d.ts +18 -18
  569. package/lib/esm/system/runtime/DownloaderNode.js +125 -125
  570. package/lib/esm/system/runtime/DownloaderNode.js.map +1 -1
  571. package/lib/esm/system/runtime/DownloaderXhr.d.ts +18 -18
  572. package/lib/esm/system/runtime/DownloaderXhr.js +127 -127
  573. package/lib/esm/system/runtime/DownloaderXhr.js.map +1 -1
  574. package/lib/esm/system/runtime/Message.d.ts +16 -16
  575. package/lib/esm/system/runtime/Message.js +35 -35
  576. package/lib/esm/system/runtime/Message.js.map +1 -1
  577. package/lib/esm/system/runtime/Numbers.d.ts +34 -34
  578. package/lib/esm/system/runtime/Numbers.js +83 -83
  579. package/lib/esm/system/runtime/Numbers.js.map +1 -1
  580. package/lib/esm/system/runtime/Strings.d.ts +49 -49
  581. package/lib/esm/system/runtime/Strings.js +184 -184
  582. package/lib/esm/system/runtime/Strings.js.map +1 -1
  583. package/lib/esm/system/runtime/iComparator.d.ts +12 -12
  584. package/lib/esm/system/runtime/iComparator.js +8 -8
  585. package/lib/esm/system/runtime/iComparator.js.map +1 -1
  586. package/lib/esm/system/storage/CacheList.d.ts +39 -39
  587. package/lib/esm/system/storage/CacheList.js +76 -76
  588. package/lib/esm/system/storage/CacheList.js.map +1 -1
  589. package/lib/esm/system/storage/CachedItem.d.ts +21 -21
  590. package/lib/esm/system/storage/CachedItem.js +21 -21
  591. package/lib/esm/system/storage/CachedItem.js.map +1 -1
  592. package/lib/esm/system/storage/ContentLoader.d.ts +64 -64
  593. package/lib/esm/system/storage/ContentLoader.js +91 -91
  594. package/lib/esm/system/storage/ContentLoader.js.map +1 -1
  595. package/lib/esm/system/storage/FileContent.d.ts +19 -19
  596. package/lib/esm/system/storage/FileContent.js +20 -20
  597. package/lib/esm/system/storage/FileContent.js.map +1 -1
  598. package/lib/esm/system/storage/FileRange.d.ts +20 -20
  599. package/lib/esm/system/storage/FileRange.js +20 -20
  600. package/lib/esm/system/storage/FileRange.js.map +1 -1
  601. package/lib/esm/system/storage/FileStorage.d.ts +44 -44
  602. package/lib/esm/system/storage/FileStorage.js +58 -58
  603. package/lib/esm/system/storage/FileStorage.js.map +1 -1
  604. package/lib/esm/system/storage/NodeFS.d.ts +41 -41
  605. package/lib/esm/system/storage/NodeFS.js +75 -75
  606. package/lib/esm/system/storage/NodeFS.js.map +1 -1
  607. package/lib/esm/system/storage/PageCachedFile.d.ts +54 -54
  608. package/lib/esm/system/storage/PageCachedFile.js +161 -161
  609. package/lib/esm/system/storage/PageCachedFile.js.map +1 -1
  610. package/lib/esm/system/storage/UrlFS.d.ts +53 -53
  611. package/lib/esm/system/storage/UrlFS.js +110 -110
  612. package/lib/esm/system/storage/UrlFS.js.map +1 -1
  613. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"OPCReader.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/OPCReader.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module OrbitGT\r\n */\r\n\r\n// package orbitgt.pointcloud.format.opc;\r\n\r\ntype int8 = number;\r\ntype int16 = number;\r\ntype int32 = number;\r\ntype float32 = number;\r\ntype float64 = number;\r\n\r\nimport { Bounds } from \"../../../spatial/geom/Bounds\";\r\nimport { Coordinate } from \"../../../spatial/geom/Coordinate\";\r\nimport { ABuffer } from \"../../../system/buffer/ABuffer\";\r\nimport { Uint16Buffer } from \"../../../system/buffer/Uint16Buffer\";\r\nimport { Uint8Buffer } from \"../../../system/buffer/Uint8Buffer\";\r\nimport { AList } from \"../../../system/collection/AList\";\r\nimport { ALong } from \"../../../system/runtime/ALong\";\r\nimport { ASystem } from \"../../../system/runtime/ASystem\";\r\nimport { Message } from \"../../../system/runtime/Message\";\r\nimport { Strings } from \"../../../system/runtime/Strings\";\r\nimport { ContentLoader } from \"../../../system/storage/ContentLoader\";\r\nimport { FileStorage } from \"../../../system/storage/FileStorage\";\r\nimport { AttributeValue } from \"../../model/AttributeValue\";\r\nimport { BlockIndex } from \"../../model/BlockIndex\";\r\nimport { CloudPoint } from \"../../model/CloudPoint\";\r\nimport { Grid } from \"../../model/Grid\";\r\nimport { PointAttribute } from \"../../model/PointAttribute\";\r\nimport { PointCloudReader } from \"../../model/PointCloudReader\";\r\nimport { PointData } from \"../../model/PointData\";\r\nimport { PointDataRaw } from \"../../model/PointDataRaw\";\r\nimport { ReadRequest } from \"../../model/ReadRequest\";\r\nimport { StandardAttributes } from \"../../model/StandardAttributes\";\r\nimport { TileIndex } from \"../../model/TileIndex\";\r\nimport { AttributeMask } from \"./AttributeMask\";\r\nimport { AttributeReader } from \"./AttributeReader\";\r\nimport { DirectoryReader } from \"./DirectoryReader\";\r\nimport { FileReader } from \"./FileReader\";\r\nimport { PointReader } from \"./PointReader\";\r\nimport { TileReadBuffer } from \"./TileReadBuffer\";\r\n\r\n/**\r\n * Class OPCReader reads pointcloud files.\r\n *\r\n * @version 1.0 January 2014\r\n */\r\n/** @internal */\r\nexport class OPCReader extends PointCloudReader {\r\n /** The file reader */\r\n private _fileReader: FileReader;\r\n /** The index of the first level */\r\n private _levelOffset: int32;\r\n /** The number of levels */\r\n private _levelCount: int32;\r\n\r\n /**\r\n * Create a new reader for a file.\r\n * @param fileName the name of the file.\r\n * @param lazyLoading avoid early loading of all block indexes to keep a low memory profile? Lazy loading only loads the block indexes of the top 6 levels (see CLOUD-1152 issue)\r\n * @return the reader.\r\n */\r\n public static async openFile(fileStorage: FileStorage, fileName: string, lazyLoading: boolean): Promise<OPCReader> {\r\n /* Open the file */\r\n const fileReader: FileReader = await FileReader.openFile(fileStorage, fileName, lazyLoading);\r\n /* Create the reader */\r\n return new OPCReader(fileReader, 0, fileReader.getLevelCount());\r\n }\r\n\r\n /**\r\n * Create a new reader.\r\n */\r\n private constructor(fileReader: FileReader, levelOffset: int32, levelCount: int32) {\r\n super();\r\n this._fileReader = fileReader;\r\n this._levelOffset = levelOffset;\r\n this._levelCount = levelCount;\r\n }\r\n\r\n /**\r\n * Get the file reader.\r\n * @return the file reader.\r\n */\r\n public getFileReader(): FileReader {\r\n return this._fileReader;\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#close\r\n */\r\n public override close(): void {\r\n if (this._fileReader != null) this._fileReader.close();\r\n this._fileReader = null;\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#getProperty\r\n */\r\n public override getProperty(propertyName: string): Object {\r\n if (propertyName == null) return null;\r\n if (Strings.equalsIgnoreCase(propertyName, \"metricCellSize\")) return new Coordinate(this._fileReader.getFileRecord().getMetricCellSize(), 0.0, 0.0);\r\n return null;\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#getFileStorage\r\n */\r\n public override getFileStorage(): FileStorage {\r\n return this._fileReader.getFileStorage();\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#getFileName\r\n */\r\n public override getFileName(): string {\r\n return this._fileReader.getFileName();\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#getFileCRS\r\n */\r\n public override getFileCRS(): string {\r\n return this._fileReader.getFileRecord().getCRS();\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#getFileBounds\r\n */\r\n public override getFileBounds(): Bounds {\r\n return this._fileReader.getGeometryReader(0).getGeometryRecord().getBounds();\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#getPointAttributes\r\n */\r\n public override getPointAttributes(): Array<PointAttribute> {\r\n return this._fileReader.getAttributes();\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#getMinAttributeValue\r\n */\r\n public override getMinAttributeValue(attribute: PointAttribute): AttributeValue {\r\n for (const reader of this._fileReader.getAttributeReaders()) if (reader.getAttribute().hasName(attribute.getName())) return reader.getMinimumValue();\r\n return null;\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#getMaxAttributeValue\r\n */\r\n public override getMaxAttributeValue(attribute: PointAttribute): AttributeValue {\r\n for (const reader of this._fileReader.getAttributeReaders()) if (reader.getAttribute().hasName(attribute.getName())) return reader.getMaximumValue();\r\n return null;\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#getLevelCount\r\n */\r\n public override getLevelCount(): int32 {\r\n return this._fileReader.getLevelCount();\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#getLevelPointCount\r\n */\r\n public override getLevelPointCount(level: int32): ALong {\r\n return this._fileReader.getDirectoryReader(level).getDirectoryRecord().getPointCount();\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#getLevelPointBounds\r\n */\r\n public override getLevelPointBounds(level: int32): Bounds {\r\n return this._fileReader.getGeometryReader(level).getGeometryRecord().getBounds();\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#getLevelBlockGrid\r\n */\r\n public override getLevelBlockGrid(level: int32): Grid {\r\n return this.getLevelTileGrid(level).scale(this._fileReader.getFileRecord().getBlockSize());\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#getLevelTileGrid\r\n */\r\n public override getLevelTileGrid(level: int32): Grid {\r\n return this._fileReader.getGeometryReader(level).getGeometryRecord().getTileGrid();\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#peekBlockIndexes\r\n */\r\n public override peekBlockIndexes(level: int32): Array<BlockIndex> {\r\n return this._fileReader.getDirectoryReader(level).getBlocks();\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#readBlockIndexes\r\n */\r\n public override readBlockIndexes(level: int32, fileContents: ContentLoader): Array<BlockIndex> {\r\n /* Get the directory reader */\r\n const directoryReader: DirectoryReader = this._fileReader.getDirectoryReader(level);\r\n /* Already read all blocks? */\r\n const blocks: Array<BlockIndex> = directoryReader.getBlocks();\r\n if (blocks.length > 0) return blocks;\r\n /* Delegate to the directory reader */\r\n return directoryReader.readBlocks(this._fileReader.getFileRecord(), fileContents);\r\n }\r\n\r\n /**\r\n * PointCloudReader method.\r\n * @see PointCloudReader#readTileIndexes\r\n */\r\n public override readTileIndexes(block: BlockIndex, fileContents: ContentLoader): Array<TileIndex> {\r\n return this._fileReader.getDirectoryReader(block.level).readTiles2(block, fileContents);\r\n }\r\n\r\n /**\r\n * Get the attribute mask to use for reading.\r\n * @param parameters the read parameters.\r\n * @return the attribute mask.\r\n */\r\n private getAttributeMask(parameters: ReadRequest): AttributeMask {\r\n /* Make a list of readers */\r\n const readers: AList<AttributeReader> = new AList<AttributeReader>();\r\n /* Should we read all attributes? */\r\n if (parameters.readAllExtraAttributes()) {\r\n /* Read all attributes */\r\n for (const reader of this._fileReader.getAttributeReaders()) readers.add(reader);\r\n } else {\r\n /* Read color? */\r\n if (parameters.readColor()) {\r\n const reader: AttributeReader = this._fileReader.findAttributeReader(StandardAttributes.COLOR.getName());\r\n if (reader != null) readers.add(reader);\r\n }\r\n /* Read intensity? */\r\n if (parameters.readIntensity()) {\r\n const reader: AttributeReader = this._fileReader.findAttributeReader(StandardAttributes.INTENSITY.getName());\r\n if (reader != null) readers.add(reader);\r\n }\r\n /* Read the extra attributes */\r\n const extraAttributes: AList<string> = parameters.getExtraAttributes();\r\n for (let i: number = 0; i < extraAttributes.size(); i++) {\r\n /* Get the name of the extra attribute */\r\n const extraAttribute: string = extraAttributes.get(i);\r\n /* Did we already add the color? */\r\n if (parameters.readColor() && Strings.equalsIgnoreCase(extraAttribute, StandardAttributes.COLOR.getName())) continue;\r\n /* Did we already add the intensity? */\r\n if (parameters.readIntensity() && Strings.equalsIgnoreCase(extraAttribute, StandardAttributes.INTENSITY.getName())) continue;\r\n /* Find the attribute reader */\r\n const reader: AttributeReader = this._fileReader.findAttributeReader(extraAttribute);\r\n /* Add the reader */\r\n if (reader != null) readers.add(reader);\r\n }\r\n }\r\n /* Create the mask */\r\n return new AttributeMask(readers);\r\n }\r\n\r\n /**\r\n * PointCloudReader interface method.\r\n * @see PointCloudReader#readPoints\r\n */\r\n public override readPoints(tileIndex: TileIndex, readRequest: ReadRequest, fileContents: ContentLoader): AList<CloudPoint> {\r\n /* Create the attribute mask */\r\n const attributeMask: AttributeMask = this.getAttributeMask(readRequest);\r\n /* Create the read buffer */\r\n const tileBuffer: TileReadBuffer = new TileReadBuffer(attributeMask.attributes.length);\r\n /* Read the points in the tile */\r\n const pointOffset: int32 = 0;\r\n const pointCount: int32 = tileIndex.pointCount;\r\n return PointReader.readTilePoints(this.getFileReader(), readRequest, attributeMask, tileIndex.level, tileIndex, pointOffset, pointCount, tileBuffer, fileContents);\r\n }\r\n\r\n /**\r\n * PointCloudReader interface method.\r\n * @see PointCloudReader#readPointData\r\n */\r\n public override readPointData(tileIndex: TileIndex, dataFormat: int32, accessTime: float64, fileContents: ContentLoader): PointData {\r\n /* 16-bit XYZ geometry and 8-bit RGB colors? */\r\n if (dataFormat == PointDataRaw.TYPE) {\r\n /* Create the attribute mask */\r\n const readRequest: ReadRequest = ReadRequest.READ_GEOMETRY_AND_COLOR;\r\n const readers: AList<AttributeReader> = new AList<AttributeReader>();\r\n const colorReader: AttributeReader = this._fileReader.findAttributeReader(StandardAttributes.COLOR.getName());\r\n if (colorReader != null) readers.add(colorReader);\r\n const attributeMask: AttributeMask = new AttributeMask(readers);\r\n /* Has the data been loaded? */\r\n let tileBuffer: TileReadBuffer = null;\r\n let pointData: PointDataRaw = null;\r\n if (fileContents.isAvailable()) {\r\n /* Create the read buffer */\r\n tileBuffer = new TileReadBuffer(attributeMask.attributes.length);\r\n /* Create the point data buffer */\r\n const tileGrid: Grid = this._fileReader.getGeometryReader(tileIndex.level).getGeometryRecord().getTileGrid();\r\n const tileBounds: Bounds = tileGrid.getCellBounds(tileIndex.gridIndex);\r\n pointData = new PointDataRaw(tileIndex, tileBounds, null, null, null);\r\n }\r\n /* Fill the point data buffer */\r\n PointReader.readTilePointsRaw(this.getFileReader(), readRequest, attributeMask, tileIndex, tileBuffer, pointData, fileContents);\r\n /* Missing color channel after data load? */\r\n if (fileContents.isAvailable() && (pointData.colors == null)) {\r\n /* Define the default RGB color (0xE6C60D) */\r\n const defaultR: int32 = 230;\r\n const defaultG: int32 = 198;\r\n const defaultB: int32 = 13;\r\n /* Create a default color buffer (BGR sample sequence) */\r\n pointData.colors = Uint8Buffer.wrap(new ABuffer(3 * tileIndex.pointCount));\r\n for (let i: number = 0; i < tileIndex.pointCount; i++) {\r\n pointData.colors.set(3 * i + 0, defaultB);\r\n pointData.colors.set(3 * i + 1, defaultG);\r\n pointData.colors.set(3 * i + 2, defaultR);\r\n }\r\n }\r\n return pointData;\r\n }\r\n /* Unknown format */\r\n return null;\r\n }\r\n\r\n /**\r\n * PointCloudReader interface method.\r\n * @see PointCloudReader#clipToLevelRange\r\n */\r\n public override clipToLevelRange(levelOffset: int32, levelCount: int32): PointCloudReader {\r\n /* Check the parameters */\r\n ASystem.assert0(levelOffset >= 0, `Invalid level offset ${levelOffset}`);\r\n ASystem.assert0(levelCount > 0, `Invalid level count ${levelCount}`);\r\n ASystem.assert0(levelOffset + levelCount <= this._levelCount, `Level range ${levelOffset}+${levelCount} not possible in ${this._levelCount} levels`);\r\n /* Create a new reader */\r\n return new OPCReader(this._fileReader, this._levelOffset + levelOffset, levelCount);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"OPCReader.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/OPCReader.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module OrbitGT\n */\n\n// package orbitgt.pointcloud.format.opc;\n\ntype int8 = number;\ntype int16 = number;\ntype int32 = number;\ntype float32 = number;\ntype float64 = number;\n\nimport { Bounds } from \"../../../spatial/geom/Bounds\";\nimport { Coordinate } from \"../../../spatial/geom/Coordinate\";\nimport { ABuffer } from \"../../../system/buffer/ABuffer\";\nimport { Uint16Buffer } from \"../../../system/buffer/Uint16Buffer\";\nimport { Uint8Buffer } from \"../../../system/buffer/Uint8Buffer\";\nimport { AList } from \"../../../system/collection/AList\";\nimport { ALong } from \"../../../system/runtime/ALong\";\nimport { ASystem } from \"../../../system/runtime/ASystem\";\nimport { Message } from \"../../../system/runtime/Message\";\nimport { Strings } from \"../../../system/runtime/Strings\";\nimport { ContentLoader } from \"../../../system/storage/ContentLoader\";\nimport { FileStorage } from \"../../../system/storage/FileStorage\";\nimport { AttributeValue } from \"../../model/AttributeValue\";\nimport { BlockIndex } from \"../../model/BlockIndex\";\nimport { CloudPoint } from \"../../model/CloudPoint\";\nimport { Grid } from \"../../model/Grid\";\nimport { PointAttribute } from \"../../model/PointAttribute\";\nimport { PointCloudReader } from \"../../model/PointCloudReader\";\nimport { PointData } from \"../../model/PointData\";\nimport { PointDataRaw } from \"../../model/PointDataRaw\";\nimport { ReadRequest } from \"../../model/ReadRequest\";\nimport { StandardAttributes } from \"../../model/StandardAttributes\";\nimport { TileIndex } from \"../../model/TileIndex\";\nimport { AttributeMask } from \"./AttributeMask\";\nimport { AttributeReader } from \"./AttributeReader\";\nimport { DirectoryReader } from \"./DirectoryReader\";\nimport { FileReader } from \"./FileReader\";\nimport { PointReader } from \"./PointReader\";\nimport { TileReadBuffer } from \"./TileReadBuffer\";\n\n/**\n * Class OPCReader reads pointcloud files.\n *\n * @version 1.0 January 2014\n */\n/** @internal */\nexport class OPCReader extends PointCloudReader {\n /** The file reader */\n private _fileReader: FileReader;\n /** The index of the first level */\n private _levelOffset: int32;\n /** The number of levels */\n private _levelCount: int32;\n\n /**\n * Create a new reader for a file.\n * @param fileName the name of the file.\n * @param lazyLoading avoid early loading of all block indexes to keep a low memory profile? Lazy loading only loads the block indexes of the top 6 levels (see CLOUD-1152 issue)\n * @return the reader.\n */\n public static async openFile(fileStorage: FileStorage, fileName: string, lazyLoading: boolean): Promise<OPCReader> {\n /* Open the file */\n const fileReader: FileReader = await FileReader.openFile(fileStorage, fileName, lazyLoading);\n /* Create the reader */\n return new OPCReader(fileReader, 0, fileReader.getLevelCount());\n }\n\n /**\n * Create a new reader.\n */\n private constructor(fileReader: FileReader, levelOffset: int32, levelCount: int32) {\n super();\n this._fileReader = fileReader;\n this._levelOffset = levelOffset;\n this._levelCount = levelCount;\n }\n\n /**\n * Get the file reader.\n * @return the file reader.\n */\n public getFileReader(): FileReader {\n return this._fileReader;\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#close\n */\n public override close(): void {\n if (this._fileReader != null) this._fileReader.close();\n this._fileReader = null;\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getProperty\n */\n public override getProperty(propertyName: string): Object {\n if (propertyName == null) return null;\n if (Strings.equalsIgnoreCase(propertyName, \"metricCellSize\")) return new Coordinate(this._fileReader.getFileRecord().getMetricCellSize(), 0.0, 0.0);\n return null;\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getFileStorage\n */\n public override getFileStorage(): FileStorage {\n return this._fileReader.getFileStorage();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getFileName\n */\n public override getFileName(): string {\n return this._fileReader.getFileName();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getFileCRS\n */\n public override getFileCRS(): string {\n return this._fileReader.getFileRecord().getCRS();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getFileBounds\n */\n public override getFileBounds(): Bounds {\n return this._fileReader.getGeometryReader(0).getGeometryRecord().getBounds();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getPointAttributes\n */\n public override getPointAttributes(): Array<PointAttribute> {\n return this._fileReader.getAttributes();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getMinAttributeValue\n */\n public override getMinAttributeValue(attribute: PointAttribute): AttributeValue {\n for (const reader of this._fileReader.getAttributeReaders()) if (reader.getAttribute().hasName(attribute.getName())) return reader.getMinimumValue();\n return null;\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getMaxAttributeValue\n */\n public override getMaxAttributeValue(attribute: PointAttribute): AttributeValue {\n for (const reader of this._fileReader.getAttributeReaders()) if (reader.getAttribute().hasName(attribute.getName())) return reader.getMaximumValue();\n return null;\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getLevelCount\n */\n public override getLevelCount(): int32 {\n return this._fileReader.getLevelCount();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getLevelPointCount\n */\n public override getLevelPointCount(level: int32): ALong {\n return this._fileReader.getDirectoryReader(level).getDirectoryRecord().getPointCount();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getLevelPointBounds\n */\n public override getLevelPointBounds(level: int32): Bounds {\n return this._fileReader.getGeometryReader(level).getGeometryRecord().getBounds();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getLevelBlockGrid\n */\n public override getLevelBlockGrid(level: int32): Grid {\n return this.getLevelTileGrid(level).scale(this._fileReader.getFileRecord().getBlockSize());\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getLevelTileGrid\n */\n public override getLevelTileGrid(level: int32): Grid {\n return this._fileReader.getGeometryReader(level).getGeometryRecord().getTileGrid();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#peekBlockIndexes\n */\n public override peekBlockIndexes(level: int32): Array<BlockIndex> {\n return this._fileReader.getDirectoryReader(level).getBlocks();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#readBlockIndexes\n */\n public override readBlockIndexes(level: int32, fileContents: ContentLoader): Array<BlockIndex> {\n /* Get the directory reader */\n const directoryReader: DirectoryReader = this._fileReader.getDirectoryReader(level);\n /* Already read all blocks? */\n const blocks: Array<BlockIndex> = directoryReader.getBlocks();\n if (blocks.length > 0) return blocks;\n /* Delegate to the directory reader */\n return directoryReader.readBlocks(this._fileReader.getFileRecord(), fileContents);\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#readTileIndexes\n */\n public override readTileIndexes(block: BlockIndex, fileContents: ContentLoader): Array<TileIndex> {\n return this._fileReader.getDirectoryReader(block.level).readTiles2(block, fileContents);\n }\n\n /**\n * Get the attribute mask to use for reading.\n * @param parameters the read parameters.\n * @return the attribute mask.\n */\n private getAttributeMask(parameters: ReadRequest): AttributeMask {\n /* Make a list of readers */\n const readers: AList<AttributeReader> = new AList<AttributeReader>();\n /* Should we read all attributes? */\n if (parameters.readAllExtraAttributes()) {\n /* Read all attributes */\n for (const reader of this._fileReader.getAttributeReaders()) readers.add(reader);\n } else {\n /* Read color? */\n if (parameters.readColor()) {\n const reader: AttributeReader = this._fileReader.findAttributeReader(StandardAttributes.COLOR.getName());\n if (reader != null) readers.add(reader);\n }\n /* Read intensity? */\n if (parameters.readIntensity()) {\n const reader: AttributeReader = this._fileReader.findAttributeReader(StandardAttributes.INTENSITY.getName());\n if (reader != null) readers.add(reader);\n }\n /* Read the extra attributes */\n const extraAttributes: AList<string> = parameters.getExtraAttributes();\n for (let i: number = 0; i < extraAttributes.size(); i++) {\n /* Get the name of the extra attribute */\n const extraAttribute: string = extraAttributes.get(i);\n /* Did we already add the color? */\n if (parameters.readColor() && Strings.equalsIgnoreCase(extraAttribute, StandardAttributes.COLOR.getName())) continue;\n /* Did we already add the intensity? */\n if (parameters.readIntensity() && Strings.equalsIgnoreCase(extraAttribute, StandardAttributes.INTENSITY.getName())) continue;\n /* Find the attribute reader */\n const reader: AttributeReader = this._fileReader.findAttributeReader(extraAttribute);\n /* Add the reader */\n if (reader != null) readers.add(reader);\n }\n }\n /* Create the mask */\n return new AttributeMask(readers);\n }\n\n /**\n * PointCloudReader interface method.\n * @see PointCloudReader#readPoints\n */\n public override readPoints(tileIndex: TileIndex, readRequest: ReadRequest, fileContents: ContentLoader): AList<CloudPoint> {\n /* Create the attribute mask */\n const attributeMask: AttributeMask = this.getAttributeMask(readRequest);\n /* Create the read buffer */\n const tileBuffer: TileReadBuffer = new TileReadBuffer(attributeMask.attributes.length);\n /* Read the points in the tile */\n const pointOffset: int32 = 0;\n const pointCount: int32 = tileIndex.pointCount;\n return PointReader.readTilePoints(this.getFileReader(), readRequest, attributeMask, tileIndex.level, tileIndex, pointOffset, pointCount, tileBuffer, fileContents);\n }\n\n /**\n * PointCloudReader interface method.\n * @see PointCloudReader#readPointData\n */\n public override readPointData(tileIndex: TileIndex, dataFormat: int32, accessTime: float64, fileContents: ContentLoader): PointData {\n /* 16-bit XYZ geometry and 8-bit RGB colors? */\n if (dataFormat == PointDataRaw.TYPE) {\n /* Create the attribute mask */\n const readRequest: ReadRequest = ReadRequest.READ_GEOMETRY_AND_COLOR;\n const readers: AList<AttributeReader> = new AList<AttributeReader>();\n const colorReader: AttributeReader = this._fileReader.findAttributeReader(StandardAttributes.COLOR.getName());\n if (colorReader != null) readers.add(colorReader);\n const attributeMask: AttributeMask = new AttributeMask(readers);\n /* Has the data been loaded? */\n let tileBuffer: TileReadBuffer = null;\n let pointData: PointDataRaw = null;\n if (fileContents.isAvailable()) {\n /* Create the read buffer */\n tileBuffer = new TileReadBuffer(attributeMask.attributes.length);\n /* Create the point data buffer */\n const tileGrid: Grid = this._fileReader.getGeometryReader(tileIndex.level).getGeometryRecord().getTileGrid();\n const tileBounds: Bounds = tileGrid.getCellBounds(tileIndex.gridIndex);\n pointData = new PointDataRaw(tileIndex, tileBounds, null, null, null);\n }\n /* Fill the point data buffer */\n PointReader.readTilePointsRaw(this.getFileReader(), readRequest, attributeMask, tileIndex, tileBuffer, pointData, fileContents);\n /* Missing color channel after data load? */\n if (fileContents.isAvailable() && (pointData.colors == null)) {\n /* Define the default RGB color (0xE6C60D) */\n const defaultR: int32 = 230;\n const defaultG: int32 = 198;\n const defaultB: int32 = 13;\n /* Create a default color buffer (BGR sample sequence) */\n pointData.colors = Uint8Buffer.wrap(new ABuffer(3 * tileIndex.pointCount));\n for (let i: number = 0; i < tileIndex.pointCount; i++) {\n pointData.colors.set(3 * i + 0, defaultB);\n pointData.colors.set(3 * i + 1, defaultG);\n pointData.colors.set(3 * i + 2, defaultR);\n }\n }\n return pointData;\n }\n /* Unknown format */\n return null;\n }\n\n /**\n * PointCloudReader interface method.\n * @see PointCloudReader#clipToLevelRange\n */\n public override clipToLevelRange(levelOffset: int32, levelCount: int32): PointCloudReader {\n /* Check the parameters */\n ASystem.assert0(levelOffset >= 0, `Invalid level offset ${levelOffset}`);\n ASystem.assert0(levelCount > 0, `Invalid level count ${levelCount}`);\n ASystem.assert0(levelOffset + levelCount <= this._levelCount, `Level range ${levelOffset}+${levelCount} not possible in ${this._levelCount} levels`);\n /* Create a new reader */\n return new OPCReader(this._fileReader, this._levelOffset + levelOffset, levelCount);\n }\n}\n"]}
@@ -1,73 +1,73 @@
1
- /** @packageDocumentation
2
- * @module OrbitGT
3
- */
4
- declare type int32 = number;
5
- import { AList } from "../../../system/collection/AList";
6
- import { ContentLoader } from "../../../system/storage/ContentLoader";
7
- import { CloudPoint } from "../../model/CloudPoint";
8
- import { PointDataRaw } from "../../model/PointDataRaw";
9
- import { ReadRequest } from "../../model/ReadRequest";
10
- import { TileIndex } from "../../model/TileIndex";
11
- import { AttributeMask } from "./AttributeMask";
12
- import { FileReader } from "./FileReader";
13
- import { TileReadBuffer } from "./TileReadBuffer";
14
- /**
15
- * Class PointReader reads points from tiles.
16
- *
17
- * @version 1.0 January 2014
18
- */
19
- /** @internal */
20
- export declare class PointReader {
21
- /**
22
- * No instances.
23
- */
24
- private constructor();
25
- /**
26
- * Read the data of a tile.
27
- * @param reader the file reader.
28
- * @param readRequest the read request parameters.
29
- * @param attributeMask the attribute mask for reading.
30
- * @param level the index of the level to read from.
31
- * @param tileRecord the tile record.
32
- * @param tileBuffer the buffer to help reading.
33
- */
34
- private static readTileData;
35
- /**
36
- * Parse the data of a tile.
37
- * @return the parsed tile data.
38
- */
39
- private static parseTileData;
40
- /**
41
- * Read some points of a tile.
42
- * @param reader the file reader.
43
- * @param readRequest the read request parameters.
44
- * @param attributeMask the attribute mask for reading.
45
- * @param level the index of the level to read from.
46
- * @param tileRecord the tile record.
47
- * @param tileBuffer the buffer to help reading.
48
- * @param processor the point processor.
49
- * @param fileContens the file contents.
50
- * @return the tile points.
51
- */
52
- static readTilePoints(reader: FileReader, readRequest: ReadRequest, attributeMask: AttributeMask, level: int32, tileRecord: TileIndex, pointOffset: int32, pointCount: int32, tileBuffer: TileReadBuffer, fileContens: ContentLoader): AList<CloudPoint>;
53
- /**
54
- * Parse the data of a tile.
55
- * @return the parsed tile data.
56
- */
57
- private static parseTileDataRaw;
58
- /**
59
- * Read some points of a tile.
60
- * @param reader the file reader.
61
- * @param readRequest the read request parameters.
62
- * @param attributeMask the attribute mask for reading.
63
- * @param level the index of the level to read from.
64
- * @param tileRecord the tile record.
65
- * @param tileBuffer the buffer to help reading.
66
- * @param processor the point processor.
67
- * @param fileContens the file contents.
68
- * @return the tile points.
69
- */
70
- static readTilePointsRaw(reader: FileReader, readRequest: ReadRequest, attributeMask: AttributeMask, tileRecord: TileIndex, tileBuffer: TileReadBuffer, pointData: PointDataRaw, fileContents: ContentLoader): void;
71
- }
72
- export {};
1
+ /** @packageDocumentation
2
+ * @module OrbitGT
3
+ */
4
+ declare type int32 = number;
5
+ import { AList } from "../../../system/collection/AList";
6
+ import { ContentLoader } from "../../../system/storage/ContentLoader";
7
+ import { CloudPoint } from "../../model/CloudPoint";
8
+ import { PointDataRaw } from "../../model/PointDataRaw";
9
+ import { ReadRequest } from "../../model/ReadRequest";
10
+ import { TileIndex } from "../../model/TileIndex";
11
+ import { AttributeMask } from "./AttributeMask";
12
+ import { FileReader } from "./FileReader";
13
+ import { TileReadBuffer } from "./TileReadBuffer";
14
+ /**
15
+ * Class PointReader reads points from tiles.
16
+ *
17
+ * @version 1.0 January 2014
18
+ */
19
+ /** @internal */
20
+ export declare class PointReader {
21
+ /**
22
+ * No instances.
23
+ */
24
+ private constructor();
25
+ /**
26
+ * Read the data of a tile.
27
+ * @param reader the file reader.
28
+ * @param readRequest the read request parameters.
29
+ * @param attributeMask the attribute mask for reading.
30
+ * @param level the index of the level to read from.
31
+ * @param tileRecord the tile record.
32
+ * @param tileBuffer the buffer to help reading.
33
+ */
34
+ private static readTileData;
35
+ /**
36
+ * Parse the data of a tile.
37
+ * @return the parsed tile data.
38
+ */
39
+ private static parseTileData;
40
+ /**
41
+ * Read some points of a tile.
42
+ * @param reader the file reader.
43
+ * @param readRequest the read request parameters.
44
+ * @param attributeMask the attribute mask for reading.
45
+ * @param level the index of the level to read from.
46
+ * @param tileRecord the tile record.
47
+ * @param tileBuffer the buffer to help reading.
48
+ * @param processor the point processor.
49
+ * @param fileContens the file contents.
50
+ * @return the tile points.
51
+ */
52
+ static readTilePoints(reader: FileReader, readRequest: ReadRequest, attributeMask: AttributeMask, level: int32, tileRecord: TileIndex, pointOffset: int32, pointCount: int32, tileBuffer: TileReadBuffer, fileContens: ContentLoader): AList<CloudPoint>;
53
+ /**
54
+ * Parse the data of a tile.
55
+ * @return the parsed tile data.
56
+ */
57
+ private static parseTileDataRaw;
58
+ /**
59
+ * Read some points of a tile.
60
+ * @param reader the file reader.
61
+ * @param readRequest the read request parameters.
62
+ * @param attributeMask the attribute mask for reading.
63
+ * @param level the index of the level to read from.
64
+ * @param tileRecord the tile record.
65
+ * @param tileBuffer the buffer to help reading.
66
+ * @param processor the point processor.
67
+ * @param fileContens the file contents.
68
+ * @return the tile points.
69
+ */
70
+ static readTilePointsRaw(reader: FileReader, readRequest: ReadRequest, attributeMask: AttributeMask, tileRecord: TileIndex, tileBuffer: TileReadBuffer, pointData: PointDataRaw, fileContents: ContentLoader): void;
71
+ }
72
+ export {};
73
73
  //# sourceMappingURL=PointReader.d.ts.map
@@ -1,153 +1,153 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- /** @packageDocumentation
7
- * @module OrbitGT
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.PointReader = void 0;
11
- const Uint8Buffer_1 = require("../../../system/buffer/Uint8Buffer");
12
- const AList_1 = require("../../../system/collection/AList");
13
- const ALong_1 = require("../../../system/runtime/ALong");
14
- const CloudPoint_1 = require("../../model/CloudPoint");
15
- /**
16
- * Class PointReader reads points from tiles.
17
- *
18
- * @version 1.0 January 2014
19
- */
20
- /** @internal */
21
- class PointReader {
22
- /**
23
- * No instances.
24
- */
25
- constructor() { }
26
- /**
27
- * Read the data of a tile.
28
- * @param reader the file reader.
29
- * @param readRequest the read request parameters.
30
- * @param attributeMask the attribute mask for reading.
31
- * @param level the index of the level to read from.
32
- * @param tileRecord the tile record.
33
- * @param tileBuffer the buffer to help reading.
34
- */
35
- static readTileData(reader, readRequest, attributeMask, level, tileRecord, pointOffset, pointCount, tileBuffer, fileContents) {
36
- /* Should we read the geometry? */
37
- let geometryReader = null;
38
- if (readRequest.readGeometry()) {
39
- /* Read all geometry data */
40
- geometryReader = reader.getGeometryReader(level);
41
- geometryReader.readTileData2(tileRecord, pointOffset, pointCount, tileBuffer, readRequest, fileContents);
42
- }
43
- /* Read all attribute data */
44
- let attributeReaders = attributeMask.readers;
45
- for (let i = 0; i < attributeReaders.size(); i++) {
46
- let attributeReader = attributeReaders.get(i);
47
- attributeReader.readTileData2(level, tileRecord, ALong_1.ALong.fromInt(pointOffset), pointCount, tileBuffer, i, readRequest, fileContents);
48
- }
49
- }
50
- /**
51
- * Parse the data of a tile.
52
- * @return the parsed tile data.
53
- */
54
- static parseTileData(reader, readRequest, attributeMask, level, tileRecord, pointOffset, pointCount, tileBuffer, fileContents) {
55
- /* We should have the file content */
56
- if (fileContents.isAvailable() == false)
57
- return null;
58
- /* Should we read the geometry? */
59
- let geometryReader = null;
60
- if (readRequest.readGeometry()) {
61
- /* Read all geometry data */
62
- geometryReader = reader.getGeometryReader(level);
63
- }
64
- /* Read all attribute data */
65
- let attributeReaders = attributeMask.readers;
66
- /* Thinning? */
67
- let thinning = readRequest.getThinning();
68
- if (thinning < 2)
69
- thinning = 0;
70
- /* Process all points */
71
- let cloudPointList = new AList_1.AList();
72
- for (let i = 0; i < pointCount; i++) {
73
- /* Create a point */
74
- let cloudPoint = CloudPoint_1.CloudPoint.createWithAttributes(attributeMask.attributes);
75
- /* Thinning? */
76
- if ((thinning != 0) && (i % thinning != 0)) {
77
- /* Skip */
78
- continue;
79
- }
80
- /* Get the point index */
81
- let pointIndex = tileRecord.pointIndex.addInt(pointOffset + i);
82
- /* Set the index */
83
- cloudPoint.setIndex(pointIndex);
84
- /* Set the geometry */
85
- if (readRequest.readGeometry())
86
- geometryReader.getPointData(tileRecord, tileBuffer, i, cloudPoint);
87
- /* Set the attributes */
88
- for (let j = 0; j < attributeReaders.size(); j++) {
89
- let attributeReader = attributeReaders.get(j);
90
- attributeReader.getPointData(level, tileRecord, tileBuffer, j, i, cloudPoint);
91
- }
92
- /* Process the point */
93
- cloudPointList.add(cloudPoint);
94
- }
95
- /* Return the list */
96
- return cloudPointList;
97
- }
98
- /**
99
- * Read some points of a tile.
100
- * @param reader the file reader.
101
- * @param readRequest the read request parameters.
102
- * @param attributeMask the attribute mask for reading.
103
- * @param level the index of the level to read from.
104
- * @param tileRecord the tile record.
105
- * @param tileBuffer the buffer to help reading.
106
- * @param processor the point processor.
107
- * @param fileContens the file contents.
108
- * @return the tile points.
109
- */
110
- static readTilePoints(reader, readRequest, attributeMask, level, tileRecord, pointOffset, pointCount, tileBuffer, fileContens) {
111
- /* Read the tile data */
112
- PointReader.readTileData(reader, readRequest, attributeMask, level, tileRecord, pointOffset, pointCount, tileBuffer, fileContens);
113
- /* Parse the tile data */
114
- return PointReader.parseTileData(reader, readRequest, attributeMask, level, tileRecord, pointOffset, pointCount, tileBuffer, fileContens);
115
- }
116
- /**
117
- * Parse the data of a tile.
118
- * @return the parsed tile data.
119
- */
120
- static parseTileDataRaw(reader, readRequest, attributeMask, tileRecord, tileBuffer, pointData, fileContents) {
121
- /* We should have the file content */
122
- if (fileContents.isAvailable() == false)
123
- return;
124
- /* Read the geometry */
125
- let geometryReader = reader.getGeometryReader(tileRecord.level);
126
- geometryReader.getPointDataRaw(tileRecord, tileBuffer, pointData);
127
- /* Read the color? */
128
- if (tileBuffer.getAttributeCount() > 0) {
129
- /* Little-endian encoding makes 24-bit RGB values to be written as BGR byte sequence */
130
- pointData.colors = new Uint8Buffer_1.Uint8Buffer(tileBuffer.getAttributeBuffer(0), 0, 3 * tileRecord.pointCount);
131
- }
132
- }
133
- /**
134
- * Read some points of a tile.
135
- * @param reader the file reader.
136
- * @param readRequest the read request parameters.
137
- * @param attributeMask the attribute mask for reading.
138
- * @param level the index of the level to read from.
139
- * @param tileRecord the tile record.
140
- * @param tileBuffer the buffer to help reading.
141
- * @param processor the point processor.
142
- * @param fileContens the file contents.
143
- * @return the tile points.
144
- */
145
- static readTilePointsRaw(reader, readRequest, attributeMask, tileRecord, tileBuffer, pointData, fileContents) {
146
- /* Read the tile data */
147
- PointReader.readTileData(reader, readRequest, attributeMask, tileRecord.level, tileRecord, 0, tileRecord.pointCount, tileBuffer, fileContents);
148
- /* Parse the tile data */
149
- PointReader.parseTileDataRaw(reader, readRequest, attributeMask, tileRecord, tileBuffer, pointData, fileContents);
150
- }
151
- }
152
- exports.PointReader = PointReader;
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module OrbitGT
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.PointReader = void 0;
11
+ const Uint8Buffer_1 = require("../../../system/buffer/Uint8Buffer");
12
+ const AList_1 = require("../../../system/collection/AList");
13
+ const ALong_1 = require("../../../system/runtime/ALong");
14
+ const CloudPoint_1 = require("../../model/CloudPoint");
15
+ /**
16
+ * Class PointReader reads points from tiles.
17
+ *
18
+ * @version 1.0 January 2014
19
+ */
20
+ /** @internal */
21
+ class PointReader {
22
+ /**
23
+ * No instances.
24
+ */
25
+ constructor() { }
26
+ /**
27
+ * Read the data of a tile.
28
+ * @param reader the file reader.
29
+ * @param readRequest the read request parameters.
30
+ * @param attributeMask the attribute mask for reading.
31
+ * @param level the index of the level to read from.
32
+ * @param tileRecord the tile record.
33
+ * @param tileBuffer the buffer to help reading.
34
+ */
35
+ static readTileData(reader, readRequest, attributeMask, level, tileRecord, pointOffset, pointCount, tileBuffer, fileContents) {
36
+ /* Should we read the geometry? */
37
+ let geometryReader = null;
38
+ if (readRequest.readGeometry()) {
39
+ /* Read all geometry data */
40
+ geometryReader = reader.getGeometryReader(level);
41
+ geometryReader.readTileData2(tileRecord, pointOffset, pointCount, tileBuffer, readRequest, fileContents);
42
+ }
43
+ /* Read all attribute data */
44
+ let attributeReaders = attributeMask.readers;
45
+ for (let i = 0; i < attributeReaders.size(); i++) {
46
+ let attributeReader = attributeReaders.get(i);
47
+ attributeReader.readTileData2(level, tileRecord, ALong_1.ALong.fromInt(pointOffset), pointCount, tileBuffer, i, readRequest, fileContents);
48
+ }
49
+ }
50
+ /**
51
+ * Parse the data of a tile.
52
+ * @return the parsed tile data.
53
+ */
54
+ static parseTileData(reader, readRequest, attributeMask, level, tileRecord, pointOffset, pointCount, tileBuffer, fileContents) {
55
+ /* We should have the file content */
56
+ if (fileContents.isAvailable() == false)
57
+ return null;
58
+ /* Should we read the geometry? */
59
+ let geometryReader = null;
60
+ if (readRequest.readGeometry()) {
61
+ /* Read all geometry data */
62
+ geometryReader = reader.getGeometryReader(level);
63
+ }
64
+ /* Read all attribute data */
65
+ let attributeReaders = attributeMask.readers;
66
+ /* Thinning? */
67
+ let thinning = readRequest.getThinning();
68
+ if (thinning < 2)
69
+ thinning = 0;
70
+ /* Process all points */
71
+ let cloudPointList = new AList_1.AList();
72
+ for (let i = 0; i < pointCount; i++) {
73
+ /* Create a point */
74
+ let cloudPoint = CloudPoint_1.CloudPoint.createWithAttributes(attributeMask.attributes);
75
+ /* Thinning? */
76
+ if ((thinning != 0) && (i % thinning != 0)) {
77
+ /* Skip */
78
+ continue;
79
+ }
80
+ /* Get the point index */
81
+ let pointIndex = tileRecord.pointIndex.addInt(pointOffset + i);
82
+ /* Set the index */
83
+ cloudPoint.setIndex(pointIndex);
84
+ /* Set the geometry */
85
+ if (readRequest.readGeometry())
86
+ geometryReader.getPointData(tileRecord, tileBuffer, i, cloudPoint);
87
+ /* Set the attributes */
88
+ for (let j = 0; j < attributeReaders.size(); j++) {
89
+ let attributeReader = attributeReaders.get(j);
90
+ attributeReader.getPointData(level, tileRecord, tileBuffer, j, i, cloudPoint);
91
+ }
92
+ /* Process the point */
93
+ cloudPointList.add(cloudPoint);
94
+ }
95
+ /* Return the list */
96
+ return cloudPointList;
97
+ }
98
+ /**
99
+ * Read some points of a tile.
100
+ * @param reader the file reader.
101
+ * @param readRequest the read request parameters.
102
+ * @param attributeMask the attribute mask for reading.
103
+ * @param level the index of the level to read from.
104
+ * @param tileRecord the tile record.
105
+ * @param tileBuffer the buffer to help reading.
106
+ * @param processor the point processor.
107
+ * @param fileContens the file contents.
108
+ * @return the tile points.
109
+ */
110
+ static readTilePoints(reader, readRequest, attributeMask, level, tileRecord, pointOffset, pointCount, tileBuffer, fileContens) {
111
+ /* Read the tile data */
112
+ PointReader.readTileData(reader, readRequest, attributeMask, level, tileRecord, pointOffset, pointCount, tileBuffer, fileContens);
113
+ /* Parse the tile data */
114
+ return PointReader.parseTileData(reader, readRequest, attributeMask, level, tileRecord, pointOffset, pointCount, tileBuffer, fileContens);
115
+ }
116
+ /**
117
+ * Parse the data of a tile.
118
+ * @return the parsed tile data.
119
+ */
120
+ static parseTileDataRaw(reader, readRequest, attributeMask, tileRecord, tileBuffer, pointData, fileContents) {
121
+ /* We should have the file content */
122
+ if (fileContents.isAvailable() == false)
123
+ return;
124
+ /* Read the geometry */
125
+ let geometryReader = reader.getGeometryReader(tileRecord.level);
126
+ geometryReader.getPointDataRaw(tileRecord, tileBuffer, pointData);
127
+ /* Read the color? */
128
+ if (tileBuffer.getAttributeCount() > 0) {
129
+ /* Little-endian encoding makes 24-bit RGB values to be written as BGR byte sequence */
130
+ pointData.colors = new Uint8Buffer_1.Uint8Buffer(tileBuffer.getAttributeBuffer(0), 0, 3 * tileRecord.pointCount);
131
+ }
132
+ }
133
+ /**
134
+ * Read some points of a tile.
135
+ * @param reader the file reader.
136
+ * @param readRequest the read request parameters.
137
+ * @param attributeMask the attribute mask for reading.
138
+ * @param level the index of the level to read from.
139
+ * @param tileRecord the tile record.
140
+ * @param tileBuffer the buffer to help reading.
141
+ * @param processor the point processor.
142
+ * @param fileContens the file contents.
143
+ * @return the tile points.
144
+ */
145
+ static readTilePointsRaw(reader, readRequest, attributeMask, tileRecord, tileBuffer, pointData, fileContents) {
146
+ /* Read the tile data */
147
+ PointReader.readTileData(reader, readRequest, attributeMask, tileRecord.level, tileRecord, 0, tileRecord.pointCount, tileBuffer, fileContents);
148
+ /* Parse the tile data */
149
+ PointReader.parseTileDataRaw(reader, readRequest, attributeMask, tileRecord, tileBuffer, pointData, fileContents);
150
+ }
151
+ }
152
+ exports.PointReader = PointReader;
153
153
  //# sourceMappingURL=PointReader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PointReader.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/PointReader.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module OrbitGT\r\n */\r\n\r\n//package orbitgt.pointcloud.format.opc;\r\n\r\ntype int8 = number;\r\ntype int16 = number;\r\ntype int32 = number;\r\ntype float32 = number;\r\ntype float64 = number;\r\n\r\n\r\nimport { ABuffer } from \"../../../system/buffer/ABuffer\";\r\nimport { Uint8Buffer } from \"../../../system/buffer/Uint8Buffer\";\r\nimport { AList } from \"../../../system/collection/AList\";\r\nimport { ALong } from \"../../../system/runtime/ALong\";\r\nimport { ContentLoader } from \"../../../system/storage/ContentLoader\";\r\nimport { CloudPoint } from \"../../model/CloudPoint\";\r\nimport { PointDataRaw } from \"../../model/PointDataRaw\";\r\nimport { ReadRequest } from \"../../model/ReadRequest\";\r\nimport { TileIndex } from \"../../model/TileIndex\";\r\nimport { AttributeMask } from \"./AttributeMask\";\r\nimport { AttributeReader } from \"./AttributeReader\";\r\nimport { FileReader } from \"./FileReader\";\r\nimport { GeometryReader } from \"./GeometryReader\";\r\nimport { TileReadBuffer } from \"./TileReadBuffer\";\r\n\r\n/**\r\n * Class PointReader reads points from tiles.\r\n *\r\n * @version 1.0 January 2014\r\n */\r\n/** @internal */\r\nexport class PointReader {\r\n /**\r\n * No instances.\r\n */\r\n private constructor() { }\r\n\r\n /**\r\n * Read the data of a tile.\r\n * @param reader the file reader.\r\n * @param readRequest the read request parameters.\r\n * @param attributeMask the attribute mask for reading.\r\n * @param level the index of the level to read from.\r\n * @param tileRecord the tile record.\r\n * @param tileBuffer the buffer to help reading.\r\n */\r\n private static readTileData(reader: FileReader, readRequest: ReadRequest, attributeMask: AttributeMask, level: int32, tileRecord: TileIndex, pointOffset: int32, pointCount: int32, tileBuffer: TileReadBuffer, fileContents: ContentLoader): void {\r\n /* Should we read the geometry? */\r\n let geometryReader: GeometryReader = null;\r\n if (readRequest.readGeometry()) {\r\n /* Read all geometry data */\r\n geometryReader = reader.getGeometryReader(level);\r\n geometryReader.readTileData2(tileRecord, pointOffset, pointCount, tileBuffer, readRequest, fileContents);\r\n }\r\n /* Read all attribute data */\r\n let attributeReaders: AList<AttributeReader> = attributeMask.readers;\r\n for (let i: number = 0; i < attributeReaders.size(); i++) {\r\n let attributeReader: AttributeReader = attributeReaders.get(i);\r\n attributeReader.readTileData2(level, tileRecord, ALong.fromInt(pointOffset), pointCount, tileBuffer, i, readRequest, fileContents);\r\n }\r\n }\r\n\r\n /**\r\n * Parse the data of a tile.\r\n * @return the parsed tile data.\r\n */\r\n private static parseTileData(reader: FileReader, readRequest: ReadRequest, attributeMask: AttributeMask, level: int32, tileRecord: TileIndex, pointOffset: int32, pointCount: int32, tileBuffer: TileReadBuffer, fileContents: ContentLoader): AList<CloudPoint> {\r\n /* We should have the file content */\r\n if (fileContents.isAvailable() == false) return null;\r\n /* Should we read the geometry? */\r\n let geometryReader: GeometryReader = null;\r\n if (readRequest.readGeometry()) {\r\n /* Read all geometry data */\r\n geometryReader = reader.getGeometryReader(level);\r\n }\r\n /* Read all attribute data */\r\n let attributeReaders: AList<AttributeReader> = attributeMask.readers;\r\n /* Thinning? */\r\n let thinning: int32 = readRequest.getThinning();\r\n if (thinning < 2) thinning = 0;\r\n /* Process all points */\r\n let cloudPointList: AList<CloudPoint> = new AList<CloudPoint>();\r\n for (let i: number = 0; i < pointCount; i++) {\r\n /* Create a point */\r\n let cloudPoint: CloudPoint = CloudPoint.createWithAttributes(attributeMask.attributes);\r\n /* Thinning? */\r\n if ((thinning != 0) && (i % thinning != 0)) {\r\n /* Skip */\r\n continue;\r\n }\r\n /* Get the point index */\r\n let pointIndex: ALong = tileRecord.pointIndex.addInt(pointOffset + i);\r\n /* Set the index */\r\n cloudPoint.setIndex(pointIndex);\r\n /* Set the geometry */\r\n if (readRequest.readGeometry()) geometryReader.getPointData(tileRecord, tileBuffer, i, cloudPoint);\r\n /* Set the attributes */\r\n for (let j: number = 0; j < attributeReaders.size(); j++) {\r\n let attributeReader: AttributeReader = attributeReaders.get(j);\r\n attributeReader.getPointData(level, tileRecord, tileBuffer, j, i, cloudPoint);\r\n }\r\n /* Process the point */\r\n cloudPointList.add(cloudPoint);\r\n }\r\n /* Return the list */\r\n return cloudPointList;\r\n }\r\n\r\n /**\r\n * Read some points of a tile.\r\n * @param reader the file reader.\r\n * @param readRequest the read request parameters.\r\n * @param attributeMask the attribute mask for reading.\r\n * @param level the index of the level to read from.\r\n * @param tileRecord the tile record.\r\n * @param tileBuffer the buffer to help reading.\r\n * @param processor the point processor.\r\n * @param fileContens the file contents.\r\n * @return the tile points.\r\n */\r\n public static readTilePoints(reader: FileReader, readRequest: ReadRequest, attributeMask: AttributeMask, level: int32, tileRecord: TileIndex, pointOffset: int32, pointCount: int32, tileBuffer: TileReadBuffer, fileContens: ContentLoader): AList<CloudPoint> {\r\n /* Read the tile data */\r\n PointReader.readTileData(reader, readRequest, attributeMask, level, tileRecord, pointOffset, pointCount, tileBuffer, fileContens);\r\n /* Parse the tile data */\r\n return PointReader.parseTileData(reader, readRequest, attributeMask, level, tileRecord, pointOffset, pointCount, tileBuffer, fileContens);\r\n }\r\n\r\n /**\r\n * Parse the data of a tile.\r\n * @return the parsed tile data.\r\n */\r\n private static parseTileDataRaw(reader: FileReader, readRequest: ReadRequest, attributeMask: AttributeMask, tileRecord: TileIndex, tileBuffer: TileReadBuffer, pointData: PointDataRaw, fileContents: ContentLoader): void {\r\n /* We should have the file content */\r\n if (fileContents.isAvailable() == false) return;\r\n /* Read the geometry */\r\n let geometryReader: GeometryReader = reader.getGeometryReader(tileRecord.level);\r\n geometryReader.getPointDataRaw(tileRecord, tileBuffer, pointData);\r\n /* Read the color? */\r\n if (tileBuffer.getAttributeCount() > 0) {\r\n /* Little-endian encoding makes 24-bit RGB values to be written as BGR byte sequence */\r\n pointData.colors = new Uint8Buffer(tileBuffer.getAttributeBuffer(0), 0, 3 * tileRecord.pointCount);\r\n }\r\n }\r\n\r\n /**\r\n * Read some points of a tile.\r\n * @param reader the file reader.\r\n * @param readRequest the read request parameters.\r\n * @param attributeMask the attribute mask for reading.\r\n * @param level the index of the level to read from.\r\n * @param tileRecord the tile record.\r\n * @param tileBuffer the buffer to help reading.\r\n * @param processor the point processor.\r\n * @param fileContens the file contents.\r\n * @return the tile points.\r\n */\r\n public static readTilePointsRaw(reader: FileReader, readRequest: ReadRequest, attributeMask: AttributeMask, tileRecord: TileIndex, tileBuffer: TileReadBuffer, pointData: PointDataRaw, fileContents: ContentLoader): void {\r\n /* Read the tile data */\r\n PointReader.readTileData(reader, readRequest, attributeMask, tileRecord.level, tileRecord, 0, tileRecord.pointCount, tileBuffer, fileContents);\r\n /* Parse the tile data */\r\n PointReader.parseTileDataRaw(reader, readRequest, attributeMask, tileRecord, tileBuffer, pointData, fileContents);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"PointReader.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/PointReader.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module OrbitGT\n */\n\n//package orbitgt.pointcloud.format.opc;\n\ntype int8 = number;\ntype int16 = number;\ntype int32 = number;\ntype float32 = number;\ntype float64 = number;\n\n\nimport { ABuffer } from \"../../../system/buffer/ABuffer\";\nimport { Uint8Buffer } from \"../../../system/buffer/Uint8Buffer\";\nimport { AList } from \"../../../system/collection/AList\";\nimport { ALong } from \"../../../system/runtime/ALong\";\nimport { ContentLoader } from \"../../../system/storage/ContentLoader\";\nimport { CloudPoint } from \"../../model/CloudPoint\";\nimport { PointDataRaw } from \"../../model/PointDataRaw\";\nimport { ReadRequest } from \"../../model/ReadRequest\";\nimport { TileIndex } from \"../../model/TileIndex\";\nimport { AttributeMask } from \"./AttributeMask\";\nimport { AttributeReader } from \"./AttributeReader\";\nimport { FileReader } from \"./FileReader\";\nimport { GeometryReader } from \"./GeometryReader\";\nimport { TileReadBuffer } from \"./TileReadBuffer\";\n\n/**\n * Class PointReader reads points from tiles.\n *\n * @version 1.0 January 2014\n */\n/** @internal */\nexport class PointReader {\n /**\n * No instances.\n */\n private constructor() { }\n\n /**\n * Read the data of a tile.\n * @param reader the file reader.\n * @param readRequest the read request parameters.\n * @param attributeMask the attribute mask for reading.\n * @param level the index of the level to read from.\n * @param tileRecord the tile record.\n * @param tileBuffer the buffer to help reading.\n */\n private static readTileData(reader: FileReader, readRequest: ReadRequest, attributeMask: AttributeMask, level: int32, tileRecord: TileIndex, pointOffset: int32, pointCount: int32, tileBuffer: TileReadBuffer, fileContents: ContentLoader): void {\n /* Should we read the geometry? */\n let geometryReader: GeometryReader = null;\n if (readRequest.readGeometry()) {\n /* Read all geometry data */\n geometryReader = reader.getGeometryReader(level);\n geometryReader.readTileData2(tileRecord, pointOffset, pointCount, tileBuffer, readRequest, fileContents);\n }\n /* Read all attribute data */\n let attributeReaders: AList<AttributeReader> = attributeMask.readers;\n for (let i: number = 0; i < attributeReaders.size(); i++) {\n let attributeReader: AttributeReader = attributeReaders.get(i);\n attributeReader.readTileData2(level, tileRecord, ALong.fromInt(pointOffset), pointCount, tileBuffer, i, readRequest, fileContents);\n }\n }\n\n /**\n * Parse the data of a tile.\n * @return the parsed tile data.\n */\n private static parseTileData(reader: FileReader, readRequest: ReadRequest, attributeMask: AttributeMask, level: int32, tileRecord: TileIndex, pointOffset: int32, pointCount: int32, tileBuffer: TileReadBuffer, fileContents: ContentLoader): AList<CloudPoint> {\n /* We should have the file content */\n if (fileContents.isAvailable() == false) return null;\n /* Should we read the geometry? */\n let geometryReader: GeometryReader = null;\n if (readRequest.readGeometry()) {\n /* Read all geometry data */\n geometryReader = reader.getGeometryReader(level);\n }\n /* Read all attribute data */\n let attributeReaders: AList<AttributeReader> = attributeMask.readers;\n /* Thinning? */\n let thinning: int32 = readRequest.getThinning();\n if (thinning < 2) thinning = 0;\n /* Process all points */\n let cloudPointList: AList<CloudPoint> = new AList<CloudPoint>();\n for (let i: number = 0; i < pointCount; i++) {\n /* Create a point */\n let cloudPoint: CloudPoint = CloudPoint.createWithAttributes(attributeMask.attributes);\n /* Thinning? */\n if ((thinning != 0) && (i % thinning != 0)) {\n /* Skip */\n continue;\n }\n /* Get the point index */\n let pointIndex: ALong = tileRecord.pointIndex.addInt(pointOffset + i);\n /* Set the index */\n cloudPoint.setIndex(pointIndex);\n /* Set the geometry */\n if (readRequest.readGeometry()) geometryReader.getPointData(tileRecord, tileBuffer, i, cloudPoint);\n /* Set the attributes */\n for (let j: number = 0; j < attributeReaders.size(); j++) {\n let attributeReader: AttributeReader = attributeReaders.get(j);\n attributeReader.getPointData(level, tileRecord, tileBuffer, j, i, cloudPoint);\n }\n /* Process the point */\n cloudPointList.add(cloudPoint);\n }\n /* Return the list */\n return cloudPointList;\n }\n\n /**\n * Read some points of a tile.\n * @param reader the file reader.\n * @param readRequest the read request parameters.\n * @param attributeMask the attribute mask for reading.\n * @param level the index of the level to read from.\n * @param tileRecord the tile record.\n * @param tileBuffer the buffer to help reading.\n * @param processor the point processor.\n * @param fileContens the file contents.\n * @return the tile points.\n */\n public static readTilePoints(reader: FileReader, readRequest: ReadRequest, attributeMask: AttributeMask, level: int32, tileRecord: TileIndex, pointOffset: int32, pointCount: int32, tileBuffer: TileReadBuffer, fileContens: ContentLoader): AList<CloudPoint> {\n /* Read the tile data */\n PointReader.readTileData(reader, readRequest, attributeMask, level, tileRecord, pointOffset, pointCount, tileBuffer, fileContens);\n /* Parse the tile data */\n return PointReader.parseTileData(reader, readRequest, attributeMask, level, tileRecord, pointOffset, pointCount, tileBuffer, fileContens);\n }\n\n /**\n * Parse the data of a tile.\n * @return the parsed tile data.\n */\n private static parseTileDataRaw(reader: FileReader, readRequest: ReadRequest, attributeMask: AttributeMask, tileRecord: TileIndex, tileBuffer: TileReadBuffer, pointData: PointDataRaw, fileContents: ContentLoader): void {\n /* We should have the file content */\n if (fileContents.isAvailable() == false) return;\n /* Read the geometry */\n let geometryReader: GeometryReader = reader.getGeometryReader(tileRecord.level);\n geometryReader.getPointDataRaw(tileRecord, tileBuffer, pointData);\n /* Read the color? */\n if (tileBuffer.getAttributeCount() > 0) {\n /* Little-endian encoding makes 24-bit RGB values to be written as BGR byte sequence */\n pointData.colors = new Uint8Buffer(tileBuffer.getAttributeBuffer(0), 0, 3 * tileRecord.pointCount);\n }\n }\n\n /**\n * Read some points of a tile.\n * @param reader the file reader.\n * @param readRequest the read request parameters.\n * @param attributeMask the attribute mask for reading.\n * @param level the index of the level to read from.\n * @param tileRecord the tile record.\n * @param tileBuffer the buffer to help reading.\n * @param processor the point processor.\n * @param fileContens the file contents.\n * @return the tile points.\n */\n public static readTilePointsRaw(reader: FileReader, readRequest: ReadRequest, attributeMask: AttributeMask, tileRecord: TileIndex, tileBuffer: TileReadBuffer, pointData: PointDataRaw, fileContents: ContentLoader): void {\n /* Read the tile data */\n PointReader.readTileData(reader, readRequest, attributeMask, tileRecord.level, tileRecord, 0, tileRecord.pointCount, tileBuffer, fileContents);\n /* Parse the tile data */\n PointReader.parseTileDataRaw(reader, readRequest, attributeMask, tileRecord, tileBuffer, pointData, fileContents);\n }\n}\n"]}