@itwin/core-orbitgt 5.1.2 → 5.1.3-experimental.1

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 (206) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/lib/cjs/core-orbitgt.js.map +1 -1
  3. package/lib/cjs/pointcloud/format/opc/AttributeMask.js.map +1 -1
  4. package/lib/cjs/pointcloud/format/opc/AttributeReader.js.map +1 -1
  5. package/lib/cjs/pointcloud/format/opc/BlockRecord.js.map +1 -1
  6. package/lib/cjs/pointcloud/format/opc/ContainerFile.js.map +1 -1
  7. package/lib/cjs/pointcloud/format/opc/ContainerFilePart.js.map +1 -1
  8. package/lib/cjs/pointcloud/format/opc/DirectoryReader.js.map +1 -1
  9. package/lib/cjs/pointcloud/format/opc/DirectoryRecord.js.map +1 -1
  10. package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.js.map +1 -1
  11. package/lib/cjs/pointcloud/format/opc/FileAccess.js.map +1 -1
  12. package/lib/cjs/pointcloud/format/opc/FileReader.js.map +1 -1
  13. package/lib/cjs/pointcloud/format/opc/FileRecord.js.map +1 -1
  14. package/lib/cjs/pointcloud/format/opc/GeometryReader.js.map +1 -1
  15. package/lib/cjs/pointcloud/format/opc/GeometryRecord.js.map +1 -1
  16. package/lib/cjs/pointcloud/format/opc/OPCReader.js.map +1 -1
  17. package/lib/cjs/pointcloud/format/opc/PointReader.js.map +1 -1
  18. package/lib/cjs/pointcloud/format/opc/TileReadBuffer.js.map +1 -1
  19. package/lib/cjs/pointcloud/format/opc/TileRecord.js.map +1 -1
  20. package/lib/cjs/pointcloud/model/AttributeTypes.js.map +1 -1
  21. package/lib/cjs/pointcloud/model/AttributeValue.js.map +1 -1
  22. package/lib/cjs/pointcloud/model/BlockIndex.js.map +1 -1
  23. package/lib/cjs/pointcloud/model/CloudPoint.js.map +1 -1
  24. package/lib/cjs/pointcloud/model/Grid.js.map +1 -1
  25. package/lib/cjs/pointcloud/model/GridIndex.js.map +1 -1
  26. package/lib/cjs/pointcloud/model/PointAttribute.js.map +1 -1
  27. package/lib/cjs/pointcloud/model/PointCloudReader.js.map +1 -1
  28. package/lib/cjs/pointcloud/model/PointData.js.map +1 -1
  29. package/lib/cjs/pointcloud/model/PointDataRaw.js.map +1 -1
  30. package/lib/cjs/pointcloud/model/ReadRequest.js.map +1 -1
  31. package/lib/cjs/pointcloud/model/StandardAttributes.js.map +1 -1
  32. package/lib/cjs/pointcloud/model/TileIndex.js.map +1 -1
  33. package/lib/cjs/pointcloud/render/AViewRequest.js.map +1 -1
  34. package/lib/cjs/pointcloud/render/Block.js.map +1 -1
  35. package/lib/cjs/pointcloud/render/DataManager.js.map +1 -1
  36. package/lib/cjs/pointcloud/render/FrameData.js.map +1 -1
  37. package/lib/cjs/pointcloud/render/Level.js.map +1 -1
  38. package/lib/cjs/pointcloud/render/TileLoadSorter.js.map +1 -1
  39. package/lib/cjs/pointcloud/render/ViewTree.js.map +1 -1
  40. package/lib/cjs/spatial/crs/CRSEngine.js.map +1 -1
  41. package/lib/cjs/spatial/crs/CRSManager.js.map +1 -1
  42. package/lib/cjs/spatial/ecrs/Axis.js.map +1 -1
  43. package/lib/cjs/spatial/ecrs/CRS.js.map +1 -1
  44. package/lib/cjs/spatial/ecrs/CoordinateSystem.js.map +1 -1
  45. package/lib/cjs/spatial/ecrs/DataFileUnit.js.map +1 -1
  46. package/lib/cjs/spatial/ecrs/Datum.js.map +1 -1
  47. package/lib/cjs/spatial/ecrs/Ellipsoid.js.map +1 -1
  48. package/lib/cjs/spatial/ecrs/OnlineEngine.js.map +1 -1
  49. package/lib/cjs/spatial/ecrs/OnlineRegistry.js.map +1 -1
  50. package/lib/cjs/spatial/ecrs/Operation.js.map +1 -1
  51. package/lib/cjs/spatial/ecrs/OperationMethod.js.map +1 -1
  52. package/lib/cjs/spatial/ecrs/ParameterValue.js.map +1 -1
  53. package/lib/cjs/spatial/ecrs/ParameterValueList.js.map +1 -1
  54. package/lib/cjs/spatial/ecrs/PrimeMeridian.js.map +1 -1
  55. package/lib/cjs/spatial/ecrs/Registry.js.map +1 -1
  56. package/lib/cjs/spatial/ecrs/Transform.js.map +1 -1
  57. package/lib/cjs/spatial/ecrs/Unit.js.map +1 -1
  58. package/lib/cjs/spatial/ecrs/VerticalModel.js.map +1 -1
  59. package/lib/cjs/spatial/ecrs/WellKnownText.js.map +1 -1
  60. package/lib/cjs/spatial/ecrs/WellKnownTextNode.js.map +1 -1
  61. package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.js.map +1 -1
  62. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConic.js.map +1 -1
  63. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js.map +1 -1
  64. package/lib/cjs/spatial/ecrs/projection/LambertConical1SP.js.map +1 -1
  65. package/lib/cjs/spatial/ecrs/projection/LambertConical2SP.js.map +1 -1
  66. package/lib/cjs/spatial/ecrs/projection/Mercator1SP.js.map +1 -1
  67. package/lib/cjs/spatial/ecrs/projection/ObliqueMercator.js.map +1 -1
  68. package/lib/cjs/spatial/ecrs/projection/ObliqueStereographic.js.map +1 -1
  69. package/lib/cjs/spatial/ecrs/projection/TransverseMercator.js.map +1 -1
  70. package/lib/cjs/spatial/ecrs/transformation/PositionVector.js.map +1 -1
  71. package/lib/cjs/spatial/geom/Bounds.js.map +1 -1
  72. package/lib/cjs/spatial/geom/Coordinate.js.map +1 -1
  73. package/lib/cjs/spatial/geom/Line.js.map +1 -1
  74. package/lib/cjs/spatial/geom/Transform.js.map +1 -1
  75. package/lib/cjs/system/buffer/ABuffer.js.map +1 -1
  76. package/lib/cjs/system/buffer/Float32Buffer.js.map +1 -1
  77. package/lib/cjs/system/buffer/LittleEndian.js.map +1 -1
  78. package/lib/cjs/system/buffer/Uint16Buffer.js.map +1 -1
  79. package/lib/cjs/system/buffer/Uint8Buffer.js.map +1 -1
  80. package/lib/cjs/system/collection/AList.js.map +1 -1
  81. package/lib/cjs/system/collection/IntMap.js.map +1 -1
  82. package/lib/cjs/system/collection/StringMap.js.map +1 -1
  83. package/lib/cjs/system/io/ABufferInStream.js.map +1 -1
  84. package/lib/cjs/system/io/InStream.js.map +1 -1
  85. package/lib/cjs/system/io/OutStream.js.map +1 -1
  86. package/lib/cjs/system/runtime/ALong.js.map +1 -1
  87. package/lib/cjs/system/runtime/ASystem.js.map +1 -1
  88. package/lib/cjs/system/runtime/Downloader.js.map +1 -1
  89. package/lib/cjs/system/runtime/DownloaderNode.js.map +1 -1
  90. package/lib/cjs/system/runtime/DownloaderXhr.js.map +1 -1
  91. package/lib/cjs/system/runtime/Message.js.map +1 -1
  92. package/lib/cjs/system/runtime/Numbers.js.map +1 -1
  93. package/lib/cjs/system/runtime/Strings.js.map +1 -1
  94. package/lib/cjs/system/runtime/iComparator.js.map +1 -1
  95. package/lib/cjs/system/storage/CacheList.js.map +1 -1
  96. package/lib/cjs/system/storage/CachedItem.js.map +1 -1
  97. package/lib/cjs/system/storage/ContentLoader.js.map +1 -1
  98. package/lib/cjs/system/storage/FileContent.js.map +1 -1
  99. package/lib/cjs/system/storage/FileRange.js.map +1 -1
  100. package/lib/cjs/system/storage/FileStorage.js.map +1 -1
  101. package/lib/cjs/system/storage/NodeFS.js.map +1 -1
  102. package/lib/cjs/system/storage/PageCachedFile.js.map +1 -1
  103. package/lib/cjs/system/storage/UrlFS.js.map +1 -1
  104. package/lib/esm/core-orbitgt.js.map +1 -1
  105. package/lib/esm/pointcloud/format/opc/AttributeMask.js.map +1 -1
  106. package/lib/esm/pointcloud/format/opc/AttributeReader.js.map +1 -1
  107. package/lib/esm/pointcloud/format/opc/BlockRecord.js.map +1 -1
  108. package/lib/esm/pointcloud/format/opc/ContainerFile.js.map +1 -1
  109. package/lib/esm/pointcloud/format/opc/ContainerFilePart.js.map +1 -1
  110. package/lib/esm/pointcloud/format/opc/DirectoryReader.js.map +1 -1
  111. package/lib/esm/pointcloud/format/opc/DirectoryRecord.js.map +1 -1
  112. package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.js.map +1 -1
  113. package/lib/esm/pointcloud/format/opc/FileAccess.js.map +1 -1
  114. package/lib/esm/pointcloud/format/opc/FileReader.js.map +1 -1
  115. package/lib/esm/pointcloud/format/opc/FileRecord.js.map +1 -1
  116. package/lib/esm/pointcloud/format/opc/GeometryReader.js.map +1 -1
  117. package/lib/esm/pointcloud/format/opc/GeometryRecord.js.map +1 -1
  118. package/lib/esm/pointcloud/format/opc/OPCReader.js.map +1 -1
  119. package/lib/esm/pointcloud/format/opc/PointReader.js.map +1 -1
  120. package/lib/esm/pointcloud/format/opc/TileReadBuffer.js.map +1 -1
  121. package/lib/esm/pointcloud/format/opc/TileRecord.js.map +1 -1
  122. package/lib/esm/pointcloud/model/AttributeTypes.js.map +1 -1
  123. package/lib/esm/pointcloud/model/AttributeValue.js.map +1 -1
  124. package/lib/esm/pointcloud/model/BlockIndex.js.map +1 -1
  125. package/lib/esm/pointcloud/model/CloudPoint.js.map +1 -1
  126. package/lib/esm/pointcloud/model/Grid.js.map +1 -1
  127. package/lib/esm/pointcloud/model/GridIndex.js.map +1 -1
  128. package/lib/esm/pointcloud/model/PointAttribute.js.map +1 -1
  129. package/lib/esm/pointcloud/model/PointCloudReader.js.map +1 -1
  130. package/lib/esm/pointcloud/model/PointData.js.map +1 -1
  131. package/lib/esm/pointcloud/model/PointDataRaw.js.map +1 -1
  132. package/lib/esm/pointcloud/model/ReadRequest.js.map +1 -1
  133. package/lib/esm/pointcloud/model/StandardAttributes.js.map +1 -1
  134. package/lib/esm/pointcloud/model/TileIndex.js.map +1 -1
  135. package/lib/esm/pointcloud/render/AViewRequest.js.map +1 -1
  136. package/lib/esm/pointcloud/render/Block.js.map +1 -1
  137. package/lib/esm/pointcloud/render/DataManager.js.map +1 -1
  138. package/lib/esm/pointcloud/render/FrameData.js.map +1 -1
  139. package/lib/esm/pointcloud/render/Level.js.map +1 -1
  140. package/lib/esm/pointcloud/render/TileLoadSorter.js.map +1 -1
  141. package/lib/esm/pointcloud/render/ViewTree.js.map +1 -1
  142. package/lib/esm/spatial/crs/CRSEngine.js.map +1 -1
  143. package/lib/esm/spatial/crs/CRSManager.js.map +1 -1
  144. package/lib/esm/spatial/ecrs/Axis.js.map +1 -1
  145. package/lib/esm/spatial/ecrs/CRS.js.map +1 -1
  146. package/lib/esm/spatial/ecrs/CoordinateSystem.js.map +1 -1
  147. package/lib/esm/spatial/ecrs/DataFileUnit.js.map +1 -1
  148. package/lib/esm/spatial/ecrs/Datum.js.map +1 -1
  149. package/lib/esm/spatial/ecrs/Ellipsoid.js.map +1 -1
  150. package/lib/esm/spatial/ecrs/OnlineEngine.js.map +1 -1
  151. package/lib/esm/spatial/ecrs/OnlineRegistry.js.map +1 -1
  152. package/lib/esm/spatial/ecrs/Operation.js.map +1 -1
  153. package/lib/esm/spatial/ecrs/OperationMethod.js.map +1 -1
  154. package/lib/esm/spatial/ecrs/ParameterValue.js.map +1 -1
  155. package/lib/esm/spatial/ecrs/ParameterValueList.js.map +1 -1
  156. package/lib/esm/spatial/ecrs/PrimeMeridian.js.map +1 -1
  157. package/lib/esm/spatial/ecrs/Registry.js.map +1 -1
  158. package/lib/esm/spatial/ecrs/Transform.js.map +1 -1
  159. package/lib/esm/spatial/ecrs/Unit.js.map +1 -1
  160. package/lib/esm/spatial/ecrs/VerticalModel.js.map +1 -1
  161. package/lib/esm/spatial/ecrs/WellKnownText.js.map +1 -1
  162. package/lib/esm/spatial/ecrs/WellKnownTextNode.js.map +1 -1
  163. package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.js.map +1 -1
  164. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConic.js.map +1 -1
  165. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js.map +1 -1
  166. package/lib/esm/spatial/ecrs/projection/LambertConical1SP.js.map +1 -1
  167. package/lib/esm/spatial/ecrs/projection/LambertConical2SP.js.map +1 -1
  168. package/lib/esm/spatial/ecrs/projection/Mercator1SP.js.map +1 -1
  169. package/lib/esm/spatial/ecrs/projection/ObliqueMercator.js.map +1 -1
  170. package/lib/esm/spatial/ecrs/projection/ObliqueStereographic.js.map +1 -1
  171. package/lib/esm/spatial/ecrs/projection/TransverseMercator.js.map +1 -1
  172. package/lib/esm/spatial/ecrs/transformation/PositionVector.js.map +1 -1
  173. package/lib/esm/spatial/geom/Bounds.js.map +1 -1
  174. package/lib/esm/spatial/geom/Coordinate.js.map +1 -1
  175. package/lib/esm/spatial/geom/Line.js.map +1 -1
  176. package/lib/esm/spatial/geom/Transform.js.map +1 -1
  177. package/lib/esm/system/buffer/ABuffer.js.map +1 -1
  178. package/lib/esm/system/buffer/Float32Buffer.js.map +1 -1
  179. package/lib/esm/system/buffer/LittleEndian.js.map +1 -1
  180. package/lib/esm/system/buffer/Uint16Buffer.js.map +1 -1
  181. package/lib/esm/system/buffer/Uint8Buffer.js.map +1 -1
  182. package/lib/esm/system/collection/AList.js.map +1 -1
  183. package/lib/esm/system/collection/IntMap.js.map +1 -1
  184. package/lib/esm/system/collection/StringMap.js.map +1 -1
  185. package/lib/esm/system/io/ABufferInStream.js.map +1 -1
  186. package/lib/esm/system/io/InStream.js.map +1 -1
  187. package/lib/esm/system/io/OutStream.js.map +1 -1
  188. package/lib/esm/system/runtime/ALong.js.map +1 -1
  189. package/lib/esm/system/runtime/ASystem.js.map +1 -1
  190. package/lib/esm/system/runtime/Downloader.js.map +1 -1
  191. package/lib/esm/system/runtime/DownloaderNode.js.map +1 -1
  192. package/lib/esm/system/runtime/DownloaderXhr.js.map +1 -1
  193. package/lib/esm/system/runtime/Message.js.map +1 -1
  194. package/lib/esm/system/runtime/Numbers.js.map +1 -1
  195. package/lib/esm/system/runtime/Strings.js.map +1 -1
  196. package/lib/esm/system/runtime/iComparator.js.map +1 -1
  197. package/lib/esm/system/storage/CacheList.js.map +1 -1
  198. package/lib/esm/system/storage/CachedItem.js.map +1 -1
  199. package/lib/esm/system/storage/ContentLoader.js.map +1 -1
  200. package/lib/esm/system/storage/FileContent.js.map +1 -1
  201. package/lib/esm/system/storage/FileRange.js.map +1 -1
  202. package/lib/esm/system/storage/FileStorage.js.map +1 -1
  203. package/lib/esm/system/storage/NodeFS.js.map +1 -1
  204. package/lib/esm/system/storage/PageCachedFile.js.map +1 -1
  205. package/lib/esm/system/storage/UrlFS.js.map +1 -1
  206. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  # Change Log - @itwin/core-orbitgt
