@itwin/core-orbitgt 4.0.0-dev.6 → 4.0.0-dev.60

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 (782) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/lib/cjs/core-orbitgt.d.ts +26 -26
  3. package/lib/cjs/core-orbitgt.js +62 -58
  4. package/lib/cjs/core-orbitgt.js.map +1 -1
  5. package/lib/cjs/pointcloud/format/opc/AttributeMask.d.ts +30 -30
  6. package/lib/cjs/pointcloud/format/opc/AttributeMask.js +47 -47
  7. package/lib/cjs/pointcloud/format/opc/AttributeMask.js.map +1 -1
  8. package/lib/cjs/pointcloud/format/opc/AttributeReader.d.ts +63 -63
  9. package/lib/cjs/pointcloud/format/opc/AttributeReader.d.ts.map +1 -1
  10. package/lib/cjs/pointcloud/format/opc/AttributeReader.js +24 -24
  11. package/lib/cjs/pointcloud/format/opc/AttributeReader.js.map +1 -1
  12. package/lib/cjs/pointcloud/format/opc/BlockRecord.d.ts +54 -54
  13. package/lib/cjs/pointcloud/format/opc/BlockRecord.d.ts.map +1 -1
  14. package/lib/cjs/pointcloud/format/opc/BlockRecord.js +84 -84
  15. package/lib/cjs/pointcloud/format/opc/BlockRecord.js.map +1 -1
  16. package/lib/cjs/pointcloud/format/opc/ContainerFile.d.ts +85 -85
  17. package/lib/cjs/pointcloud/format/opc/ContainerFile.d.ts.map +1 -1
  18. package/lib/cjs/pointcloud/format/opc/ContainerFile.js +199 -199
  19. package/lib/cjs/pointcloud/format/opc/ContainerFile.js.map +1 -1
  20. package/lib/cjs/pointcloud/format/opc/ContainerFilePart.d.ts +55 -55
  21. package/lib/cjs/pointcloud/format/opc/ContainerFilePart.js +75 -75
  22. package/lib/cjs/pointcloud/format/opc/ContainerFilePart.js.map +1 -1
  23. package/lib/cjs/pointcloud/format/opc/DirectoryReader.d.ts +75 -75
  24. package/lib/cjs/pointcloud/format/opc/DirectoryReader.d.ts.map +1 -1
  25. package/lib/cjs/pointcloud/format/opc/DirectoryReader.js +169 -169
  26. package/lib/cjs/pointcloud/format/opc/DirectoryReader.js.map +1 -1
  27. package/lib/cjs/pointcloud/format/opc/DirectoryRecord.d.ts +59 -59
  28. package/lib/cjs/pointcloud/format/opc/DirectoryRecord.d.ts.map +1 -1
  29. package/lib/cjs/pointcloud/format/opc/DirectoryRecord.js +89 -89
  30. package/lib/cjs/pointcloud/format/opc/DirectoryRecord.js.map +1 -1
  31. package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.d.ts +106 -106
  32. package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.d.ts.map +1 -1
  33. package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.js +197 -197
  34. package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.js.map +1 -1
  35. package/lib/cjs/pointcloud/format/opc/FileAccess.d.ts +39 -39
  36. package/lib/cjs/pointcloud/format/opc/FileAccess.js +48 -48
  37. package/lib/cjs/pointcloud/format/opc/FileAccess.js.map +1 -1
  38. package/lib/cjs/pointcloud/format/opc/FileReader.d.ts +118 -118
  39. package/lib/cjs/pointcloud/format/opc/FileReader.d.ts.map +1 -1
  40. package/lib/cjs/pointcloud/format/opc/FileReader.js +248 -248
  41. package/lib/cjs/pointcloud/format/opc/FileReader.js.map +1 -1
  42. package/lib/cjs/pointcloud/format/opc/FileRecord.d.ts +89 -89
  43. package/lib/cjs/pointcloud/format/opc/FileRecord.d.ts.map +1 -1
  44. package/lib/cjs/pointcloud/format/opc/FileRecord.js +125 -125
  45. package/lib/cjs/pointcloud/format/opc/FileRecord.js.map +1 -1
  46. package/lib/cjs/pointcloud/format/opc/GeometryReader.d.ts +79 -79
  47. package/lib/cjs/pointcloud/format/opc/GeometryReader.d.ts.map +1 -1
  48. package/lib/cjs/pointcloud/format/opc/GeometryReader.js +163 -163
  49. package/lib/cjs/pointcloud/format/opc/GeometryReader.js.map +1 -1
  50. package/lib/cjs/pointcloud/format/opc/GeometryRecord.d.ts +53 -53
  51. package/lib/cjs/pointcloud/format/opc/GeometryRecord.js +107 -107
  52. package/lib/cjs/pointcloud/format/opc/GeometryRecord.js.map +1 -1
  53. package/lib/cjs/pointcloud/format/opc/OPCReader.d.ts +157 -157
  54. package/lib/cjs/pointcloud/format/opc/OPCReader.d.ts.map +1 -1
  55. package/lib/cjs/pointcloud/format/opc/OPCReader.js +319 -319
  56. package/lib/cjs/pointcloud/format/opc/OPCReader.js.map +1 -1
  57. package/lib/cjs/pointcloud/format/opc/PointReader.d.ts +72 -72
  58. package/lib/cjs/pointcloud/format/opc/PointReader.d.ts.map +1 -1
  59. package/lib/cjs/pointcloud/format/opc/PointReader.js +152 -152
  60. package/lib/cjs/pointcloud/format/opc/PointReader.js.map +1 -1
  61. package/lib/cjs/pointcloud/format/opc/TileReadBuffer.d.ts +63 -63
  62. package/lib/cjs/pointcloud/format/opc/TileReadBuffer.d.ts.map +1 -1
  63. package/lib/cjs/pointcloud/format/opc/TileReadBuffer.js +92 -92
  64. package/lib/cjs/pointcloud/format/opc/TileReadBuffer.js.map +1 -1
  65. package/lib/cjs/pointcloud/format/opc/TileRecord.d.ts +88 -88
  66. package/lib/cjs/pointcloud/format/opc/TileRecord.d.ts.map +1 -1
  67. package/lib/cjs/pointcloud/format/opc/TileRecord.js +161 -161
  68. package/lib/cjs/pointcloud/format/opc/TileRecord.js.map +1 -1
  69. package/lib/cjs/pointcloud/model/AttributeTypes.d.ts +37 -37
  70. package/lib/cjs/pointcloud/model/AttributeTypes.d.ts.map +1 -1
  71. package/lib/cjs/pointcloud/model/AttributeTypes.js +64 -64
  72. package/lib/cjs/pointcloud/model/AttributeTypes.js.map +1 -1
  73. package/lib/cjs/pointcloud/model/AttributeValue.d.ts +247 -247
  74. package/lib/cjs/pointcloud/model/AttributeValue.d.ts.map +1 -1
  75. package/lib/cjs/pointcloud/model/AttributeValue.js +508 -508
  76. package/lib/cjs/pointcloud/model/AttributeValue.js.map +1 -1
  77. package/lib/cjs/pointcloud/model/BlockIndex.d.ts +49 -49
  78. package/lib/cjs/pointcloud/model/BlockIndex.d.ts.map +1 -1
  79. package/lib/cjs/pointcloud/model/BlockIndex.js +48 -48
  80. package/lib/cjs/pointcloud/model/BlockIndex.js.map +1 -1
  81. package/lib/cjs/pointcloud/model/CloudPoint.d.ts +210 -210
  82. package/lib/cjs/pointcloud/model/CloudPoint.d.ts.map +1 -1
  83. package/lib/cjs/pointcloud/model/CloudPoint.js +318 -318
  84. package/lib/cjs/pointcloud/model/CloudPoint.js.map +1 -1
  85. package/lib/cjs/pointcloud/model/Grid.d.ts +91 -91
  86. package/lib/cjs/pointcloud/model/Grid.d.ts.map +1 -1
  87. package/lib/cjs/pointcloud/model/Grid.js +129 -129
  88. package/lib/cjs/pointcloud/model/Grid.js.map +1 -1
  89. package/lib/cjs/pointcloud/model/GridIndex.d.ts +66 -66
  90. package/lib/cjs/pointcloud/model/GridIndex.d.ts.map +1 -1
  91. package/lib/cjs/pointcloud/model/GridIndex.js +93 -93
  92. package/lib/cjs/pointcloud/model/GridIndex.js.map +1 -1
  93. package/lib/cjs/pointcloud/model/PointAttribute.d.ts +208 -208
  94. package/lib/cjs/pointcloud/model/PointAttribute.d.ts.map +1 -1
  95. package/lib/cjs/pointcloud/model/PointAttribute.js +374 -374
  96. package/lib/cjs/pointcloud/model/PointAttribute.js.map +1 -1
  97. package/lib/cjs/pointcloud/model/PointCloudReader.d.ts +156 -156
  98. package/lib/cjs/pointcloud/model/PointCloudReader.d.ts.map +1 -1
  99. package/lib/cjs/pointcloud/model/PointCloudReader.js +189 -189
  100. package/lib/cjs/pointcloud/model/PointCloudReader.js.map +1 -1
  101. package/lib/cjs/pointcloud/model/PointData.d.ts +17 -17
  102. package/lib/cjs/pointcloud/model/PointData.js +24 -24
  103. package/lib/cjs/pointcloud/model/PointData.js.map +1 -1
  104. package/lib/cjs/pointcloud/model/PointDataRaw.d.ts +34 -34
  105. package/lib/cjs/pointcloud/model/PointDataRaw.d.ts.map +1 -1
  106. package/lib/cjs/pointcloud/model/PointDataRaw.js +69 -69
  107. package/lib/cjs/pointcloud/model/PointDataRaw.js.map +1 -1
  108. package/lib/cjs/pointcloud/model/ReadRequest.d.ts +175 -175
  109. package/lib/cjs/pointcloud/model/ReadRequest.d.ts.map +1 -1
  110. package/lib/cjs/pointcloud/model/ReadRequest.js +239 -239
  111. package/lib/cjs/pointcloud/model/ReadRequest.js.map +1 -1
  112. package/lib/cjs/pointcloud/model/StandardAttributes.d.ts +40 -40
  113. package/lib/cjs/pointcloud/model/StandardAttributes.d.ts.map +1 -1
  114. package/lib/cjs/pointcloud/model/StandardAttributes.js +47 -47
  115. package/lib/cjs/pointcloud/model/StandardAttributes.js.map +1 -1
  116. package/lib/cjs/pointcloud/model/TileIndex.d.ts +47 -47
  117. package/lib/cjs/pointcloud/model/TileIndex.d.ts.map +1 -1
  118. package/lib/cjs/pointcloud/model/TileIndex.js +47 -47
  119. package/lib/cjs/pointcloud/model/TileIndex.js.map +1 -1
  120. package/lib/cjs/pointcloud/render/AViewRequest.d.ts +38 -38
  121. package/lib/cjs/pointcloud/render/AViewRequest.d.ts.map +1 -1
  122. package/lib/cjs/pointcloud/render/AViewRequest.js +24 -24
  123. package/lib/cjs/pointcloud/render/AViewRequest.js.map +1 -1
  124. package/lib/cjs/pointcloud/render/Block.d.ts +67 -67
  125. package/lib/cjs/pointcloud/render/Block.js +119 -119
  126. package/lib/cjs/pointcloud/render/Block.js.map +1 -1
  127. package/lib/cjs/pointcloud/render/DataManager.d.ts +136 -136
  128. package/lib/cjs/pointcloud/render/DataManager.d.ts.map +1 -1
  129. package/lib/cjs/pointcloud/render/DataManager.js +342 -342
  130. package/lib/cjs/pointcloud/render/DataManager.js.map +1 -1
  131. package/lib/cjs/pointcloud/render/FrameData.d.ts +30 -30
  132. package/lib/cjs/pointcloud/render/FrameData.js +39 -39
  133. package/lib/cjs/pointcloud/render/FrameData.js.map +1 -1
  134. package/lib/cjs/pointcloud/render/Level.d.ts +90 -90
  135. package/lib/cjs/pointcloud/render/Level.d.ts.map +1 -1
  136. package/lib/cjs/pointcloud/render/Level.js +119 -119
  137. package/lib/cjs/pointcloud/render/Level.js.map +1 -1
  138. package/lib/cjs/pointcloud/render/TileLoadSorter.d.ts +60 -60
  139. package/lib/cjs/pointcloud/render/TileLoadSorter.d.ts.map +1 -1
  140. package/lib/cjs/pointcloud/render/TileLoadSorter.js +99 -99
  141. package/lib/cjs/pointcloud/render/TileLoadSorter.js.map +1 -1
  142. package/lib/cjs/pointcloud/render/ViewTree.d.ts +113 -113
  143. package/lib/cjs/pointcloud/render/ViewTree.d.ts.map +1 -1
  144. package/lib/cjs/pointcloud/render/ViewTree.js +363 -363
  145. package/lib/cjs/pointcloud/render/ViewTree.js.map +1 -1
  146. package/lib/cjs/spatial/crs/CRSEngine.d.ts +55 -55
  147. package/lib/cjs/spatial/crs/CRSEngine.js +93 -93
  148. package/lib/cjs/spatial/crs/CRSEngine.js.map +1 -1
  149. package/lib/cjs/spatial/crs/CRSManager.d.ts +49 -49
  150. package/lib/cjs/spatial/crs/CRSManager.js +109 -109
  151. package/lib/cjs/spatial/crs/CRSManager.js.map +1 -1
  152. package/lib/cjs/spatial/ecrs/Axis.d.ts +77 -77
  153. package/lib/cjs/spatial/ecrs/Axis.d.ts.map +1 -1
  154. package/lib/cjs/spatial/ecrs/Axis.js +93 -93
  155. package/lib/cjs/spatial/ecrs/Axis.js.map +1 -1
  156. package/lib/cjs/spatial/ecrs/CRS.d.ts +447 -447
  157. package/lib/cjs/spatial/ecrs/CRS.d.ts.map +1 -1
  158. package/lib/cjs/spatial/ecrs/CRS.js +930 -930
  159. package/lib/cjs/spatial/ecrs/CRS.js.map +1 -1
  160. package/lib/cjs/spatial/ecrs/CoordinateSystem.d.ts +142 -142
  161. package/lib/cjs/spatial/ecrs/CoordinateSystem.d.ts.map +1 -1
  162. package/lib/cjs/spatial/ecrs/CoordinateSystem.js +326 -326
  163. package/lib/cjs/spatial/ecrs/CoordinateSystem.js.map +1 -1
  164. package/lib/cjs/spatial/ecrs/DataFileUnit.d.ts +10 -10
  165. package/lib/cjs/spatial/ecrs/DataFileUnit.js +104 -104
  166. package/lib/cjs/spatial/ecrs/DataFileUnit.js.map +1 -1
  167. package/lib/cjs/spatial/ecrs/Datum.d.ts +111 -111
  168. package/lib/cjs/spatial/ecrs/Datum.d.ts.map +1 -1
  169. package/lib/cjs/spatial/ecrs/Datum.js +166 -166
  170. package/lib/cjs/spatial/ecrs/Datum.js.map +1 -1
  171. package/lib/cjs/spatial/ecrs/Ellipsoid.d.ts +188 -188
  172. package/lib/cjs/spatial/ecrs/Ellipsoid.d.ts.map +1 -1
  173. package/lib/cjs/spatial/ecrs/Ellipsoid.js +336 -336
  174. package/lib/cjs/spatial/ecrs/Ellipsoid.js.map +1 -1
  175. package/lib/cjs/spatial/ecrs/OnlineEngine.d.ts +48 -48
  176. package/lib/cjs/spatial/ecrs/OnlineEngine.js +102 -102
  177. package/lib/cjs/spatial/ecrs/OnlineEngine.js.map +1 -1
  178. package/lib/cjs/spatial/ecrs/OnlineRegistry.d.ts +37 -37
  179. package/lib/cjs/spatial/ecrs/OnlineRegistry.d.ts.map +1 -1
  180. package/lib/cjs/spatial/ecrs/OnlineRegistry.js +76 -76
  181. package/lib/cjs/spatial/ecrs/OnlineRegistry.js.map +1 -1
  182. package/lib/cjs/spatial/ecrs/Operation.d.ts +191 -191
  183. package/lib/cjs/spatial/ecrs/Operation.d.ts.map +1 -1
  184. package/lib/cjs/spatial/ecrs/Operation.js +345 -345
  185. package/lib/cjs/spatial/ecrs/Operation.js.map +1 -1
  186. package/lib/cjs/spatial/ecrs/OperationMethod.d.ts +71 -71
  187. package/lib/cjs/spatial/ecrs/OperationMethod.d.ts.map +1 -1
  188. package/lib/cjs/spatial/ecrs/OperationMethod.js +75 -75
  189. package/lib/cjs/spatial/ecrs/OperationMethod.js.map +1 -1
  190. package/lib/cjs/spatial/ecrs/ParameterValue.d.ts +49 -49
  191. package/lib/cjs/spatial/ecrs/ParameterValue.d.ts.map +1 -1
  192. package/lib/cjs/spatial/ecrs/ParameterValue.js +65 -65
  193. package/lib/cjs/spatial/ecrs/ParameterValue.js.map +1 -1
  194. package/lib/cjs/spatial/ecrs/ParameterValueList.d.ts +72 -72
  195. package/lib/cjs/spatial/ecrs/ParameterValueList.d.ts.map +1 -1
  196. package/lib/cjs/spatial/ecrs/ParameterValueList.js +120 -120
  197. package/lib/cjs/spatial/ecrs/ParameterValueList.js.map +1 -1
  198. package/lib/cjs/spatial/ecrs/PrimeMeridian.d.ts +78 -78
  199. package/lib/cjs/spatial/ecrs/PrimeMeridian.d.ts.map +1 -1
  200. package/lib/cjs/spatial/ecrs/PrimeMeridian.js +108 -108
  201. package/lib/cjs/spatial/ecrs/PrimeMeridian.js.map +1 -1
  202. package/lib/cjs/spatial/ecrs/Registry.d.ts +109 -109
  203. package/lib/cjs/spatial/ecrs/Registry.d.ts.map +1 -1
  204. package/lib/cjs/spatial/ecrs/Registry.js +207 -207
  205. package/lib/cjs/spatial/ecrs/Registry.js.map +1 -1
  206. package/lib/cjs/spatial/ecrs/Transform.d.ts +77 -77
  207. package/lib/cjs/spatial/ecrs/Transform.d.ts.map +1 -1
  208. package/lib/cjs/spatial/ecrs/Transform.js +396 -396
  209. package/lib/cjs/spatial/ecrs/Transform.js.map +1 -1
  210. package/lib/cjs/spatial/ecrs/Unit.d.ts +170 -170
  211. package/lib/cjs/spatial/ecrs/Unit.d.ts.map +1 -1
  212. package/lib/cjs/spatial/ecrs/Unit.js +336 -336
  213. package/lib/cjs/spatial/ecrs/Unit.js.map +1 -1
  214. package/lib/cjs/spatial/ecrs/VerticalModel.d.ts +69 -69
  215. package/lib/cjs/spatial/ecrs/VerticalModel.d.ts.map +1 -1
  216. package/lib/cjs/spatial/ecrs/VerticalModel.js +88 -88
  217. package/lib/cjs/spatial/ecrs/VerticalModel.js.map +1 -1
  218. package/lib/cjs/spatial/ecrs/WellKnownText.d.ts +153 -153
  219. package/lib/cjs/spatial/ecrs/WellKnownText.d.ts.map +1 -1
  220. package/lib/cjs/spatial/ecrs/WellKnownText.js +494 -494
  221. package/lib/cjs/spatial/ecrs/WellKnownText.js.map +1 -1
  222. package/lib/cjs/spatial/ecrs/WellKnownTextNode.d.ts +69 -69
  223. package/lib/cjs/spatial/ecrs/WellKnownTextNode.d.ts.map +1 -1
  224. package/lib/cjs/spatial/ecrs/WellKnownTextNode.js +128 -128
  225. package/lib/cjs/spatial/ecrs/WellKnownTextNode.js.map +1 -1
  226. package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.d.ts +101 -101
  227. package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.d.ts.map +1 -1
  228. package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.js +162 -162
  229. package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.js.map +1 -1
  230. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConic.d.ts +79 -79
  231. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConic.d.ts.map +1 -1
  232. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConic.js +125 -125
  233. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConic.js.map +1 -1
  234. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConicEN.d.ts +47 -47
  235. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConicEN.d.ts.map +1 -1
  236. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js +73 -73
  237. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js.map +1 -1
  238. package/lib/cjs/spatial/ecrs/projection/LambertConical1SP.d.ts +72 -72
  239. package/lib/cjs/spatial/ecrs/projection/LambertConical1SP.d.ts.map +1 -1
  240. package/lib/cjs/spatial/ecrs/projection/LambertConical1SP.js +129 -129
  241. package/lib/cjs/spatial/ecrs/projection/LambertConical1SP.js.map +1 -1
  242. package/lib/cjs/spatial/ecrs/projection/LambertConical2SP.d.ts +120 -120
  243. package/lib/cjs/spatial/ecrs/projection/LambertConical2SP.d.ts.map +1 -1
  244. package/lib/cjs/spatial/ecrs/projection/LambertConical2SP.js +179 -179
  245. package/lib/cjs/spatial/ecrs/projection/LambertConical2SP.js.map +1 -1
  246. package/lib/cjs/spatial/ecrs/projection/Mercator1SP.d.ts +73 -73
  247. package/lib/cjs/spatial/ecrs/projection/Mercator1SP.d.ts.map +1 -1
  248. package/lib/cjs/spatial/ecrs/projection/Mercator1SP.js +112 -112
  249. package/lib/cjs/spatial/ecrs/projection/Mercator1SP.js.map +1 -1
  250. package/lib/cjs/spatial/ecrs/projection/ObliqueMercator.d.ts +96 -96
  251. package/lib/cjs/spatial/ecrs/projection/ObliqueMercator.d.ts.map +1 -1
  252. package/lib/cjs/spatial/ecrs/projection/ObliqueMercator.js +173 -173
  253. package/lib/cjs/spatial/ecrs/projection/ObliqueMercator.js.map +1 -1
  254. package/lib/cjs/spatial/ecrs/projection/ObliqueStereographic.d.ts +123 -123
  255. package/lib/cjs/spatial/ecrs/projection/ObliqueStereographic.d.ts.map +1 -1
  256. package/lib/cjs/spatial/ecrs/projection/ObliqueStereographic.js +208 -208
  257. package/lib/cjs/spatial/ecrs/projection/ObliqueStereographic.js.map +1 -1
  258. package/lib/cjs/spatial/ecrs/projection/TransverseMercator.d.ts +108 -108
  259. package/lib/cjs/spatial/ecrs/projection/TransverseMercator.d.ts.map +1 -1
  260. package/lib/cjs/spatial/ecrs/projection/TransverseMercator.js +183 -183
  261. package/lib/cjs/spatial/ecrs/projection/TransverseMercator.js.map +1 -1
  262. package/lib/cjs/spatial/ecrs/transformation/PositionVector.d.ts +90 -90
  263. package/lib/cjs/spatial/ecrs/transformation/PositionVector.d.ts.map +1 -1
  264. package/lib/cjs/spatial/ecrs/transformation/PositionVector.js +130 -130
  265. package/lib/cjs/spatial/ecrs/transformation/PositionVector.js.map +1 -1
  266. package/lib/cjs/spatial/geom/Bounds.d.ts +33 -33
  267. package/lib/cjs/spatial/geom/Bounds.d.ts.map +1 -1
  268. package/lib/cjs/spatial/geom/Bounds.js +156 -156
  269. package/lib/cjs/spatial/geom/Bounds.js.map +1 -1
  270. package/lib/cjs/spatial/geom/Coordinate.d.ts +61 -61
  271. package/lib/cjs/spatial/geom/Coordinate.d.ts.map +1 -1
  272. package/lib/cjs/spatial/geom/Coordinate.js +186 -186
  273. package/lib/cjs/spatial/geom/Coordinate.js.map +1 -1
  274. package/lib/cjs/spatial/geom/Line.d.ts +225 -225
  275. package/lib/cjs/spatial/geom/Line.d.ts.map +1 -1
  276. package/lib/cjs/spatial/geom/Line.js +432 -432
  277. package/lib/cjs/spatial/geom/Line.js.map +1 -1
  278. package/lib/cjs/spatial/geom/Transform.d.ts +340 -340
  279. package/lib/cjs/spatial/geom/Transform.d.ts.map +1 -1
  280. package/lib/cjs/spatial/geom/Transform.js +748 -748
  281. package/lib/cjs/spatial/geom/Transform.js.map +1 -1
  282. package/lib/cjs/system/buffer/ABuffer.d.ts +51 -51
  283. package/lib/cjs/system/buffer/ABuffer.d.ts.map +1 -1
  284. package/lib/cjs/system/buffer/ABuffer.js +90 -90
  285. package/lib/cjs/system/buffer/ABuffer.js.map +1 -1
  286. package/lib/cjs/system/buffer/Float32Buffer.d.ts +46 -46
  287. package/lib/cjs/system/buffer/Float32Buffer.d.ts.map +1 -1
  288. package/lib/cjs/system/buffer/Float32Buffer.js +60 -60
  289. package/lib/cjs/system/buffer/Float32Buffer.js.map +1 -1
  290. package/lib/cjs/system/buffer/LittleEndian.d.ts +149 -149
  291. package/lib/cjs/system/buffer/LittleEndian.d.ts.map +1 -1
  292. package/lib/cjs/system/buffer/LittleEndian.js +303 -303
  293. package/lib/cjs/system/buffer/LittleEndian.js.map +1 -1
  294. package/lib/cjs/system/buffer/Uint16Buffer.d.ts +49 -49
  295. package/lib/cjs/system/buffer/Uint16Buffer.d.ts.map +1 -1
  296. package/lib/cjs/system/buffer/Uint16Buffer.js +65 -65
  297. package/lib/cjs/system/buffer/Uint16Buffer.js.map +1 -1
  298. package/lib/cjs/system/buffer/Uint8Buffer.d.ts +49 -49
  299. package/lib/cjs/system/buffer/Uint8Buffer.d.ts.map +1 -1
  300. package/lib/cjs/system/buffer/Uint8Buffer.js +65 -65
  301. package/lib/cjs/system/buffer/Uint8Buffer.js.map +1 -1
  302. package/lib/cjs/system/collection/AList.d.ts +30 -30
  303. package/lib/cjs/system/collection/AList.d.ts.map +1 -1
  304. package/lib/cjs/system/collection/AList.js +70 -70
  305. package/lib/cjs/system/collection/AList.js.map +1 -1
  306. package/lib/cjs/system/collection/IntMap.d.ts +18 -18
  307. package/lib/cjs/system/collection/IntMap.d.ts.map +1 -1
  308. package/lib/cjs/system/collection/IntMap.js +35 -35
  309. package/lib/cjs/system/collection/IntMap.js.map +1 -1
  310. package/lib/cjs/system/collection/StringMap.d.ts +26 -26
  311. package/lib/cjs/system/collection/StringMap.d.ts.map +1 -1
  312. package/lib/cjs/system/collection/StringMap.js +63 -63
  313. package/lib/cjs/system/collection/StringMap.js.map +1 -1
  314. package/lib/cjs/system/io/ABufferInStream.d.ts +29 -29
  315. package/lib/cjs/system/io/ABufferInStream.d.ts.map +1 -1
  316. package/lib/cjs/system/io/ABufferInStream.js +46 -46
  317. package/lib/cjs/system/io/ABufferInStream.js.map +1 -1
  318. package/lib/cjs/system/io/InStream.d.ts +23 -23
  319. package/lib/cjs/system/io/InStream.d.ts.map +1 -1
  320. package/lib/cjs/system/io/InStream.js +34 -34
  321. package/lib/cjs/system/io/InStream.js.map +1 -1
  322. package/lib/cjs/system/io/OutStream.d.ts +23 -23
  323. package/lib/cjs/system/io/OutStream.d.ts.map +1 -1
  324. package/lib/cjs/system/io/OutStream.js +33 -33
  325. package/lib/cjs/system/io/OutStream.js.map +1 -1
  326. package/lib/cjs/system/runtime/ALong.d.ts +329 -329
  327. package/lib/cjs/system/runtime/ALong.d.ts.map +1 -1
  328. package/lib/cjs/system/runtime/ALong.js +687 -687
  329. package/lib/cjs/system/runtime/ALong.js.map +1 -1
  330. package/lib/cjs/system/runtime/ASystem.d.ts +14 -14
  331. package/lib/cjs/system/runtime/ASystem.js +31 -31
  332. package/lib/cjs/system/runtime/ASystem.js.map +1 -1
  333. package/lib/cjs/system/runtime/Downloader.d.ts +17 -17
  334. package/lib/cjs/system/runtime/Downloader.js +38 -38
  335. package/lib/cjs/system/runtime/Downloader.js.map +1 -1
  336. package/lib/cjs/system/runtime/DownloaderNode.d.ts +18 -18
  337. package/lib/cjs/system/runtime/DownloaderNode.js +129 -129
  338. package/lib/cjs/system/runtime/DownloaderNode.js.map +1 -1
  339. package/lib/cjs/system/runtime/DownloaderXhr.d.ts +18 -18
  340. package/lib/cjs/system/runtime/DownloaderXhr.js +131 -131
  341. package/lib/cjs/system/runtime/DownloaderXhr.js.map +1 -1
  342. package/lib/cjs/system/runtime/Message.d.ts +16 -16
  343. package/lib/cjs/system/runtime/Message.js +39 -39
  344. package/lib/cjs/system/runtime/Message.js.map +1 -1
  345. package/lib/cjs/system/runtime/Numbers.d.ts +34 -34
  346. package/lib/cjs/system/runtime/Numbers.d.ts.map +1 -1
  347. package/lib/cjs/system/runtime/Numbers.js +87 -87
  348. package/lib/cjs/system/runtime/Numbers.js.map +1 -1
  349. package/lib/cjs/system/runtime/Strings.d.ts +49 -49
  350. package/lib/cjs/system/runtime/Strings.d.ts.map +1 -1
  351. package/lib/cjs/system/runtime/Strings.js +188 -188
  352. package/lib/cjs/system/runtime/Strings.js.map +1 -1
  353. package/lib/cjs/system/runtime/iComparator.d.ts +12 -12
  354. package/lib/cjs/system/runtime/iComparator.d.ts.map +1 -1
  355. package/lib/cjs/system/runtime/iComparator.js +9 -9
  356. package/lib/cjs/system/runtime/iComparator.js.map +1 -1
  357. package/lib/cjs/system/storage/CacheList.d.ts +39 -39
  358. package/lib/cjs/system/storage/CacheList.d.ts.map +1 -1
  359. package/lib/cjs/system/storage/CacheList.js +80 -80
  360. package/lib/cjs/system/storage/CacheList.js.map +1 -1
  361. package/lib/cjs/system/storage/CachedItem.d.ts +21 -21
  362. package/lib/cjs/system/storage/CachedItem.d.ts.map +1 -1
  363. package/lib/cjs/system/storage/CachedItem.js +25 -25
  364. package/lib/cjs/system/storage/CachedItem.js.map +1 -1
  365. package/lib/cjs/system/storage/ContentLoader.d.ts +64 -64
  366. package/lib/cjs/system/storage/ContentLoader.d.ts.map +1 -1
  367. package/lib/cjs/system/storage/ContentLoader.js +95 -95
  368. package/lib/cjs/system/storage/ContentLoader.js.map +1 -1
  369. package/lib/cjs/system/storage/FileContent.d.ts +19 -19
  370. package/lib/cjs/system/storage/FileContent.js +24 -24
  371. package/lib/cjs/system/storage/FileContent.js.map +1 -1
  372. package/lib/cjs/system/storage/FileRange.d.ts +20 -20
  373. package/lib/cjs/system/storage/FileRange.d.ts.map +1 -1
  374. package/lib/cjs/system/storage/FileRange.js +24 -24
  375. package/lib/cjs/system/storage/FileRange.js.map +1 -1
  376. package/lib/cjs/system/storage/FileStorage.d.ts +44 -44
  377. package/lib/cjs/system/storage/FileStorage.d.ts.map +1 -1
  378. package/lib/cjs/system/storage/FileStorage.js +62 -62
  379. package/lib/cjs/system/storage/FileStorage.js.map +1 -1
  380. package/lib/cjs/system/storage/NodeFS.d.ts +41 -41
  381. package/lib/cjs/system/storage/NodeFS.d.ts.map +1 -1
  382. package/lib/cjs/system/storage/NodeFS.js +79 -79
  383. package/lib/cjs/system/storage/NodeFS.js.map +1 -1
  384. package/lib/cjs/system/storage/PageCachedFile.d.ts +54 -54
  385. package/lib/cjs/system/storage/PageCachedFile.d.ts.map +1 -1
  386. package/lib/cjs/system/storage/PageCachedFile.js +165 -165
  387. package/lib/cjs/system/storage/PageCachedFile.js.map +1 -1
  388. package/lib/cjs/system/storage/UrlFS.d.ts +53 -53
  389. package/lib/cjs/system/storage/UrlFS.d.ts.map +1 -1
  390. package/lib/cjs/system/storage/UrlFS.js +114 -114
  391. package/lib/cjs/system/storage/UrlFS.js.map +1 -1
  392. package/lib/esm/core-orbitgt.d.ts +26 -26
  393. package/lib/esm/core-orbitgt.js +31 -31
  394. package/lib/esm/core-orbitgt.js.map +1 -1
  395. package/lib/esm/pointcloud/format/opc/AttributeMask.d.ts +30 -30
  396. package/lib/esm/pointcloud/format/opc/AttributeMask.js +43 -43
  397. package/lib/esm/pointcloud/format/opc/AttributeMask.js.map +1 -1
  398. package/lib/esm/pointcloud/format/opc/AttributeReader.d.ts +63 -63
  399. package/lib/esm/pointcloud/format/opc/AttributeReader.d.ts.map +1 -1
  400. package/lib/esm/pointcloud/format/opc/AttributeReader.js +20 -20
  401. package/lib/esm/pointcloud/format/opc/AttributeReader.js.map +1 -1
  402. package/lib/esm/pointcloud/format/opc/BlockRecord.d.ts +54 -54
  403. package/lib/esm/pointcloud/format/opc/BlockRecord.d.ts.map +1 -1
  404. package/lib/esm/pointcloud/format/opc/BlockRecord.js +81 -80
  405. package/lib/esm/pointcloud/format/opc/BlockRecord.js.map +1 -1
  406. package/lib/esm/pointcloud/format/opc/ContainerFile.d.ts +85 -85
  407. package/lib/esm/pointcloud/format/opc/ContainerFile.d.ts.map +1 -1
  408. package/lib/esm/pointcloud/format/opc/ContainerFile.js +196 -195
  409. package/lib/esm/pointcloud/format/opc/ContainerFile.js.map +1 -1
  410. package/lib/esm/pointcloud/format/opc/ContainerFilePart.d.ts +55 -55
  411. package/lib/esm/pointcloud/format/opc/ContainerFilePart.js +71 -71
  412. package/lib/esm/pointcloud/format/opc/ContainerFilePart.js.map +1 -1
  413. package/lib/esm/pointcloud/format/opc/DirectoryReader.d.ts +75 -75
  414. package/lib/esm/pointcloud/format/opc/DirectoryReader.d.ts.map +1 -1
  415. package/lib/esm/pointcloud/format/opc/DirectoryReader.js +165 -165
  416. package/lib/esm/pointcloud/format/opc/DirectoryReader.js.map +1 -1
  417. package/lib/esm/pointcloud/format/opc/DirectoryRecord.d.ts +59 -59
  418. package/lib/esm/pointcloud/format/opc/DirectoryRecord.d.ts.map +1 -1
  419. package/lib/esm/pointcloud/format/opc/DirectoryRecord.js +85 -85
  420. package/lib/esm/pointcloud/format/opc/DirectoryRecord.js.map +1 -1
  421. package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.d.ts +106 -106
  422. package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.d.ts.map +1 -1
  423. package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.js +193 -193
  424. package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.js.map +1 -1
  425. package/lib/esm/pointcloud/format/opc/FileAccess.d.ts +39 -39
  426. package/lib/esm/pointcloud/format/opc/FileAccess.js +44 -44
  427. package/lib/esm/pointcloud/format/opc/FileAccess.js.map +1 -1
  428. package/lib/esm/pointcloud/format/opc/FileReader.d.ts +118 -118
  429. package/lib/esm/pointcloud/format/opc/FileReader.d.ts.map +1 -1
  430. package/lib/esm/pointcloud/format/opc/FileReader.js +245 -244
  431. package/lib/esm/pointcloud/format/opc/FileReader.js.map +1 -1
  432. package/lib/esm/pointcloud/format/opc/FileRecord.d.ts +89 -89
  433. package/lib/esm/pointcloud/format/opc/FileRecord.d.ts.map +1 -1
  434. package/lib/esm/pointcloud/format/opc/FileRecord.js +121 -121
  435. package/lib/esm/pointcloud/format/opc/FileRecord.js.map +1 -1
  436. package/lib/esm/pointcloud/format/opc/GeometryReader.d.ts +79 -79
  437. package/lib/esm/pointcloud/format/opc/GeometryReader.d.ts.map +1 -1
  438. package/lib/esm/pointcloud/format/opc/GeometryReader.js +160 -159
  439. package/lib/esm/pointcloud/format/opc/GeometryReader.js.map +1 -1
  440. package/lib/esm/pointcloud/format/opc/GeometryRecord.d.ts +53 -53
  441. package/lib/esm/pointcloud/format/opc/GeometryRecord.js +103 -103
  442. package/lib/esm/pointcloud/format/opc/GeometryRecord.js.map +1 -1
  443. package/lib/esm/pointcloud/format/opc/OPCReader.d.ts +157 -157
  444. package/lib/esm/pointcloud/format/opc/OPCReader.d.ts.map +1 -1
  445. package/lib/esm/pointcloud/format/opc/OPCReader.js +315 -315
  446. package/lib/esm/pointcloud/format/opc/OPCReader.js.map +1 -1
  447. package/lib/esm/pointcloud/format/opc/PointReader.d.ts +72 -72
  448. package/lib/esm/pointcloud/format/opc/PointReader.d.ts.map +1 -1
  449. package/lib/esm/pointcloud/format/opc/PointReader.js +148 -148
  450. package/lib/esm/pointcloud/format/opc/PointReader.js.map +1 -1
  451. package/lib/esm/pointcloud/format/opc/TileReadBuffer.d.ts +63 -63
  452. package/lib/esm/pointcloud/format/opc/TileReadBuffer.d.ts.map +1 -1
  453. package/lib/esm/pointcloud/format/opc/TileReadBuffer.js +88 -88
  454. package/lib/esm/pointcloud/format/opc/TileReadBuffer.js.map +1 -1
  455. package/lib/esm/pointcloud/format/opc/TileRecord.d.ts +88 -88
  456. package/lib/esm/pointcloud/format/opc/TileRecord.d.ts.map +1 -1
  457. package/lib/esm/pointcloud/format/opc/TileRecord.js +158 -157
  458. package/lib/esm/pointcloud/format/opc/TileRecord.js.map +1 -1
  459. package/lib/esm/pointcloud/model/AttributeTypes.d.ts +37 -37
  460. package/lib/esm/pointcloud/model/AttributeTypes.d.ts.map +1 -1
  461. package/lib/esm/pointcloud/model/AttributeTypes.js +61 -60
  462. package/lib/esm/pointcloud/model/AttributeTypes.js.map +1 -1
  463. package/lib/esm/pointcloud/model/AttributeValue.d.ts +247 -247
  464. package/lib/esm/pointcloud/model/AttributeValue.d.ts.map +1 -1
  465. package/lib/esm/pointcloud/model/AttributeValue.js +505 -504
  466. package/lib/esm/pointcloud/model/AttributeValue.js.map +1 -1
  467. package/lib/esm/pointcloud/model/BlockIndex.d.ts +49 -49
  468. package/lib/esm/pointcloud/model/BlockIndex.d.ts.map +1 -1
  469. package/lib/esm/pointcloud/model/BlockIndex.js +44 -44
  470. package/lib/esm/pointcloud/model/BlockIndex.js.map +1 -1
  471. package/lib/esm/pointcloud/model/CloudPoint.d.ts +210 -210
  472. package/lib/esm/pointcloud/model/CloudPoint.d.ts.map +1 -1
  473. package/lib/esm/pointcloud/model/CloudPoint.js +315 -314
  474. package/lib/esm/pointcloud/model/CloudPoint.js.map +1 -1
  475. package/lib/esm/pointcloud/model/Grid.d.ts +91 -91
  476. package/lib/esm/pointcloud/model/Grid.d.ts.map +1 -1
  477. package/lib/esm/pointcloud/model/Grid.js +125 -125
  478. package/lib/esm/pointcloud/model/Grid.js.map +1 -1
  479. package/lib/esm/pointcloud/model/GridIndex.d.ts +66 -66
  480. package/lib/esm/pointcloud/model/GridIndex.d.ts.map +1 -1
  481. package/lib/esm/pointcloud/model/GridIndex.js +89 -89
  482. package/lib/esm/pointcloud/model/GridIndex.js.map +1 -1
  483. package/lib/esm/pointcloud/model/PointAttribute.d.ts +208 -208
  484. package/lib/esm/pointcloud/model/PointAttribute.d.ts.map +1 -1
  485. package/lib/esm/pointcloud/model/PointAttribute.js +370 -370
  486. package/lib/esm/pointcloud/model/PointAttribute.js.map +1 -1
  487. package/lib/esm/pointcloud/model/PointCloudReader.d.ts +156 -156
  488. package/lib/esm/pointcloud/model/PointCloudReader.d.ts.map +1 -1
  489. package/lib/esm/pointcloud/model/PointCloudReader.js +185 -185
  490. package/lib/esm/pointcloud/model/PointCloudReader.js.map +1 -1
  491. package/lib/esm/pointcloud/model/PointData.d.ts +17 -17
  492. package/lib/esm/pointcloud/model/PointData.js +20 -20
  493. package/lib/esm/pointcloud/model/PointData.js.map +1 -1
  494. package/lib/esm/pointcloud/model/PointDataRaw.d.ts +34 -34
  495. package/lib/esm/pointcloud/model/PointDataRaw.d.ts.map +1 -1
  496. package/lib/esm/pointcloud/model/PointDataRaw.js +66 -65
  497. package/lib/esm/pointcloud/model/PointDataRaw.js.map +1 -1
  498. package/lib/esm/pointcloud/model/ReadRequest.d.ts +175 -175
  499. package/lib/esm/pointcloud/model/ReadRequest.d.ts.map +1 -1
  500. package/lib/esm/pointcloud/model/ReadRequest.js +236 -235
  501. package/lib/esm/pointcloud/model/ReadRequest.js.map +1 -1
  502. package/lib/esm/pointcloud/model/StandardAttributes.d.ts +40 -40
  503. package/lib/esm/pointcloud/model/StandardAttributes.d.ts.map +1 -1
  504. package/lib/esm/pointcloud/model/StandardAttributes.js +44 -43
  505. package/lib/esm/pointcloud/model/StandardAttributes.js.map +1 -1
  506. package/lib/esm/pointcloud/model/TileIndex.d.ts +47 -47
  507. package/lib/esm/pointcloud/model/TileIndex.d.ts.map +1 -1
  508. package/lib/esm/pointcloud/model/TileIndex.js +43 -43
  509. package/lib/esm/pointcloud/model/TileIndex.js.map +1 -1
  510. package/lib/esm/pointcloud/render/AViewRequest.d.ts +38 -38
  511. package/lib/esm/pointcloud/render/AViewRequest.d.ts.map +1 -1
  512. package/lib/esm/pointcloud/render/AViewRequest.js +20 -20
  513. package/lib/esm/pointcloud/render/AViewRequest.js.map +1 -1
  514. package/lib/esm/pointcloud/render/Block.d.ts +67 -67
  515. package/lib/esm/pointcloud/render/Block.js +115 -115
  516. package/lib/esm/pointcloud/render/Block.js.map +1 -1
  517. package/lib/esm/pointcloud/render/DataManager.d.ts +136 -136
  518. package/lib/esm/pointcloud/render/DataManager.d.ts.map +1 -1
  519. package/lib/esm/pointcloud/render/DataManager.js +339 -338
  520. package/lib/esm/pointcloud/render/DataManager.js.map +1 -1
  521. package/lib/esm/pointcloud/render/FrameData.d.ts +30 -30
  522. package/lib/esm/pointcloud/render/FrameData.js +35 -35
  523. package/lib/esm/pointcloud/render/FrameData.js.map +1 -1
  524. package/lib/esm/pointcloud/render/Level.d.ts +90 -90
  525. package/lib/esm/pointcloud/render/Level.d.ts.map +1 -1
  526. package/lib/esm/pointcloud/render/Level.js +115 -115
  527. package/lib/esm/pointcloud/render/Level.js.map +1 -1
  528. package/lib/esm/pointcloud/render/TileLoadSorter.d.ts +60 -60
  529. package/lib/esm/pointcloud/render/TileLoadSorter.d.ts.map +1 -1
  530. package/lib/esm/pointcloud/render/TileLoadSorter.js +96 -95
  531. package/lib/esm/pointcloud/render/TileLoadSorter.js.map +1 -1
  532. package/lib/esm/pointcloud/render/ViewTree.d.ts +113 -113
  533. package/lib/esm/pointcloud/render/ViewTree.d.ts.map +1 -1
  534. package/lib/esm/pointcloud/render/ViewTree.js +360 -359
  535. package/lib/esm/pointcloud/render/ViewTree.js.map +1 -1
  536. package/lib/esm/spatial/crs/CRSEngine.d.ts +55 -55
  537. package/lib/esm/spatial/crs/CRSEngine.js +89 -89
  538. package/lib/esm/spatial/crs/CRSEngine.js.map +1 -1
  539. package/lib/esm/spatial/crs/CRSManager.d.ts +49 -49
  540. package/lib/esm/spatial/crs/CRSManager.js +106 -105
  541. package/lib/esm/spatial/crs/CRSManager.js.map +1 -1
  542. package/lib/esm/spatial/ecrs/Axis.d.ts +77 -77
  543. package/lib/esm/spatial/ecrs/Axis.d.ts.map +1 -1
  544. package/lib/esm/spatial/ecrs/Axis.js +89 -89
  545. package/lib/esm/spatial/ecrs/Axis.js.map +1 -1
  546. package/lib/esm/spatial/ecrs/CRS.d.ts +447 -447
  547. package/lib/esm/spatial/ecrs/CRS.d.ts.map +1 -1
  548. package/lib/esm/spatial/ecrs/CRS.js +927 -926
  549. package/lib/esm/spatial/ecrs/CRS.js.map +1 -1
  550. package/lib/esm/spatial/ecrs/CoordinateSystem.d.ts +142 -142
  551. package/lib/esm/spatial/ecrs/CoordinateSystem.d.ts.map +1 -1
  552. package/lib/esm/spatial/ecrs/CoordinateSystem.js +323 -322
  553. package/lib/esm/spatial/ecrs/CoordinateSystem.js.map +1 -1
  554. package/lib/esm/spatial/ecrs/DataFileUnit.d.ts +10 -10
  555. package/lib/esm/spatial/ecrs/DataFileUnit.js +101 -100
  556. package/lib/esm/spatial/ecrs/DataFileUnit.js.map +1 -1
  557. package/lib/esm/spatial/ecrs/Datum.d.ts +111 -111
  558. package/lib/esm/spatial/ecrs/Datum.d.ts.map +1 -1
  559. package/lib/esm/spatial/ecrs/Datum.js +163 -162
  560. package/lib/esm/spatial/ecrs/Datum.js.map +1 -1
  561. package/lib/esm/spatial/ecrs/Ellipsoid.d.ts +188 -188
  562. package/lib/esm/spatial/ecrs/Ellipsoid.d.ts.map +1 -1
  563. package/lib/esm/spatial/ecrs/Ellipsoid.js +332 -332
  564. package/lib/esm/spatial/ecrs/Ellipsoid.js.map +1 -1
  565. package/lib/esm/spatial/ecrs/OnlineEngine.d.ts +48 -48
  566. package/lib/esm/spatial/ecrs/OnlineEngine.js +98 -98
  567. package/lib/esm/spatial/ecrs/OnlineEngine.js.map +1 -1
  568. package/lib/esm/spatial/ecrs/OnlineRegistry.d.ts +37 -37
  569. package/lib/esm/spatial/ecrs/OnlineRegistry.d.ts.map +1 -1
  570. package/lib/esm/spatial/ecrs/OnlineRegistry.js +73 -72
  571. package/lib/esm/spatial/ecrs/OnlineRegistry.js.map +1 -1
  572. package/lib/esm/spatial/ecrs/Operation.d.ts +191 -191
  573. package/lib/esm/spatial/ecrs/Operation.d.ts.map +1 -1
  574. package/lib/esm/spatial/ecrs/Operation.js +342 -341
  575. package/lib/esm/spatial/ecrs/Operation.js.map +1 -1
  576. package/lib/esm/spatial/ecrs/OperationMethod.d.ts +71 -71
  577. package/lib/esm/spatial/ecrs/OperationMethod.d.ts.map +1 -1
  578. package/lib/esm/spatial/ecrs/OperationMethod.js +71 -71
  579. package/lib/esm/spatial/ecrs/OperationMethod.js.map +1 -1
  580. package/lib/esm/spatial/ecrs/ParameterValue.d.ts +49 -49
  581. package/lib/esm/spatial/ecrs/ParameterValue.d.ts.map +1 -1
  582. package/lib/esm/spatial/ecrs/ParameterValue.js +61 -61
  583. package/lib/esm/spatial/ecrs/ParameterValue.js.map +1 -1
  584. package/lib/esm/spatial/ecrs/ParameterValueList.d.ts +72 -72
  585. package/lib/esm/spatial/ecrs/ParameterValueList.d.ts.map +1 -1
  586. package/lib/esm/spatial/ecrs/ParameterValueList.js +116 -116
  587. package/lib/esm/spatial/ecrs/ParameterValueList.js.map +1 -1
  588. package/lib/esm/spatial/ecrs/PrimeMeridian.d.ts +78 -78
  589. package/lib/esm/spatial/ecrs/PrimeMeridian.d.ts.map +1 -1
  590. package/lib/esm/spatial/ecrs/PrimeMeridian.js +104 -104
  591. package/lib/esm/spatial/ecrs/PrimeMeridian.js.map +1 -1
  592. package/lib/esm/spatial/ecrs/Registry.d.ts +109 -109
  593. package/lib/esm/spatial/ecrs/Registry.d.ts.map +1 -1
  594. package/lib/esm/spatial/ecrs/Registry.js +204 -203
  595. package/lib/esm/spatial/ecrs/Registry.js.map +1 -1
  596. package/lib/esm/spatial/ecrs/Transform.d.ts +77 -77
  597. package/lib/esm/spatial/ecrs/Transform.d.ts.map +1 -1
  598. package/lib/esm/spatial/ecrs/Transform.js +393 -392
  599. package/lib/esm/spatial/ecrs/Transform.js.map +1 -1
  600. package/lib/esm/spatial/ecrs/Unit.d.ts +170 -170
  601. package/lib/esm/spatial/ecrs/Unit.d.ts.map +1 -1
  602. package/lib/esm/spatial/ecrs/Unit.js +333 -332
  603. package/lib/esm/spatial/ecrs/Unit.js.map +1 -1
  604. package/lib/esm/spatial/ecrs/VerticalModel.d.ts +69 -69
  605. package/lib/esm/spatial/ecrs/VerticalModel.d.ts.map +1 -1
  606. package/lib/esm/spatial/ecrs/VerticalModel.js +84 -84
  607. package/lib/esm/spatial/ecrs/VerticalModel.js.map +1 -1
  608. package/lib/esm/spatial/ecrs/WellKnownText.d.ts +153 -153
  609. package/lib/esm/spatial/ecrs/WellKnownText.d.ts.map +1 -1
  610. package/lib/esm/spatial/ecrs/WellKnownText.js +491 -490
  611. package/lib/esm/spatial/ecrs/WellKnownText.js.map +1 -1
  612. package/lib/esm/spatial/ecrs/WellKnownTextNode.d.ts +69 -69
  613. package/lib/esm/spatial/ecrs/WellKnownTextNode.d.ts.map +1 -1
  614. package/lib/esm/spatial/ecrs/WellKnownTextNode.js +124 -124
  615. package/lib/esm/spatial/ecrs/WellKnownTextNode.js.map +1 -1
  616. package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.d.ts +101 -101
  617. package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.d.ts.map +1 -1
  618. package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.js +159 -158
  619. package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.js.map +1 -1
  620. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConic.d.ts +79 -79
  621. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConic.d.ts.map +1 -1
  622. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConic.js +122 -121
  623. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConic.js.map +1 -1
  624. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConicEN.d.ts +47 -47
  625. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConicEN.d.ts.map +1 -1
  626. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js +70 -69
  627. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js.map +1 -1
  628. package/lib/esm/spatial/ecrs/projection/LambertConical1SP.d.ts +72 -72
  629. package/lib/esm/spatial/ecrs/projection/LambertConical1SP.d.ts.map +1 -1
  630. package/lib/esm/spatial/ecrs/projection/LambertConical1SP.js +126 -125
  631. package/lib/esm/spatial/ecrs/projection/LambertConical1SP.js.map +1 -1
  632. package/lib/esm/spatial/ecrs/projection/LambertConical2SP.d.ts +120 -120
  633. package/lib/esm/spatial/ecrs/projection/LambertConical2SP.d.ts.map +1 -1
  634. package/lib/esm/spatial/ecrs/projection/LambertConical2SP.js +176 -175
  635. package/lib/esm/spatial/ecrs/projection/LambertConical2SP.js.map +1 -1
  636. package/lib/esm/spatial/ecrs/projection/Mercator1SP.d.ts +73 -73
  637. package/lib/esm/spatial/ecrs/projection/Mercator1SP.d.ts.map +1 -1
  638. package/lib/esm/spatial/ecrs/projection/Mercator1SP.js +109 -108
  639. package/lib/esm/spatial/ecrs/projection/Mercator1SP.js.map +1 -1
  640. package/lib/esm/spatial/ecrs/projection/ObliqueMercator.d.ts +96 -96
  641. package/lib/esm/spatial/ecrs/projection/ObliqueMercator.d.ts.map +1 -1
  642. package/lib/esm/spatial/ecrs/projection/ObliqueMercator.js +170 -169
  643. package/lib/esm/spatial/ecrs/projection/ObliqueMercator.js.map +1 -1
  644. package/lib/esm/spatial/ecrs/projection/ObliqueStereographic.d.ts +123 -123
  645. package/lib/esm/spatial/ecrs/projection/ObliqueStereographic.d.ts.map +1 -1
  646. package/lib/esm/spatial/ecrs/projection/ObliqueStereographic.js +205 -204
  647. package/lib/esm/spatial/ecrs/projection/ObliqueStereographic.js.map +1 -1
  648. package/lib/esm/spatial/ecrs/projection/TransverseMercator.d.ts +108 -108
  649. package/lib/esm/spatial/ecrs/projection/TransverseMercator.d.ts.map +1 -1
  650. package/lib/esm/spatial/ecrs/projection/TransverseMercator.js +180 -179
  651. package/lib/esm/spatial/ecrs/projection/TransverseMercator.js.map +1 -1
  652. package/lib/esm/spatial/ecrs/transformation/PositionVector.d.ts +90 -90
  653. package/lib/esm/spatial/ecrs/transformation/PositionVector.d.ts.map +1 -1
  654. package/lib/esm/spatial/ecrs/transformation/PositionVector.js +127 -126
  655. package/lib/esm/spatial/ecrs/transformation/PositionVector.js.map +1 -1
  656. package/lib/esm/spatial/geom/Bounds.d.ts +33 -33
  657. package/lib/esm/spatial/geom/Bounds.d.ts.map +1 -1
  658. package/lib/esm/spatial/geom/Bounds.js +152 -152
  659. package/lib/esm/spatial/geom/Bounds.js.map +1 -1
  660. package/lib/esm/spatial/geom/Coordinate.d.ts +61 -61
  661. package/lib/esm/spatial/geom/Coordinate.d.ts.map +1 -1
  662. package/lib/esm/spatial/geom/Coordinate.js +182 -182
  663. package/lib/esm/spatial/geom/Coordinate.js.map +1 -1
  664. package/lib/esm/spatial/geom/Line.d.ts +225 -225
  665. package/lib/esm/spatial/geom/Line.d.ts.map +1 -1
  666. package/lib/esm/spatial/geom/Line.js +428 -428
  667. package/lib/esm/spatial/geom/Line.js.map +1 -1
  668. package/lib/esm/spatial/geom/Transform.d.ts +340 -340
  669. package/lib/esm/spatial/geom/Transform.d.ts.map +1 -1
  670. package/lib/esm/spatial/geom/Transform.js +744 -744
  671. package/lib/esm/spatial/geom/Transform.js.map +1 -1
  672. package/lib/esm/system/buffer/ABuffer.d.ts +51 -51
  673. package/lib/esm/system/buffer/ABuffer.d.ts.map +1 -1
  674. package/lib/esm/system/buffer/ABuffer.js +86 -86
  675. package/lib/esm/system/buffer/ABuffer.js.map +1 -1
  676. package/lib/esm/system/buffer/Float32Buffer.d.ts +46 -46
  677. package/lib/esm/system/buffer/Float32Buffer.d.ts.map +1 -1
  678. package/lib/esm/system/buffer/Float32Buffer.js +57 -56
  679. package/lib/esm/system/buffer/Float32Buffer.js.map +1 -1
  680. package/lib/esm/system/buffer/LittleEndian.d.ts +149 -149
  681. package/lib/esm/system/buffer/LittleEndian.d.ts.map +1 -1
  682. package/lib/esm/system/buffer/LittleEndian.js +299 -299
  683. package/lib/esm/system/buffer/LittleEndian.js.map +1 -1
  684. package/lib/esm/system/buffer/Uint16Buffer.d.ts +49 -49
  685. package/lib/esm/system/buffer/Uint16Buffer.d.ts.map +1 -1
  686. package/lib/esm/system/buffer/Uint16Buffer.js +62 -61
  687. package/lib/esm/system/buffer/Uint16Buffer.js.map +1 -1
  688. package/lib/esm/system/buffer/Uint8Buffer.d.ts +49 -49
  689. package/lib/esm/system/buffer/Uint8Buffer.d.ts.map +1 -1
  690. package/lib/esm/system/buffer/Uint8Buffer.js +62 -61
  691. package/lib/esm/system/buffer/Uint8Buffer.js.map +1 -1
  692. package/lib/esm/system/collection/AList.d.ts +30 -30
  693. package/lib/esm/system/collection/AList.d.ts.map +1 -1
  694. package/lib/esm/system/collection/AList.js +66 -66
  695. package/lib/esm/system/collection/AList.js.map +1 -1
  696. package/lib/esm/system/collection/IntMap.d.ts +18 -18
  697. package/lib/esm/system/collection/IntMap.d.ts.map +1 -1
  698. package/lib/esm/system/collection/IntMap.js +31 -31
  699. package/lib/esm/system/collection/IntMap.js.map +1 -1
  700. package/lib/esm/system/collection/StringMap.d.ts +26 -26
  701. package/lib/esm/system/collection/StringMap.d.ts.map +1 -1
  702. package/lib/esm/system/collection/StringMap.js +59 -59
  703. package/lib/esm/system/collection/StringMap.js.map +1 -1
  704. package/lib/esm/system/io/ABufferInStream.d.ts +29 -29
  705. package/lib/esm/system/io/ABufferInStream.d.ts.map +1 -1
  706. package/lib/esm/system/io/ABufferInStream.js +42 -42
  707. package/lib/esm/system/io/ABufferInStream.js.map +1 -1
  708. package/lib/esm/system/io/InStream.d.ts +23 -23
  709. package/lib/esm/system/io/InStream.d.ts.map +1 -1
  710. package/lib/esm/system/io/InStream.js +30 -30
  711. package/lib/esm/system/io/InStream.js.map +1 -1
  712. package/lib/esm/system/io/OutStream.d.ts +23 -23
  713. package/lib/esm/system/io/OutStream.d.ts.map +1 -1
  714. package/lib/esm/system/io/OutStream.js +29 -29
  715. package/lib/esm/system/io/OutStream.js.map +1 -1
  716. package/lib/esm/system/runtime/ALong.d.ts +329 -329
  717. package/lib/esm/system/runtime/ALong.d.ts.map +1 -1
  718. package/lib/esm/system/runtime/ALong.js +684 -683
  719. package/lib/esm/system/runtime/ALong.js.map +1 -1
  720. package/lib/esm/system/runtime/ASystem.d.ts +14 -14
  721. package/lib/esm/system/runtime/ASystem.js +28 -27
  722. package/lib/esm/system/runtime/ASystem.js.map +1 -1
  723. package/lib/esm/system/runtime/Downloader.d.ts +17 -17
  724. package/lib/esm/system/runtime/Downloader.js +35 -34
  725. package/lib/esm/system/runtime/Downloader.js.map +1 -1
  726. package/lib/esm/system/runtime/DownloaderNode.d.ts +18 -18
  727. package/lib/esm/system/runtime/DownloaderNode.js +125 -125
  728. package/lib/esm/system/runtime/DownloaderNode.js.map +1 -1
  729. package/lib/esm/system/runtime/DownloaderXhr.d.ts +18 -18
  730. package/lib/esm/system/runtime/DownloaderXhr.js +127 -127
  731. package/lib/esm/system/runtime/DownloaderXhr.js.map +1 -1
  732. package/lib/esm/system/runtime/Message.d.ts +16 -16
  733. package/lib/esm/system/runtime/Message.js +36 -35
  734. package/lib/esm/system/runtime/Message.js.map +1 -1
  735. package/lib/esm/system/runtime/Numbers.d.ts +34 -34
  736. package/lib/esm/system/runtime/Numbers.d.ts.map +1 -1
  737. package/lib/esm/system/runtime/Numbers.js +84 -83
  738. package/lib/esm/system/runtime/Numbers.js.map +1 -1
  739. package/lib/esm/system/runtime/Strings.d.ts +49 -49
  740. package/lib/esm/system/runtime/Strings.d.ts.map +1 -1
  741. package/lib/esm/system/runtime/Strings.js +185 -184
  742. package/lib/esm/system/runtime/Strings.js.map +1 -1
  743. package/lib/esm/system/runtime/iComparator.d.ts +12 -12
  744. package/lib/esm/system/runtime/iComparator.d.ts.map +1 -1
  745. package/lib/esm/system/runtime/iComparator.js +8 -8
  746. package/lib/esm/system/runtime/iComparator.js.map +1 -1
  747. package/lib/esm/system/storage/CacheList.d.ts +39 -39
  748. package/lib/esm/system/storage/CacheList.d.ts.map +1 -1
  749. package/lib/esm/system/storage/CacheList.js +76 -76
  750. package/lib/esm/system/storage/CacheList.js.map +1 -1
  751. package/lib/esm/system/storage/CachedItem.d.ts +21 -21
  752. package/lib/esm/system/storage/CachedItem.d.ts.map +1 -1
  753. package/lib/esm/system/storage/CachedItem.js +21 -21
  754. package/lib/esm/system/storage/CachedItem.js.map +1 -1
  755. package/lib/esm/system/storage/ContentLoader.d.ts +64 -64
  756. package/lib/esm/system/storage/ContentLoader.d.ts.map +1 -1
  757. package/lib/esm/system/storage/ContentLoader.js +92 -91
  758. package/lib/esm/system/storage/ContentLoader.js.map +1 -1
  759. package/lib/esm/system/storage/FileContent.d.ts +19 -19
  760. package/lib/esm/system/storage/FileContent.js +20 -20
  761. package/lib/esm/system/storage/FileContent.js.map +1 -1
  762. package/lib/esm/system/storage/FileRange.d.ts +20 -20
  763. package/lib/esm/system/storage/FileRange.d.ts.map +1 -1
  764. package/lib/esm/system/storage/FileRange.js +20 -20
  765. package/lib/esm/system/storage/FileRange.js.map +1 -1
  766. package/lib/esm/system/storage/FileStorage.d.ts +44 -44
  767. package/lib/esm/system/storage/FileStorage.d.ts.map +1 -1
  768. package/lib/esm/system/storage/FileStorage.js +58 -58
  769. package/lib/esm/system/storage/FileStorage.js.map +1 -1
  770. package/lib/esm/system/storage/NodeFS.d.ts +41 -41
  771. package/lib/esm/system/storage/NodeFS.d.ts.map +1 -1
  772. package/lib/esm/system/storage/NodeFS.js +75 -75
  773. package/lib/esm/system/storage/NodeFS.js.map +1 -1
  774. package/lib/esm/system/storage/PageCachedFile.d.ts +54 -54
  775. package/lib/esm/system/storage/PageCachedFile.d.ts.map +1 -1
  776. package/lib/esm/system/storage/PageCachedFile.js +161 -161
  777. package/lib/esm/system/storage/PageCachedFile.js.map +1 -1
  778. package/lib/esm/system/storage/UrlFS.d.ts +53 -53
  779. package/lib/esm/system/storage/UrlFS.d.ts.map +1 -1
  780. package/lib/esm/system/storage/UrlFS.js +110 -110
  781. package/lib/esm/system/storage/UrlFS.js.map +1 -1
  782. package/package.json +6 -6
@@ -1,249 +1,249 @@
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.FileReader = void 0;
11
- const ALong_1 = require("../../../system/runtime/ALong");
12
- const Message_1 = require("../../../system/runtime/Message");
13
- const Strings_1 = require("../../../system/runtime/Strings");
14
- const ContentLoader_1 = require("../../../system/storage/ContentLoader");
15
- const ContainerFile_1 = require("./ContainerFile");
16
- const DirectoryReader_1 = require("./DirectoryReader");
17
- const EmbeddedAttributeReader_1 = require("./EmbeddedAttributeReader");
18
- const FileRecord_1 = require("./FileRecord");
19
- const GeometryReader_1 = require("./GeometryReader");
20
- /**
21
- * Class FileReader reads OPC files.
22
- *
23
- * @version 1.0 January 2014
24
- */
25
- /** @internal */
26
- class FileReader {
27
- /**
28
- * Create a new reader.
29
- * @param fileName the name of the file.
30
- * @param container the container file.
31
- * @param fileRecord the file record.
32
- */
33
- constructor(fileStorage, fileName, container, fileRecord) {
34
- /* Store the parameters */
35
- this._fileStorage = fileStorage;
36
- this._fileName = fileName;
37
- this._container = container;
38
- this._fileRecord = fileRecord;
39
- /* Clear */
40
- this._directoryReaders = null;
41
- this._geometryReaders = null;
42
- this._attributeReaders = null;
43
- }
44
- /**
45
- * Open a file.
46
- * @param fileName the name of the file.
47
- * @param lazyLoading avoid early loading to keep a low memory profile?
48
- * @return the reader.
49
- */
50
- static async openFile(fileStorage, fileName, lazyLoading) {
51
- /* Open the container file */
52
- let container = await ContainerFile_1.ContainerFile.read(fileStorage, fileName, "OPC3");
53
- /* Read the file record */
54
- let filePart = container.getPart("file");
55
- let fileRecord = await FileRecord_1.FileRecord.readNew(fileStorage, filePart.getFileAccess().getFileName(), filePart.getOffset(), filePart.getSize());
56
- /* Create a reader */
57
- let fileReader = new FileReader(fileStorage, fileName, container, fileRecord);
58
- /* Open the reader */
59
- fileReader = await fileReader.open(lazyLoading);
60
- /* Return the reader */
61
- return fileReader;
62
- }
63
- /**
64
- * Open the reader.
65
- * @param lazyLoading avoid early loading to keep a low memory profile?
66
- * @return the reader.
67
- */
68
- async open(lazyLoading) {
69
- /* Log */
70
- Message_1.Message.print(FileReader.MODULE, "Opening OPC with " + this._fileRecord.getLevelCount() + " levels (crs " + this._fileRecord.getCRS() + ", lazy? " + lazyLoading + ")");
71
- Message_1.Message.print(FileReader.MODULE, "Container has " + this._container.getPartCount() + " parts");
72
- // for(ContainerFilePart part: this._container.getParts()) Message.print(MODULE,"Part '"+part.getName()+"'");
73
- /* Define the content we are going to need (dozens of parts) */
74
- Message_1.Message.print(FileReader.MODULE, "Loading " + this._fileRecord.getLevelCount() + " levels and " + this._fileRecord.getAttributeCount() + " attributes");
75
- let fileContents = new ContentLoader_1.ContentLoader(this._fileStorage, this._fileName);
76
- /* Only read the block list for the top levels? (to save memory) */
77
- let prefetchLevelIndex = (this._fileRecord.getLevelCount() - 6);
78
- if (prefetchLevelIndex < 0)
79
- prefetchLevelIndex = 0;
80
- if (lazyLoading == false)
81
- prefetchLevelIndex = 0;
82
- Message_1.Message.print(FileReader.MODULE, "Prefetching from level " + prefetchLevelIndex);
83
- /* Read the directory */
84
- this._directoryReaders = new Array(this._fileRecord.getLevelCount());
85
- for (let i = 0; i < this._directoryReaders.length; i++) {
86
- let directoryReader = new DirectoryReader_1.DirectoryReader(this, i);
87
- let readBlockList = (i >= prefetchLevelIndex);
88
- directoryReader.loadData(readBlockList, fileContents);
89
- this._directoryReaders[i] = directoryReader;
90
- }
91
- /* Read the geometry */
92
- this._geometryReaders = new Array(this._fileRecord.getLevelCount());
93
- for (let i = 0; i < this._geometryReaders.length; i++) {
94
- let geometryReader = new GeometryReader_1.GeometryReader(this, i);
95
- geometryReader.loadData(fileContents);
96
- this._geometryReaders[i] = geometryReader;
97
- }
98
- /* Read the attributes */
99
- this._attributeReaders = new Array(this._fileRecord.getAttributeCount());
100
- for (let i = 0; i < this._fileRecord.getAttributeCount(); i++) {
101
- let attributeReader = new EmbeddedAttributeReader_1.EmbeddedAttributeReader(this._container, i, this._fileRecord.getLevelCount());
102
- attributeReader.loadData(fileContents);
103
- this._attributeReaders[i] = attributeReader;
104
- }
105
- /* Load all data needed for the structures */
106
- fileContents = await fileContents.load();
107
- /* Read the directory */
108
- for (let i = 0; i < this._directoryReaders.length; i++) {
109
- let readBlockList = (i >= prefetchLevelIndex);
110
- this._directoryReaders[i].loadData(readBlockList, fileContents);
111
- }
112
- /* Read the geometry */
113
- for (let i = 0; i < this._geometryReaders.length; i++) {
114
- this._geometryReaders[i].loadData(fileContents);
115
- }
116
- /* Read the attributes */
117
- for (let i = 0; i < this._fileRecord.getAttributeCount(); i++) {
118
- let attributeReader = (this._attributeReaders[i]);
119
- attributeReader.loadData(fileContents);
120
- }
121
- /* Log file info */
122
- Message_1.Message.print(FileReader.MODULE, "OPC bounds are " + this._geometryReaders[0].getGeometryRecord().getBounds());
123
- let tileGridSize0 = this._geometryReaders[0].getGeometryRecord().getTileGrid().size;
124
- Message_1.Message.print(FileReader.MODULE, "OPC level0 tile size is (" + tileGridSize0.x + "," + tileGridSize0.y + "," + tileGridSize0.z + ")");
125
- let totalPointCount = ALong_1.ALong.ZERO;
126
- let totalTileCount = 0;
127
- let totalBlockCount = 0;
128
- for (let i = 0; i < this._fileRecord.getLevelCount(); i++) {
129
- let directoryRecord = this._directoryReaders[i].getDirectoryRecord();
130
- Message_1.Message.print(FileReader.MODULE, "Level " + i + " has " + directoryRecord.getPointCount() + " points, " + directoryRecord.getTileCount() + " tiles, " + directoryRecord.getBlockCount() + " blocks");
131
- totalPointCount = totalPointCount.add(directoryRecord.getPointCount());
132
- totalTileCount += directoryRecord.getTileCount();
133
- totalBlockCount += directoryRecord.getBlockCount();
134
- }
135
- Message_1.Message.print(FileReader.MODULE, "Pointcloud has " + totalPointCount + " points, " + totalTileCount + " tiles, " + totalBlockCount + " blocks");
136
- /* Get the attributes */
137
- Message_1.Message.print(FileReader.MODULE, "Pointcloud has " + this._attributeReaders.length + " static attributes:");
138
- for (let i = 0; i < this._attributeReaders.length; i++) {
139
- Message_1.Message.print(FileReader.MODULE, "Attribute " + i + ": " + this._attributeReaders[i].getAttribute());
140
- Message_1.Message.print(FileReader.MODULE, " min: " + this._attributeReaders[i].getMinimumValue());
141
- Message_1.Message.print(FileReader.MODULE, " max: " + this._attributeReaders[i].getMaximumValue());
142
- }
143
- /* Return the reader */
144
- return this;
145
- }
146
- /**
147
- * Close the file.
148
- */
149
- close() {
150
- for (let attributeReader of this._attributeReaders)
151
- attributeReader.close();
152
- if (this._container != null)
153
- this._container.close(true);
154
- this._container = null;
155
- }
156
- /**
157
- * Get the storage of the file.
158
- * @return the storage of the file.
159
- */
160
- getFileStorage() {
161
- return this._fileStorage;
162
- }
163
- /**
164
- * Get the name of the file.
165
- * @return the name of the file.
166
- */
167
- getFileName() {
168
- return this._fileName;
169
- }
170
- /**
171
- * Get the container file.
172
- * @return the container file.
173
- */
174
- getContainer() {
175
- return this._container;
176
- }
177
- /**
178
- * Get the file record.
179
- * @return the file record.
180
- */
181
- getFileRecord() {
182
- return this._fileRecord;
183
- }
184
- /**
185
- * Get the number of resolution levels.
186
- * @return the number of resolution levels.
187
- */
188
- getLevelCount() {
189
- return this._fileRecord.getLevelCount();
190
- }
191
- /**
192
- * Get a directory reader.
193
- * @param level the index of the level.
194
- * @return the directory reader.
195
- */
196
- getDirectoryReader(level) {
197
- return this._directoryReaders[level];
198
- }
199
- /**
200
- * Get a geometry reader.
201
- * @param level the index of the level.
202
- * @return the geometry reader.
203
- */
204
- getGeometryReader(level) {
205
- return this._geometryReaders[level];
206
- }
207
- /**
208
- * Get the static attribute readers.
209
- * @return the static attribute readers.
210
- */
211
- getStaticAttributeReaders() {
212
- return this._attributeReaders;
213
- }
214
- /**
215
- * Get the attribute readers.
216
- * @return the attribute readers.
217
- */
218
- getAttributeReaders() {
219
- return this._attributeReaders;
220
- }
221
- /**
222
- * Get the attributes.
223
- * @return the attributes.
224
- */
225
- getAttributes() {
226
- let list = new Array(this._attributeReaders.length);
227
- for (let i = 0; i < this._attributeReaders.length; i++)
228
- list[i] = this._attributeReaders[i].getAttribute();
229
- return list;
230
- }
231
- /**
232
- * Find an attribute reader.
233
- * @param attributeName the name of the attribute.
234
- * @return the attribute reader (null if not found).
235
- */
236
- findAttributeReader(attributeName) {
237
- /* Check the static attributes */
238
- for (let attributeReader of this._attributeReaders) {
239
- if (Strings_1.Strings.equalsIgnoreCase(attributeReader.getAttribute().getName(), attributeName))
240
- return attributeReader;
241
- }
242
- /* Not found */
243
- return null;
244
- }
245
- }
246
- exports.FileReader = FileReader;
247
- /** The name of this module */
248
- FileReader.MODULE = "FileReader";
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.FileReader = void 0;
11
+ const ALong_1 = require("../../../system/runtime/ALong");
12
+ const Message_1 = require("../../../system/runtime/Message");
13
+ const Strings_1 = require("../../../system/runtime/Strings");
14
+ const ContentLoader_1 = require("../../../system/storage/ContentLoader");
15
+ const ContainerFile_1 = require("./ContainerFile");
16
+ const DirectoryReader_1 = require("./DirectoryReader");
17
+ const EmbeddedAttributeReader_1 = require("./EmbeddedAttributeReader");
18
+ const FileRecord_1 = require("./FileRecord");
19
+ const GeometryReader_1 = require("./GeometryReader");
20
+ /**
21
+ * Class FileReader reads OPC files.
22
+ *
23
+ * @version 1.0 January 2014
24
+ */
25
+ /** @internal */
26
+ class FileReader {
27
+ /**
28
+ * Create a new reader.
29
+ * @param fileName the name of the file.
30
+ * @param container the container file.
31
+ * @param fileRecord the file record.
32
+ */
33
+ constructor(fileStorage, fileName, container, fileRecord) {
34
+ /* Store the parameters */
35
+ this._fileStorage = fileStorage;
36
+ this._fileName = fileName;
37
+ this._container = container;
38
+ this._fileRecord = fileRecord;
39
+ /* Clear */
40
+ this._directoryReaders = null;
41
+ this._geometryReaders = null;
42
+ this._attributeReaders = null;
43
+ }
44
+ /**
45
+ * Open a file.
46
+ * @param fileName the name of the file.
47
+ * @param lazyLoading avoid early loading to keep a low memory profile?
48
+ * @return the reader.
49
+ */
50
+ static async openFile(fileStorage, fileName, lazyLoading) {
51
+ /* Open the container file */
52
+ let container = await ContainerFile_1.ContainerFile.read(fileStorage, fileName, "OPC3");
53
+ /* Read the file record */
54
+ let filePart = container.getPart("file");
55
+ let fileRecord = await FileRecord_1.FileRecord.readNew(fileStorage, filePart.getFileAccess().getFileName(), filePart.getOffset(), filePart.getSize());
56
+ /* Create a reader */
57
+ let fileReader = new FileReader(fileStorage, fileName, container, fileRecord);
58
+ /* Open the reader */
59
+ fileReader = await fileReader.open(lazyLoading);
60
+ /* Return the reader */
61
+ return fileReader;
62
+ }
63
+ /**
64
+ * Open the reader.
65
+ * @param lazyLoading avoid early loading to keep a low memory profile?
66
+ * @return the reader.
67
+ */
68
+ async open(lazyLoading) {
69
+ /* Log */
70
+ Message_1.Message.print(FileReader.MODULE, "Opening OPC with " + this._fileRecord.getLevelCount() + " levels (crs " + this._fileRecord.getCRS() + ", lazy? " + lazyLoading + ")");
71
+ Message_1.Message.print(FileReader.MODULE, "Container has " + this._container.getPartCount() + " parts");
72
+ // for(ContainerFilePart part: this._container.getParts()) Message.print(MODULE,"Part '"+part.getName()+"'");
73
+ /* Define the content we are going to need (dozens of parts) */
74
+ Message_1.Message.print(FileReader.MODULE, "Loading " + this._fileRecord.getLevelCount() + " levels and " + this._fileRecord.getAttributeCount() + " attributes");
75
+ let fileContents = new ContentLoader_1.ContentLoader(this._fileStorage, this._fileName);
76
+ /* Only read the block list for the top levels? (to save memory) */
77
+ let prefetchLevelIndex = (this._fileRecord.getLevelCount() - 6);
78
+ if (prefetchLevelIndex < 0)
79
+ prefetchLevelIndex = 0;
80
+ if (lazyLoading == false)
81
+ prefetchLevelIndex = 0;
82
+ Message_1.Message.print(FileReader.MODULE, "Prefetching from level " + prefetchLevelIndex);
83
+ /* Read the directory */
84
+ this._directoryReaders = new Array(this._fileRecord.getLevelCount());
85
+ for (let i = 0; i < this._directoryReaders.length; i++) {
86
+ let directoryReader = new DirectoryReader_1.DirectoryReader(this, i);
87
+ let readBlockList = (i >= prefetchLevelIndex);
88
+ directoryReader.loadData(readBlockList, fileContents);
89
+ this._directoryReaders[i] = directoryReader;
90
+ }
91
+ /* Read the geometry */
92
+ this._geometryReaders = new Array(this._fileRecord.getLevelCount());
93
+ for (let i = 0; i < this._geometryReaders.length; i++) {
94
+ let geometryReader = new GeometryReader_1.GeometryReader(this, i);
95
+ geometryReader.loadData(fileContents);
96
+ this._geometryReaders[i] = geometryReader;
97
+ }
98
+ /* Read the attributes */
99
+ this._attributeReaders = new Array(this._fileRecord.getAttributeCount());
100
+ for (let i = 0; i < this._fileRecord.getAttributeCount(); i++) {
101
+ let attributeReader = new EmbeddedAttributeReader_1.EmbeddedAttributeReader(this._container, i, this._fileRecord.getLevelCount());
102
+ attributeReader.loadData(fileContents);
103
+ this._attributeReaders[i] = attributeReader;
104
+ }
105
+ /* Load all data needed for the structures */
106
+ fileContents = await fileContents.load();
107
+ /* Read the directory */
108
+ for (let i = 0; i < this._directoryReaders.length; i++) {
109
+ let readBlockList = (i >= prefetchLevelIndex);
110
+ this._directoryReaders[i].loadData(readBlockList, fileContents);
111
+ }
112
+ /* Read the geometry */
113
+ for (let i = 0; i < this._geometryReaders.length; i++) {
114
+ this._geometryReaders[i].loadData(fileContents);
115
+ }
116
+ /* Read the attributes */
117
+ for (let i = 0; i < this._fileRecord.getAttributeCount(); i++) {
118
+ let attributeReader = (this._attributeReaders[i]);
119
+ attributeReader.loadData(fileContents);
120
+ }
121
+ /* Log file info */
122
+ Message_1.Message.print(FileReader.MODULE, "OPC bounds are " + this._geometryReaders[0].getGeometryRecord().getBounds());
123
+ let tileGridSize0 = this._geometryReaders[0].getGeometryRecord().getTileGrid().size;
124
+ Message_1.Message.print(FileReader.MODULE, "OPC level0 tile size is (" + tileGridSize0.x + "," + tileGridSize0.y + "," + tileGridSize0.z + ")");
125
+ let totalPointCount = ALong_1.ALong.ZERO;
126
+ let totalTileCount = 0;
127
+ let totalBlockCount = 0;
128
+ for (let i = 0; i < this._fileRecord.getLevelCount(); i++) {
129
+ let directoryRecord = this._directoryReaders[i].getDirectoryRecord();
130
+ Message_1.Message.print(FileReader.MODULE, "Level " + i + " has " + directoryRecord.getPointCount() + " points, " + directoryRecord.getTileCount() + " tiles, " + directoryRecord.getBlockCount() + " blocks");
131
+ totalPointCount = totalPointCount.add(directoryRecord.getPointCount());
132
+ totalTileCount += directoryRecord.getTileCount();
133
+ totalBlockCount += directoryRecord.getBlockCount();
134
+ }
135
+ Message_1.Message.print(FileReader.MODULE, "Pointcloud has " + totalPointCount + " points, " + totalTileCount + " tiles, " + totalBlockCount + " blocks");
136
+ /* Get the attributes */
137
+ Message_1.Message.print(FileReader.MODULE, "Pointcloud has " + this._attributeReaders.length + " static attributes:");
138
+ for (let i = 0; i < this._attributeReaders.length; i++) {
139
+ Message_1.Message.print(FileReader.MODULE, "Attribute " + i + ": " + this._attributeReaders[i].getAttribute());
140
+ Message_1.Message.print(FileReader.MODULE, " min: " + this._attributeReaders[i].getMinimumValue());
141
+ Message_1.Message.print(FileReader.MODULE, " max: " + this._attributeReaders[i].getMaximumValue());
142
+ }
143
+ /* Return the reader */
144
+ return this;
145
+ }
146
+ /**
147
+ * Close the file.
148
+ */
149
+ close() {
150
+ for (let attributeReader of this._attributeReaders)
151
+ attributeReader.close();
152
+ if (this._container != null)
153
+ this._container.close(true);
154
+ this._container = null;
155
+ }
156
+ /**
157
+ * Get the storage of the file.
158
+ * @return the storage of the file.
159
+ */
160
+ getFileStorage() {
161
+ return this._fileStorage;
162
+ }
163
+ /**
164
+ * Get the name of the file.
165
+ * @return the name of the file.
166
+ */
167
+ getFileName() {
168
+ return this._fileName;
169
+ }
170
+ /**
171
+ * Get the container file.
172
+ * @return the container file.
173
+ */
174
+ getContainer() {
175
+ return this._container;
176
+ }
177
+ /**
178
+ * Get the file record.
179
+ * @return the file record.
180
+ */
181
+ getFileRecord() {
182
+ return this._fileRecord;
183
+ }
184
+ /**
185
+ * Get the number of resolution levels.
186
+ * @return the number of resolution levels.
187
+ */
188
+ getLevelCount() {
189
+ return this._fileRecord.getLevelCount();
190
+ }
191
+ /**
192
+ * Get a directory reader.
193
+ * @param level the index of the level.
194
+ * @return the directory reader.
195
+ */
196
+ getDirectoryReader(level) {
197
+ return this._directoryReaders[level];
198
+ }
199
+ /**
200
+ * Get a geometry reader.
201
+ * @param level the index of the level.
202
+ * @return the geometry reader.
203
+ */
204
+ getGeometryReader(level) {
205
+ return this._geometryReaders[level];
206
+ }
207
+ /**
208
+ * Get the static attribute readers.
209
+ * @return the static attribute readers.
210
+ */
211
+ getStaticAttributeReaders() {
212
+ return this._attributeReaders;
213
+ }
214
+ /**
215
+ * Get the attribute readers.
216
+ * @return the attribute readers.
217
+ */
218
+ getAttributeReaders() {
219
+ return this._attributeReaders;
220
+ }
221
+ /**
222
+ * Get the attributes.
223
+ * @return the attributes.
224
+ */
225
+ getAttributes() {
226
+ let list = new Array(this._attributeReaders.length);
227
+ for (let i = 0; i < this._attributeReaders.length; i++)
228
+ list[i] = this._attributeReaders[i].getAttribute();
229
+ return list;
230
+ }
231
+ /**
232
+ * Find an attribute reader.
233
+ * @param attributeName the name of the attribute.
234
+ * @return the attribute reader (null if not found).
235
+ */
236
+ findAttributeReader(attributeName) {
237
+ /* Check the static attributes */
238
+ for (let attributeReader of this._attributeReaders) {
239
+ if (Strings_1.Strings.equalsIgnoreCase(attributeReader.getAttribute().getName(), attributeName))
240
+ return attributeReader;
241
+ }
242
+ /* Not found */
243
+ return null;
244
+ }
245
+ }
246
+ /** The name of this module */
247
+ FileReader.MODULE = "FileReader";
248
+ exports.FileReader = FileReader;
249
249
  //# sourceMappingURL=FileReader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileReader.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/FileReader.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module OrbitGT\r\n */\r\n\r\n//package orbitgt.pointcloud.format.opc;\r\n\r\ntype int8 = number;\r\ntype int16 = number;\r\ntype int32 = number;\r\ntype float32 = number;\r\ntype float64 = number;\r\n\r\nimport { Coordinate } from \"../../../spatial/geom/Coordinate\";\r\nimport { AList } from \"../../../system/collection/AList\";\r\nimport { ALong } from \"../../../system/runtime/ALong\";\r\nimport { Message } from \"../../../system/runtime/Message\";\r\nimport { Strings } from \"../../../system/runtime/Strings\";\r\nimport { ContentLoader } from \"../../../system/storage/ContentLoader\";\r\nimport { FileStorage } from \"../../../system/storage/FileStorage\";\r\nimport { PointAttribute } from \"../../model/PointAttribute\";\r\nimport { AttributeReader } from \"./AttributeReader\";\r\nimport { ContainerFile } from \"./ContainerFile\";\r\nimport { ContainerFilePart } from \"./ContainerFilePart\";\r\nimport { DirectoryReader } from \"./DirectoryReader\";\r\nimport { DirectoryRecord } from \"./DirectoryRecord\";\r\nimport { EmbeddedAttributeReader } from \"./EmbeddedAttributeReader\";\r\nimport { FileRecord } from \"./FileRecord\";\r\nimport { GeometryReader } from \"./GeometryReader\";\r\n\r\n/**\r\n * Class FileReader reads OPC files.\r\n *\r\n * @version 1.0 January 2014\r\n */\r\n/** @internal */\r\nexport class FileReader {\r\n /** The name of this module */\r\n private static readonly MODULE: string = \"FileReader\";\r\n\r\n /** The file storage */\r\n private _fileStorage: FileStorage;\r\n /** The name of the file */\r\n private _fileName: string;\r\n /** The container */\r\n private _container: ContainerFile;\r\n\r\n /** The file record */\r\n private _fileRecord: FileRecord;\r\n /** The directory readers (1 per level) */\r\n private _directoryReaders: Array<DirectoryReader>;\r\n /** The geometry readers (1 per level) */\r\n private _geometryReaders: Array<GeometryReader>;\r\n /** The attribute readers */\r\n private _attributeReaders: Array<AttributeReader>;\r\n\r\n /**\r\n * Create a new reader.\r\n * @param fileName the name of the file.\r\n * @param container the container file.\r\n * @param fileRecord the file record.\r\n */\r\n private constructor(fileStorage: FileStorage, fileName: string, container: ContainerFile, fileRecord: FileRecord) {\r\n /* Store the parameters */\r\n this._fileStorage = fileStorage;\r\n this._fileName = fileName;\r\n this._container = container;\r\n this._fileRecord = fileRecord;\r\n /* Clear */\r\n this._directoryReaders = null;\r\n this._geometryReaders = null;\r\n this._attributeReaders = null;\r\n }\r\n\r\n /**\r\n * Open a file.\r\n * @param fileName the name of the file.\r\n * @param lazyLoading avoid early loading to keep a low memory profile?\r\n * @return the reader.\r\n */\r\n public static async openFile(fileStorage: FileStorage, fileName: string, lazyLoading: boolean): Promise<FileReader> {\r\n /* Open the container file */\r\n let container: ContainerFile = await ContainerFile.read(fileStorage, fileName, \"OPC3\");\r\n /* Read the file record */\r\n let filePart: ContainerFilePart = container.getPart(\"file\");\r\n let fileRecord: FileRecord = await FileRecord.readNew(fileStorage, filePart.getFileAccess().getFileName(), filePart.getOffset(), filePart.getSize());\r\n /* Create a reader */\r\n let fileReader: FileReader = new FileReader(fileStorage, fileName, container, fileRecord);\r\n /* Open the reader */\r\n fileReader = await fileReader.open(lazyLoading);\r\n /* Return the reader */\r\n return fileReader;\r\n }\r\n\r\n /**\r\n * Open the reader.\r\n * @param lazyLoading avoid early loading to keep a low memory profile?\r\n * @return the reader.\r\n */\r\n private async open(lazyLoading: boolean): Promise<FileReader> {\r\n /* Log */\r\n Message.print(FileReader.MODULE, \"Opening OPC with \" + this._fileRecord.getLevelCount() + \" levels (crs \" + this._fileRecord.getCRS() + \", lazy? \" + lazyLoading + \")\");\r\n Message.print(FileReader.MODULE, \"Container has \" + this._container.getPartCount() + \" parts\");\r\n // for(ContainerFilePart part: this._container.getParts()) Message.print(MODULE,\"Part '\"+part.getName()+\"'\");\r\n /* Define the content we are going to need (dozens of parts) */\r\n Message.print(FileReader.MODULE, \"Loading \" + this._fileRecord.getLevelCount() + \" levels and \" + this._fileRecord.getAttributeCount() + \" attributes\");\r\n let fileContents: ContentLoader = new ContentLoader(this._fileStorage, this._fileName);\r\n /* Only read the block list for the top levels? (to save memory) */\r\n let prefetchLevelIndex: int32 = (this._fileRecord.getLevelCount() - 6);\r\n if (prefetchLevelIndex < 0) prefetchLevelIndex = 0;\r\n if (lazyLoading == false) prefetchLevelIndex = 0;\r\n Message.print(FileReader.MODULE, \"Prefetching from level \" + prefetchLevelIndex);\r\n /* Read the directory */\r\n this._directoryReaders = new Array<DirectoryReader>(this._fileRecord.getLevelCount());\r\n for (let i: number = 0; i < this._directoryReaders.length; i++) {\r\n let directoryReader: DirectoryReader = new DirectoryReader(this, i);\r\n let readBlockList: boolean = (i >= prefetchLevelIndex);\r\n directoryReader.loadData(readBlockList, fileContents);\r\n this._directoryReaders[i] = directoryReader;\r\n }\r\n /* Read the geometry */\r\n this._geometryReaders = new Array<GeometryReader>(this._fileRecord.getLevelCount());\r\n for (let i: number = 0; i < this._geometryReaders.length; i++) {\r\n let geometryReader: GeometryReader = new GeometryReader(this, i);\r\n geometryReader.loadData(fileContents);\r\n this._geometryReaders[i] = geometryReader;\r\n }\r\n /* Read the attributes */\r\n this._attributeReaders = new Array<AttributeReader>(this._fileRecord.getAttributeCount());\r\n for (let i: number = 0; i < this._fileRecord.getAttributeCount(); i++) {\r\n let attributeReader: EmbeddedAttributeReader = new EmbeddedAttributeReader(this._container, i, this._fileRecord.getLevelCount());\r\n attributeReader.loadData(fileContents);\r\n this._attributeReaders[i] = attributeReader;\r\n }\r\n /* Load all data needed for the structures */\r\n fileContents = await fileContents.load();\r\n /* Read the directory */\r\n for (let i: number = 0; i < this._directoryReaders.length; i++) {\r\n let readBlockList: boolean = (i >= prefetchLevelIndex);\r\n this._directoryReaders[i].loadData(readBlockList, fileContents);\r\n }\r\n /* Read the geometry */\r\n for (let i: number = 0; i < this._geometryReaders.length; i++) {\r\n this._geometryReaders[i].loadData(fileContents);\r\n }\r\n /* Read the attributes */\r\n for (let i: number = 0; i < this._fileRecord.getAttributeCount(); i++) {\r\n let attributeReader: EmbeddedAttributeReader = <EmbeddedAttributeReader><unknown>(this._attributeReaders[i]);\r\n attributeReader.loadData(fileContents);\r\n }\r\n /* Log file info */\r\n Message.print(FileReader.MODULE, \"OPC bounds are \" + this._geometryReaders[0].getGeometryRecord().getBounds());\r\n let tileGridSize0: Coordinate = this._geometryReaders[0].getGeometryRecord().getTileGrid().size;\r\n Message.print(FileReader.MODULE, \"OPC level0 tile size is (\" + tileGridSize0.x + \",\" + tileGridSize0.y + \",\" + tileGridSize0.z + \")\");\r\n let totalPointCount: ALong = ALong.ZERO;\r\n let totalTileCount: int32 = 0;\r\n let totalBlockCount: int32 = 0;\r\n for (let i: number = 0; i < this._fileRecord.getLevelCount(); i++) {\r\n let directoryRecord: DirectoryRecord = this._directoryReaders[i].getDirectoryRecord();\r\n Message.print(FileReader.MODULE, \"Level \" + i + \" has \" + directoryRecord.getPointCount() + \" points, \" + directoryRecord.getTileCount() + \" tiles, \" + directoryRecord.getBlockCount() + \" blocks\");\r\n totalPointCount = totalPointCount.add(directoryRecord.getPointCount());\r\n totalTileCount += directoryRecord.getTileCount();\r\n totalBlockCount += directoryRecord.getBlockCount();\r\n }\r\n Message.print(FileReader.MODULE, \"Pointcloud has \" + totalPointCount + \" points, \" + totalTileCount + \" tiles, \" + totalBlockCount + \" blocks\");\r\n /* Get the attributes */\r\n Message.print(FileReader.MODULE, \"Pointcloud has \" + this._attributeReaders.length + \" static attributes:\");\r\n for (let i: number = 0; i < this._attributeReaders.length; i++) {\r\n Message.print(FileReader.MODULE, \"Attribute \" + i + \": \" + this._attributeReaders[i].getAttribute());\r\n Message.print(FileReader.MODULE, \" min: \" + this._attributeReaders[i].getMinimumValue());\r\n Message.print(FileReader.MODULE, \" max: \" + this._attributeReaders[i].getMaximumValue());\r\n }\r\n /* Return the reader */\r\n return this;\r\n }\r\n\r\n /**\r\n * Close the file.\r\n */\r\n public close(): void {\r\n for (let attributeReader of this._attributeReaders) attributeReader.close();\r\n if (this._container != null) this._container.close(true);\r\n this._container = null;\r\n }\r\n\r\n /**\r\n * Get the storage of the file.\r\n * @return the storage of the file.\r\n */\r\n public getFileStorage(): FileStorage {\r\n return this._fileStorage;\r\n }\r\n\r\n /**\r\n * Get the name of the file.\r\n * @return the name of the file.\r\n */\r\n public getFileName(): string {\r\n return this._fileName;\r\n }\r\n\r\n /**\r\n * Get the container file.\r\n * @return the container file.\r\n */\r\n public getContainer(): ContainerFile {\r\n return this._container;\r\n }\r\n\r\n /**\r\n * Get the file record.\r\n * @return the file record.\r\n */\r\n public getFileRecord(): FileRecord {\r\n return this._fileRecord;\r\n }\r\n\r\n /**\r\n * Get the number of resolution levels.\r\n * @return the number of resolution levels.\r\n */\r\n public getLevelCount(): int32 {\r\n return this._fileRecord.getLevelCount();\r\n }\r\n\r\n /**\r\n * Get a directory reader.\r\n * @param level the index of the level.\r\n * @return the directory reader.\r\n */\r\n public getDirectoryReader(level: int32): DirectoryReader {\r\n return this._directoryReaders[level];\r\n }\r\n\r\n /**\r\n * Get a geometry reader.\r\n * @param level the index of the level.\r\n * @return the geometry reader.\r\n */\r\n public getGeometryReader(level: int32): GeometryReader {\r\n return this._geometryReaders[level];\r\n }\r\n\r\n /**\r\n * Get the static attribute readers.\r\n * @return the static attribute readers.\r\n */\r\n public getStaticAttributeReaders(): Array<AttributeReader> {\r\n return this._attributeReaders;\r\n }\r\n\r\n /**\r\n * Get the attribute readers.\r\n * @return the attribute readers.\r\n */\r\n public getAttributeReaders(): Array<AttributeReader> {\r\n return this._attributeReaders;\r\n }\r\n\r\n /**\r\n * Get the attributes.\r\n * @return the attributes.\r\n */\r\n public getAttributes(): Array<PointAttribute> {\r\n let list: Array<PointAttribute> = new Array<PointAttribute>(this._attributeReaders.length);\r\n for (let i: number = 0; i < this._attributeReaders.length; i++) list[i] = this._attributeReaders[i].getAttribute();\r\n return list;\r\n }\r\n\r\n /**\r\n * Find an attribute reader.\r\n * @param attributeName the name of the attribute.\r\n * @return the attribute reader (null if not found).\r\n */\r\n public findAttributeReader(attributeName: string): AttributeReader {\r\n /* Check the static attributes */\r\n for (let attributeReader of this._attributeReaders) {\r\n if (Strings.equalsIgnoreCase(attributeReader.getAttribute().getName(), attributeName)) return attributeReader;\r\n }\r\n /* Not found */\r\n return null;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"FileReader.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/FileReader.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\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 { Coordinate } from \"../../../spatial/geom/Coordinate\";\nimport { AList } from \"../../../system/collection/AList\";\nimport { ALong } from \"../../../system/runtime/ALong\";\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 { PointAttribute } from \"../../model/PointAttribute\";\nimport { AttributeReader } from \"./AttributeReader\";\nimport { ContainerFile } from \"./ContainerFile\";\nimport { ContainerFilePart } from \"./ContainerFilePart\";\nimport { DirectoryReader } from \"./DirectoryReader\";\nimport { DirectoryRecord } from \"./DirectoryRecord\";\nimport { EmbeddedAttributeReader } from \"./EmbeddedAttributeReader\";\nimport { FileRecord } from \"./FileRecord\";\nimport { GeometryReader } from \"./GeometryReader\";\n\n/**\n * Class FileReader reads OPC files.\n *\n * @version 1.0 January 2014\n */\n/** @internal */\nexport class FileReader {\n /** The name of this module */\n private static readonly MODULE: string = \"FileReader\";\n\n /** The file storage */\n private _fileStorage: FileStorage;\n /** The name of the file */\n private _fileName: string;\n /** The container */\n private _container: ContainerFile;\n\n /** The file record */\n private _fileRecord: FileRecord;\n /** The directory readers (1 per level) */\n private _directoryReaders: Array<DirectoryReader>;\n /** The geometry readers (1 per level) */\n private _geometryReaders: Array<GeometryReader>;\n /** The attribute readers */\n private _attributeReaders: Array<AttributeReader>;\n\n /**\n * Create a new reader.\n * @param fileName the name of the file.\n * @param container the container file.\n * @param fileRecord the file record.\n */\n private constructor(fileStorage: FileStorage, fileName: string, container: ContainerFile, fileRecord: FileRecord) {\n /* Store the parameters */\n this._fileStorage = fileStorage;\n this._fileName = fileName;\n this._container = container;\n this._fileRecord = fileRecord;\n /* Clear */\n this._directoryReaders = null;\n this._geometryReaders = null;\n this._attributeReaders = null;\n }\n\n /**\n * Open a file.\n * @param fileName the name of the file.\n * @param lazyLoading avoid early loading to keep a low memory profile?\n * @return the reader.\n */\n public static async openFile(fileStorage: FileStorage, fileName: string, lazyLoading: boolean): Promise<FileReader> {\n /* Open the container file */\n let container: ContainerFile = await ContainerFile.read(fileStorage, fileName, \"OPC3\");\n /* Read the file record */\n let filePart: ContainerFilePart = container.getPart(\"file\");\n let fileRecord: FileRecord = await FileRecord.readNew(fileStorage, filePart.getFileAccess().getFileName(), filePart.getOffset(), filePart.getSize());\n /* Create a reader */\n let fileReader: FileReader = new FileReader(fileStorage, fileName, container, fileRecord);\n /* Open the reader */\n fileReader = await fileReader.open(lazyLoading);\n /* Return the reader */\n return fileReader;\n }\n\n /**\n * Open the reader.\n * @param lazyLoading avoid early loading to keep a low memory profile?\n * @return the reader.\n */\n private async open(lazyLoading: boolean): Promise<FileReader> {\n /* Log */\n Message.print(FileReader.MODULE, \"Opening OPC with \" + this._fileRecord.getLevelCount() + \" levels (crs \" + this._fileRecord.getCRS() + \", lazy? \" + lazyLoading + \")\");\n Message.print(FileReader.MODULE, \"Container has \" + this._container.getPartCount() + \" parts\");\n // for(ContainerFilePart part: this._container.getParts()) Message.print(MODULE,\"Part '\"+part.getName()+\"'\");\n /* Define the content we are going to need (dozens of parts) */\n Message.print(FileReader.MODULE, \"Loading \" + this._fileRecord.getLevelCount() + \" levels and \" + this._fileRecord.getAttributeCount() + \" attributes\");\n let fileContents: ContentLoader = new ContentLoader(this._fileStorage, this._fileName);\n /* Only read the block list for the top levels? (to save memory) */\n let prefetchLevelIndex: int32 = (this._fileRecord.getLevelCount() - 6);\n if (prefetchLevelIndex < 0) prefetchLevelIndex = 0;\n if (lazyLoading == false) prefetchLevelIndex = 0;\n Message.print(FileReader.MODULE, \"Prefetching from level \" + prefetchLevelIndex);\n /* Read the directory */\n this._directoryReaders = new Array<DirectoryReader>(this._fileRecord.getLevelCount());\n for (let i: number = 0; i < this._directoryReaders.length; i++) {\n let directoryReader: DirectoryReader = new DirectoryReader(this, i);\n let readBlockList: boolean = (i >= prefetchLevelIndex);\n directoryReader.loadData(readBlockList, fileContents);\n this._directoryReaders[i] = directoryReader;\n }\n /* Read the geometry */\n this._geometryReaders = new Array<GeometryReader>(this._fileRecord.getLevelCount());\n for (let i: number = 0; i < this._geometryReaders.length; i++) {\n let geometryReader: GeometryReader = new GeometryReader(this, i);\n geometryReader.loadData(fileContents);\n this._geometryReaders[i] = geometryReader;\n }\n /* Read the attributes */\n this._attributeReaders = new Array<AttributeReader>(this._fileRecord.getAttributeCount());\n for (let i: number = 0; i < this._fileRecord.getAttributeCount(); i++) {\n let attributeReader: EmbeddedAttributeReader = new EmbeddedAttributeReader(this._container, i, this._fileRecord.getLevelCount());\n attributeReader.loadData(fileContents);\n this._attributeReaders[i] = attributeReader;\n }\n /* Load all data needed for the structures */\n fileContents = await fileContents.load();\n /* Read the directory */\n for (let i: number = 0; i < this._directoryReaders.length; i++) {\n let readBlockList: boolean = (i >= prefetchLevelIndex);\n this._directoryReaders[i].loadData(readBlockList, fileContents);\n }\n /* Read the geometry */\n for (let i: number = 0; i < this._geometryReaders.length; i++) {\n this._geometryReaders[i].loadData(fileContents);\n }\n /* Read the attributes */\n for (let i: number = 0; i < this._fileRecord.getAttributeCount(); i++) {\n let attributeReader: EmbeddedAttributeReader = <EmbeddedAttributeReader><unknown>(this._attributeReaders[i]);\n attributeReader.loadData(fileContents);\n }\n /* Log file info */\n Message.print(FileReader.MODULE, \"OPC bounds are \" + this._geometryReaders[0].getGeometryRecord().getBounds());\n let tileGridSize0: Coordinate = this._geometryReaders[0].getGeometryRecord().getTileGrid().size;\n Message.print(FileReader.MODULE, \"OPC level0 tile size is (\" + tileGridSize0.x + \",\" + tileGridSize0.y + \",\" + tileGridSize0.z + \")\");\n let totalPointCount: ALong = ALong.ZERO;\n let totalTileCount: int32 = 0;\n let totalBlockCount: int32 = 0;\n for (let i: number = 0; i < this._fileRecord.getLevelCount(); i++) {\n let directoryRecord: DirectoryRecord = this._directoryReaders[i].getDirectoryRecord();\n Message.print(FileReader.MODULE, \"Level \" + i + \" has \" + directoryRecord.getPointCount() + \" points, \" + directoryRecord.getTileCount() + \" tiles, \" + directoryRecord.getBlockCount() + \" blocks\");\n totalPointCount = totalPointCount.add(directoryRecord.getPointCount());\n totalTileCount += directoryRecord.getTileCount();\n totalBlockCount += directoryRecord.getBlockCount();\n }\n Message.print(FileReader.MODULE, \"Pointcloud has \" + totalPointCount + \" points, \" + totalTileCount + \" tiles, \" + totalBlockCount + \" blocks\");\n /* Get the attributes */\n Message.print(FileReader.MODULE, \"Pointcloud has \" + this._attributeReaders.length + \" static attributes:\");\n for (let i: number = 0; i < this._attributeReaders.length; i++) {\n Message.print(FileReader.MODULE, \"Attribute \" + i + \": \" + this._attributeReaders[i].getAttribute());\n Message.print(FileReader.MODULE, \" min: \" + this._attributeReaders[i].getMinimumValue());\n Message.print(FileReader.MODULE, \" max: \" + this._attributeReaders[i].getMaximumValue());\n }\n /* Return the reader */\n return this;\n }\n\n /**\n * Close the file.\n */\n public close(): void {\n for (let attributeReader of this._attributeReaders) attributeReader.close();\n if (this._container != null) this._container.close(true);\n this._container = null;\n }\n\n /**\n * Get the storage of the file.\n * @return the storage of the file.\n */\n public getFileStorage(): FileStorage {\n return this._fileStorage;\n }\n\n /**\n * Get the name of the file.\n * @return the name of the file.\n */\n public getFileName(): string {\n return this._fileName;\n }\n\n /**\n * Get the container file.\n * @return the container file.\n */\n public getContainer(): ContainerFile {\n return this._container;\n }\n\n /**\n * Get the file record.\n * @return the file record.\n */\n public getFileRecord(): FileRecord {\n return this._fileRecord;\n }\n\n /**\n * Get the number of resolution levels.\n * @return the number of resolution levels.\n */\n public getLevelCount(): int32 {\n return this._fileRecord.getLevelCount();\n }\n\n /**\n * Get a directory reader.\n * @param level the index of the level.\n * @return the directory reader.\n */\n public getDirectoryReader(level: int32): DirectoryReader {\n return this._directoryReaders[level];\n }\n\n /**\n * Get a geometry reader.\n * @param level the index of the level.\n * @return the geometry reader.\n */\n public getGeometryReader(level: int32): GeometryReader {\n return this._geometryReaders[level];\n }\n\n /**\n * Get the static attribute readers.\n * @return the static attribute readers.\n */\n public getStaticAttributeReaders(): Array<AttributeReader> {\n return this._attributeReaders;\n }\n\n /**\n * Get the attribute readers.\n * @return the attribute readers.\n */\n public getAttributeReaders(): Array<AttributeReader> {\n return this._attributeReaders;\n }\n\n /**\n * Get the attributes.\n * @return the attributes.\n */\n public getAttributes(): Array<PointAttribute> {\n let list: Array<PointAttribute> = new Array<PointAttribute>(this._attributeReaders.length);\n for (let i: number = 0; i < this._attributeReaders.length; i++) list[i] = this._attributeReaders[i].getAttribute();\n return list;\n }\n\n /**\n * Find an attribute reader.\n * @param attributeName the name of the attribute.\n * @return the attribute reader (null if not found).\n */\n public findAttributeReader(attributeName: string): AttributeReader {\n /* Check the static attributes */\n for (let attributeReader of this._attributeReaders) {\n if (Strings.equalsIgnoreCase(attributeReader.getAttribute().getName(), attributeName)) return attributeReader;\n }\n /* Not found */\n return null;\n }\n}\n"]}