2
2
 
3
- This log was last generated on Thu, 14 Aug 2025 19:38:08 GMT and should not be manually modified.
3
+ This log was last generated on Wed, 20 Aug 2025 13:57:10 GMT and should not be manually modified.
4
+
5
+ ## 5.1.3
6
+ Wed, 20 Aug 2025 13:57:10 GMT
7
+
8
+ _Version update only_
4
9
 
5
10
  ## 5.1.2
6
11
  Thu, 14 Aug 2025 19:38:08 GMT
@@ -1 +1 @@
1
- {"version":3,"file":"core-orbitgt.js","sourceRoot":"","sources":["../../src/core-orbitgt.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;;;;;;;;;;;;;;;AAE/F,4DAAgF;AAAvE,+GAAA,UAAU,OAAqB;AACxC,0DAA6E;AAApE,6GAAA,SAAS,OAAoB;AACtC,0DAA6E;AAApE,6GAAA,SAAS,OAAoB;AACtC,iEAAuF;AAA9E,mHAAA,YAAY,OAAuB;AAC5C,+DAAoF;AAA3E,iHAAA,WAAW,OAAsB;AAC1C,2DAA8E;AAArE,6GAAA,SAAS,OAAoB;AACtC,mDAAkE;AAAzD,qGAAA,KAAK,OAAgB;AAC9B,yDAA2E;AAAlE,2GAAA,QAAQ,OAAmB;AACpC,qEAA6F;AAApF,uHAAA,cAAc,OAAyB;AAEhD,gDAAgE;AAAvD,uGAAA,MAAM,OAAiB;AAChC,wDAA4E;AAAnE,+GAAA,UAAU,OAAqB;AACxC,4CAA0D;AAAjD,mGAAA,IAAI,OAAe;AAC5B,sDAAyE;AAAhE,6GAAA,SAAS,OAAoB;AACtC,mDAAkE;AAAzD,qGAAA,KAAK,OAAgB;AAG9B,oEAAkD;AAClD,sEAAoD;AACpD,kEAAgD;AAChD,2DAAyC;AACzC,8DAA4C;AAC5C,yDAAuC;AACvC,8DAA4C;AAC5C,gFAAgF;AAChF,6BAA6B;AAC7B,mDAAmD;AACnD,iEAA+C;AAC/C,kEAAgD;AAChD,yDAAuC","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\nexport { BlockIndex as OrbitGtBlockIndex } from \"./pointcloud/model/BlockIndex\";\nexport { PointData as OrbitGtPointData } from \"./pointcloud/model/PointData\";\nexport { TileIndex as OrbitGtTileIndex } from \"./pointcloud/model/TileIndex\";\nexport { AViewRequest as OrbitGtIViewRequest } from \"./pointcloud/render/AViewRequest\";\nexport { DataManager as OrbitGtDataManager } from \"./pointcloud/render/DataManager\";\nexport { FrameData as OrbitGtFrameData } from \"./pointcloud/render/FrameData\";\nexport { Level as OrbitGtLevel } from \"./pointcloud/render/Level\";\nexport { ViewTree as OrbitGtViewTree } from \"./pointcloud/render/ViewTree\";\nexport { TileLoadSorter as OrbitGtTileLoadSorter } from \"./pointcloud/render/TileLoadSorter\";\nexport { IProjectToViewForSort as OrbitGtIProjectToViewForSort } from \"./pointcloud/render/TileLoadSorter\";\nexport { Bounds as OrbitGtBounds } from \"./spatial/geom/Bounds\";\nexport { Coordinate as OrbitGtCoordinate } from \"./spatial/geom/Coordinate\";\nexport { Line as OrbitGtLine } from \"./spatial/geom/Line\";\nexport { Transform as OrbitGtTransform } from \"./spatial/geom/Transform\";\nexport { AList as OrbitGtAList } from \"./system/collection/AList\";\nexport { iComparator as OrbitGtComparator } from \"./system/runtime/iComparator\";\n\nexport * from \"./pointcloud/format/opc/OPCReader\";\nexport * from \"./pointcloud/model/PointCloudReader\";\nexport * from \"./pointcloud/model/PointDataRaw\";\nexport * from \"./spatial/crs/CRSManager\";\nexport * from \"./spatial/ecrs/OnlineEngine\";\nexport * from \"./system/runtime/ALong\";\nexport * from \"./system/runtime/Downloader\";\n// Do not export the Node specific functionality from the barrel. It will cause\n// polyfills on the frontend.\n// export * from \"./system/runtime/DownloaderNode\";\nexport * from \"./system/runtime/DownloaderXhr\";\nexport * from \"./system/storage/PageCachedFile\";\nexport * from \"./system/storage/UrlFS\";"]}
1
+ {"version":3,"file":"core-orbitgt.js","sourceRoot":"","sources":["../../src/core-orbitgt.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;;;;;;;;;;;;;;;AAE/F,4DAAgF;AAAvE,+GAAA,UAAU,OAAqB;AACxC,0DAA6E;AAApE,6GAAA,SAAS,OAAoB;AACtC,0DAA6E;AAApE,6GAAA,SAAS,OAAoB;AACtC,iEAAuF;AAA9E,mHAAA,YAAY,OAAuB;AAC5C,+DAAoF;AAA3E,iHAAA,WAAW,OAAsB;AAC1C,2DAA8E;AAArE,6GAAA,SAAS,OAAoB;AACtC,mDAAkE;AAAzD,qGAAA,KAAK,OAAgB;AAC9B,yDAA2E;AAAlE,2GAAA,QAAQ,OAAmB;AACpC,qEAA6F;AAApF,uHAAA,cAAc,OAAyB;AAEhD,gDAAgE;AAAvD,uGAAA,MAAM,OAAiB;AAChC,wDAA4E;AAAnE,+GAAA,UAAU,OAAqB;AACxC,4CAA0D;AAAjD,mGAAA,IAAI,OAAe;AAC5B,sDAAyE;AAAhE,6GAAA,SAAS,OAAoB;AACtC,mDAAkE;AAAzD,qGAAA,KAAK,OAAgB;AAG9B,oEAAkD;AAClD,sEAAoD;AACpD,kEAAgD;AAChD,2DAAyC;AACzC,8DAA4C;AAC5C,yDAAuC;AACvC,8DAA4C;AAC5C,gFAAgF;AAChF,6BAA6B;AAC7B,mDAAmD;AACnD,iEAA+C;AAC/C,kEAAgD;AAChD,yDAAuC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeMask.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/AttributeMask.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAWH,4DAAyD;AAKzD;;;;GAIG;AACH,gBAAgB;AAChB,MAAa,aAAa;IACtB,wCAAwC;IACjC,UAAU,CAAwB;IACzC,oCAAoC;IAC7B,OAAO,CAAyB;IAEvC;;;OAGG;IACH,YAAmB,OAA+B;QAC9C,WAAW;QACX,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,mCAAmC;QACnC,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,UAAU,GAAG,IAAI,KAAK,CAAiB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5D,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE;gBAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;YAC5G,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAC3B,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,eAAe,CAAC,UAAsB;QAChD,IAAI,OAAO,GAA2B,IAAI,aAAK,EAAmB,CAAC;QACnE,KAAK,IAAI,MAAM,IAAI,UAAU,CAAC,yBAAyB,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/E,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;CACJ;AAhCD,sCAgCC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module OrbitGT\n */\n\n//package orbitgt.pointcloud.format.opc;\n\ntype int8 = number;\ntype int16 = number;\ntype int32 = number;\ntype float32 = number;\ntype float64 = number;\n\n\nimport { AList } from \"../../../system/collection/AList\";\nimport { PointAttribute } from \"../../model/PointAttribute\";\nimport { AttributeReader } from \"./AttributeReader\";\nimport { FileReader } from \"./FileReader\";\n\n/**\n * Class AttributeMask defines a mask of attributes to read.\n *\n * @version 1.0 January 2014\n */\n/** @internal */\nexport class AttributeMask {\n /** The definitions of the attributes */\n public attributes: Array<PointAttribute>;\n /** The readers of the attributes */\n public readers: AList<AttributeReader>;\n\n /**\n * Create a new mask.\n * @param readers the list of attribute readers (can be null).\n */\n public constructor(readers: AList<AttributeReader>) {\n /* Clear */\n this.attributes = null;\n this.readers = null;\n /* Do we have a list of readers? */\n if (readers != null) {\n this.attributes = new Array<PointAttribute>(readers.size());\n for (let i: number = 0; i < this.attributes.length; i++) this.attributes[i] = readers.get(i).getAttribute();\n this.readers = readers;\n }\n }\n\n /**\n * Read all embedded attributes of a file.\n * @param fileReader the file reader.\n * @return the mask.\n */\n public static readAllEmbedded(fileReader: FileReader): AttributeMask {\n let readers: AList<AttributeReader> = new AList<AttributeReader>();\n for (let reader of fileReader.getStaticAttributeReaders()) readers.add(reader);\n return new AttributeMask(readers);\n }\n}\n"]}
1
+ {"version":3,"file":"AttributeMask.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/AttributeMask.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAWH,4DAAyD;AAKzD;;;;GAIG;AACH,gBAAgB;AAChB,MAAa,aAAa;IACtB,wCAAwC;IACjC,UAAU,CAAwB;IACzC,oCAAoC;IAC7B,OAAO,CAAyB;IAEvC;;;OAGG;IACH,YAAmB,OAA+B;QAC9C,WAAW;QACX,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,mCAAmC;QACnC,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,UAAU,GAAG,IAAI,KAAK,CAAiB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5D,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE;gBAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;YAC5G,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAC3B,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,eAAe,CAAC,UAAsB;QAChD,IAAI,OAAO,GAA2B,IAAI,aAAK,EAAmB,CAAC;QACnE,KAAK,IAAI,MAAM,IAAI,UAAU,CAAC,yBAAyB,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/E,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;CACJ;AAhCD,sCAgCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeReader.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/AttributeReader.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAmBH;;;;GAIG;AACH,gBAAgB;AAChB,MAAsB,eAAe;IACjC;;OAEG;IACH;IACA,CAAC;CA6CJ;AAlDD,0CAkDC","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 { ALong } from \"../../../system/runtime/ALong\";\nimport { ContentLoader } from \"../../../system/storage/ContentLoader\";\nimport { AttributeValue } from \"../../model/AttributeValue\";\nimport { CloudPoint } from \"../../model/CloudPoint\";\nimport { PointAttribute } from \"../../model/PointAttribute\";\nimport { ReadRequest } from \"../../model/ReadRequest\";\nimport { TileIndex } from \"../../model/TileIndex\";\nimport { TileReadBuffer } from \"./TileReadBuffer\";\n\n/**\n * Class AttributeReader reads attribute data.\n *\n * @version 1.0 January 2014\n */\n/** @internal */\nexport abstract class AttributeReader {\n /**\n * Create a new reader.\n */\n public constructor() {\n }\n\n /**\n * Close the reader.\n */\n public abstract close(): void;\n\n /**\n * Get the attribute.\n * @return the attribute.\n */\n public abstract getAttribute(): PointAttribute;\n\n /**\n * Get the minimum value.\n * @return the minimum value.\n */\n public abstract getMinimumValue(): AttributeValue;\n\n /**\n * Get the maximum value.\n * @return the maximum value.\n */\n public abstract getMaximumValue(): AttributeValue;\n\n /**\n * Read the raw data for a tile.\n * @param level the index of the level.\n * @param tile the tile.\n * @param tileBuffer the buffer to read into.\n * @param bufferIndex the index of the attribute in the read buffer.\n * @param readRequest the read parameters (contains the result read statistics).\n */\n public abstract readTileData2(level: int32, tile: TileIndex, pointOffset: ALong, pointCount: int32, tileBuffer: TileReadBuffer, bufferIndex: int32, readRequest: ReadRequest, fileContents: ContentLoader): void;\n\n /**\n * Get an attribute value.\n * @param level the index of the level.\n * @param tile the tile.\n * @param tileBuffer the buffer that has been read.\n * @param bufferIndex the index of the attribute in the read buffer.\n * @param pointIndex the index of the point in the tile (starts at 0).\n * @param cloudPoint the point to read the attribute of.\n */\n public abstract getPointData(level: int32, tile: TileIndex, tileBuffer: TileReadBuffer, bufferIndex: int32, pointIndex: int32, cloudPoint: CloudPoint): void;\n}\n"]}
1
+ {"version":3,"file":"AttributeReader.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/AttributeReader.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAmBH;;;;GAIG;AACH,gBAAgB;AAChB,MAAsB,eAAe;IACjC;;OAEG;IACH;IACA,CAAC;CA6CJ;AAlDD,0CAkDC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BlockRecord.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/BlockRecord.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAUH,sEAAmE;AAInE,6DAA0D;AAC1D,uDAAoD;AACpD,qDAAkD;AAElD;;;;GAIG;AACH,gBAAgB;AAChB,MAAa,WAAW;IACpB,yCAAyC;IAClC,MAAM,CAAU,WAAW,GAAU,EAAE,CAAC;IAE/C;;OAEG;IACH;IACA,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,aAAa,CAAC,SAAgB,EAAE,SAAgB;QAC1D,IAAI,SAAS,GAAG,CAAC;YAAE,OAAO,iBAAO,CAAC,MAAM,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QACzE,OAAO,iBAAO,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,YAAY,CAAC,KAAY,EAAE,KAAY,EAAE,KAAY,EAAE,SAAgB;QACjF,OAAO,IAAI,qBAAS,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAChK,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,KAAiB,EAAE,MAAiB;QACpD,IAAI,MAAM,GAAU,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACtC,IAAI,MAAM,GAAU,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACtC,IAAI,MAAM,GAAU,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACtC,2BAAY,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5C,2BAAY,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5C,2BAAY,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5C,2BAAY,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACrD,2BAAY,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,OAAO,CAAC,KAAY,EAAE,KAAe,EAAE,UAAiB,EAAE,SAAgB,EAAE,UAAiB;QACvG,qBAAqB;QACrB,IAAI,MAAM,GAAU,2BAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,MAAM,GAAU,2BAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,MAAM,GAAU,2BAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,SAAS,GAAU,2BAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,UAAU,GAAU,2BAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3D,uBAAuB;QACvB,OAAO,IAAI,uBAAU,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,qBAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAClI,CAAC;;AAjEL,kCAkEC","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 { LittleEndian } from \"../../../system/buffer/LittleEndian\";\nimport { InStream } from \"../../../system/io/InStream\";\nimport { OutStream } from \"../../../system/io/OutStream\";\nimport { ALong } from \"../../../system/runtime/ALong\";\nimport { Numbers } from \"../../../system/runtime/Numbers\";\nimport { BlockIndex } from \"../../model/BlockIndex\";\nimport { GridIndex } from \"../../model/GridIndex\";\n\n/**\n * Class BlockRecord defines a (32x32x32) block of tiles.\n *\n * @version 1.0 January 2014\n */\n/** @internal */\nexport class BlockRecord {\n /** The size of the record in the file */\n public static readonly RECORD_SIZE: int32 = 24;\n\n /**\n * No instances.\n */\n private constructor() {\n }\n\n /**\n * Convert a tile grid index to a block grid index.\n * @param tileIndex the tile index.\n * @param blockSize the block size.\n * @return the block index.\n */\n public static toBlockIndex1(tileIndex: int32, blockSize: int32): int32 {\n if (tileIndex < 0) return Numbers.divInt((tileIndex + 1), blockSize) - 1;\n return Numbers.divInt(tileIndex, blockSize);\n }\n\n /**\n * Convert a tile grid index to a block grid index.\n * @param tileX the x index of the tile.\n * @param tileY the y index of the tile.\n * @param tileZ the z index of the tile.\n * @param blockSize the block size.\n * @return the block index.\n */\n public static toBlockIndex(tileX: int32, tileY: int32, tileZ: int32, blockSize: int32): GridIndex {\n return new GridIndex(BlockRecord.toBlockIndex1(tileX, blockSize), BlockRecord.toBlockIndex1(tileY, blockSize), BlockRecord.toBlockIndex1(tileZ, blockSize));\n }\n\n /**\n * Write a record.\n * @param output the output stream.\n */\n public static write(block: BlockIndex, output: OutStream): void {\n let blockX: int32 = block.gridIndex.x;\n let blockY: int32 = block.gridIndex.y;\n let blockZ: int32 = block.gridIndex.z;\n LittleEndian.writeStreamInt(output, blockX);\n LittleEndian.writeStreamInt(output, blockY);\n LittleEndian.writeStreamInt(output, blockZ);\n LittleEndian.writeStreamInt(output, block.tileCount);\n LittleEndian.writeStreamLong(output, block.pointCount);\n }\n\n /**\n * Read a record.\n * @param level the level.\n * @param in the input stream from the file.\n * @param tileIndex the index of the tile.\n * @param pointIndex the index of the first point in the block.\n * @return the requested record.\n */\n public static readNew(level: int32, input: InStream, blockIndex: int32, tileIndex: int32, pointIndex: ALong): BlockIndex {\n /* Read the record */\n let blockX: int32 = LittleEndian.readStreamInt(input);\n let blockY: int32 = LittleEndian.readStreamInt(input);\n let blockZ: int32 = LittleEndian.readStreamInt(input);\n let tileCount: int32 = LittleEndian.readStreamInt(input);\n let pointCount: ALong = LittleEndian.readStreamLong(input);\n /* Create the record */\n return new BlockIndex(level, blockIndex, new GridIndex(blockX, blockY, blockZ), tileIndex, tileCount, pointIndex, pointCount);\n }\n}\n"]}
1
+ {"version":3,"file":"BlockRecord.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/BlockRecord.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAUH,sEAAmE;AAInE,6DAA0D;AAC1D,uDAAoD;AACpD,qDAAkD;AAElD;;;;GAIG;AACH,gBAAgB;AAChB,MAAa,WAAW;IACpB,yCAAyC;IAClC,MAAM,CAAU,WAAW,GAAU,EAAE,CAAC;IAE/C;;OAEG;IACH;IACA,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,aAAa,CAAC,SAAgB,EAAE,SAAgB;QAC1D,IAAI,SAAS,GAAG,CAAC;YAAE,OAAO,iBAAO,CAAC,MAAM,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QACzE,OAAO,iBAAO,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,YAAY,CAAC,KAAY,EAAE,KAAY,EAAE,KAAY,EAAE,SAAgB;QACjF,OAAO,IAAI,qBAAS,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAChK,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,KAAiB,EAAE,MAAiB;QACpD,IAAI,MAAM,GAAU,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACtC,IAAI,MAAM,GAAU,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACtC,IAAI,MAAM,GAAU,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACtC,2BAAY,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5C,2BAAY,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5C,2BAAY,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5C,2BAAY,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACrD,2BAAY,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,OAAO,CAAC,KAAY,EAAE,KAAe,EAAE,UAAiB,EAAE,SAAgB,EAAE,UAAiB;QACvG,qBAAqB;QACrB,IAAI,MAAM,GAAU,2BAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,MAAM,GAAU,2BAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,MAAM,GAAU,2BAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,SAAS,GAAU,2BAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,UAAU,GAAU,2BAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3D,uBAAuB;QACvB,OAAO,IAAI,uBAAU,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,qBAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAClI,CAAC;;AAjEL,kCAkEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContainerFile.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/ContainerFile.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAYH,sEAAmE;AACnE,4DAAyD;AACzD,wEAAqE;AAErE,yDAAsD;AACtD,6DAA0D;AAC1D,6DAA0D;AAC1D,6DAA0D;AAE1D,2DAAwD;AACxD,6CAA0C;AAE1C;;;;GAIG;AACH,gBAAgB;AAChB,MAAa,aAAa;IACtB,8BAA8B;IACtB,MAAM,CAAU,MAAM,GAAW,eAAe,CAAC;IAEzD,2BAA2B;IACnB,SAAS,CAAS;IAC1B,6BAA6B;IACrB,WAAW,CAAQ;IAC3B,iBAAiB;IACT,OAAO,CAAS;IACxB,4BAA4B;IACpB,MAAM,CAA2B;IAEzC;;;;;;OAMG;IACH,YAAmB,QAAgB,EAAE,UAAiB,EAAE,MAAc,EAAE,KAA+B;QACnG,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,eAAwB;QACjC,IAAI,eAAe;YAAE,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE;gBAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC;QACrH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED;;;OAGG;IACI,WAAW;QACd,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACI,aAAa;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACI,SAAS;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;;OAGG;IACI,YAAY;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACI,QAAQ;QACX,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACI,OAAO,CAAC,IAAY;QACvB,qBAAqB;QACrB,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAClD,yBAAyB;YACzB,IAAI,IAAI,GAAsB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACjD,IAAI,iBAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC1D,CAAC;QACD,eAAe;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACK,MAAM,CAAC,WAAW,CAAC,KAAe,EAAE,MAAc;QACtD,IAAI,EAAE,GAAU,2BAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,EAAE,GAAU,2BAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,EAAE,GAAU,2BAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,EAAE,GAAU,2BAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,EAAE,IAAI,iBAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QACrD,IAAI,EAAE,IAAI,iBAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QACrD,IAAI,EAAE,IAAI,iBAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QACrD,IAAI,EAAE,IAAI,iBAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAwB,EAAE,iBAAyB,EAAE,MAAc;QACxF,oBAAoB;QACpB,iBAAO,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,0BAA0B,GAAG,iBAAiB,GAAG,GAAG,CAAC,CAAC;QAC1F,IAAI,UAAU,GAAU,MAAM,WAAW,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;QAC3E,IAAI,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC;YAC1B,WAAW;YACX,iBAAO,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,gBAAgB;QAChB,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC;YACrC,UAAU;YACV,iBAAO,CAAC,OAAO,CAAC,KAAK,EAAE,0BAA0B,GAAG,iBAAiB,GAAG,eAAe,CAAC,CAAC;QAC7F,CAAC;QACD,0BAA0B;QAC1B,IAAI,UAAU,GAAU,EAAE,GAAG,IAAI,CAAC;QAClC,IAAI,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,UAAU,EAAE;YAAE,UAAU,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;QAChF,IAAI,MAAM,GAAY,MAAM,WAAW,CAAC,YAAY,CAAC,iBAAiB,EAAE,aAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAChG,IAAI,WAAW,GAAoB,IAAI,iCAAe,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACjF,sBAAsB;QACtB,IAAI,aAAa,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YAC1D,UAAU;YACV,WAAW,CAAC,KAAK,EAAE,CAAC;YACpB,iBAAO,CAAC,OAAO,CAAC,KAAK,EAAE,0BAA0B,GAAG,iBAAiB,GAAG,mBAAmB,CAAC,CAAC;QACjG,CAAC;QACD,uBAAuB;QACvB,IAAI,OAAO,GAAU,2BAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACf,UAAU;YACV,WAAW,CAAC,KAAK,EAAE,CAAC;YACpB,iBAAO,CAAC,OAAO,CAAC,KAAK,EAAE,0BAA0B,GAAG,iBAAiB,GAAG,aAAa,GAAG,OAAO,GAAG,GAAG,CAAC,CAAC;QAC3G,CAAC;QACD,cAAc;QACd,IAAI,EAAE,GAAU,2BAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACzD,IAAI,EAAE,GAAU,2BAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACzD,IAAI,EAAE,GAAU,2BAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACzD,wBAAwB;QACxB,IAAI,SAAS,GAAU,2BAAY,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC/D,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAChB,UAAU;YACV,WAAW,CAAC,KAAK,EAAE,CAAC;YACpB,iBAAO,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,GAAG,6BAA6B,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,SAAS,GAAG,GAAG,CAAC,CAAC;QAC1I,CAAC;QACD,4BAA4B;QAC5B,IAAI,UAAU,GAAe,IAAI,uBAAU,CAAC,WAAW,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;QACxF,oBAAoB;QACpB,IAAI,SAAS,GAAU,aAAK,CAAC,IAAI,CAAC;QAClC,IAAI,KAAK,GAA6B,IAAI,aAAK,EAAqB,CAAC;QACrE,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,wBAAwB;YACxB,IAAI,UAAU,GAAU,2BAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACjE,IAAI,UAAU,GAAU,2BAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACjE,IAAI,QAAQ,GAAW,2BAAY,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAClE,kBAAkB;YAClB,KAAK,CAAC,GAAG,CAAC,IAAI,qCAAiB,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;YAC/E,iBAAO,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;YACxI,+BAA+B;YAC/B,IAAI,UAAU,GAAU,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACnD,SAAS,GAAG,aAAK,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACjD,CAAC;QACD,UAAU;QACV,WAAW,CAAC,KAAK,EAAE,CAAC;QACpB,0BAA0B;QAC1B,iBAAO,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,sBAAsB,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;QAClH,iBAAO,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,uBAAuB,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9H,OAAO,IAAI,aAAa,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3E,CAAC;;AAtLL,sCAuLC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module OrbitGT\n */\n\n//package orbitgt.pointcloud.format.opc;\n\ntype int8 = number;\ntype int16 = number;\ntype int32 = number;\ntype float32 = number;\ntype float64 = number;\n\n\nimport { ABuffer } from \"../../../system/buffer/ABuffer\";\nimport { LittleEndian } from \"../../../system/buffer/LittleEndian\";\nimport { AList } from \"../../../system/collection/AList\";\nimport { ABufferInStream } from \"../../../system/io/ABufferInStream\";\nimport { InStream } from \"../../../system/io/InStream\";\nimport { ALong } from \"../../../system/runtime/ALong\";\nimport { ASystem } from \"../../../system/runtime/ASystem\";\nimport { Message } from \"../../../system/runtime/Message\";\nimport { Strings } from \"../../../system/runtime/Strings\";\nimport { FileStorage } from \"../../../system/storage/FileStorage\";\nimport { ContainerFilePart } from \"./ContainerFilePart\";\nimport { FileAccess } from \"./FileAccess\";\n\n/**\n * Class ContainerFile defines a single file that contains multiple internal parts.\n *\n * @version 1.0 January 2014\n */\n/** @internal */\nexport class ContainerFile {\n /** The name of this module */\n private static readonly MODULE: string = \"ContainerFile\";\n\n /** The name of the file */\n private _fileName: string;\n /** The length of the file */\n private _fileLength: ALong;\n /** The format */\n private _format: string;\n /** The parts in the file */\n private _parts: AList<ContainerFilePart>;\n\n /**\n * Create a new container file.\n * @param fileName the name of the file.\n * @param fileLength the length of the file.\n * @param format the format.\n * @param parts the parts in the file.\n */\n public constructor(fileName: string, fileLength: ALong, format: string, parts: AList<ContainerFilePart>) {\n this._fileName = fileName;\n this._fileLength = fileLength;\n this._format = format;\n this._parts = parts;\n }\n\n /**\n * Close the container file.\n * @param closeFileAccess close all file access?\n */\n public close(closeFileAccess: boolean): void {\n if (closeFileAccess) for (let i: number = 0; i < this._parts.size(); i++) this._parts.get(i).getFileAccess().close();\n this._parts.clear();\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 length of the file.\n * @return the length of the file.\n */\n public getFileLength(): ALong {\n return this._fileLength;\n }\n\n /**\n * Get the format.\n * @return the format.\n */\n public getFormat(): string {\n return this._format;\n }\n\n /**\n * Get the number of parts.\n * @return the number of parts.\n */\n public getPartCount(): int32 {\n return this._parts.size();\n }\n\n /**\n * Get the list of parts.\n * @return the list of parts.\n */\n public getParts(): AList<ContainerFilePart> {\n return this._parts;\n }\n\n /**\n * Get a part.\n * @param name the name of the part.\n * @return the part (null if not found).\n */\n public getPart(name: string): ContainerFilePart {\n /* Check all parts */\n for (let i: number = 0; i < this._parts.size(); i++) {\n /* Check the next part */\n let part: ContainerFilePart = this._parts.get(i);\n if (Strings.equals(part.getName(), name)) return part;\n }\n /* Not found */\n return null;\n }\n\n /**\n * Check if the magic marker is found.\n * @param input the input stream.\n * @param format the 4-character identifier of the format.\n * @return true if found, false if not.\n */\n private static checkMarker(input: InStream, format: string): boolean {\n let m0: int32 = LittleEndian.readStreamByte(input);\n let m1: int32 = LittleEndian.readStreamByte(input);\n let m2: int32 = LittleEndian.readStreamByte(input);\n let m3: int32 = LittleEndian.readStreamByte(input);\n if (m0 != Strings.getCharAt(format, 0)) return false;\n if (m1 != Strings.getCharAt(format, 1)) return false;\n if (m2 != Strings.getCharAt(format, 2)) return false;\n if (m3 != Strings.getCharAt(format, 3)) return false;\n return true;\n }\n\n /**\n * Read the parts of a container file.\n * @param containerFileName the name of the container file.\n * @param format the 4-character identifier of the format.\n * @return the container file.\n */\n public static async read(fileStorage: FileStorage, containerFileName: string, format: string): Promise<ContainerFile> {\n /* Existing file? */\n Message.print(ContainerFile.MODULE, \"Reading container file '\" + containerFileName + \"'\");\n let fileLength: ALong = await fileStorage.getFileLength(containerFileName);\n if (fileLength.isNegative()) {\n /* Abort */\n Message.printWarning(ContainerFile.MODULE, \"File not found\");\n return null;\n }\n /* Too short? */\n if (fileLength.subInt(16).isNegative()) {\n /* Fail */\n ASystem.assert0(false, \"Invalid container file '\" + containerFileName + \"' (too short)\");\n }\n /* Read the file header */\n let headerSize: int32 = 60 * 1024;\n if (fileLength.subInt(headerSize).isNegative()) headerSize = fileLength.toInt();\n let header: ABuffer = await fileStorage.readFilePart(containerFileName, ALong.ZERO, headerSize);\n let headerInput: ABufferInStream = new ABufferInStream(header, 0, header.size());\n /* Check the marker */\n if (ContainerFile.checkMarker(headerInput, format) == false) {\n /* Fail */\n headerInput.close();\n ASystem.assert0(false, \"Invalid container file '\" + containerFileName + \"' (header marker)\");\n }\n /* Check the version */\n let version: int32 = LittleEndian.readStreamByte(headerInput);\n if (version != 2) {\n /* Fail */\n headerInput.close();\n ASystem.assert0(false, \"Invalid container file '\" + containerFileName + \"' (version \" + version + \")\");\n }\n /* Reserved */\n let r1: int32 = LittleEndian.readStreamByte(headerInput);\n let r2: int32 = LittleEndian.readStreamByte(headerInput);\n let r3: int32 = LittleEndian.readStreamByte(headerInput);\n /* Get the file count */\n let fileCount: int32 = LittleEndian.readStreamInt(headerInput);\n if (fileCount < 0) {\n /* Fail */\n headerInput.close();\n ASystem.assert0(false, ContainerFile.MODULE + \" : Invalid container file '\" + containerFileName + \"' (file count \" + fileCount + \")\");\n }\n /* Define the file access */\n let fileAccess: FileAccess = new FileAccess(fileStorage, containerFileName, fileLength);\n /* Read the parts */\n let maxExtent: ALong = ALong.ZERO;\n let parts: AList<ContainerFilePart> = new AList<ContainerFilePart>();\n for (let i: number = 0; i < fileCount; i++) {\n /* Read the next file */\n let partOffset: ALong = LittleEndian.readStreamLong(headerInput);\n let partLength: ALong = LittleEndian.readStreamLong(headerInput);\n let partName: string = LittleEndian.readStreamString(headerInput);\n /* Add the part */\n parts.add(new ContainerFilePart(partName, fileAccess, partOffset, partLength));\n Message.print(ContainerFile.MODULE, \"Found part '\" + partName + \"' offset \" + partOffset.toDouble() + \" size \" + partLength.toDouble());\n /* Update the maximum extent */\n let partExtent: ALong = partOffset.add(partLength);\n maxExtent = ALong.max(maxExtent, partExtent);\n }\n /* Done */\n headerInput.close();\n /* Return the container */\n Message.print(ContainerFile.MODULE, \"Found \" + parts.size() + \" parts, header size \" + headerInput.getPosition());\n Message.print(ContainerFile.MODULE, \"File size is \" + fileLength.toDouble() + \", max part extent is \" + maxExtent.toDouble());\n return new ContainerFile(containerFileName, fileLength, format, parts);\n }\n}\n"]}
1
+ {"version":3,"file":"ContainerFile.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/ContainerFile.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContainerFilePart.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/ContainerFilePart.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAYH,6DAA0D;AAG1D;;;;GAIG;AACH,gBAAgB;AAChB,MAAa,iBAAiB;IAC1B,eAAe;IACP,KAAK,CAAS;IACtB,sBAAsB;IACd,WAAW,CAAa;IAChC,iBAAiB;IACT,OAAO,CAAQ;IACvB,eAAe;IACP,KAAK,CAAQ;IAErB;;;;;;OAMG;IACH,YAAmB,IAAY,EAAE,UAAsB,EAAE,MAAa,EAAE,IAAW;QAC/E,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IAED;;;OAGG;IACI,OAAO;QACV,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED;;;OAGG;IACI,aAAa;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACI,SAAS;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;;OAGG;IACI,OAAO;QACV,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACI,UAAU,CAAC,WAAkB,EAAE,SAAgB;QAClD,IAAI,WAAW,GAAU,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,MAAM,GAAU,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,iBAAO,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,eAAe,GAAG,WAAW,CAAC,QAAQ,EAAE,GAAG,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrL,iBAAO,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,EAAE,eAAe,GAAG,WAAW,CAAC,QAAQ,EAAE,GAAG,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9K,iBAAO,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,aAAa,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG,cAAc,CAAC,CAAC;QACjG,iBAAO,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,EAAE,eAAe,GAAG,WAAW,CAAC,QAAQ,EAAE,GAAG,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClL,CAAC;CACJ;AArED,8CAqEC;AAED,wBAAwB","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module OrbitGT\n */\n\n//package orbitgt.pointcloud.format.opc;\n\ntype int8 = number;\ntype int16 = number;\ntype int32 = number;\ntype float32 = number;\ntype float64 = number;\n\n\nimport { ALong } from \"../../../system/runtime/ALong\";\nimport { ASystem } from \"../../../system/runtime/ASystem\";\nimport { FileAccess } from \"./FileAccess\";\n\n/**\n * Class ContainerFilePart defines a part in a container file.\n *\n * @version 1.0 January 2014\n */\n/** @internal */\nexport class ContainerFilePart {\n /** The name */\n private _name: string;\n /** The file access */\n private _fileAccess: FileAccess;\n /** The offset */\n private _offset: ALong;\n /** The size */\n private _size: ALong;\n\n /**\n * Create a new part.\n * @param name the name of the part.\n * @param fileAccess the file access.\n * @param offset the offset of the part.\n * @param size the size of the part.\n */\n public constructor(name: string, fileAccess: FileAccess, offset: ALong, size: ALong) {\n this._fileAccess = fileAccess;\n this._offset = offset;\n this._size = size;\n this._name = name;\n }\n\n /**\n * Get the name of the part.\n * @return the name of the part.\n */\n public getName(): string {\n return this._name;\n }\n\n /**\n * Get the file access.\n * @return the file access.\n */\n public getFileAccess(): FileAccess {\n return this._fileAccess;\n }\n\n /**\n * Get the offset of the part.\n * @return the offset of the part.\n */\n public getOffset(): ALong {\n return this._offset;\n }\n\n /**\n * Get the size of the part.\n * @return the size of the part.\n */\n public getSize(): ALong {\n return this._size;\n }\n\n /**\n * Do a range check for this part.\n * @param checkOffset the offset of the range we want to touch.\n * @param checkSize the size of the range we want to touch.\n */\n public rangeCheck(checkOffset: ALong, checkSize: ALong): void {\n let checkExtent: ALong = checkOffset.add(checkSize);\n let extent: ALong = this._offset.add(this._size);\n ASystem.assertNot(checkOffset.sub(this._offset).isNegative(), \"Range offset \" + checkOffset.toString() + \" falls before part \" + this._offset.toString() + \"..\" + extent.toString());\n ASystem.assertNot(extent.sub(checkOffset).isNegative(), \"Range offset \" + checkOffset.toString() + \" falls after part \" + this._offset.toString() + \"..\" + extent.toString());\n ASystem.assertNot(checkSize.isNegative(), \"Range size \" + checkSize.toString() + \" is negative\");\n ASystem.assertNot(extent.sub(checkExtent).isNegative(), \"Range extent \" + checkExtent.toString() + \" falls after part \" + this._offset.toString() + \"..\" + extent.toString());\n }\n}\n\n//ContainerFilePart.java\n"]}
1
+ {"version":3,"file":"ContainerFilePart.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/ContainerFilePart.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAYH,6DAA0D;AAG1D;;;;GAIG;AACH,gBAAgB;AAChB,MAAa,iBAAiB;IAC1B,eAAe;IACP,KAAK,CAAS;IACtB,sBAAsB;IACd,WAAW,CAAa;IAChC,iBAAiB;IACT,OAAO,CAAQ;IACvB,eAAe;IACP,KAAK,CAAQ;IAErB;;;;;;OAMG;IACH,YAAmB,IAAY,EAAE,UAAsB,EAAE,MAAa,EAAE,IAAW;QAC/E,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IAED;;;OAGG;IACI,OAAO;QACV,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED;;;OAGG;IACI,aAAa;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACI,SAAS;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;;OAGG;IACI,OAAO;QACV,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACI,UAAU,CAAC,WAAkB,EAAE,SAAgB;QAClD,IAAI,WAAW,GAAU,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,MAAM,GAAU,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,iBAAO,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,eAAe,GAAG,WAAW,CAAC,QAAQ,EAAE,GAAG,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrL,iBAAO,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,EAAE,eAAe,GAAG,WAAW,CAAC,QAAQ,EAAE,GAAG,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9K,iBAAO,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,aAAa,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG,cAAc,CAAC,CAAC;QACjG,iBAAO,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,EAAE,eAAe,GAAG,WAAW,CAAC,QAAQ,EAAE,GAAG,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClL,CAAC;CACJ;AArED,8CAqEC;AAED,wBAAwB"}
@@ -1 +1 @@
1
- {"version":3,"file":"DirectoryReader.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/DirectoryReader.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 { ABuffer } from \"../../../system/buffer/ABuffer\";\nimport { AList } from \"../../../system/collection/AList\";\nimport { ABufferInStream } from \"../../../system/io/ABufferInStream\";\nimport { ALong } from \"../../../system/runtime/ALong\";\nimport { ASystem } from \"../../../system/runtime/ASystem\";\nimport { ContentLoader } from \"../../../system/storage/ContentLoader\";\nimport { BlockIndex } from \"../../model/BlockIndex\";\nimport { GridIndex } from \"../../model/GridIndex\";\nimport { TileIndex } from \"../../model/TileIndex\";\nimport { BlockRecord } from \"./BlockRecord\";\nimport { ContainerFilePart } from \"./ContainerFilePart\";\nimport { DirectoryRecord } from \"./DirectoryRecord\";\nimport { FileAccess } from \"./FileAccess\";\nimport { FileReader } from \"./FileReader\";\nimport { FileRecord } from \"./FileRecord\";\nimport { TileRecord } from \"./TileRecord\";\n\n/**\n * Class DirectoryReader reads the tile and block directory.\n *\n * @version 1.0 January 2014\n */\n/** @internal */\nexport class DirectoryReader {\n /** The file reader */\n private _fileReader: FileReader;\n /** The level */\n private _level: int32;\n\n /** The location of the tile directory */\n private _tileDirPart: ContainerFilePart;\n /** The location of the block directory */\n private _blockDirPart: ContainerFilePart;\n\n /** The directory record */\n private _directoryRecord: DirectoryRecord;\n /** The blocks (lazy loading) */\n private _blocks: Array<BlockIndex>;\n\n /**\n * Create a new reader.\n * @param fileReader the file reader.\n * @param level the level.\n */\n public constructor(fileReader: FileReader, level: int32) {\n /* Store the parameters */\n this._fileReader = fileReader;\n this._level = level;\n /* Get the tile directory */\n this._tileDirPart = fileReader.getContainer().getPart(\"\" + level + \".tile.directory\");\n /* Get the block directory */\n this._blockDirPart = fileReader.getContainer().getPart(\"\" + level + \".block.directory\");\n /* Clear */\n this._directoryRecord = null;\n this._blocks = new Array<BlockIndex>(0);\n }\n\n /**\n * Get the directory record.\n * @return the directory record.\n */\n public getDirectoryRecord(): DirectoryRecord {\n return this._directoryRecord;\n }\n\n /**\n * Get the blocks.\n * @return the blocks.\n */\n public getBlocks(): Array<BlockIndex> {\n return this._blocks;\n }\n\n /**\n * Load the data.\n * @param readBlockList should the list of blocks be read?\n * @param fileContents the file content read helper.\n * @return the reader.\n */\n public loadData(readBlockList: boolean, fileContents: ContentLoader): DirectoryReader {\n /* Read the record */\n let directoryPart: ContainerFilePart = this._fileReader.getContainer().getPart(\"\" + this._level + \".directory\");\n this._directoryRecord = DirectoryRecord.readNew(directoryPart.getOffset(), directoryPart.getSize(), fileContents);\n /* Read the blocks? */\n if (readBlockList) this.readBlocks(this._fileReader.getFileRecord(), fileContents);\n /* Return the reader */\n return this;\n }\n\n /**\n * Read the blocks.\n * @param fileRecord the file record.\n * @param fileContents the file content read helper.\n * @return the blocks.\n */\n public readBlocks(fileRecord: FileRecord, fileContents: ContentLoader): Array<BlockIndex> {\n /* Request the data? */\n let fileAccess: FileAccess = this._blockDirPart.getFileAccess();\n if (fileContents.isAvailable() == false) {\n /* Add the range */\n fileContents.requestFilePart(this._blockDirPart.getOffset(), this._blockDirPart.getSize().toInt());\n return null;\n }\n /* Get the data */\n let data: ABuffer = fileContents.getFilePart(this._blockDirPart.getOffset(), this._blockDirPart.getSize().toInt());\n /* Allocate the blocks */\n this._blocks = new Array<BlockIndex>(this._directoryRecord.getBlockCount());\n /* Read all blocks */\n let input: ABufferInStream = new ABufferInStream(data, 0, data.size());\n let pointIndex: ALong = ALong.ZERO;\n let tileIndex: int32 = 0;\n for (let i: number = 0; i < this._blocks.length; i++) {\n /* Read the next block */\n let blockIndex: BlockIndex = BlockRecord.readNew(this._level, input, i, tileIndex, pointIndex);\n this._blocks[i] = blockIndex;\n /* Advance */\n tileIndex += blockIndex.tileCount;\n pointIndex = pointIndex.add(blockIndex.pointCount);\n }\n input.close();\n /* We have to match the counts */\n ASystem.assert0(this._directoryRecord.getTileCount() == tileIndex, \"Expected \" + this._directoryRecord.getTileCount() + \" tiles, not \" + tileIndex);\n ASystem.assert0(pointIndex.same(this._directoryRecord.getPointCount()), \"Expected \" + this._directoryRecord.getPointCount().toDouble() + \" points, not \" + pointIndex.toDouble());\n /* Return the blocks */\n return this._blocks;\n }\n\n /**\n * Read the tiles of a block.\n * @param block the block record.\n * @return the tile records.\n */\n public readTiles2(block: BlockIndex, fileContents: ContentLoader): Array<TileIndex> {\n /* Get the tile range */\n let tileIndex: int32 = block.tileIndex;\n let tileCount: int32 = block.tileCount;\n /* Get the file extent */\n let fileName: string = this._tileDirPart.getFileAccess().getFileName();\n let fileSize: ALong = this._fileReader.getContainer().getFileLength();\n let dataOffset: ALong = ALong.fromInt(TileRecord.RECORD_SIZE).mulInt(tileIndex).add(this._tileDirPart.getOffset());\n let dataSize: int32 = tileCount * TileRecord.RECORD_SIZE;\n /* Request the data? */\n if (fileContents.isAvailable() == false) {\n /* Add the range */\n fileContents.requestFilePart(dataOffset, dataSize);\n return null;\n }\n /* Get the data */\n let data: ABuffer = fileContents.getFilePart(dataOffset, dataSize);\n /* Read the tiles */\n let tiles: Array<TileIndex> = new Array<TileIndex>(tileCount);\n let input: ABufferInStream = new ABufferInStream(data, 0, data.size());\n let pointIndex: ALong = block.pointIndex;\n for (let i: number = 0; i < tileCount; i++) {\n /* Read the next tile */\n let tile: TileIndex = new TileIndex(this._level, tileIndex, new GridIndex(0, 0, 0), ALong.ZERO, 0);\n TileRecord.read(tile, this._level, block.index, input, tileIndex, pointIndex);\n tiles[i] = tile;\n tileIndex += 1;\n pointIndex = pointIndex.addInt(tile.pointCount);\n }\n input.close();\n /* Return the tiles */\n return tiles;\n }\n\n /**\n * Get all tile indexes at this level.\n * @param tileFilter the optional tile filter.\n * @param selectionType the type of selection in the pointcloud.\n * @return the list of tiles.\n */\n public getAllTileIndexes2(fileContents: ContentLoader): AList<TileIndex> {\n /* Process all blocks */\n let tileList: AList<TileIndex> = new AList<TileIndex>();\n for (let block of this._blocks) {\n /* Read the tiles */\n let tiles: Array<TileIndex> = this.readTiles2(block, fileContents);\n /* Add all tiles */\n for (let tile of tiles) tileList.add(tile);\n }\n /* Return the list of tiles */\n return tileList;\n }\n}\n"]}
1
+ {"version":3,"file":"DirectoryReader.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/DirectoryReader.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAWH,4DAAyD;AACzD,wEAAqE;AACrE,yDAAsD;AACtD,6DAA0D;AAG1D,qDAAkD;AAClD,qDAAkD;AAClD,+CAA4C;AAE5C,uDAAoD;AAIpD,6CAA0C;AAE1C;;;;GAIG;AACH,gBAAgB;AAChB,MAAa,eAAe;IACxB,sBAAsB;IACd,WAAW,CAAa;IAChC,gBAAgB;IACR,MAAM,CAAQ;IAEtB,yCAAyC;IACjC,YAAY,CAAoB;IACxC,0CAA0C;IAClC,aAAa,CAAoB;IAEzC,2BAA2B;IACnB,gBAAgB,CAAkB;IAC1C,gCAAgC;IACxB,OAAO,CAAoB;IAEnC;;;;OAIG;IACH,YAAmB,UAAsB,EAAE,KAAY;QACnD,0BAA0B;QAC1B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,4BAA4B;QAC5B,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,GAAG,iBAAiB,CAAC,CAAC;QACtF,6BAA6B;QAC7B,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,GAAG,kBAAkB,CAAC,CAAC;QACxF,WAAW;QACX,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,KAAK,CAAa,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACI,kBAAkB;QACrB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAED;;;OAGG;IACI,SAAS;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACI,QAAQ,CAAC,aAAsB,EAAE,YAA2B;QAC/D,qBAAqB;QACrB,IAAI,aAAa,GAAsB,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC;QAChH,IAAI,CAAC,gBAAgB,GAAG,iCAAe,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,aAAa,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;QAClH,sBAAsB;QACtB,IAAI,aAAa;YAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE,YAAY,CAAC,CAAC;QACnF,uBAAuB;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACI,UAAU,CAAC,UAAsB,EAAE,YAA2B;QACjE,uBAAuB;QACvB,IAAI,UAAU,GAAe,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;QAChE,IAAI,YAAY,CAAC,WAAW,EAAE,IAAI,KAAK,EAAE,CAAC;YACtC,mBAAmB;YACnB,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;YACnG,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,kBAAkB;QAClB,IAAI,IAAI,GAAY,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;QACnH,yBAAyB;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,KAAK,CAAa,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAC;QAC5E,qBAAqB;QACrB,IAAI,KAAK,GAAoB,IAAI,iCAAe,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACvE,IAAI,UAAU,GAAU,aAAK,CAAC,IAAI,CAAC;QACnC,IAAI,SAAS,GAAU,CAAC,CAAC;QACzB,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,yBAAyB;YACzB,IAAI,UAAU,GAAe,yBAAW,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YAC/F,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;YAC7B,aAAa;YACb,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC;YAClC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC;QACD,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,iCAAiC;QACjC,iBAAO,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,cAAc,GAAG,SAAS,CAAC,CAAC;QACpJ,iBAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,GAAG,eAAe,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClL,uBAAuB;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACI,UAAU,CAAC,KAAiB,EAAE,YAA2B;QAC5D,wBAAwB;QACxB,IAAI,SAAS,GAAU,KAAK,CAAC,SAAS,CAAC;QACvC,IAAI,SAAS,GAAU,KAAK,CAAC,SAAS,CAAC;QACvC,yBAAyB;QACzB,IAAI,QAAQ,GAAW,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,CAAC;QACvE,IAAI,QAAQ,GAAU,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,aAAa,EAAE,CAAC;QACtE,IAAI,UAAU,GAAU,aAAK,CAAC,OAAO,CAAC,uBAAU,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC;QACnH,IAAI,QAAQ,GAAU,SAAS,GAAG,uBAAU,CAAC,WAAW,CAAC;QACzD,uBAAuB;QACvB,IAAI,YAAY,CAAC,WAAW,EAAE,IAAI,KAAK,EAAE,CAAC;YACtC,mBAAmB;YACnB,YAAY,CAAC,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,kBAAkB;QAClB,IAAI,IAAI,GAAY,YAAY,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACnE,oBAAoB;QACpB,IAAI,KAAK,GAAqB,IAAI,KAAK,CAAY,SAAS,CAAC,CAAC;QAC9D,IAAI,KAAK,GAAoB,IAAI,iCAAe,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACvE,IAAI,UAAU,GAAU,KAAK,CAAC,UAAU,CAAC;QACzC,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,wBAAwB;YACxB,IAAI,IAAI,GAAc,IAAI,qBAAS,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,qBAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,aAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACnG,uBAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YAC9E,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAChB,SAAS,IAAI,CAAC,CAAC;YACf,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpD,CAAC;QACD,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,sBAAsB;QACtB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACI,kBAAkB,CAAC,YAA2B;QACjD,wBAAwB;QACxB,IAAI,QAAQ,GAAqB,IAAI,aAAK,EAAa,CAAC;QACxD,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7B,oBAAoB;YACpB,IAAI,KAAK,GAAqB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YACnE,mBAAmB;YACnB,KAAK,IAAI,IAAI,IAAI,KAAK;gBAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;QACD,8BAA8B;QAC9B,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ;AAjKD,0CAiKC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DirectoryRecord.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/DirectoryRecord.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAWH,sEAAmE;AAKnE;;;;GAIG;AACH,gBAAgB;AAChB,MAAa,eAAe;IACxB,oCAAoC;IAC5B,WAAW,CAAQ;IAC3B,mCAAmC;IAC3B,UAAU,CAAQ;IAC1B,oCAAoC;IAC5B,WAAW,CAAQ;IAE3B;;OAEG;IACH,YAAmB,UAAiB,EAAE,SAAgB,EAAE,UAAiB;QACrE,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAClC,CAAC;IAED;;;OAGG;IACI,aAAa;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACI,YAAY;QACf,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACI,aAAa;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,cAAc,CAAC,IAAa;QACvC,2BAA2B;QAC3B,IAAI,UAAU,GAAU,2BAAY,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7D,IAAI,SAAS,GAAU,2BAAY,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3D,IAAI,UAAU,GAAU,2BAAY,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7D,uBAAuB;QACvB,OAAO,IAAI,eAAe,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,OAAO,CAAC,MAAa,EAAE,IAAW,EAAE,aAA4B;QAC1E,uBAAuB;QACvB,IAAI,aAAa,CAAC,QAAQ,EAAE,IAAI,KAAK,EAAE,CAAC;YACpC,mBAAmB;YACnB,aAAa,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,kBAAkB;QAClB,IAAI,IAAI,GAAY,aAAa,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACpE,sBAAsB;QACtB,OAAO,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,MAAiB;QAC1B,2BAAY,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACvD,2BAAY,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,2BAAY,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC;CACJ;AAnFD,0CAmFC","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 { ABuffer } from \"../../../system/buffer/ABuffer\";\nimport { LittleEndian } from \"../../../system/buffer/LittleEndian\";\nimport { OutStream } from \"../../../system/io/OutStream\";\nimport { ALong } from \"../../../system/runtime/ALong\";\nimport { ContentLoader } from \"../../../system/storage/ContentLoader\";\n\n/**\n * Class DirectoryRecord defines a directory record.\n *\n * @version 1.0 January 2014\n */\n/** @internal */\nexport class DirectoryRecord {\n /** The number of points (8 byte) */\n private _pointCount: ALong;\n /** The number of tiles (4 byte) */\n private _tileCount: int32;\n /** The number of blocks (4 byte) */\n private _blockCount: int32;\n\n /**\n * Create a new record.\n */\n public constructor(pointCount: ALong, tileCount: int32, blockCount: int32) {\n this._pointCount = pointCount;\n this._tileCount = tileCount;\n this._blockCount = blockCount;\n }\n\n /**\n * Get the number of points.\n * @return the number.\n */\n public getPointCount(): ALong {\n return this._pointCount;\n }\n\n /**\n * Get the number of tiles.\n * @return the number.\n */\n public getTileCount(): int32 {\n return this._tileCount;\n }\n\n /**\n * Get the number of blocks.\n * @return the number.\n */\n public getBlockCount(): int32 {\n return this._blockCount;\n }\n\n /**\n * Read a record.\n * @param data the record data.\n * @return the record.\n */\n private static readFromBuffer(data: ABuffer): DirectoryRecord {\n /* Get the record fields */\n let pointCount: ALong = LittleEndian.readBufferLong(data, 0);\n let tileCount: int32 = LittleEndian.readBufferInt(data, 8);\n let blockCount: int32 = LittleEndian.readBufferInt(data, 12);\n /* Return the record */\n return new DirectoryRecord(pointCount, tileCount, blockCount);\n }\n\n /**\n * Read a record.\n * @param offset the file offset to the record.\n * @param size the file size to the record.\n * @return the record.\n */\n public static readNew(offset: ALong, size: ALong, contentLoader: ContentLoader): DirectoryRecord {\n /* Request the data? */\n if (contentLoader.isLoaded() == false) {\n /* Add the range */\n contentLoader.requestFilePart(offset, size.toInt());\n return null;\n }\n /* Get the data */\n let data: ABuffer = contentLoader.getFilePart(offset, size.toInt());\n /* Parse the record */\n return DirectoryRecord.readFromBuffer(data);\n }\n\n /**\n * Write the record.\n * @param output the output stream.\n */\n public write(output: OutStream): void {\n LittleEndian.writeStreamLong(output, this._pointCount);\n LittleEndian.writeStreamInt(output, this._tileCount);\n LittleEndian.writeStreamInt(output, this._blockCount);\n }\n}\n"]}
1
+ {"version":3,"file":"DirectoryRecord.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/DirectoryRecord.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAWH,sEAAmE;AAKnE;;;;GAIG;AACH,gBAAgB;AAChB,MAAa,eAAe;IACxB,oCAAoC;IAC5B,WAAW,CAAQ;IAC3B,mCAAmC;IAC3B,UAAU,CAAQ;IAC1B,oCAAoC;IAC5B,WAAW,CAAQ;IAE3B;;OAEG;IACH,YAAmB,UAAiB,EAAE,SAAgB,EAAE,UAAiB;QACrE,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAClC,CAAC;IAED;;;OAGG;IACI,aAAa;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACI,YAAY;QACf,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACI,aAAa;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,cAAc,CAAC,IAAa;QACvC,2BAA2B;QAC3B,IAAI,UAAU,GAAU,2BAAY,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7D,IAAI,SAAS,GAAU,2BAAY,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3D,IAAI,UAAU,GAAU,2BAAY,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7D,uBAAuB;QACvB,OAAO,IAAI,eAAe,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,OAAO,CAAC,MAAa,EAAE,IAAW,EAAE,aAA4B;QAC1E,uBAAuB;QACvB,IAAI,aAAa,CAAC,QAAQ,EAAE,IAAI,KAAK,EAAE,CAAC;YACpC,mBAAmB;YACnB,aAAa,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,kBAAkB;QAClB,IAAI,IAAI,GAAY,aAAa,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACpE,sBAAsB;QACtB,OAAO,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,MAAiB;QAC1B,2BAAY,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACvD,2BAAY,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,2BAAY,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC;CACJ;AAnFD,0CAmFC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EmbeddedAttributeReader.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/EmbeddedAttributeReader.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module OrbitGT\n */\n\n//package orbitgt.pointcloud.format.opc;\n\ntype int8 = number;\ntype int16 = number;\ntype int32 = number;\ntype float32 = number;\ntype float64 = number;\n\n\nimport { ABuffer } from \"../../../system/buffer/ABuffer\";\nimport { LittleEndian } from \"../../../system/buffer/LittleEndian\";\nimport { ABufferInStream } from \"../../../system/io/ABufferInStream\";\nimport { InStream } from \"../../../system/io/InStream\";\nimport { ALong } from \"../../../system/runtime/ALong\";\nimport { ContentLoader } from \"../../../system/storage/ContentLoader\";\nimport { AttributeValue } from \"../../model/AttributeValue\";\nimport { CloudPoint } from \"../../model/CloudPoint\";\nimport { PointAttribute } from \"../../model/PointAttribute\";\nimport { ReadRequest } from \"../../model/ReadRequest\";\nimport { StandardAttributes } from \"../../model/StandardAttributes\";\nimport { TileIndex } from \"../../model/TileIndex\";\nimport { AttributeReader } from \"./AttributeReader\";\nimport { ContainerFile } from \"./ContainerFile\";\nimport { ContainerFilePart } from \"./ContainerFilePart\";\nimport { FileAccess } from \"./FileAccess\";\nimport { TileReadBuffer } from \"./TileReadBuffer\";\n\n/**\n * Class EmbeddedAttributeReader reads attribute data.\n *\n * @version 1.0 January 2014\n */\n/** @internal */\nexport class EmbeddedAttributeReader extends AttributeReader {\n /** The container */\n private _container: ContainerFile;\n /** The index */\n private _index: int32;\n /** The number of levels */\n private _levelCount: int32;\n\n /** The definition of the attribute */\n private _attribute: PointAttribute;\n /** The value range of the attribute */\n private _minValue: AttributeValue;\n private _maxValue: AttributeValue;\n /** Is this the legacy color attribute? */\n private _standardColor: boolean;\n /** Is this the legacy intensity attribute? */\n private _standardIntensity: boolean;\n\n /** The point-attribute data parts (one per level) */\n private _pointDataParts: Array<ContainerFilePart>;\n /** The block-attribute data parts (one per level) */\n private _blockDataParts: Array<ContainerFilePart>;\n /** The tile-attribute data parts (one per level) */\n private _tileDataParts: Array<ContainerFilePart>;\n\n /**\n * Create a new reader.\n * @param container the container.\n * @param index the index.\n * @param levelCount the number of levels.\n */\n public constructor(container: ContainerFile, index: int32, levelCount: int32) {\n super();\n /* Store the parameters */\n this._container = container;\n this._index = index;\n this._levelCount = levelCount;\n /* Clear */\n this._attribute = null;\n this._minValue = null;\n this._maxValue = null;\n this._standardColor = false;\n this._standardIntensity = false;\n /* Find the data parts */\n this._pointDataParts = new Array<ContainerFilePart>(levelCount);\n this._blockDataParts = new Array<ContainerFilePart>(levelCount);\n this._tileDataParts = new Array<ContainerFilePart>(levelCount);\n for (let i: number = 0; i < levelCount; i++) this._pointDataParts[i] = container.getPart(\"\" + i + \".attribute.\" + this._index + \".pointdata\");\n for (let i: number = 0; i < levelCount; i++) this._blockDataParts[i] = container.getPart(\"\" + i + \".attribute.\" + this._index + \".blockdata\");\n for (let i: number = 0; i < levelCount; i++) this._tileDataParts[i] = container.getPart(\"\" + i + \".attribute.\" + this._index + \".tiledata\");\n }\n\n /**\n * Read the attribute information.\n * @param data the attribute data.\n */\n private readAttribute(data: ABuffer): void {\n /* Read the definition */\n this._minValue = new AttributeValue();\n this._maxValue = new AttributeValue();\n let input: ABufferInStream = new ABufferInStream(data, 0, data.size());\n this._attribute = EmbeddedAttributeReader.readDefinition(input, this._minValue, this._maxValue);\n input.close();\n /* Standard attribute? */\n this._standardColor = (StandardAttributes.COLOR.hasName(this._attribute.getName()));\n if (this._standardColor) this._attribute.setStandardAttribute(true);\n this._standardIntensity = (StandardAttributes.INTENSITY.hasName(this._attribute.getName()));\n if (this._standardIntensity) this._attribute.setStandardAttribute(true);\n }\n\n /**\n * Load the data.\n * @return the reader.\n */\n public loadData(fileContents: ContentLoader): EmbeddedAttributeReader {\n /* Get the part */\n let definitionPart: ContainerFilePart = this._container.getPart(\"attribute.\" + this._index + \".definition\");\n let fileAccess: FileAccess = definitionPart.getFileAccess();\n /* Request the data? */\n if (fileContents.isAvailable() == false) {\n /* Add the range */\n fileContents.requestFilePart(definitionPart.getOffset(), definitionPart.getSize().toInt());\n return null;\n }\n /* Get the data */\n let data: ABuffer = fileContents.getFilePart(definitionPart.getOffset(), definitionPart.getSize().toInt());\n /* Read the attribute */\n this.readAttribute(data);\n /* Return the reader */\n return this;\n }\n\n /**\n * AttributeReader abstract method.\n * @see AttributeReader#close\n */\n public close(): void {\n }\n\n /**\n * Get the container.\n * @return the container.\n */\n public getContainer(): ContainerFile {\n return this._container;\n }\n\n /**\n * Get the index.\n * @return the index.\n */\n public getIndex(): int32 {\n return this._index;\n }\n\n /**\n * Read the definition of the attribute.\n */\n public static readDefinition(input: InStream, minValue: AttributeValue, maxValue: AttributeValue): PointAttribute {\n /* Read the definition */\n let name: string = LittleEndian.readStreamString(input);\n let description: string = LittleEndian.readStreamString(input);\n let type: int32 = LittleEndian.readStreamInt(input);\n let defaultValue: AttributeValue = AttributeValue.readFromStream(input, type);\n let attribute: PointAttribute = new PointAttribute(name, description, type, defaultValue);\n /* Read the value range */\n let minValue2: AttributeValue = AttributeValue.readFromStream(input, type);\n minValue2.copyTo(minValue);\n let maxValue2: AttributeValue = AttributeValue.readFromStream(input, type);\n maxValue2.copyTo(maxValue);\n /* Return the attribute */\n return attribute;\n }\n\n /**\n * AttributeReader abstract method.\n * @see AttributeReader#getAttribute\n */\n public getAttribute(): PointAttribute {\n return this._attribute;\n }\n\n /**\n * AttributeReader abstract method.\n * @see AttributeReader#getMinimumValue\n */\n public getMinimumValue(): AttributeValue {\n return this._minValue;\n }\n\n /**\n * AttributeReader abstract method.\n * @see AttributeReader#getMaximumValue\n */\n public getMaximumValue(): AttributeValue {\n return this._maxValue;\n }\n\n /**\n * AttributeReader abstract method.\n * @see AttributeReader#readTileData2\n */\n public readTileData2(level: int32, tile: TileIndex, pointOffset: ALong, pointCount: int32, tileBuffer: TileReadBuffer, bufferIndex: int32, readRequest: ReadRequest, fileContents: ContentLoader): void {\n /* Get the right part */\n let pointDataPart: ContainerFilePart = this._pointDataParts[level];\n /* Get the file extent */\n let fileName: string = pointDataPart.getFileAccess().getFileName();\n let fileSize: ALong = this._container.getFileLength();\n let offset: ALong = pointDataPart.getOffset().add(this._attribute.getTypeByteSizeForLongCount(tile.pointIndex.add(pointOffset)));\n let size: int32 = this._attribute.getTypeByteSizeForCount(pointCount);\n pointDataPart.rangeCheck(offset, ALong.fromInt(size));\n /* Request the data? */\n if (fileContents.isAvailable() == false) {\n /* Add the range */\n fileContents.requestFilePart(offset, size);\n return;\n }\n /* Add the statistics */\n readRequest.addDataSize(size);\n /* Read the content */\n let data: ABuffer = fileContents.getFilePart(offset, size);\n tileBuffer.setAttributeBuffer(bufferIndex, data);\n }\n\n /**\n * AttributeReader abstract method.\n * @see AttributeReader#getPointData\n */\n public getPointData(level: int32, tile: TileIndex, tileBuffer: TileReadBuffer, bufferIndex: int32, pointIndex: int32, cloudPoint: CloudPoint): void {\n /* Get the buffer */\n let buffer: ABuffer = tileBuffer.getAttributeBuffer(bufferIndex);\n let offset: int32 = this._attribute.getTypeByteSizeForCount(pointIndex);\n /* Read the value */\n let attribute: PointAttribute = cloudPoint.getAttribute(bufferIndex);\n let value: AttributeValue = cloudPoint.getAttributeValue(bufferIndex);\n AttributeValue.readFromBufferTo(buffer, offset, attribute.getType(), value);\n /* Standard attribute? */\n if (this._standardColor) cloudPoint.setColor(value.getColor());\n if (this._standardIntensity) cloudPoint.setIntensity(value.getInt2());\n }\n}\n"]}
1
+ {"version":3,"file":"EmbeddedAttributeReader.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/EmbeddedAttributeReader.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FileAccess.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/FileAccess.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAaH;;;;GAIG;AACH,gBAAgB;AAChB,MAAa,UAAU;IACnB,8BAA8B;IACtB,YAAY,CAAc;IAClC,2BAA2B;IACnB,SAAS,CAAS;IAC1B,6BAA6B;IACrB,WAAW,CAAQ;IAE3B;;;;OAIG;IACH,YAAmB,WAAwB,EAAE,QAAgB,EAAE,UAAiB;QAC5E,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAClC,CAAC;IAED;;OAEG;IACI,KAAK;IACZ,CAAC;IAED;;;OAGG;IACI,WAAW;QACd,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACI,aAAa;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;CACJ;AAxCD,gCAwCC","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 { ALong } from \"../../../system/runtime/ALong\";\nimport { FileStorage } from \"../../../system/storage/FileStorage\";\n\n/**\n * Class FileAccess provides thread-safe random-access to a file.\n *\n * @version 1.0 January 2014\n */\n/** @internal */\nexport class FileAccess {\n /** The storage of the file */\n private _fileStorage: FileStorage;\n /** The name of the file */\n private _fileName: string;\n /** The length of the file */\n private _fileLength: ALong;\n\n /**\n * Create a new file access.\n * @param fileName the name of the file.\n * @param fileLength the length of the file.\n */\n public constructor(fileStorage: FileStorage, fileName: string, fileLength: ALong) {\n this._fileStorage = fileStorage;\n this._fileName = fileName;\n this._fileLength = fileLength;\n }\n\n /**\n * Close the file access.\n */\n public close(): void {\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 length of the file.\n * @return the length of the file.\n */\n public getFileLength(): ALong {\n return this._fileLength;\n }\n}\n"]}
1
+ {"version":3,"file":"FileAccess.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/FileAccess.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAaH;;;;GAIG;AACH,gBAAgB;AAChB,MAAa,UAAU;IACnB,8BAA8B;IACtB,YAAY,CAAc;IAClC,2BAA2B;IACnB,SAAS,CAAS;IAC1B,6BAA6B;IACrB,WAAW,CAAQ;IAE3B;;;;OAIG;IACH,YAAmB,WAAwB,EAAE,QAAgB,EAAE,UAAiB;QAC5E,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAClC,CAAC;IAED;;OAEG;IACI,KAAK;IACZ,CAAC;IAED;;;OAGG;IACI,WAAW;QACd,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACI,aAAa;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;CACJ;AAxCD,gCAwCC"}
@@ -1 +1 @@
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"]}
1
+ {"version":3,"file":"FileReader.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/FileReader.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FileRecord.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/FileRecord.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 { ABuffer } from \"../../../system/buffer/ABuffer\";\nimport { LittleEndian } from \"../../../system/buffer/LittleEndian\";\nimport { OutStream } from \"../../../system/io/OutStream\";\nimport { ALong } from \"../../../system/runtime/ALong\";\nimport { FileStorage } from \"../../../system/storage/FileStorage\";\n\n/**\n * Class FileRecord defines the global file record.\n *\n * @version 1.0 January 2014\n */\n/** @internal */\nexport class FileRecord {\n /** The optionsALong */\n private _options: int32;\n /** The CRS */\n private _crs: string;\n /** The number of levels (4 byte) */\n private _levelCount: int32;\n /** The number of attributes (4 byte) */\n private _attributeCount: int32;\n /** The size of the blocks (4 byte) */\n private _blockSize: int32;\n /** The metric level-0 cell size (8 byte) */\n private _metricCellSize: float64;\n /** The creation timestamp (8 byte) */\n private _creationTime: ALong;\n\n /**\n * Create a new record.\n */\n public constructor(options: int32, crs: string, levelCount: int32, attributeCount: int32, blockSize: int32, metricCellSize: float64, creationTime: ALong) {\n this._options = options;\n this._crs = crs;\n this._levelCount = levelCount;\n this._attributeCount = attributeCount;\n this._blockSize = blockSize;\n this._metricCellSize = metricCellSize;\n this._creationTime = creationTime;\n }\n\n /**\n * Get the options.\n * @return the options.\n */\n public getOptions(): int32 {\n return this._options;\n }\n\n /**\n * Get the CRS.\n * @return the CRS.\n */\n public getCRS(): string {\n return this._crs;\n }\n\n /**\n * Get the number of levels.\n * @return the number.\n */\n public getLevelCount(): int32 {\n return this._levelCount;\n }\n\n /**\n * Get the number of attributes.\n * @return the number.\n */\n public getAttributeCount(): int32 {\n return this._attributeCount;\n }\n\n /**\n * Get the size of blocks.\n * @return the number.\n */\n public getBlockSize(): int32 {\n return this._blockSize;\n }\n\n /**\n * Get the metric cell size.\n * @return the metric cell size.\n */\n public getMetricCellSize(): float64 {\n return this._metricCellSize;\n }\n\n /**\n * Get the creation timestamp.\n * @return the creation timestamp.\n */\n public getCreationTime(): ALong {\n return this._creationTime;\n }\n\n /**\n * Read a record.\n * @param data the record data.\n * @return the record.\n */\n private static readFromBuffer(data: ABuffer): FileRecord {\n /* Get the record fields */\n let options: int32 = LittleEndian.readBufferInt(data, 0);\n let crs: string = LittleEndian.readBufferString(data, 4);\n let dataOffset: int32 = 4 + LittleEndian.getStringByteCount(crs);\n let levelCount: int32 = LittleEndian.readBufferInt(data, dataOffset + 0);\n let attributeCount: int32 = LittleEndian.readBufferInt(data, dataOffset + 4);\n let blockSize: int32 = LittleEndian.readBufferInt(data, dataOffset + 8);\n let metricCellSize: float64 = LittleEndian.readBufferDouble(data, dataOffset + 12);\n let creationTime: ALong = LittleEndian.readBufferLong(data, dataOffset + 20);\n /* Return the record */\n return new FileRecord(options, crs, levelCount, attributeCount, blockSize, metricCellSize, creationTime);\n }\n\n /**\n * Read a record.\n * @param fileAccess the access to the file.\n * @param offset the file offset to the record.\n * @param size the file size to the record.\n * @return the record.\n */\n public static async readNew(fileStorage: FileStorage, fileName: string, offset: ALong, size: ALong): Promise<FileRecord> {\n /* Read the record */\n let data: ABuffer = await fileStorage.readFilePart(fileName, offset, size.toInt());\n /* Parse the record */\n return FileRecord.readFromBuffer(data);\n }\n\n /**\n * Write the record.\n * @param output the output stream.\n */\n public write(output: OutStream): void {\n LittleEndian.writeStreamInt(output, this._options);\n LittleEndian.writeStreamString(output, this._crs);\n LittleEndian.writeStreamInt(output, this._levelCount);\n LittleEndian.writeStreamInt(output, this._attributeCount);\n LittleEndian.writeStreamInt(output, this._blockSize);\n LittleEndian.writeStreamDouble(output, this._metricCellSize);\n LittleEndian.writeStreamLong(output, this._creationTime);\n }\n}\n"]}
1
+ {"version":3,"file":"FileRecord.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/FileRecord.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"GeometryReader.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/GeometryReader.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAYH,sEAAmE;AACnE,sEAAmE;AACnE,oEAAiE;AACjE,yDAAsD;AAStD,qDAAkD;AAGlD;;;;GAIG;AACH,gBAAgB;AAChB,MAAa,cAAc;IACvB,yDAAyD;IAClD,MAAM,CAAU,cAAc,GAAU,CAAC,CAAC;IACjD,wDAAwD;IACjD,MAAM,CAAU,cAAc,GAAU,CAAC,CAAC;IAEjD,mEAAmE;IAC5D,MAAM,CAAU,YAAY,GAAU,EAAE,CAAC;IAEhD,sBAAsB;IACd,WAAW,CAAa;IAChC,gBAAgB;IACR,MAAM,CAAQ;IAEtB,0BAA0B;IAClB,eAAe,CAAiB;IACxC,wCAAwC;IAChC,iBAAiB,CAAoB;IAE7C;;;;OAIG;IACH,YAAmB,UAAsB,EAAE,KAAY;QACnD,0BAA0B;QAC1B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,2BAA2B;QAC3B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,GAAG,gBAAgB,CAAC,CAAC;IAC9F,CAAC;IAED;;;OAGG;IACI,QAAQ,CAAC,YAA2B;QACvC,qBAAqB;QACrB,IAAI,YAAY,GAAsB,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,sBAAsB,CAAC,CAAC;QACzH,IAAI,CAAC,eAAe,GAAG,+BAAc,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,YAAY,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;QAC9G,uBAAuB;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACI,iBAAiB;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACI,aAAa,CAAC,IAAe,EAAE,WAAkB,EAAE,UAAiB,EAAE,UAA0B,EAAE,WAAwB,EAAE,YAA2B;QAC1J,iCAAiC;QACjC,IAAI,aAAa,GAAY,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/C,IAAI,UAAU,GAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC;QACxG,yBAAyB;QACzB,IAAI,QAAQ,GAAU,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,aAAa,EAAE,CAAC;QACtE,IAAI,MAAM,GAAU,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC;QACnH,IAAI,IAAI,GAAU,UAAU,GAAG,UAAU,CAAC;QAC1C,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,EAAE,aAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,uBAAuB;QACvB,IAAI,YAAY,CAAC,WAAW,EAAE,IAAI,KAAK,EAAE,CAAC;YACtC,mBAAmB;YACnB,YAAY,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC3C,OAAO;QACX,CAAC;QACD,2BAA2B;QAC3B,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9B,sBAAsB;QACtB,IAAI,IAAI,GAAY,YAAY,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC3D,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,mBAAmB,CAAC,KAAY;QAC1C,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;OAMG;IACI,YAAY,CAAC,IAAe,EAAE,UAA0B,EAAE,UAAiB,EAAE,UAAsB;QACtG,iCAAiC;QACjC,IAAI,aAAa,GAAY,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/C,IAAI,UAAU,GAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC;QACxG,oBAAoB;QACpB,IAAI,MAAM,GAAY,UAAU,CAAC,iBAAiB,EAAE,CAAC;QACrD,IAAI,MAAM,GAAU,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC;QAC9C,6BAA6B;QAC7B,IAAI,EAAS,CAAC;QACd,IAAI,EAAS,CAAC;QACd,IAAI,EAAS,CAAC;QACd,IAAI,aAAa,EAAE,CAAC;YAChB,mCAAmC;YACnC,EAAE,GAAG,cAAc,CAAC,mBAAmB,CAAC,2BAAY,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YACrF,MAAM,EAAE,CAAC;YACT,EAAE,GAAG,cAAc,CAAC,mBAAmB,CAAC,2BAAY,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YACrF,MAAM,EAAE,CAAC;YACT,EAAE,GAAG,cAAc,CAAC,mBAAmB,CAAC,2BAAY,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACzF,CAAC;aACI,CAAC;YACF,oCAAoC;YACpC,EAAE,GAAG,2BAAY,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAClD,MAAM,IAAI,CAAC,CAAC;YACZ,EAAE,GAAG,2BAAY,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAClD,MAAM,IAAI,CAAC,CAAC;YACZ,EAAE,GAAG,2BAAY,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC;QACD,kBAAkB;QAClB,IAAI,IAAI,GAAS,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;QACpD,2BAA2B;QAC3B,IAAI,MAAM,GAAY,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnE,IAAI,MAAM,GAAY,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnE,IAAI,MAAM,GAAY,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnE,sCAAsC;QACtC,IAAI,MAAM,GAAY,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC;QAC5C,IAAI,MAAM,GAAY,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC;QAC5C,IAAI,MAAM,GAAY,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC;QAC5C,sBAAsB;QACtB,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC;QACtC,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC;QACtC,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACI,eAAe,CAAC,IAAe,EAAE,UAA0B,EAAE,SAAuB;QACvF,iCAAiC;QACjC,IAAI,aAAa,GAAY,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/C,IAAI,aAAa,EAAE,CAAC;YAChB,qCAAqC;YACrC,SAAS,CAAC,OAAO,GAAG,IAAI,yBAAW,CAAC,UAAU,CAAC,iBAAiB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAChG,CAAC;aACI,CAAC;YACF,qCAAqC;YACrC,SAAS,CAAC,QAAQ,GAAG,IAAI,2BAAY,CAAC,UAAU,CAAC,iBAAiB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAClG,CAAC;IACL,CAAC;;AA7JL,wCA8JC","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 { ABuffer } from \"../../../system/buffer/ABuffer\";\nimport { LittleEndian } from \"../../../system/buffer/LittleEndian\";\nimport { Uint16Buffer } from \"../../../system/buffer/Uint16Buffer\";\nimport { Uint8Buffer } from \"../../../system/buffer/Uint8Buffer\";\nimport { ALong } from \"../../../system/runtime/ALong\";\nimport { ContentLoader } from \"../../../system/storage/ContentLoader\";\nimport { CloudPoint } from \"../../model/CloudPoint\";\nimport { Grid } from \"../../model/Grid\";\nimport { PointDataRaw } from \"../../model/PointDataRaw\";\nimport { ReadRequest } from \"../../model/ReadRequest\";\nimport { TileIndex } from \"../../model/TileIndex\";\nimport { ContainerFilePart } from \"./ContainerFilePart\";\nimport { FileReader } from \"./FileReader\";\nimport { GeometryRecord } from \"./GeometryRecord\";\nimport { TileReadBuffer } from \"./TileReadBuffer\";\n\n/**\n * Class GeometryReader reads geometry data.\n *\n * @version 1.0 January 2014\n */\n/** @internal */\nexport class GeometryReader {\n /** The size of the high-resolution record in the file */\n public static readonly RECORD_SIZE_HR: int32 = 6;\n /** The size of the low-resolution record in the file */\n public static readonly RECORD_SIZE_LR: int32 = 3;\n\n /** The number of bins (subdivisions) in a multi-resolution tile */\n public static readonly MR_BIN_COUNT: int32 = 64;\n\n /** The file reader */\n private _fileReader: FileReader;\n /** The level */\n private _level: int32;\n\n /** The geometry record */\n private _geometryRecord: GeometryRecord;\n /** The location of the geometry data */\n private _geometryDataPart: ContainerFilePart;\n\n /**\n * Create a new reader.\n * @param opcReader the file reader.\n * @param level the level.\n */\n public constructor(fileReader: FileReader, level: int32) {\n /* Store the parameters */\n this._fileReader = fileReader;\n this._level = level;\n /* Get the geometry data */\n this._geometryRecord = null;\n this._geometryDataPart = fileReader.getContainer().getPart(\"\" + level + \".geometry.data\");\n }\n\n /**\n * Load the data.\n * @return the reader.\n */\n public loadData(fileContents: ContentLoader): GeometryReader {\n /* Read the record */\n let geometryPart: ContainerFilePart = this._fileReader.getContainer().getPart(\"\" + this._level + \".geometry.definition\");\n this._geometryRecord = GeometryRecord.readNew(geometryPart.getOffset(), geometryPart.getSize(), fileContents);\n /* Return the reader */\n return this;\n }\n\n /**\n * Get the geometry record.\n * @return the geometry record.\n */\n public getGeometryRecord(): GeometryRecord {\n return this._geometryRecord;\n }\n\n /**\n * Read the raw data for a tile.\n * @param tile the tile.\n * @param tileBuffer the buffer to read into.\n * @param readRequest the read parameters (contains the result read statistics).\n */\n public readTileData2(tile: TileIndex, pointOffset: int32, pointCount: int32, tileBuffer: TileReadBuffer, readRequest: ReadRequest, fileContents: ContentLoader): void {\n /* What resolution do we have? */\n let lowResolution: boolean = (this._level > 0);\n let recordSize: int32 = (lowResolution) ? GeometryReader.RECORD_SIZE_LR : GeometryReader.RECORD_SIZE_HR;\n /* Get the file extent */\n let fileSize: ALong = this._fileReader.getContainer().getFileLength();\n let offset: ALong = tile.pointIndex.addInt(pointOffset).mulInt(recordSize).add(this._geometryDataPart.getOffset());\n let size: int32 = pointCount * recordSize;\n this._geometryDataPart.rangeCheck(offset, ALong.fromInt(size));\n /* Request the data? */\n if (fileContents.isAvailable() == false) {\n /* Add the range */\n fileContents.requestFilePart(offset, size);\n return;\n }\n /* Update the statistics */\n readRequest.addDataSize(size);\n /* Read the content */\n let data: ABuffer = fileContents.getFilePart(offset, size);\n tileBuffer.setGeometryBuffer(data);\n }\n\n /**\n * Convert a low-resolution coordinate to a high-resolution one.\n * @param local the low-resolution coordinate.\n * @return the high-resolution coordinate.\n */\n public static lowToHighResolution(local: int32): int32 {\n return (local << 8) + (128);\n }\n\n /**\n * Get geometry data.\n * @param tile the tile.\n * @param tileBuffer the buffer that has been read.\n * @param pointIndex the index of the point to read.\n * @param cloudPoint the point to read the geometry of.\n */\n public getPointData(tile: TileIndex, tileBuffer: TileReadBuffer, pointIndex: int32, cloudPoint: CloudPoint): void {\n /* What resolution do we have? */\n let lowResolution: boolean = (this._level > 0);\n let recordSize: int32 = (lowResolution) ? GeometryReader.RECORD_SIZE_LR : GeometryReader.RECORD_SIZE_HR;\n /* Get the buffer */\n let buffer: ABuffer = tileBuffer.getGeometryBuffer();\n let offset: int32 = (pointIndex * recordSize);\n /* Read the local position */\n let lx: int32;\n let ly: int32;\n let lz: int32;\n if (lowResolution) {\n /* Read the 8-bit local position */\n lx = GeometryReader.lowToHighResolution(LittleEndian.readBufferByte(buffer, offset));\n offset++;\n ly = GeometryReader.lowToHighResolution(LittleEndian.readBufferByte(buffer, offset));\n offset++;\n lz = GeometryReader.lowToHighResolution(LittleEndian.readBufferByte(buffer, offset));\n }\n else {\n /* Read the 16-bit local position */\n lx = LittleEndian.readBufferShort(buffer, offset);\n offset += 2;\n ly = LittleEndian.readBufferShort(buffer, offset);\n offset += 2;\n lz = LittleEndian.readBufferShort(buffer, offset);\n }\n /* Get the grid */\n let grid: Grid = this._geometryRecord.getTileGrid();\n /* Get the tile position */\n let tileX0: float64 = grid.p0.x + (tile.gridIndex.x * grid.size.x);\n let tileY0: float64 = grid.p0.y + (tile.gridIndex.y * grid.size.y);\n let tileZ0: float64 = grid.p0.z + (tile.gridIndex.z * grid.size.z);\n /* Get the coordinate scale factors */\n let scaleX: float64 = grid.size.x / 65536.0;\n let scaleY: float64 = grid.size.y / 65536.0;\n let scaleZ: float64 = grid.size.z / 65536.0;\n /* Set the position */\n cloudPoint.setX(tileX0 + scaleX * lx);\n cloudPoint.setY(tileY0 + scaleY * ly);\n cloudPoint.setZ(tileZ0 + scaleZ * lz);\n }\n\n /**\n * Get geometry data.\n * @param tile the tile.\n * @param tileBuffer the buffer that has been read.\n * @param pointData the point data.\n */\n public getPointDataRaw(tile: TileIndex, tileBuffer: TileReadBuffer, pointData: PointDataRaw): void {\n /* What resolution do we have? */\n let lowResolution: boolean = (this._level > 0);\n if (lowResolution) {\n /* Straight copy of the raw buffer */\n pointData.points8 = new Uint8Buffer(tileBuffer.getGeometryBuffer(), 0, 3 * tile.pointCount);\n }\n else {\n /* Straight copy of the raw buffer */\n pointData.points16 = new Uint16Buffer(tileBuffer.getGeometryBuffer(), 0, 3 * tile.pointCount);\n }\n }\n}\n"]}
1
+ {"version":3,"file":"GeometryReader.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/GeometryReader.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"GeometryRecord.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/GeometryRecord.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAUH,yDAAsD;AACtD,iEAA8D;AAE9D,sEAAmE;AAInE,2CAAwC;AAExC;;;;GAIG;AACH,gBAAgB;AAChB,MAAa,cAAc;IACvB,2BAA2B;IACnB,OAAO,CAAS;IACxB,8BAA8B;IACtB,SAAS,CAAO;IAExB;;OAEG;IACH,YAAmB,MAAc,EAAE,QAAc;QAC7C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACI,SAAS;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;;OAGG;IACI,WAAW;QACd,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,cAAc,CAAC,IAAa;QACvC,2BAA2B;QAC3B,IAAI,IAAI,GAAY,2BAAY,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3D,IAAI,IAAI,GAAY,2BAAY,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3D,IAAI,IAAI,GAAY,2BAAY,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5D,IAAI,IAAI,GAAY,2BAAY,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5D,IAAI,IAAI,GAAY,2BAAY,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5D,IAAI,IAAI,GAAY,2BAAY,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5D,IAAI,MAAM,GAAW,IAAI,eAAM,EAAE,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAChC,IAAI,MAAM,GAAY,2BAAY,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9D,IAAI,MAAM,GAAY,2BAAY,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9D,IAAI,MAAM,GAAY,2BAAY,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9D,IAAI,MAAM,GAAY,2BAAY,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9D,IAAI,MAAM,GAAY,2BAAY,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9D,IAAI,MAAM,GAAY,2BAAY,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9D,IAAI,QAAQ,GAAS,IAAI,WAAI,CAAC,IAAI,uBAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,uBAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9G,uBAAuB;QACvB,OAAO,IAAI,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,OAAO,CAAC,MAAa,EAAE,IAAW,EAAE,aAA4B;QAC1E,uBAAuB;QACvB,IAAI,aAAa,CAAC,QAAQ,EAAE,IAAI,KAAK,EAAE,CAAC;YACpC,mBAAmB;YACnB,aAAa,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,kBAAkB;QAClB,IAAI,IAAI,GAAY,aAAa,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACpE,sBAAsB;QACtB,OAAO,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,MAAiB;QAC1B,2BAAY,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3D,2BAAY,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3D,2BAAY,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3D,2BAAY,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3D,2BAAY,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3D,2BAAY,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3D,2BAAY,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5D,2BAAY,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5D,2BAAY,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5D,2BAAY,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9D,2BAAY,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9D,2BAAY,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;CACJ;AA/FD,wCA+FC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module OrbitGT\n */\n\n//package orbitgt.pointcloud.format.opc;\n\ntype int8 = number;\ntype int16 = number;\ntype int32 = number;\ntype float32 = number;\ntype float64 = number;\n\nimport { Bounds } from \"../../../spatial/geom/Bounds\";\nimport { Coordinate } from \"../../../spatial/geom/Coordinate\";\nimport { ABuffer } from \"../../../system/buffer/ABuffer\";\nimport { LittleEndian } from \"../../../system/buffer/LittleEndian\";\nimport { OutStream } from \"../../../system/io/OutStream\";\nimport { ALong } from \"../../../system/runtime/ALong\";\nimport { ContentLoader } from \"../../../system/storage/ContentLoader\";\nimport { Grid } from \"../../model/Grid\";\n\n/**\n * Class GeometryRecord defines a geometry record.\n *\n * @version 1.0 January 2014\n */\n/** @internal */\nexport class GeometryRecord {\n /** The bounds (48 byte) */\n private _bounds: Bounds;\n /** The tile grid (48 byte) */\n private _tileGrid: Grid;\n\n /**\n * Create a new record.\n */\n public constructor(bounds: Bounds, tileGrid: Grid) {\n this._bounds = bounds;\n this._tileGrid = tileGrid;\n }\n\n /**\n * Get the bounds.\n * @return the bounds.\n */\n public getBounds(): Bounds {\n return this._bounds;\n }\n\n /**\n * Get the tile grid.\n * @return the tile grid.\n */\n public getTileGrid(): Grid {\n return this._tileGrid;\n }\n\n /**\n * Read a record.\n * @param data the record data.\n * @return the record.\n */\n private static readFromBuffer(data: ABuffer): GeometryRecord {\n /* Get the record fields */\n let minX: float64 = LittleEndian.readBufferDouble(data, 0);\n let maxX: float64 = LittleEndian.readBufferDouble(data, 8);\n let minY: float64 = LittleEndian.readBufferDouble(data, 16);\n let maxY: float64 = LittleEndian.readBufferDouble(data, 24);\n let minZ: float64 = LittleEndian.readBufferDouble(data, 32);\n let maxZ: float64 = LittleEndian.readBufferDouble(data, 40);\n let bounds: Bounds = new Bounds();\n bounds.addXYZ(minX, minY, minZ);\n bounds.addXYZ(maxX, maxY, maxZ);\n let gridX0: float64 = LittleEndian.readBufferDouble(data, 48);\n let gridY0: float64 = LittleEndian.readBufferDouble(data, 56);\n let gridZ0: float64 = LittleEndian.readBufferDouble(data, 64);\n let gridSX: float64 = LittleEndian.readBufferDouble(data, 72);\n let gridSY: float64 = LittleEndian.readBufferDouble(data, 80);\n let gridSZ: float64 = LittleEndian.readBufferDouble(data, 88);\n let tileGrid: Grid = new Grid(new Coordinate(gridX0, gridY0, gridZ0), new Coordinate(gridSX, gridSY, gridSZ));\n /* Return the record */\n return new GeometryRecord(bounds, tileGrid);\n }\n\n /**\n * Read a record.\n * @param fileAccess the access to the file.\n * @param offset the file offset to the record.\n * @param size the file size to the record.\n * @return the record.\n */\n public static readNew(offset: ALong, size: ALong, contentLoader: ContentLoader): GeometryRecord {\n /* Request the data? */\n if (contentLoader.isLoaded() == false) {\n /* Add the range */\n contentLoader.requestFilePart(offset, size.toInt());\n return null;\n }\n /* Get the data */\n let data: ABuffer = contentLoader.getFilePart(offset, size.toInt());\n /* Parse the record */\n return GeometryRecord.readFromBuffer(data);\n }\n\n /**\n * Write the record.\n * @param out the output stream.\n */\n public write(output: OutStream): void {\n LittleEndian.writeStreamDouble(output, this._bounds.min.x);\n LittleEndian.writeStreamDouble(output, this._bounds.max.x);\n LittleEndian.writeStreamDouble(output, this._bounds.min.y);\n LittleEndian.writeStreamDouble(output, this._bounds.max.y);\n LittleEndian.writeStreamDouble(output, this._bounds.min.z);\n LittleEndian.writeStreamDouble(output, this._bounds.max.z);\n LittleEndian.writeStreamDouble(output, this._tileGrid.p0.x);\n LittleEndian.writeStreamDouble(output, this._tileGrid.p0.y);\n LittleEndian.writeStreamDouble(output, this._tileGrid.p0.z);\n LittleEndian.writeStreamDouble(output, this._tileGrid.size.x);\n LittleEndian.writeStreamDouble(output, this._tileGrid.size.y);\n LittleEndian.writeStreamDouble(output, this._tileGrid.size.z);\n }\n}\n"]}
1
+ {"version":3,"file":"GeometryRecord.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/GeometryRecord.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OPCReader.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/OPCReader.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module OrbitGT\n */\n\n// package orbitgt.pointcloud.format.opc;\n\ntype int8 = number;\ntype int16 = number;\ntype int32 = number;\ntype float32 = number;\ntype float64 = number;\n\nimport { Bounds } from \"../../../spatial/geom/Bounds\";\nimport { Coordinate } from \"../../../spatial/geom/Coordinate\";\nimport { ABuffer } from \"../../../system/buffer/ABuffer\";\nimport { Uint16Buffer } from \"../../../system/buffer/Uint16Buffer\";\nimport { Uint8Buffer } from \"../../../system/buffer/Uint8Buffer\";\nimport { AList } from \"../../../system/collection/AList\";\nimport { ALong } from \"../../../system/runtime/ALong\";\nimport { ASystem } from \"../../../system/runtime/ASystem\";\nimport { Message } from \"../../../system/runtime/Message\";\nimport { Strings } from \"../../../system/runtime/Strings\";\nimport { ContentLoader } from \"../../../system/storage/ContentLoader\";\nimport { FileStorage } from \"../../../system/storage/FileStorage\";\nimport { AttributeValue } from \"../../model/AttributeValue\";\nimport { BlockIndex } from \"../../model/BlockIndex\";\nimport { CloudPoint } from \"../../model/CloudPoint\";\nimport { Grid } from \"../../model/Grid\";\nimport { PointAttribute } from \"../../model/PointAttribute\";\nimport { PointCloudReader } from \"../../model/PointCloudReader\";\nimport { PointData } from \"../../model/PointData\";\nimport { PointDataRaw } from \"../../model/PointDataRaw\";\nimport { ReadRequest } from \"../../model/ReadRequest\";\nimport { StandardAttributes } from \"../../model/StandardAttributes\";\nimport { TileIndex } from \"../../model/TileIndex\";\nimport { AttributeMask } from \"./AttributeMask\";\nimport { AttributeReader } from \"./AttributeReader\";\nimport { DirectoryReader } from \"./DirectoryReader\";\nimport { FileReader } from \"./FileReader\";\nimport { PointReader } from \"./PointReader\";\nimport { TileReadBuffer } from \"./TileReadBuffer\";\n\n/**\n * Class OPCReader reads pointcloud files.\n *\n * @version 1.0 January 2014\n */\n/** @internal */\nexport class OPCReader extends PointCloudReader {\n /** The file reader */\n private _fileReader: FileReader;\n /** The index of the first level */\n private _levelOffset: int32;\n /** The number of levels */\n private _levelCount: int32;\n\n /**\n * Create a new reader for a file.\n * @param fileName the name of the file.\n * @param lazyLoading avoid early loading of all block indexes to keep a low memory profile? Lazy loading only loads the block indexes of the top 6 levels (see CLOUD-1152 issue)\n * @return the reader.\n */\n public static async openFile(fileStorage: FileStorage, fileName: string, lazyLoading: boolean): Promise<OPCReader> {\n /* Open the file */\n const fileReader: FileReader = await FileReader.openFile(fileStorage, fileName, lazyLoading);\n /* Create the reader */\n return new OPCReader(fileReader, 0, fileReader.getLevelCount());\n }\n\n /**\n * Create a new reader.\n */\n private constructor(fileReader: FileReader, levelOffset: int32, levelCount: int32) {\n super();\n this._fileReader = fileReader;\n this._levelOffset = levelOffset;\n this._levelCount = levelCount;\n }\n\n /**\n * Get the file reader.\n * @return the file reader.\n */\n public getFileReader(): FileReader {\n return this._fileReader;\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#close\n */\n public override close(): void {\n if (this._fileReader != null) this._fileReader.close();\n this._fileReader = null;\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getProperty\n */\n public override getProperty(propertyName: string): Object {\n if (propertyName == null) return null;\n if (Strings.equalsIgnoreCase(propertyName, \"metricCellSize\")) return new Coordinate(this._fileReader.getFileRecord().getMetricCellSize(), 0.0, 0.0);\n return null;\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getFileStorage\n */\n public override getFileStorage(): FileStorage {\n return this._fileReader.getFileStorage();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getFileName\n */\n public override getFileName(): string {\n return this._fileReader.getFileName();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getFileCRS\n */\n public override getFileCRS(): string {\n return this._fileReader.getFileRecord().getCRS();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getFileBounds\n */\n public override getFileBounds(): Bounds {\n return this._fileReader.getGeometryReader(0).getGeometryRecord().getBounds();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getPointAttributes\n */\n public override getPointAttributes(): Array<PointAttribute> {\n return this._fileReader.getAttributes();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getMinAttributeValue\n */\n public override getMinAttributeValue(attribute: PointAttribute): AttributeValue {\n for (const reader of this._fileReader.getAttributeReaders()) if (reader.getAttribute().hasName(attribute.getName())) return reader.getMinimumValue();\n return null;\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getMaxAttributeValue\n */\n public override getMaxAttributeValue(attribute: PointAttribute): AttributeValue {\n for (const reader of this._fileReader.getAttributeReaders()) if (reader.getAttribute().hasName(attribute.getName())) return reader.getMaximumValue();\n return null;\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getLevelCount\n */\n public override getLevelCount(): int32 {\n return this._fileReader.getLevelCount();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getLevelPointCount\n */\n public override getLevelPointCount(level: int32): ALong {\n return this._fileReader.getDirectoryReader(level).getDirectoryRecord().getPointCount();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getLevelPointBounds\n */\n public override getLevelPointBounds(level: int32): Bounds {\n return this._fileReader.getGeometryReader(level).getGeometryRecord().getBounds();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getLevelBlockGrid\n */\n public override getLevelBlockGrid(level: int32): Grid {\n return this.getLevelTileGrid(level).scale(this._fileReader.getFileRecord().getBlockSize());\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#getLevelTileGrid\n */\n public override getLevelTileGrid(level: int32): Grid {\n return this._fileReader.getGeometryReader(level).getGeometryRecord().getTileGrid();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#peekBlockIndexes\n */\n public override peekBlockIndexes(level: int32): Array<BlockIndex> {\n return this._fileReader.getDirectoryReader(level).getBlocks();\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#readBlockIndexes\n */\n public override readBlockIndexes(level: int32, fileContents: ContentLoader): Array<BlockIndex> {\n /* Get the directory reader */\n const directoryReader: DirectoryReader = this._fileReader.getDirectoryReader(level);\n /* Already read all blocks? */\n const blocks: Array<BlockIndex> = directoryReader.getBlocks();\n if (blocks.length > 0) return blocks;\n /* Delegate to the directory reader */\n return directoryReader.readBlocks(this._fileReader.getFileRecord(), fileContents);\n }\n\n /**\n * PointCloudReader method.\n * @see PointCloudReader#readTileIndexes\n */\n public override readTileIndexes(block: BlockIndex, fileContents: ContentLoader): Array<TileIndex> {\n return this._fileReader.getDirectoryReader(block.level).readTiles2(block, fileContents);\n }\n\n /**\n * Get the attribute mask to use for reading.\n * @param parameters the read parameters.\n * @return the attribute mask.\n */\n private getAttributeMask(parameters: ReadRequest): AttributeMask {\n /* Make a list of readers */\n const readers: AList<AttributeReader> = new AList<AttributeReader>();\n /* Should we read all attributes? */\n if (parameters.readAllExtraAttributes()) {\n /* Read all attributes */\n for (const reader of this._fileReader.getAttributeReaders()) readers.add(reader);\n } else {\n /* Read color? */\n if (parameters.readColor()) {\n const reader: AttributeReader = this._fileReader.findAttributeReader(StandardAttributes.COLOR.getName());\n if (reader != null) readers.add(reader);\n }\n /* Read intensity? */\n if (parameters.readIntensity()) {\n const reader: AttributeReader = this._fileReader.findAttributeReader(StandardAttributes.INTENSITY.getName());\n if (reader != null) readers.add(reader);\n }\n /* Read the extra attributes */\n const extraAttributes: AList<string> = parameters.getExtraAttributes();\n for (let i: number = 0; i < extraAttributes.size(); i++) {\n /* Get the name of the extra attribute */\n const extraAttribute: string = extraAttributes.get(i);\n /* Did we already add the color? */\n if (parameters.readColor() && Strings.equalsIgnoreCase(extraAttribute, StandardAttributes.COLOR.getName())) continue;\n /* Did we already add the intensity? */\n if (parameters.readIntensity() && Strings.equalsIgnoreCase(extraAttribute, StandardAttributes.INTENSITY.getName())) continue;\n /* Find the attribute reader */\n const reader: AttributeReader = this._fileReader.findAttributeReader(extraAttribute);\n /* Add the reader */\n if (reader != null) readers.add(reader);\n }\n }\n /* Create the mask */\n return new AttributeMask(readers);\n }\n\n /**\n * PointCloudReader interface method.\n * @see PointCloudReader#readPoints\n */\n public override readPoints(tileIndex: TileIndex, readRequest: ReadRequest, fileContents: ContentLoader): AList<CloudPoint> {\n /* Create the attribute mask */\n const attributeMask: AttributeMask = this.getAttributeMask(readRequest);\n /* Create the read buffer */\n const tileBuffer: TileReadBuffer = new TileReadBuffer(attributeMask.attributes.length);\n /* Read the points in the tile */\n const pointOffset: int32 = 0;\n const pointCount: int32 = tileIndex.pointCount;\n return PointReader.readTilePoints(this.getFileReader(), readRequest, attributeMask, tileIndex.level, tileIndex, pointOffset, pointCount, tileBuffer, fileContents);\n }\n\n /**\n * PointCloudReader interface method.\n * @see PointCloudReader#readPointData\n */\n public override readPointData(tileIndex: TileIndex, dataFormat: int32, accessTime: float64, fileContents: ContentLoader): PointData {\n /* 16-bit XYZ geometry and 8-bit RGB colors? */\n if (dataFormat == PointDataRaw.TYPE) {\n /* Create the attribute mask */\n const readRequest: ReadRequest = ReadRequest.READ_GEOMETRY_AND_COLOR;\n const readers: AList<AttributeReader> = new AList<AttributeReader>();\n const colorReader: AttributeReader = this._fileReader.findAttributeReader(StandardAttributes.COLOR.getName());\n if (colorReader != null) readers.add(colorReader);\n const attributeMask: AttributeMask = new AttributeMask(readers);\n /* Has the data been loaded? */\n let tileBuffer: TileReadBuffer = null;\n let pointData: PointDataRaw = null;\n if (fileContents.isAvailable()) {\n /* Create the read buffer */\n tileBuffer = new TileReadBuffer(attributeMask.attributes.length);\n /* Create the point data buffer */\n const tileGrid: Grid = this._fileReader.getGeometryReader(tileIndex.level).getGeometryRecord().getTileGrid();\n const tileBounds: Bounds = tileGrid.getCellBounds(tileIndex.gridIndex);\n pointData = new PointDataRaw(tileIndex, tileBounds, null, null, null);\n }\n /* Fill the point data buffer */\n PointReader.readTilePointsRaw(this.getFileReader(), readRequest, attributeMask, tileIndex, tileBuffer, pointData, fileContents);\n /* Missing color channel after data load? */\n if (fileContents.isAvailable() && (pointData.colors == null)) {\n /* Define the default RGB color (0xE6C60D) */\n const defaultR: int32 = 230;\n const defaultG: int32 = 198;\n const defaultB: int32 = 13;\n /* Create a default color buffer (BGR sample sequence) */\n pointData.colors = Uint8Buffer.wrap(new ABuffer(3 * tileIndex.pointCount));\n for (let i: number = 0; i < tileIndex.pointCount; i++) {\n pointData.colors.set(3 * i + 0, defaultB);\n pointData.colors.set(3 * i + 1, defaultG);\n pointData.colors.set(3 * i + 2, defaultR);\n }\n }\n return pointData;\n }\n /* Unknown format */\n return null;\n }\n\n /**\n * PointCloudReader interface method.\n * @see PointCloudReader#clipToLevelRange\n */\n public override clipToLevelRange(levelOffset: int32, levelCount: int32): PointCloudReader {\n /* Check the parameters */\n ASystem.assert0(levelOffset >= 0, `Invalid level offset ${levelOffset}`);\n ASystem.assert0(levelCount > 0, `Invalid level count ${levelCount}`);\n ASystem.assert0(levelOffset + levelCount <= this._levelCount, `Level range ${levelOffset}+${levelCount} not possible in ${this._levelCount} levels`);\n /* Create a new reader */\n return new OPCReader(this._fileReader, this._levelOffset + levelOffset, levelCount);\n }\n}\n"]}
1
+ {"version":3,"file":"OPCReader.js","sourceRoot":"","sources":["../../../../../src/pointcloud/format/opc/OPCReader.ts"],"names":[],"mappings":"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"}