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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (782) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/lib/cjs/core-orbitgt.d.ts +26 -26
  3. package/lib/cjs/core-orbitgt.js +62 -58
  4. package/lib/cjs/core-orbitgt.js.map +1 -1
  5. package/lib/cjs/pointcloud/format/opc/AttributeMask.d.ts +30 -30
  6. package/lib/cjs/pointcloud/format/opc/AttributeMask.js +47 -47
  7. package/lib/cjs/pointcloud/format/opc/AttributeMask.js.map +1 -1
  8. package/lib/cjs/pointcloud/format/opc/AttributeReader.d.ts +63 -63
  9. package/lib/cjs/pointcloud/format/opc/AttributeReader.d.ts.map +1 -1
  10. package/lib/cjs/pointcloud/format/opc/AttributeReader.js +24 -24
  11. package/lib/cjs/pointcloud/format/opc/AttributeReader.js.map +1 -1
  12. package/lib/cjs/pointcloud/format/opc/BlockRecord.d.ts +54 -54
  13. package/lib/cjs/pointcloud/format/opc/BlockRecord.d.ts.map +1 -1
  14. package/lib/cjs/pointcloud/format/opc/BlockRecord.js +84 -84
  15. package/lib/cjs/pointcloud/format/opc/BlockRecord.js.map +1 -1
  16. package/lib/cjs/pointcloud/format/opc/ContainerFile.d.ts +85 -85
  17. package/lib/cjs/pointcloud/format/opc/ContainerFile.d.ts.map +1 -1
  18. package/lib/cjs/pointcloud/format/opc/ContainerFile.js +199 -199
  19. package/lib/cjs/pointcloud/format/opc/ContainerFile.js.map +1 -1
  20. package/lib/cjs/pointcloud/format/opc/ContainerFilePart.d.ts +55 -55
  21. package/lib/cjs/pointcloud/format/opc/ContainerFilePart.js +75 -75
  22. package/lib/cjs/pointcloud/format/opc/ContainerFilePart.js.map +1 -1
  23. package/lib/cjs/pointcloud/format/opc/DirectoryReader.d.ts +75 -75
  24. package/lib/cjs/pointcloud/format/opc/DirectoryReader.d.ts.map +1 -1
  25. package/lib/cjs/pointcloud/format/opc/DirectoryReader.js +169 -169
  26. package/lib/cjs/pointcloud/format/opc/DirectoryReader.js.map +1 -1
  27. package/lib/cjs/pointcloud/format/opc/DirectoryRecord.d.ts +59 -59
  28. package/lib/cjs/pointcloud/format/opc/DirectoryRecord.d.ts.map +1 -1
  29. package/lib/cjs/pointcloud/format/opc/DirectoryRecord.js +89 -89
  30. package/lib/cjs/pointcloud/format/opc/DirectoryRecord.js.map +1 -1
  31. package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.d.ts +106 -106
  32. package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.d.ts.map +1 -1
  33. package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.js +197 -197
  34. package/lib/cjs/pointcloud/format/opc/EmbeddedAttributeReader.js.map +1 -1
  35. package/lib/cjs/pointcloud/format/opc/FileAccess.d.ts +39 -39
  36. package/lib/cjs/pointcloud/format/opc/FileAccess.js +48 -48
  37. package/lib/cjs/pointcloud/format/opc/FileAccess.js.map +1 -1
  38. package/lib/cjs/pointcloud/format/opc/FileReader.d.ts +118 -118
  39. package/lib/cjs/pointcloud/format/opc/FileReader.d.ts.map +1 -1
  40. package/lib/cjs/pointcloud/format/opc/FileReader.js +248 -248
  41. package/lib/cjs/pointcloud/format/opc/FileReader.js.map +1 -1
  42. package/lib/cjs/pointcloud/format/opc/FileRecord.d.ts +89 -89
  43. package/lib/cjs/pointcloud/format/opc/FileRecord.d.ts.map +1 -1
  44. package/lib/cjs/pointcloud/format/opc/FileRecord.js +125 -125
  45. package/lib/cjs/pointcloud/format/opc/FileRecord.js.map +1 -1
  46. package/lib/cjs/pointcloud/format/opc/GeometryReader.d.ts +79 -79
  47. package/lib/cjs/pointcloud/format/opc/GeometryReader.d.ts.map +1 -1
  48. package/lib/cjs/pointcloud/format/opc/GeometryReader.js +163 -163
  49. package/lib/cjs/pointcloud/format/opc/GeometryReader.js.map +1 -1
  50. package/lib/cjs/pointcloud/format/opc/GeometryRecord.d.ts +53 -53
  51. package/lib/cjs/pointcloud/format/opc/GeometryRecord.js +107 -107
  52. package/lib/cjs/pointcloud/format/opc/GeometryRecord.js.map +1 -1
  53. package/lib/cjs/pointcloud/format/opc/OPCReader.d.ts +157 -157
  54. package/lib/cjs/pointcloud/format/opc/OPCReader.d.ts.map +1 -1
  55. package/lib/cjs/pointcloud/format/opc/OPCReader.js +319 -319
  56. package/lib/cjs/pointcloud/format/opc/OPCReader.js.map +1 -1
  57. package/lib/cjs/pointcloud/format/opc/PointReader.d.ts +72 -72
  58. package/lib/cjs/pointcloud/format/opc/PointReader.d.ts.map +1 -1
  59. package/lib/cjs/pointcloud/format/opc/PointReader.js +152 -152
  60. package/lib/cjs/pointcloud/format/opc/PointReader.js.map +1 -1
  61. package/lib/cjs/pointcloud/format/opc/TileReadBuffer.d.ts +63 -63
  62. package/lib/cjs/pointcloud/format/opc/TileReadBuffer.d.ts.map +1 -1
  63. package/lib/cjs/pointcloud/format/opc/TileReadBuffer.js +92 -92
  64. package/lib/cjs/pointcloud/format/opc/TileReadBuffer.js.map +1 -1
  65. package/lib/cjs/pointcloud/format/opc/TileRecord.d.ts +88 -88
  66. package/lib/cjs/pointcloud/format/opc/TileRecord.d.ts.map +1 -1
  67. package/lib/cjs/pointcloud/format/opc/TileRecord.js +161 -161
  68. package/lib/cjs/pointcloud/format/opc/TileRecord.js.map +1 -1
  69. package/lib/cjs/pointcloud/model/AttributeTypes.d.ts +37 -37
  70. package/lib/cjs/pointcloud/model/AttributeTypes.d.ts.map +1 -1
  71. package/lib/cjs/pointcloud/model/AttributeTypes.js +64 -64
  72. package/lib/cjs/pointcloud/model/AttributeTypes.js.map +1 -1
  73. package/lib/cjs/pointcloud/model/AttributeValue.d.ts +247 -247
  74. package/lib/cjs/pointcloud/model/AttributeValue.d.ts.map +1 -1
  75. package/lib/cjs/pointcloud/model/AttributeValue.js +508 -508
  76. package/lib/cjs/pointcloud/model/AttributeValue.js.map +1 -1
  77. package/lib/cjs/pointcloud/model/BlockIndex.d.ts +49 -49
  78. package/lib/cjs/pointcloud/model/BlockIndex.d.ts.map +1 -1
  79. package/lib/cjs/pointcloud/model/BlockIndex.js +48 -48
  80. package/lib/cjs/pointcloud/model/BlockIndex.js.map +1 -1
  81. package/lib/cjs/pointcloud/model/CloudPoint.d.ts +210 -210
  82. package/lib/cjs/pointcloud/model/CloudPoint.d.ts.map +1 -1
  83. package/lib/cjs/pointcloud/model/CloudPoint.js +318 -318
  84. package/lib/cjs/pointcloud/model/CloudPoint.js.map +1 -1
  85. package/lib/cjs/pointcloud/model/Grid.d.ts +91 -91
  86. package/lib/cjs/pointcloud/model/Grid.d.ts.map +1 -1
  87. package/lib/cjs/pointcloud/model/Grid.js +129 -129
  88. package/lib/cjs/pointcloud/model/Grid.js.map +1 -1
  89. package/lib/cjs/pointcloud/model/GridIndex.d.ts +66 -66
  90. package/lib/cjs/pointcloud/model/GridIndex.d.ts.map +1 -1
  91. package/lib/cjs/pointcloud/model/GridIndex.js +93 -93
  92. package/lib/cjs/pointcloud/model/GridIndex.js.map +1 -1
  93. package/lib/cjs/pointcloud/model/PointAttribute.d.ts +208 -208
  94. package/lib/cjs/pointcloud/model/PointAttribute.d.ts.map +1 -1
  95. package/lib/cjs/pointcloud/model/PointAttribute.js +374 -374
  96. package/lib/cjs/pointcloud/model/PointAttribute.js.map +1 -1
  97. package/lib/cjs/pointcloud/model/PointCloudReader.d.ts +156 -156
  98. package/lib/cjs/pointcloud/model/PointCloudReader.d.ts.map +1 -1
  99. package/lib/cjs/pointcloud/model/PointCloudReader.js +189 -189
  100. package/lib/cjs/pointcloud/model/PointCloudReader.js.map +1 -1
  101. package/lib/cjs/pointcloud/model/PointData.d.ts +17 -17
  102. package/lib/cjs/pointcloud/model/PointData.js +24 -24
  103. package/lib/cjs/pointcloud/model/PointData.js.map +1 -1
  104. package/lib/cjs/pointcloud/model/PointDataRaw.d.ts +34 -34
  105. package/lib/cjs/pointcloud/model/PointDataRaw.d.ts.map +1 -1
  106. package/lib/cjs/pointcloud/model/PointDataRaw.js +69 -69
  107. package/lib/cjs/pointcloud/model/PointDataRaw.js.map +1 -1
  108. package/lib/cjs/pointcloud/model/ReadRequest.d.ts +175 -175
  109. package/lib/cjs/pointcloud/model/ReadRequest.d.ts.map +1 -1
  110. package/lib/cjs/pointcloud/model/ReadRequest.js +239 -239
  111. package/lib/cjs/pointcloud/model/ReadRequest.js.map +1 -1
  112. package/lib/cjs/pointcloud/model/StandardAttributes.d.ts +40 -40
  113. package/lib/cjs/pointcloud/model/StandardAttributes.d.ts.map +1 -1
  114. package/lib/cjs/pointcloud/model/StandardAttributes.js +47 -47
  115. package/lib/cjs/pointcloud/model/StandardAttributes.js.map +1 -1
  116. package/lib/cjs/pointcloud/model/TileIndex.d.ts +47 -47
  117. package/lib/cjs/pointcloud/model/TileIndex.d.ts.map +1 -1
  118. package/lib/cjs/pointcloud/model/TileIndex.js +47 -47
  119. package/lib/cjs/pointcloud/model/TileIndex.js.map +1 -1
  120. package/lib/cjs/pointcloud/render/AViewRequest.d.ts +38 -38
  121. package/lib/cjs/pointcloud/render/AViewRequest.d.ts.map +1 -1
  122. package/lib/cjs/pointcloud/render/AViewRequest.js +24 -24
  123. package/lib/cjs/pointcloud/render/AViewRequest.js.map +1 -1
  124. package/lib/cjs/pointcloud/render/Block.d.ts +67 -67
  125. package/lib/cjs/pointcloud/render/Block.js +119 -119
  126. package/lib/cjs/pointcloud/render/Block.js.map +1 -1
  127. package/lib/cjs/pointcloud/render/DataManager.d.ts +136 -136
  128. package/lib/cjs/pointcloud/render/DataManager.d.ts.map +1 -1
  129. package/lib/cjs/pointcloud/render/DataManager.js +342 -342
  130. package/lib/cjs/pointcloud/render/DataManager.js.map +1 -1
  131. package/lib/cjs/pointcloud/render/FrameData.d.ts +30 -30
  132. package/lib/cjs/pointcloud/render/FrameData.js +39 -39
  133. package/lib/cjs/pointcloud/render/FrameData.js.map +1 -1
  134. package/lib/cjs/pointcloud/render/Level.d.ts +90 -90
  135. package/lib/cjs/pointcloud/render/Level.d.ts.map +1 -1
  136. package/lib/cjs/pointcloud/render/Level.js +119 -119
  137. package/lib/cjs/pointcloud/render/Level.js.map +1 -1
  138. package/lib/cjs/pointcloud/render/TileLoadSorter.d.ts +60 -60
  139. package/lib/cjs/pointcloud/render/TileLoadSorter.d.ts.map +1 -1
  140. package/lib/cjs/pointcloud/render/TileLoadSorter.js +99 -99
  141. package/lib/cjs/pointcloud/render/TileLoadSorter.js.map +1 -1
  142. package/lib/cjs/pointcloud/render/ViewTree.d.ts +113 -113
  143. package/lib/cjs/pointcloud/render/ViewTree.d.ts.map +1 -1
  144. package/lib/cjs/pointcloud/render/ViewTree.js +363 -363
  145. package/lib/cjs/pointcloud/render/ViewTree.js.map +1 -1
  146. package/lib/cjs/spatial/crs/CRSEngine.d.ts +55 -55
  147. package/lib/cjs/spatial/crs/CRSEngine.js +93 -93
  148. package/lib/cjs/spatial/crs/CRSEngine.js.map +1 -1
  149. package/lib/cjs/spatial/crs/CRSManager.d.ts +49 -49
  150. package/lib/cjs/spatial/crs/CRSManager.js +109 -109
  151. package/lib/cjs/spatial/crs/CRSManager.js.map +1 -1
  152. package/lib/cjs/spatial/ecrs/Axis.d.ts +77 -77
  153. package/lib/cjs/spatial/ecrs/Axis.d.ts.map +1 -1
  154. package/lib/cjs/spatial/ecrs/Axis.js +93 -93
  155. package/lib/cjs/spatial/ecrs/Axis.js.map +1 -1
  156. package/lib/cjs/spatial/ecrs/CRS.d.ts +447 -447
  157. package/lib/cjs/spatial/ecrs/CRS.d.ts.map +1 -1
  158. package/lib/cjs/spatial/ecrs/CRS.js +930 -930
  159. package/lib/cjs/spatial/ecrs/CRS.js.map +1 -1
  160. package/lib/cjs/spatial/ecrs/CoordinateSystem.d.ts +142 -142
  161. package/lib/cjs/spatial/ecrs/CoordinateSystem.d.ts.map +1 -1
  162. package/lib/cjs/spatial/ecrs/CoordinateSystem.js +326 -326
  163. package/lib/cjs/spatial/ecrs/CoordinateSystem.js.map +1 -1
  164. package/lib/cjs/spatial/ecrs/DataFileUnit.d.ts +10 -10
  165. package/lib/cjs/spatial/ecrs/DataFileUnit.js +104 -104
  166. package/lib/cjs/spatial/ecrs/DataFileUnit.js.map +1 -1
  167. package/lib/cjs/spatial/ecrs/Datum.d.ts +111 -111
  168. package/lib/cjs/spatial/ecrs/Datum.d.ts.map +1 -1
  169. package/lib/cjs/spatial/ecrs/Datum.js +166 -166
  170. package/lib/cjs/spatial/ecrs/Datum.js.map +1 -1
  171. package/lib/cjs/spatial/ecrs/Ellipsoid.d.ts +188 -188
  172. package/lib/cjs/spatial/ecrs/Ellipsoid.d.ts.map +1 -1
  173. package/lib/cjs/spatial/ecrs/Ellipsoid.js +336 -336
  174. package/lib/cjs/spatial/ecrs/Ellipsoid.js.map +1 -1
  175. package/lib/cjs/spatial/ecrs/OnlineEngine.d.ts +48 -48
  176. package/lib/cjs/spatial/ecrs/OnlineEngine.js +102 -102
  177. package/lib/cjs/spatial/ecrs/OnlineEngine.js.map +1 -1
  178. package/lib/cjs/spatial/ecrs/OnlineRegistry.d.ts +37 -37
  179. package/lib/cjs/spatial/ecrs/OnlineRegistry.d.ts.map +1 -1
  180. package/lib/cjs/spatial/ecrs/OnlineRegistry.js +76 -76
  181. package/lib/cjs/spatial/ecrs/OnlineRegistry.js.map +1 -1
  182. package/lib/cjs/spatial/ecrs/Operation.d.ts +191 -191
  183. package/lib/cjs/spatial/ecrs/Operation.d.ts.map +1 -1
  184. package/lib/cjs/spatial/ecrs/Operation.js +345 -345
  185. package/lib/cjs/spatial/ecrs/Operation.js.map +1 -1
  186. package/lib/cjs/spatial/ecrs/OperationMethod.d.ts +71 -71
  187. package/lib/cjs/spatial/ecrs/OperationMethod.d.ts.map +1 -1
  188. package/lib/cjs/spatial/ecrs/OperationMethod.js +75 -75
  189. package/lib/cjs/spatial/ecrs/OperationMethod.js.map +1 -1
  190. package/lib/cjs/spatial/ecrs/ParameterValue.d.ts +49 -49
  191. package/lib/cjs/spatial/ecrs/ParameterValue.d.ts.map +1 -1
  192. package/lib/cjs/spatial/ecrs/ParameterValue.js +65 -65
  193. package/lib/cjs/spatial/ecrs/ParameterValue.js.map +1 -1
  194. package/lib/cjs/spatial/ecrs/ParameterValueList.d.ts +72 -72
  195. package/lib/cjs/spatial/ecrs/ParameterValueList.d.ts.map +1 -1
  196. package/lib/cjs/spatial/ecrs/ParameterValueList.js +120 -120
  197. package/lib/cjs/spatial/ecrs/ParameterValueList.js.map +1 -1
  198. package/lib/cjs/spatial/ecrs/PrimeMeridian.d.ts +78 -78
  199. package/lib/cjs/spatial/ecrs/PrimeMeridian.d.ts.map +1 -1
  200. package/lib/cjs/spatial/ecrs/PrimeMeridian.js +108 -108
  201. package/lib/cjs/spatial/ecrs/PrimeMeridian.js.map +1 -1
  202. package/lib/cjs/spatial/ecrs/Registry.d.ts +109 -109
  203. package/lib/cjs/spatial/ecrs/Registry.d.ts.map +1 -1
  204. package/lib/cjs/spatial/ecrs/Registry.js +207 -207
  205. package/lib/cjs/spatial/ecrs/Registry.js.map +1 -1
  206. package/lib/cjs/spatial/ecrs/Transform.d.ts +77 -77
  207. package/lib/cjs/spatial/ecrs/Transform.d.ts.map +1 -1
  208. package/lib/cjs/spatial/ecrs/Transform.js +396 -396
  209. package/lib/cjs/spatial/ecrs/Transform.js.map +1 -1
  210. package/lib/cjs/spatial/ecrs/Unit.d.ts +170 -170
  211. package/lib/cjs/spatial/ecrs/Unit.d.ts.map +1 -1
  212. package/lib/cjs/spatial/ecrs/Unit.js +336 -336
  213. package/lib/cjs/spatial/ecrs/Unit.js.map +1 -1
  214. package/lib/cjs/spatial/ecrs/VerticalModel.d.ts +69 -69
  215. package/lib/cjs/spatial/ecrs/VerticalModel.d.ts.map +1 -1
  216. package/lib/cjs/spatial/ecrs/VerticalModel.js +88 -88
  217. package/lib/cjs/spatial/ecrs/VerticalModel.js.map +1 -1
  218. package/lib/cjs/spatial/ecrs/WellKnownText.d.ts +153 -153
  219. package/lib/cjs/spatial/ecrs/WellKnownText.d.ts.map +1 -1
  220. package/lib/cjs/spatial/ecrs/WellKnownText.js +494 -494
  221. package/lib/cjs/spatial/ecrs/WellKnownText.js.map +1 -1
  222. package/lib/cjs/spatial/ecrs/WellKnownTextNode.d.ts +69 -69
  223. package/lib/cjs/spatial/ecrs/WellKnownTextNode.d.ts.map +1 -1
  224. package/lib/cjs/spatial/ecrs/WellKnownTextNode.js +128 -128
  225. package/lib/cjs/spatial/ecrs/WellKnownTextNode.js.map +1 -1
  226. package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.d.ts +101 -101
  227. package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.d.ts.map +1 -1
  228. package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.js +162 -162
  229. package/lib/cjs/spatial/ecrs/projection/HotineObliqueMercator.js.map +1 -1
  230. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConic.d.ts +79 -79
  231. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConic.d.ts.map +1 -1
  232. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConic.js +125 -125
  233. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConic.js.map +1 -1
  234. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConicEN.d.ts +47 -47
  235. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConicEN.d.ts.map +1 -1
  236. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js +73 -73
  237. package/lib/cjs/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js.map +1 -1
  238. package/lib/cjs/spatial/ecrs/projection/LambertConical1SP.d.ts +72 -72
  239. package/lib/cjs/spatial/ecrs/projection/LambertConical1SP.d.ts.map +1 -1
  240. package/lib/cjs/spatial/ecrs/projection/LambertConical1SP.js +129 -129
  241. package/lib/cjs/spatial/ecrs/projection/LambertConical1SP.js.map +1 -1
  242. package/lib/cjs/spatial/ecrs/projection/LambertConical2SP.d.ts +120 -120
  243. package/lib/cjs/spatial/ecrs/projection/LambertConical2SP.d.ts.map +1 -1
  244. package/lib/cjs/spatial/ecrs/projection/LambertConical2SP.js +179 -179
  245. package/lib/cjs/spatial/ecrs/projection/LambertConical2SP.js.map +1 -1
  246. package/lib/cjs/spatial/ecrs/projection/Mercator1SP.d.ts +73 -73
  247. package/lib/cjs/spatial/ecrs/projection/Mercator1SP.d.ts.map +1 -1
  248. package/lib/cjs/spatial/ecrs/projection/Mercator1SP.js +112 -112
  249. package/lib/cjs/spatial/ecrs/projection/Mercator1SP.js.map +1 -1
  250. package/lib/cjs/spatial/ecrs/projection/ObliqueMercator.d.ts +96 -96
  251. package/lib/cjs/spatial/ecrs/projection/ObliqueMercator.d.ts.map +1 -1
  252. package/lib/cjs/spatial/ecrs/projection/ObliqueMercator.js +173 -173
  253. package/lib/cjs/spatial/ecrs/projection/ObliqueMercator.js.map +1 -1
  254. package/lib/cjs/spatial/ecrs/projection/ObliqueStereographic.d.ts +123 -123
  255. package/lib/cjs/spatial/ecrs/projection/ObliqueStereographic.d.ts.map +1 -1
  256. package/lib/cjs/spatial/ecrs/projection/ObliqueStereographic.js +208 -208
  257. package/lib/cjs/spatial/ecrs/projection/ObliqueStereographic.js.map +1 -1
  258. package/lib/cjs/spatial/ecrs/projection/TransverseMercator.d.ts +108 -108
  259. package/lib/cjs/spatial/ecrs/projection/TransverseMercator.d.ts.map +1 -1
  260. package/lib/cjs/spatial/ecrs/projection/TransverseMercator.js +183 -183
  261. package/lib/cjs/spatial/ecrs/projection/TransverseMercator.js.map +1 -1
  262. package/lib/cjs/spatial/ecrs/transformation/PositionVector.d.ts +90 -90
  263. package/lib/cjs/spatial/ecrs/transformation/PositionVector.d.ts.map +1 -1
  264. package/lib/cjs/spatial/ecrs/transformation/PositionVector.js +130 -130
  265. package/lib/cjs/spatial/ecrs/transformation/PositionVector.js.map +1 -1
  266. package/lib/cjs/spatial/geom/Bounds.d.ts +33 -33
  267. package/lib/cjs/spatial/geom/Bounds.d.ts.map +1 -1
  268. package/lib/cjs/spatial/geom/Bounds.js +156 -156
  269. package/lib/cjs/spatial/geom/Bounds.js.map +1 -1
  270. package/lib/cjs/spatial/geom/Coordinate.d.ts +61 -61
  271. package/lib/cjs/spatial/geom/Coordinate.d.ts.map +1 -1
  272. package/lib/cjs/spatial/geom/Coordinate.js +186 -186
  273. package/lib/cjs/spatial/geom/Coordinate.js.map +1 -1
  274. package/lib/cjs/spatial/geom/Line.d.ts +225 -225
  275. package/lib/cjs/spatial/geom/Line.d.ts.map +1 -1
  276. package/lib/cjs/spatial/geom/Line.js +432 -432
  277. package/lib/cjs/spatial/geom/Line.js.map +1 -1
  278. package/lib/cjs/spatial/geom/Transform.d.ts +340 -340
  279. package/lib/cjs/spatial/geom/Transform.d.ts.map +1 -1
  280. package/lib/cjs/spatial/geom/Transform.js +748 -748
  281. package/lib/cjs/spatial/geom/Transform.js.map +1 -1
  282. package/lib/cjs/system/buffer/ABuffer.d.ts +51 -51
  283. package/lib/cjs/system/buffer/ABuffer.d.ts.map +1 -1
  284. package/lib/cjs/system/buffer/ABuffer.js +90 -90
  285. package/lib/cjs/system/buffer/ABuffer.js.map +1 -1
  286. package/lib/cjs/system/buffer/Float32Buffer.d.ts +46 -46
  287. package/lib/cjs/system/buffer/Float32Buffer.d.ts.map +1 -1
  288. package/lib/cjs/system/buffer/Float32Buffer.js +60 -60
  289. package/lib/cjs/system/buffer/Float32Buffer.js.map +1 -1
  290. package/lib/cjs/system/buffer/LittleEndian.d.ts +149 -149
  291. package/lib/cjs/system/buffer/LittleEndian.d.ts.map +1 -1
  292. package/lib/cjs/system/buffer/LittleEndian.js +303 -303
  293. package/lib/cjs/system/buffer/LittleEndian.js.map +1 -1
  294. package/lib/cjs/system/buffer/Uint16Buffer.d.ts +49 -49
  295. package/lib/cjs/system/buffer/Uint16Buffer.d.ts.map +1 -1
  296. package/lib/cjs/system/buffer/Uint16Buffer.js +65 -65
  297. package/lib/cjs/system/buffer/Uint16Buffer.js.map +1 -1
  298. package/lib/cjs/system/buffer/Uint8Buffer.d.ts +49 -49
  299. package/lib/cjs/system/buffer/Uint8Buffer.d.ts.map +1 -1
  300. package/lib/cjs/system/buffer/Uint8Buffer.js +65 -65
  301. package/lib/cjs/system/buffer/Uint8Buffer.js.map +1 -1
  302. package/lib/cjs/system/collection/AList.d.ts +30 -30
  303. package/lib/cjs/system/collection/AList.d.ts.map +1 -1
  304. package/lib/cjs/system/collection/AList.js +70 -70
  305. package/lib/cjs/system/collection/AList.js.map +1 -1
  306. package/lib/cjs/system/collection/IntMap.d.ts +18 -18
  307. package/lib/cjs/system/collection/IntMap.d.ts.map +1 -1
  308. package/lib/cjs/system/collection/IntMap.js +35 -35
  309. package/lib/cjs/system/collection/IntMap.js.map +1 -1
  310. package/lib/cjs/system/collection/StringMap.d.ts +26 -26
  311. package/lib/cjs/system/collection/StringMap.d.ts.map +1 -1
  312. package/lib/cjs/system/collection/StringMap.js +63 -63
  313. package/lib/cjs/system/collection/StringMap.js.map +1 -1
  314. package/lib/cjs/system/io/ABufferInStream.d.ts +29 -29
  315. package/lib/cjs/system/io/ABufferInStream.d.ts.map +1 -1
  316. package/lib/cjs/system/io/ABufferInStream.js +46 -46
  317. package/lib/cjs/system/io/ABufferInStream.js.map +1 -1
  318. package/lib/cjs/system/io/InStream.d.ts +23 -23
  319. package/lib/cjs/system/io/InStream.d.ts.map +1 -1
  320. package/lib/cjs/system/io/InStream.js +34 -34
  321. package/lib/cjs/system/io/InStream.js.map +1 -1
  322. package/lib/cjs/system/io/OutStream.d.ts +23 -23
  323. package/lib/cjs/system/io/OutStream.d.ts.map +1 -1
  324. package/lib/cjs/system/io/OutStream.js +33 -33
  325. package/lib/cjs/system/io/OutStream.js.map +1 -1
  326. package/lib/cjs/system/runtime/ALong.d.ts +329 -329
  327. package/lib/cjs/system/runtime/ALong.d.ts.map +1 -1
  328. package/lib/cjs/system/runtime/ALong.js +687 -687
  329. package/lib/cjs/system/runtime/ALong.js.map +1 -1
  330. package/lib/cjs/system/runtime/ASystem.d.ts +14 -14
  331. package/lib/cjs/system/runtime/ASystem.js +31 -31
  332. package/lib/cjs/system/runtime/ASystem.js.map +1 -1
  333. package/lib/cjs/system/runtime/Downloader.d.ts +17 -17
  334. package/lib/cjs/system/runtime/Downloader.js +38 -38
  335. package/lib/cjs/system/runtime/Downloader.js.map +1 -1
  336. package/lib/cjs/system/runtime/DownloaderNode.d.ts +18 -18
  337. package/lib/cjs/system/runtime/DownloaderNode.js +129 -129
  338. package/lib/cjs/system/runtime/DownloaderNode.js.map +1 -1
  339. package/lib/cjs/system/runtime/DownloaderXhr.d.ts +18 -18
  340. package/lib/cjs/system/runtime/DownloaderXhr.js +131 -131
  341. package/lib/cjs/system/runtime/DownloaderXhr.js.map +1 -1
  342. package/lib/cjs/system/runtime/Message.d.ts +16 -16
  343. package/lib/cjs/system/runtime/Message.js +39 -39
  344. package/lib/cjs/system/runtime/Message.js.map +1 -1
  345. package/lib/cjs/system/runtime/Numbers.d.ts +34 -34
  346. package/lib/cjs/system/runtime/Numbers.d.ts.map +1 -1
  347. package/lib/cjs/system/runtime/Numbers.js +87 -87
  348. package/lib/cjs/system/runtime/Numbers.js.map +1 -1
  349. package/lib/cjs/system/runtime/Strings.d.ts +49 -49
  350. package/lib/cjs/system/runtime/Strings.d.ts.map +1 -1
  351. package/lib/cjs/system/runtime/Strings.js +188 -188
  352. package/lib/cjs/system/runtime/Strings.js.map +1 -1
  353. package/lib/cjs/system/runtime/iComparator.d.ts +12 -12
  354. package/lib/cjs/system/runtime/iComparator.d.ts.map +1 -1
  355. package/lib/cjs/system/runtime/iComparator.js +9 -9
  356. package/lib/cjs/system/runtime/iComparator.js.map +1 -1
  357. package/lib/cjs/system/storage/CacheList.d.ts +39 -39
  358. package/lib/cjs/system/storage/CacheList.d.ts.map +1 -1
  359. package/lib/cjs/system/storage/CacheList.js +80 -80
  360. package/lib/cjs/system/storage/CacheList.js.map +1 -1
  361. package/lib/cjs/system/storage/CachedItem.d.ts +21 -21
  362. package/lib/cjs/system/storage/CachedItem.d.ts.map +1 -1
  363. package/lib/cjs/system/storage/CachedItem.js +25 -25
  364. package/lib/cjs/system/storage/CachedItem.js.map +1 -1
  365. package/lib/cjs/system/storage/ContentLoader.d.ts +64 -64
  366. package/lib/cjs/system/storage/ContentLoader.d.ts.map +1 -1
  367. package/lib/cjs/system/storage/ContentLoader.js +95 -95
  368. package/lib/cjs/system/storage/ContentLoader.js.map +1 -1
  369. package/lib/cjs/system/storage/FileContent.d.ts +19 -19
  370. package/lib/cjs/system/storage/FileContent.js +24 -24
  371. package/lib/cjs/system/storage/FileContent.js.map +1 -1
  372. package/lib/cjs/system/storage/FileRange.d.ts +20 -20
  373. package/lib/cjs/system/storage/FileRange.d.ts.map +1 -1
  374. package/lib/cjs/system/storage/FileRange.js +24 -24
  375. package/lib/cjs/system/storage/FileRange.js.map +1 -1
  376. package/lib/cjs/system/storage/FileStorage.d.ts +44 -44
  377. package/lib/cjs/system/storage/FileStorage.d.ts.map +1 -1
  378. package/lib/cjs/system/storage/FileStorage.js +62 -62
  379. package/lib/cjs/system/storage/FileStorage.js.map +1 -1
  380. package/lib/cjs/system/storage/NodeFS.d.ts +41 -41
  381. package/lib/cjs/system/storage/NodeFS.d.ts.map +1 -1
  382. package/lib/cjs/system/storage/NodeFS.js +79 -79
  383. package/lib/cjs/system/storage/NodeFS.js.map +1 -1
  384. package/lib/cjs/system/storage/PageCachedFile.d.ts +54 -54
  385. package/lib/cjs/system/storage/PageCachedFile.d.ts.map +1 -1
  386. package/lib/cjs/system/storage/PageCachedFile.js +165 -165
  387. package/lib/cjs/system/storage/PageCachedFile.js.map +1 -1
  388. package/lib/cjs/system/storage/UrlFS.d.ts +53 -53
  389. package/lib/cjs/system/storage/UrlFS.d.ts.map +1 -1
  390. package/lib/cjs/system/storage/UrlFS.js +114 -114
  391. package/lib/cjs/system/storage/UrlFS.js.map +1 -1
  392. package/lib/esm/core-orbitgt.d.ts +26 -26
  393. package/lib/esm/core-orbitgt.js +31 -31
  394. package/lib/esm/core-orbitgt.js.map +1 -1
  395. package/lib/esm/pointcloud/format/opc/AttributeMask.d.ts +30 -30
  396. package/lib/esm/pointcloud/format/opc/AttributeMask.js +43 -43
  397. package/lib/esm/pointcloud/format/opc/AttributeMask.js.map +1 -1
  398. package/lib/esm/pointcloud/format/opc/AttributeReader.d.ts +63 -63
  399. package/lib/esm/pointcloud/format/opc/AttributeReader.d.ts.map +1 -1
  400. package/lib/esm/pointcloud/format/opc/AttributeReader.js +20 -20
  401. package/lib/esm/pointcloud/format/opc/AttributeReader.js.map +1 -1
  402. package/lib/esm/pointcloud/format/opc/BlockRecord.d.ts +54 -54
  403. package/lib/esm/pointcloud/format/opc/BlockRecord.d.ts.map +1 -1
  404. package/lib/esm/pointcloud/format/opc/BlockRecord.js +81 -80
  405. package/lib/esm/pointcloud/format/opc/BlockRecord.js.map +1 -1
  406. package/lib/esm/pointcloud/format/opc/ContainerFile.d.ts +85 -85
  407. package/lib/esm/pointcloud/format/opc/ContainerFile.d.ts.map +1 -1
  408. package/lib/esm/pointcloud/format/opc/ContainerFile.js +196 -195
  409. package/lib/esm/pointcloud/format/opc/ContainerFile.js.map +1 -1
  410. package/lib/esm/pointcloud/format/opc/ContainerFilePart.d.ts +55 -55
  411. package/lib/esm/pointcloud/format/opc/ContainerFilePart.js +71 -71
  412. package/lib/esm/pointcloud/format/opc/ContainerFilePart.js.map +1 -1
  413. package/lib/esm/pointcloud/format/opc/DirectoryReader.d.ts +75 -75
  414. package/lib/esm/pointcloud/format/opc/DirectoryReader.d.ts.map +1 -1
  415. package/lib/esm/pointcloud/format/opc/DirectoryReader.js +165 -165
  416. package/lib/esm/pointcloud/format/opc/DirectoryReader.js.map +1 -1
  417. package/lib/esm/pointcloud/format/opc/DirectoryRecord.d.ts +59 -59
  418. package/lib/esm/pointcloud/format/opc/DirectoryRecord.d.ts.map +1 -1
  419. package/lib/esm/pointcloud/format/opc/DirectoryRecord.js +85 -85
  420. package/lib/esm/pointcloud/format/opc/DirectoryRecord.js.map +1 -1
  421. package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.d.ts +106 -106
  422. package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.d.ts.map +1 -1
  423. package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.js +193 -193
  424. package/lib/esm/pointcloud/format/opc/EmbeddedAttributeReader.js.map +1 -1
  425. package/lib/esm/pointcloud/format/opc/FileAccess.d.ts +39 -39
  426. package/lib/esm/pointcloud/format/opc/FileAccess.js +44 -44
  427. package/lib/esm/pointcloud/format/opc/FileAccess.js.map +1 -1
  428. package/lib/esm/pointcloud/format/opc/FileReader.d.ts +118 -118
  429. package/lib/esm/pointcloud/format/opc/FileReader.d.ts.map +1 -1
  430. package/lib/esm/pointcloud/format/opc/FileReader.js +245 -244
  431. package/lib/esm/pointcloud/format/opc/FileReader.js.map +1 -1
  432. package/lib/esm/pointcloud/format/opc/FileRecord.d.ts +89 -89
  433. package/lib/esm/pointcloud/format/opc/FileRecord.d.ts.map +1 -1
  434. package/lib/esm/pointcloud/format/opc/FileRecord.js +121 -121
  435. package/lib/esm/pointcloud/format/opc/FileRecord.js.map +1 -1
  436. package/lib/esm/pointcloud/format/opc/GeometryReader.d.ts +79 -79
  437. package/lib/esm/pointcloud/format/opc/GeometryReader.d.ts.map +1 -1
  438. package/lib/esm/pointcloud/format/opc/GeometryReader.js +160 -159
  439. package/lib/esm/pointcloud/format/opc/GeometryReader.js.map +1 -1
  440. package/lib/esm/pointcloud/format/opc/GeometryRecord.d.ts +53 -53
  441. package/lib/esm/pointcloud/format/opc/GeometryRecord.js +103 -103
  442. package/lib/esm/pointcloud/format/opc/GeometryRecord.js.map +1 -1
  443. package/lib/esm/pointcloud/format/opc/OPCReader.d.ts +157 -157
  444. package/lib/esm/pointcloud/format/opc/OPCReader.d.ts.map +1 -1
  445. package/lib/esm/pointcloud/format/opc/OPCReader.js +315 -315
  446. package/lib/esm/pointcloud/format/opc/OPCReader.js.map +1 -1
  447. package/lib/esm/pointcloud/format/opc/PointReader.d.ts +72 -72
  448. package/lib/esm/pointcloud/format/opc/PointReader.d.ts.map +1 -1
  449. package/lib/esm/pointcloud/format/opc/PointReader.js +148 -148
  450. package/lib/esm/pointcloud/format/opc/PointReader.js.map +1 -1
  451. package/lib/esm/pointcloud/format/opc/TileReadBuffer.d.ts +63 -63
  452. package/lib/esm/pointcloud/format/opc/TileReadBuffer.d.ts.map +1 -1
  453. package/lib/esm/pointcloud/format/opc/TileReadBuffer.js +88 -88
  454. package/lib/esm/pointcloud/format/opc/TileReadBuffer.js.map +1 -1
  455. package/lib/esm/pointcloud/format/opc/TileRecord.d.ts +88 -88
  456. package/lib/esm/pointcloud/format/opc/TileRecord.d.ts.map +1 -1
  457. package/lib/esm/pointcloud/format/opc/TileRecord.js +158 -157
  458. package/lib/esm/pointcloud/format/opc/TileRecord.js.map +1 -1
  459. package/lib/esm/pointcloud/model/AttributeTypes.d.ts +37 -37
  460. package/lib/esm/pointcloud/model/AttributeTypes.d.ts.map +1 -1
  461. package/lib/esm/pointcloud/model/AttributeTypes.js +61 -60
  462. package/lib/esm/pointcloud/model/AttributeTypes.js.map +1 -1
  463. package/lib/esm/pointcloud/model/AttributeValue.d.ts +247 -247
  464. package/lib/esm/pointcloud/model/AttributeValue.d.ts.map +1 -1
  465. package/lib/esm/pointcloud/model/AttributeValue.js +505 -504
  466. package/lib/esm/pointcloud/model/AttributeValue.js.map +1 -1
  467. package/lib/esm/pointcloud/model/BlockIndex.d.ts +49 -49
  468. package/lib/esm/pointcloud/model/BlockIndex.d.ts.map +1 -1
  469. package/lib/esm/pointcloud/model/BlockIndex.js +44 -44
  470. package/lib/esm/pointcloud/model/BlockIndex.js.map +1 -1
  471. package/lib/esm/pointcloud/model/CloudPoint.d.ts +210 -210
  472. package/lib/esm/pointcloud/model/CloudPoint.d.ts.map +1 -1
  473. package/lib/esm/pointcloud/model/CloudPoint.js +315 -314
  474. package/lib/esm/pointcloud/model/CloudPoint.js.map +1 -1
  475. package/lib/esm/pointcloud/model/Grid.d.ts +91 -91
  476. package/lib/esm/pointcloud/model/Grid.d.ts.map +1 -1
  477. package/lib/esm/pointcloud/model/Grid.js +125 -125
  478. package/lib/esm/pointcloud/model/Grid.js.map +1 -1
  479. package/lib/esm/pointcloud/model/GridIndex.d.ts +66 -66
  480. package/lib/esm/pointcloud/model/GridIndex.d.ts.map +1 -1
  481. package/lib/esm/pointcloud/model/GridIndex.js +89 -89
  482. package/lib/esm/pointcloud/model/GridIndex.js.map +1 -1
  483. package/lib/esm/pointcloud/model/PointAttribute.d.ts +208 -208
  484. package/lib/esm/pointcloud/model/PointAttribute.d.ts.map +1 -1
  485. package/lib/esm/pointcloud/model/PointAttribute.js +370 -370
  486. package/lib/esm/pointcloud/model/PointAttribute.js.map +1 -1
  487. package/lib/esm/pointcloud/model/PointCloudReader.d.ts +156 -156
  488. package/lib/esm/pointcloud/model/PointCloudReader.d.ts.map +1 -1
  489. package/lib/esm/pointcloud/model/PointCloudReader.js +185 -185
  490. package/lib/esm/pointcloud/model/PointCloudReader.js.map +1 -1
  491. package/lib/esm/pointcloud/model/PointData.d.ts +17 -17
  492. package/lib/esm/pointcloud/model/PointData.js +20 -20
  493. package/lib/esm/pointcloud/model/PointData.js.map +1 -1
  494. package/lib/esm/pointcloud/model/PointDataRaw.d.ts +34 -34
  495. package/lib/esm/pointcloud/model/PointDataRaw.d.ts.map +1 -1
  496. package/lib/esm/pointcloud/model/PointDataRaw.js +66 -65
  497. package/lib/esm/pointcloud/model/PointDataRaw.js.map +1 -1
  498. package/lib/esm/pointcloud/model/ReadRequest.d.ts +175 -175
  499. package/lib/esm/pointcloud/model/ReadRequest.d.ts.map +1 -1
  500. package/lib/esm/pointcloud/model/ReadRequest.js +236 -235
  501. package/lib/esm/pointcloud/model/ReadRequest.js.map +1 -1
  502. package/lib/esm/pointcloud/model/StandardAttributes.d.ts +40 -40
  503. package/lib/esm/pointcloud/model/StandardAttributes.d.ts.map +1 -1
  504. package/lib/esm/pointcloud/model/StandardAttributes.js +44 -43
  505. package/lib/esm/pointcloud/model/StandardAttributes.js.map +1 -1
  506. package/lib/esm/pointcloud/model/TileIndex.d.ts +47 -47
  507. package/lib/esm/pointcloud/model/TileIndex.d.ts.map +1 -1
  508. package/lib/esm/pointcloud/model/TileIndex.js +43 -43
  509. package/lib/esm/pointcloud/model/TileIndex.js.map +1 -1
  510. package/lib/esm/pointcloud/render/AViewRequest.d.ts +38 -38
  511. package/lib/esm/pointcloud/render/AViewRequest.d.ts.map +1 -1
  512. package/lib/esm/pointcloud/render/AViewRequest.js +20 -20
  513. package/lib/esm/pointcloud/render/AViewRequest.js.map +1 -1
  514. package/lib/esm/pointcloud/render/Block.d.ts +67 -67
  515. package/lib/esm/pointcloud/render/Block.js +115 -115
  516. package/lib/esm/pointcloud/render/Block.js.map +1 -1
  517. package/lib/esm/pointcloud/render/DataManager.d.ts +136 -136
  518. package/lib/esm/pointcloud/render/DataManager.d.ts.map +1 -1
  519. package/lib/esm/pointcloud/render/DataManager.js +339 -338
  520. package/lib/esm/pointcloud/render/DataManager.js.map +1 -1
  521. package/lib/esm/pointcloud/render/FrameData.d.ts +30 -30
  522. package/lib/esm/pointcloud/render/FrameData.js +35 -35
  523. package/lib/esm/pointcloud/render/FrameData.js.map +1 -1
  524. package/lib/esm/pointcloud/render/Level.d.ts +90 -90
  525. package/lib/esm/pointcloud/render/Level.d.ts.map +1 -1
  526. package/lib/esm/pointcloud/render/Level.js +115 -115
  527. package/lib/esm/pointcloud/render/Level.js.map +1 -1
  528. package/lib/esm/pointcloud/render/TileLoadSorter.d.ts +60 -60
  529. package/lib/esm/pointcloud/render/TileLoadSorter.d.ts.map +1 -1
  530. package/lib/esm/pointcloud/render/TileLoadSorter.js +96 -95
  531. package/lib/esm/pointcloud/render/TileLoadSorter.js.map +1 -1
  532. package/lib/esm/pointcloud/render/ViewTree.d.ts +113 -113
  533. package/lib/esm/pointcloud/render/ViewTree.d.ts.map +1 -1
  534. package/lib/esm/pointcloud/render/ViewTree.js +360 -359
  535. package/lib/esm/pointcloud/render/ViewTree.js.map +1 -1
  536. package/lib/esm/spatial/crs/CRSEngine.d.ts +55 -55
  537. package/lib/esm/spatial/crs/CRSEngine.js +89 -89
  538. package/lib/esm/spatial/crs/CRSEngine.js.map +1 -1
  539. package/lib/esm/spatial/crs/CRSManager.d.ts +49 -49
  540. package/lib/esm/spatial/crs/CRSManager.js +106 -105
  541. package/lib/esm/spatial/crs/CRSManager.js.map +1 -1
  542. package/lib/esm/spatial/ecrs/Axis.d.ts +77 -77
  543. package/lib/esm/spatial/ecrs/Axis.d.ts.map +1 -1
  544. package/lib/esm/spatial/ecrs/Axis.js +89 -89
  545. package/lib/esm/spatial/ecrs/Axis.js.map +1 -1
  546. package/lib/esm/spatial/ecrs/CRS.d.ts +447 -447
  547. package/lib/esm/spatial/ecrs/CRS.d.ts.map +1 -1
  548. package/lib/esm/spatial/ecrs/CRS.js +927 -926
  549. package/lib/esm/spatial/ecrs/CRS.js.map +1 -1
  550. package/lib/esm/spatial/ecrs/CoordinateSystem.d.ts +142 -142
  551. package/lib/esm/spatial/ecrs/CoordinateSystem.d.ts.map +1 -1
  552. package/lib/esm/spatial/ecrs/CoordinateSystem.js +323 -322
  553. package/lib/esm/spatial/ecrs/CoordinateSystem.js.map +1 -1
  554. package/lib/esm/spatial/ecrs/DataFileUnit.d.ts +10 -10
  555. package/lib/esm/spatial/ecrs/DataFileUnit.js +101 -100
  556. package/lib/esm/spatial/ecrs/DataFileUnit.js.map +1 -1
  557. package/lib/esm/spatial/ecrs/Datum.d.ts +111 -111
  558. package/lib/esm/spatial/ecrs/Datum.d.ts.map +1 -1
  559. package/lib/esm/spatial/ecrs/Datum.js +163 -162
  560. package/lib/esm/spatial/ecrs/Datum.js.map +1 -1
  561. package/lib/esm/spatial/ecrs/Ellipsoid.d.ts +188 -188
  562. package/lib/esm/spatial/ecrs/Ellipsoid.d.ts.map +1 -1
  563. package/lib/esm/spatial/ecrs/Ellipsoid.js +332 -332
  564. package/lib/esm/spatial/ecrs/Ellipsoid.js.map +1 -1
  565. package/lib/esm/spatial/ecrs/OnlineEngine.d.ts +48 -48
  566. package/lib/esm/spatial/ecrs/OnlineEngine.js +98 -98
  567. package/lib/esm/spatial/ecrs/OnlineEngine.js.map +1 -1
  568. package/lib/esm/spatial/ecrs/OnlineRegistry.d.ts +37 -37
  569. package/lib/esm/spatial/ecrs/OnlineRegistry.d.ts.map +1 -1
  570. package/lib/esm/spatial/ecrs/OnlineRegistry.js +73 -72
  571. package/lib/esm/spatial/ecrs/OnlineRegistry.js.map +1 -1
  572. package/lib/esm/spatial/ecrs/Operation.d.ts +191 -191
  573. package/lib/esm/spatial/ecrs/Operation.d.ts.map +1 -1
  574. package/lib/esm/spatial/ecrs/Operation.js +342 -341
  575. package/lib/esm/spatial/ecrs/Operation.js.map +1 -1
  576. package/lib/esm/spatial/ecrs/OperationMethod.d.ts +71 -71
  577. package/lib/esm/spatial/ecrs/OperationMethod.d.ts.map +1 -1
  578. package/lib/esm/spatial/ecrs/OperationMethod.js +71 -71
  579. package/lib/esm/spatial/ecrs/OperationMethod.js.map +1 -1
  580. package/lib/esm/spatial/ecrs/ParameterValue.d.ts +49 -49
  581. package/lib/esm/spatial/ecrs/ParameterValue.d.ts.map +1 -1
  582. package/lib/esm/spatial/ecrs/ParameterValue.js +61 -61
  583. package/lib/esm/spatial/ecrs/ParameterValue.js.map +1 -1
  584. package/lib/esm/spatial/ecrs/ParameterValueList.d.ts +72 -72
  585. package/lib/esm/spatial/ecrs/ParameterValueList.d.ts.map +1 -1
  586. package/lib/esm/spatial/ecrs/ParameterValueList.js +116 -116
  587. package/lib/esm/spatial/ecrs/ParameterValueList.js.map +1 -1
  588. package/lib/esm/spatial/ecrs/PrimeMeridian.d.ts +78 -78
  589. package/lib/esm/spatial/ecrs/PrimeMeridian.d.ts.map +1 -1
  590. package/lib/esm/spatial/ecrs/PrimeMeridian.js +104 -104
  591. package/lib/esm/spatial/ecrs/PrimeMeridian.js.map +1 -1
  592. package/lib/esm/spatial/ecrs/Registry.d.ts +109 -109
  593. package/lib/esm/spatial/ecrs/Registry.d.ts.map +1 -1
  594. package/lib/esm/spatial/ecrs/Registry.js +204 -203
  595. package/lib/esm/spatial/ecrs/Registry.js.map +1 -1
  596. package/lib/esm/spatial/ecrs/Transform.d.ts +77 -77
  597. package/lib/esm/spatial/ecrs/Transform.d.ts.map +1 -1
  598. package/lib/esm/spatial/ecrs/Transform.js +393 -392
  599. package/lib/esm/spatial/ecrs/Transform.js.map +1 -1
  600. package/lib/esm/spatial/ecrs/Unit.d.ts +170 -170
  601. package/lib/esm/spatial/ecrs/Unit.d.ts.map +1 -1
  602. package/lib/esm/spatial/ecrs/Unit.js +333 -332
  603. package/lib/esm/spatial/ecrs/Unit.js.map +1 -1
  604. package/lib/esm/spatial/ecrs/VerticalModel.d.ts +69 -69
  605. package/lib/esm/spatial/ecrs/VerticalModel.d.ts.map +1 -1
  606. package/lib/esm/spatial/ecrs/VerticalModel.js +84 -84
  607. package/lib/esm/spatial/ecrs/VerticalModel.js.map +1 -1
  608. package/lib/esm/spatial/ecrs/WellKnownText.d.ts +153 -153
  609. package/lib/esm/spatial/ecrs/WellKnownText.d.ts.map +1 -1
  610. package/lib/esm/spatial/ecrs/WellKnownText.js +491 -490
  611. package/lib/esm/spatial/ecrs/WellKnownText.js.map +1 -1
  612. package/lib/esm/spatial/ecrs/WellKnownTextNode.d.ts +69 -69
  613. package/lib/esm/spatial/ecrs/WellKnownTextNode.d.ts.map +1 -1
  614. package/lib/esm/spatial/ecrs/WellKnownTextNode.js +124 -124
  615. package/lib/esm/spatial/ecrs/WellKnownTextNode.js.map +1 -1
  616. package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.d.ts +101 -101
  617. package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.d.ts.map +1 -1
  618. package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.js +159 -158
  619. package/lib/esm/spatial/ecrs/projection/HotineObliqueMercator.js.map +1 -1
  620. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConic.d.ts +79 -79
  621. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConic.d.ts.map +1 -1
  622. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConic.js +122 -121
  623. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConic.js.map +1 -1
  624. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConicEN.d.ts +47 -47
  625. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConicEN.d.ts.map +1 -1
  626. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js +70 -69
  627. package/lib/esm/spatial/ecrs/projection/KrovakObliqueConformalConicEN.js.map +1 -1
  628. package/lib/esm/spatial/ecrs/projection/LambertConical1SP.d.ts +72 -72
  629. package/lib/esm/spatial/ecrs/projection/LambertConical1SP.d.ts.map +1 -1
  630. package/lib/esm/spatial/ecrs/projection/LambertConical1SP.js +126 -125
  631. package/lib/esm/spatial/ecrs/projection/LambertConical1SP.js.map +1 -1
  632. package/lib/esm/spatial/ecrs/projection/LambertConical2SP.d.ts +120 -120
  633. package/lib/esm/spatial/ecrs/projection/LambertConical2SP.d.ts.map +1 -1
  634. package/lib/esm/spatial/ecrs/projection/LambertConical2SP.js +176 -175
  635. package/lib/esm/spatial/ecrs/projection/LambertConical2SP.js.map +1 -1
  636. package/lib/esm/spatial/ecrs/projection/Mercator1SP.d.ts +73 -73
  637. package/lib/esm/spatial/ecrs/projection/Mercator1SP.d.ts.map +1 -1
  638. package/lib/esm/spatial/ecrs/projection/Mercator1SP.js +109 -108
  639. package/lib/esm/spatial/ecrs/projection/Mercator1SP.js.map +1 -1
  640. package/lib/esm/spatial/ecrs/projection/ObliqueMercator.d.ts +96 -96
  641. package/lib/esm/spatial/ecrs/projection/ObliqueMercator.d.ts.map +1 -1
  642. package/lib/esm/spatial/ecrs/projection/ObliqueMercator.js +170 -169
  643. package/lib/esm/spatial/ecrs/projection/ObliqueMercator.js.map +1 -1
  644. package/lib/esm/spatial/ecrs/projection/ObliqueStereographic.d.ts +123 -123
  645. package/lib/esm/spatial/ecrs/projection/ObliqueStereographic.d.ts.map +1 -1
  646. package/lib/esm/spatial/ecrs/projection/ObliqueStereographic.js +205 -204
  647. package/lib/esm/spatial/ecrs/projection/ObliqueStereographic.js.map +1 -1
  648. package/lib/esm/spatial/ecrs/projection/TransverseMercator.d.ts +108 -108
  649. package/lib/esm/spatial/ecrs/projection/TransverseMercator.d.ts.map +1 -1
  650. package/lib/esm/spatial/ecrs/projection/TransverseMercator.js +180 -179
  651. package/lib/esm/spatial/ecrs/projection/TransverseMercator.js.map +1 -1
  652. package/lib/esm/spatial/ecrs/transformation/PositionVector.d.ts +90 -90
  653. package/lib/esm/spatial/ecrs/transformation/PositionVector.d.ts.map +1 -1
  654. package/lib/esm/spatial/ecrs/transformation/PositionVector.js +127 -126
  655. package/lib/esm/spatial/ecrs/transformation/PositionVector.js.map +1 -1
  656. package/lib/esm/spatial/geom/Bounds.d.ts +33 -33
  657. package/lib/esm/spatial/geom/Bounds.d.ts.map +1 -1
  658. package/lib/esm/spatial/geom/Bounds.js +152 -152
  659. package/lib/esm/spatial/geom/Bounds.js.map +1 -1
  660. package/lib/esm/spatial/geom/Coordinate.d.ts +61 -61
  661. package/lib/esm/spatial/geom/Coordinate.d.ts.map +1 -1
  662. package/lib/esm/spatial/geom/Coordinate.js +182 -182
  663. package/lib/esm/spatial/geom/Coordinate.js.map +1 -1
  664. package/lib/esm/spatial/geom/Line.d.ts +225 -225
  665. package/lib/esm/spatial/geom/Line.d.ts.map +1 -1
  666. package/lib/esm/spatial/geom/Line.js +428 -428
  667. package/lib/esm/spatial/geom/Line.js.map +1 -1
  668. package/lib/esm/spatial/geom/Transform.d.ts +340 -340
  669. package/lib/esm/spatial/geom/Transform.d.ts.map +1 -1
  670. package/lib/esm/spatial/geom/Transform.js +744 -744
  671. package/lib/esm/spatial/geom/Transform.js.map +1 -1
  672. package/lib/esm/system/buffer/ABuffer.d.ts +51 -51
  673. package/lib/esm/system/buffer/ABuffer.d.ts.map +1 -1
  674. package/lib/esm/system/buffer/ABuffer.js +86 -86
  675. package/lib/esm/system/buffer/ABuffer.js.map +1 -1
  676. package/lib/esm/system/buffer/Float32Buffer.d.ts +46 -46
  677. package/lib/esm/system/buffer/Float32Buffer.d.ts.map +1 -1
  678. package/lib/esm/system/buffer/Float32Buffer.js +57 -56
  679. package/lib/esm/system/buffer/Float32Buffer.js.map +1 -1
  680. package/lib/esm/system/buffer/LittleEndian.d.ts +149 -149
  681. package/lib/esm/system/buffer/LittleEndian.d.ts.map +1 -1
  682. package/lib/esm/system/buffer/LittleEndian.js +299 -299
  683. package/lib/esm/system/buffer/LittleEndian.js.map +1 -1
  684. package/lib/esm/system/buffer/Uint16Buffer.d.ts +49 -49
  685. package/lib/esm/system/buffer/Uint16Buffer.d.ts.map +1 -1
  686. package/lib/esm/system/buffer/Uint16Buffer.js +62 -61
  687. package/lib/esm/system/buffer/Uint16Buffer.js.map +1 -1
  688. package/lib/esm/system/buffer/Uint8Buffer.d.ts +49 -49
  689. package/lib/esm/system/buffer/Uint8Buffer.d.ts.map +1 -1
  690. package/lib/esm/system/buffer/Uint8Buffer.js +62 -61
  691. package/lib/esm/system/buffer/Uint8Buffer.js.map +1 -1
  692. package/lib/esm/system/collection/AList.d.ts +30 -30
  693. package/lib/esm/system/collection/AList.d.ts.map +1 -1
  694. package/lib/esm/system/collection/AList.js +66 -66
  695. package/lib/esm/system/collection/AList.js.map +1 -1
  696. package/lib/esm/system/collection/IntMap.d.ts +18 -18
  697. package/lib/esm/system/collection/IntMap.d.ts.map +1 -1
  698. package/lib/esm/system/collection/IntMap.js +31 -31
  699. package/lib/esm/system/collection/IntMap.js.map +1 -1
  700. package/lib/esm/system/collection/StringMap.d.ts +26 -26
  701. package/lib/esm/system/collection/StringMap.d.ts.map +1 -1
  702. package/lib/esm/system/collection/StringMap.js +59 -59
  703. package/lib/esm/system/collection/StringMap.js.map +1 -1
  704. package/lib/esm/system/io/ABufferInStream.d.ts +29 -29
  705. package/lib/esm/system/io/ABufferInStream.d.ts.map +1 -1
  706. package/lib/esm/system/io/ABufferInStream.js +42 -42
  707. package/lib/esm/system/io/ABufferInStream.js.map +1 -1
  708. package/lib/esm/system/io/InStream.d.ts +23 -23
  709. package/lib/esm/system/io/InStream.d.ts.map +1 -1
  710. package/lib/esm/system/io/InStream.js +30 -30
  711. package/lib/esm/system/io/InStream.js.map +1 -1
  712. package/lib/esm/system/io/OutStream.d.ts +23 -23
  713. package/lib/esm/system/io/OutStream.d.ts.map +1 -1
  714. package/lib/esm/system/io/OutStream.js +29 -29
  715. package/lib/esm/system/io/OutStream.js.map +1 -1
  716. package/lib/esm/system/runtime/ALong.d.ts +329 -329
  717. package/lib/esm/system/runtime/ALong.d.ts.map +1 -1
  718. package/lib/esm/system/runtime/ALong.js +684 -683
  719. package/lib/esm/system/runtime/ALong.js.map +1 -1
  720. package/lib/esm/system/runtime/ASystem.d.ts +14 -14
  721. package/lib/esm/system/runtime/ASystem.js +28 -27
  722. package/lib/esm/system/runtime/ASystem.js.map +1 -1
  723. package/lib/esm/system/runtime/Downloader.d.ts +17 -17
  724. package/lib/esm/system/runtime/Downloader.js +35 -34
  725. package/lib/esm/system/runtime/Downloader.js.map +1 -1
  726. package/lib/esm/system/runtime/DownloaderNode.d.ts +18 -18
  727. package/lib/esm/system/runtime/DownloaderNode.js +125 -125
  728. package/lib/esm/system/runtime/DownloaderNode.js.map +1 -1
  729. package/lib/esm/system/runtime/DownloaderXhr.d.ts +18 -18
  730. package/lib/esm/system/runtime/DownloaderXhr.js +127 -127
  731. package/lib/esm/system/runtime/DownloaderXhr.js.map +1 -1
  732. package/lib/esm/system/runtime/Message.d.ts +16 -16
  733. package/lib/esm/system/runtime/Message.js +36 -35
  734. package/lib/esm/system/runtime/Message.js.map +1 -1
  735. package/lib/esm/system/runtime/Numbers.d.ts +34 -34
  736. package/lib/esm/system/runtime/Numbers.d.ts.map +1 -1
  737. package/lib/esm/system/runtime/Numbers.js +84 -83
  738. package/lib/esm/system/runtime/Numbers.js.map +1 -1
  739. package/lib/esm/system/runtime/Strings.d.ts +49 -49
  740. package/lib/esm/system/runtime/Strings.d.ts.map +1 -1
  741. package/lib/esm/system/runtime/Strings.js +185 -184
  742. package/lib/esm/system/runtime/Strings.js.map +1 -1
  743. package/lib/esm/system/runtime/iComparator.d.ts +12 -12
  744. package/lib/esm/system/runtime/iComparator.d.ts.map +1 -1
  745. package/lib/esm/system/runtime/iComparator.js +8 -8
  746. package/lib/esm/system/runtime/iComparator.js.map +1 -1
  747. package/lib/esm/system/storage/CacheList.d.ts +39 -39
  748. package/lib/esm/system/storage/CacheList.d.ts.map +1 -1
  749. package/lib/esm/system/storage/CacheList.js +76 -76
  750. package/lib/esm/system/storage/CacheList.js.map +1 -1
  751. package/lib/esm/system/storage/CachedItem.d.ts +21 -21
  752. package/lib/esm/system/storage/CachedItem.d.ts.map +1 -1
  753. package/lib/esm/system/storage/CachedItem.js +21 -21
  754. package/lib/esm/system/storage/CachedItem.js.map +1 -1
  755. package/lib/esm/system/storage/ContentLoader.d.ts +64 -64
  756. package/lib/esm/system/storage/ContentLoader.d.ts.map +1 -1
  757. package/lib/esm/system/storage/ContentLoader.js +92 -91
  758. package/lib/esm/system/storage/ContentLoader.js.map +1 -1
  759. package/lib/esm/system/storage/FileContent.d.ts +19 -19
  760. package/lib/esm/system/storage/FileContent.js +20 -20
  761. package/lib/esm/system/storage/FileContent.js.map +1 -1
  762. package/lib/esm/system/storage/FileRange.d.ts +20 -20
  763. package/lib/esm/system/storage/FileRange.d.ts.map +1 -1
  764. package/lib/esm/system/storage/FileRange.js +20 -20
  765. package/lib/esm/system/storage/FileRange.js.map +1 -1
  766. package/lib/esm/system/storage/FileStorage.d.ts +44 -44
  767. package/lib/esm/system/storage/FileStorage.d.ts.map +1 -1
  768. package/lib/esm/system/storage/FileStorage.js +58 -58
  769. package/lib/esm/system/storage/FileStorage.js.map +1 -1
  770. package/lib/esm/system/storage/NodeFS.d.ts +41 -41
  771. package/lib/esm/system/storage/NodeFS.d.ts.map +1 -1
  772. package/lib/esm/system/storage/NodeFS.js +75 -75
  773. package/lib/esm/system/storage/NodeFS.js.map +1 -1
  774. package/lib/esm/system/storage/PageCachedFile.d.ts +54 -54
  775. package/lib/esm/system/storage/PageCachedFile.d.ts.map +1 -1
  776. package/lib/esm/system/storage/PageCachedFile.js +161 -161
  777. package/lib/esm/system/storage/PageCachedFile.js.map +1 -1
  778. package/lib/esm/system/storage/UrlFS.d.ts +53 -53
  779. package/lib/esm/system/storage/UrlFS.d.ts.map +1 -1
  780. package/lib/esm/system/storage/UrlFS.js +110 -110
  781. package/lib/esm/system/storage/UrlFS.js.map +1 -1
  782. package/package.json +6 -6
@@ -1,745 +1,745 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /** @packageDocumentation
6
- * @module OrbitGT
7
- */
8
- import { Bounds } from "./Bounds";
9
- import { Coordinate } from "./Coordinate";
10
- /**
11
- * Class Transform defines a generic 3D transformation.
12
- *
13
- * @version 1.0 November 2015
14
- */
15
- /** @internal */
16
- export class Transform {
17
- /**
18
- * Create a new (identity) transform.
19
- */
20
- constructor() {
21
- this._elements = new Float64Array(16);
22
- this._elements[0] = 1.0; // m00
23
- this._elements[1] = 0.0; // m01
24
- this._elements[2] = 0.0; // m02
25
- this._elements[3] = 0.0; // m03
26
- this._elements[4] = 0.0; // m10
27
- this._elements[5] = 1.0; // m11
28
- this._elements[6] = 0.0; // m12
29
- this._elements[7] = 0.0; // m13
30
- this._elements[8] = 0.0; // m20
31
- this._elements[9] = 0.0; // m21
32
- this._elements[10] = 1.0; // m22
33
- this._elements[11] = 0.0; // m23
34
- this._elements[12] = 0.0; // m30
35
- this._elements[13] = 0.0; // m31
36
- this._elements[14] = 0.0; // m32
37
- this._elements[15] = 1.0; // m33
38
- }
39
- /**
40
- * Create a new (identity) transform.
41
- */
42
- static create() {
43
- return new Transform();
44
- }
45
- /**
46
- * Create a transformation from elements.
47
- * @param elements the 16 matrix elements (row major order).
48
- * @return the transformation.
49
- */
50
- static fromRowMajor(elements) {
51
- if (elements == null)
52
- return null;
53
- if (elements.length == 0)
54
- return null;
55
- let transform = new Transform();
56
- let index = 0;
57
- for (let r = 0; r < 4; r++)
58
- for (let c = 0; c < 4; c++)
59
- transform.setElement(r, c, elements[index++]);
60
- return transform;
61
- }
62
- /**
63
- * Create a transformation from elements.
64
- * @param elements the 16 matrix elements (column major order).
65
- * @return the transformation.
66
- */
67
- static fromColumnMajor(elements) {
68
- if (elements == null)
69
- return null;
70
- if (elements.length == 0)
71
- return null;
72
- let transform = new Transform();
73
- let index = 0;
74
- for (let c = 0; c < 4; c++)
75
- for (let r = 0; r < 4; r++)
76
- transform.setElement(r, c, elements[index++]);
77
- return transform;
78
- }
79
- /**
80
- * Create a transformation from elements.
81
- * @param elements the 9 matrix elements (row major order).
82
- * @return the transformation.
83
- */
84
- static fromRotationElements(m00, m01, m02, m10, m11, m12, m20, m21, m22) {
85
- let transform = new Transform();
86
- transform.setElement(0, 0, m00);
87
- transform.setElement(0, 1, m01);
88
- transform.setElement(0, 2, m02);
89
- transform.setElement(1, 0, m10);
90
- transform.setElement(1, 1, m11);
91
- transform.setElement(1, 2, m12);
92
- transform.setElement(2, 0, m20);
93
- transform.setElement(2, 1, m21);
94
- transform.setElement(2, 2, m22);
95
- return transform;
96
- }
97
- /**
98
- * Create a transformation from elements.
99
- * @param elements the 16 matrix elements (row major order).
100
- * @return the transformation.
101
- */
102
- static fromElements(m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23) {
103
- let transform = Transform.fromRotationElements(m00, m01, m02, m10, m11, m12, m20, m21, m22);
104
- transform.setElement(0, 3, m03);
105
- transform.setElement(1, 3, m13);
106
- transform.setElement(2, 3, m23);
107
- return transform;
108
- }
109
- /**
110
- * Get an element.
111
- * @param index the index of the element.
112
- * @return the element.
113
- */
114
- get(index) {
115
- return this._elements[index];
116
- }
117
- /**
118
- * Set an element.
119
- * @param index the index of the element.
120
- * @param value the value.
121
- */
122
- set(index, value) {
123
- this._elements[index] = value;
124
- }
125
- /**
126
- * Get an element.
127
- * @param row the row index.
128
- * @param col the column index.
129
- * @return the element.
130
- */
131
- getElement(row, col) {
132
- return this._elements[row * 4 + col];
133
- }
134
- /**
135
- * Set an element.
136
- * @param row the row index.
137
- * @param col the column index.
138
- * @param value the value.
139
- */
140
- setElement(row, col, value) {
141
- this._elements[row * 4 + col] = value;
142
- }
143
- /**
144
- * Get the elements.
145
- * @return the elements (row major order).
146
- */
147
- getElements() {
148
- return this._elements;
149
- }
150
- /**
151
- * Set the elements.
152
- * @param elements the elements (row major order).
153
- */
154
- setElements(elements) {
155
- for (let i = 0; i < this._elements.length; i++)
156
- this._elements[i] = elements[i];
157
- }
158
- /**
159
- * Get the X column.
160
- * @return the X column.
161
- */
162
- getColumnX() {
163
- return new Coordinate(this.getElement(0, 0), this.getElement(1, 0), this.getElement(2, 0));
164
- }
165
- /**
166
- * Get the Y column.
167
- * @return the Y column.
168
- */
169
- getColumnY() {
170
- return new Coordinate(this.getElement(0, 1), this.getElement(1, 1), this.getElement(2, 1));
171
- }
172
- /**
173
- * Get the Z column.
174
- * @return the Z column.
175
- */
176
- getColumnZ() {
177
- return new Coordinate(this.getElement(0, 2), this.getElement(1, 2), this.getElement(2, 2));
178
- }
179
- /**
180
- * Get the translation column.
181
- * @return the translation column.
182
- */
183
- getTranslation() {
184
- return new Coordinate(this.getElement(0, 3), this.getElement(1, 3), this.getElement(2, 3));
185
- }
186
- /**
187
- * Set the translation.
188
- * @param tx the x position of the translation.
189
- * @param ty the y position of the translation.
190
- * @param tz the z position of the translation.
191
- * @return the tranformation.
192
- */
193
- setTranslation(tx, ty, tz) {
194
- this.setElement(0, 3, tx);
195
- this.setElement(1, 3, ty);
196
- this.setElement(2, 3, tz);
197
- return this;
198
- }
199
- /**
200
- * Clear the translation.
201
- * @return the tranformation.
202
- */
203
- clearTranslation() {
204
- this.setElement(0, 3, 0.0);
205
- this.setElement(1, 3, 0.0);
206
- this.setElement(2, 3, 0.0);
207
- return this;
208
- }
209
- /**
210
- * Swap two rows.
211
- * @param row1 the first row.
212
- * @param row2 the second row.
213
- */
214
- swapRows(row1, row2) {
215
- for (let i = 0; i < 4; i++) {
216
- let e1 = this.getElement(row1, i);
217
- let e2 = this.getElement(row2, i);
218
- this.setElement(row1, i, e2);
219
- this.setElement(row2, i, e1);
220
- }
221
- }
222
- /**
223
- * Swap two columns.
224
- * @param col1 the first column.
225
- * @param col2 the second column.
226
- */
227
- swapColumns(col1, col2) {
228
- for (let i = 0; i < 4; i++) {
229
- let e1 = this.getElement(i, col1);
230
- let e2 = this.getElement(i, col2);
231
- this.setElement(i, col1, e2);
232
- this.setElement(i, col2, e1);
233
- }
234
- }
235
- /**
236
- * Swap the YZ coordinates.
237
- */
238
- swapYZ() {
239
- let result = Transform.multiply2(this, Transform.createSwapYZ());
240
- this.setElements(result.getElements());
241
- }
242
- /**
243
- * Calculate the cosine of an angle.
244
- * @param angle the angle (in degrees).
245
- * @return the cosine.
246
- */
247
- static cos(angle) {
248
- /* One? */
249
- if (angle == 0.0)
250
- return 1.0;
251
- if (angle == 360.0)
252
- return 1.0;
253
- /* Minus one? */
254
- if (angle == 180.0)
255
- return -1.0;
256
- if (angle == -180.0)
257
- return -1.0;
258
- /* Zero? */
259
- if (angle == 90.0)
260
- return 0.0;
261
- if (angle == -90.0)
262
- return 0.0;
263
- if (angle == 270.0)
264
- return 0.0;
265
- /* Calculate */
266
- return Math.cos(angle / 180.0 * Math.PI);
267
- }
268
- /**
269
- * Calculate the sine of an angle.
270
- * @param angle the angle (in degrees).
271
- * @return the sine.
272
- */
273
- static sin(angle) {
274
- /* One? */
275
- if (angle == 90.0)
276
- return 1.0;
277
- /* Minus one? */
278
- if (angle == -90.0)
279
- return -1.0;
280
- if (angle == 270.0)
281
- return -1.0;
282
- /* Zero? */
283
- if (angle == 0.0)
284
- return 0.0;
285
- if (angle == 360.0)
286
- return 0.0;
287
- if (angle == 180.0)
288
- return 0.0;
289
- if (angle == -180.0)
290
- return 0.0;
291
- /* Calculate */
292
- return Math.sin(angle / 180.0 * Math.PI);
293
- }
294
- /**
295
- * Rotate around the X axis.
296
- * @param angle the rotation angle (degree).
297
- */
298
- rotateX(angle) {
299
- if (angle == 0.0)
300
- return;
301
- let result = Transform.multiply2(this, Transform.createRotationX(angle));
302
- this.setElements(result.getElements());
303
- }
304
- /**
305
- * Apply a rotation around X axis.
306
- * @param point the (mutable) point to rotate.
307
- * @param rotation the (Y->Z,counterclockwise) rotation (degrees).
308
- */
309
- static rotatePointX(point, rotation) {
310
- if (rotation == 0.0)
311
- return;
312
- let a = rotation;
313
- let dcos = Transform.cos(a);
314
- let dsin = Transform.sin(a);
315
- let ny = dcos * point.getY() - dsin * point.getZ();
316
- let nz = dsin * point.getY() + dcos * point.getZ();
317
- point.setXYZ(point.getX(), ny, nz);
318
- }
319
- /**
320
- * Rotate around the Y axis.
321
- * @param angle the rotation angle (degree).
322
- */
323
- rotateY(angle) {
324
- if (angle == 0.0)
325
- return;
326
- let result = Transform.multiply2(this, Transform.createRotationY(angle));
327
- this.setElements(result.getElements());
328
- }
329
- /**
330
- * Apply a rotation around Y axis.
331
- * @param point the (mutable) point to rotate.
332
- * @param rotation the (Z->X,counterclockwise) rotation (degrees).
333
- */
334
- static rotatePointY(point, rotation) {
335
- if (rotation == 0.0)
336
- return;
337
- let a = -rotation; // swapped orientation to CCW on 09/03/2012
338
- let dcos = Transform.cos(a);
339
- let dsin = Transform.sin(a);
340
- let nx = dcos * point.getX() - dsin * point.getZ();
341
- let nz = dsin * point.getX() + dcos * point.getZ();
342
- point.setXYZ(nx, point.getY(), nz);
343
- }
344
- /**
345
- * Rotate around the Z axis.
346
- * @param angle the rotation angle (degree).
347
- */
348
- rotateZ(angle) {
349
- if (angle == 0.0)
350
- return;
351
- let result = Transform.multiply2(this, Transform.createRotationZ(angle));
352
- this.setElements(result.getElements());
353
- }
354
- /**
355
- * Apply a rotation around Z axis.
356
- * @param point the (mutable) point to rotate.
357
- * @param rotation the (X->Y,counterclockwise) rotation (degrees).
358
- */
359
- static rotatePointZ(point, rotation) {
360
- if (rotation == 0.0)
361
- return;
362
- let a = rotation;
363
- let dcos = Transform.cos(a);
364
- let dsin = Transform.sin(a);
365
- let nx = dcos * point.getX() - dsin * point.getY();
366
- let ny = dsin * point.getX() + dcos * point.getY();
367
- point.setXYZ(nx, ny, point.getZ());
368
- }
369
- /**
370
- * Multiply two matrices.
371
- * @param a the first transform.
372
- * @param b the second transform.
373
- * @return the result transform (a x b).
374
- */
375
- static multiply2(a, b) {
376
- /* Allow nulls */
377
- if (a == null)
378
- a = new Transform();
379
- if (b == null)
380
- b = new Transform();
381
- /* Fill the destination transform "d" */
382
- let d = new Transform();
383
- for (let i = 0; i < 4; i++) {
384
- /* Get the next row from "a" */
385
- let ai0 = a.getElement(i, 0);
386
- let ai1 = a.getElement(i, 1);
387
- let ai2 = a.getElement(i, 2);
388
- let ai3 = a.getElement(i, 3);
389
- /* Set the target row in "d" */
390
- d.setElement(i, 0, ai0 * b.getElement(0, 0) + ai1 * b.getElement(1, 0) + ai2 * b.getElement(2, 0) + ai3 * b.getElement(3, 0)); // multiply by column(0) of "b"
391
- d.setElement(i, 1, ai0 * b.getElement(0, 1) + ai1 * b.getElement(1, 1) + ai2 * b.getElement(2, 1) + ai3 * b.getElement(3, 1)); // multiply by column(1) of "b"
392
- d.setElement(i, 2, ai0 * b.getElement(0, 2) + ai1 * b.getElement(1, 2) + ai2 * b.getElement(2, 2) + ai3 * b.getElement(3, 2)); // multiply by column(2) of "b"
393
- d.setElement(i, 3, ai0 * b.getElement(0, 3) + ai1 * b.getElement(1, 3) + ai2 * b.getElement(2, 3) + ai3 * b.getElement(3, 3)); // multiply by column(3) of "b"
394
- }
395
- /* Return the transform */
396
- return d;
397
- }
398
- /**
399
- * Concatenate a transform.
400
- * @param transform the transform to concatenate.
401
- * @return the combined transformation.
402
- */
403
- concat(transform) {
404
- return Transform.multiply2(this, transform);
405
- }
406
- /**
407
- * Multiply.
408
- * @param transform the transform to multiply with.
409
- */
410
- multiply(transform) {
411
- let result = Transform.multiply2(this, transform);
412
- this.setElements(result.getElements());
413
- }
414
- /**
415
- * Translate.
416
- * @param tx the x translation.
417
- * @param ty the y translation.
418
- * @param tz the z translation.
419
- */
420
- translate(tx, ty, tz) {
421
- let result = Transform.multiply2(this, Transform.createTranslation(tx, ty, tz));
422
- this.setElements(result.getElements());
423
- }
424
- /**
425
- * Translate.
426
- * @param point the xyz translation.
427
- */
428
- translatePoint(point) {
429
- this.translate(point.getX(), point.getY(), point.getZ());
430
- }
431
- /**
432
- * Scale.
433
- * @param sx the x scale.
434
- * @param sy the y scale.
435
- * @param sz the z scale.
436
- */
437
- scale(sx, sy, sz) {
438
- let result = Transform.multiply2(this, Transform.createScale(sx, sy, sz));
439
- this.setElements(result.getElements());
440
- }
441
- /**
442
- * Scale XYZ.
443
- * @param s the scale.
444
- */
445
- scale3(s) {
446
- this.scale(s, s, s);
447
- }
448
- /**
449
- * Create the inverse transform.
450
- * @return the inverse transform.
451
- */
452
- createInverse() {
453
- /* Get the 3x3 elements */
454
- let a = this.getElement(0, 0);
455
- let b = this.getElement(0, 1);
456
- let c = this.getElement(0, 2);
457
- let d = this.getElement(1, 0);
458
- let e = this.getElement(1, 1);
459
- let f = this.getElement(1, 2);
460
- let g = this.getElement(2, 0);
461
- let h = this.getElement(2, 1);
462
- let i = this.getElement(2, 2);
463
- /* Invert the 3x3 matrix */
464
- let idet = 1.0 / (a * (e * i - h * f) - b * (d * i - g * f) + c * (d * h - g * e));
465
- let inverse = new Transform();
466
- inverse.setElement(0, 0, (e * i - f * h) * idet);
467
- inverse.setElement(0, 1, -(b * i - c * h) * idet);
468
- inverse.setElement(0, 2, (b * f - c * e) * idet);
469
- inverse.setElement(1, 0, -(d * i - f * g) * idet);
470
- inverse.setElement(1, 1, (a * i - c * g) * idet);
471
- inverse.setElement(1, 2, -(a * f - c * d) * idet);
472
- inverse.setElement(2, 0, (d * h - e * g) * idet);
473
- inverse.setElement(2, 1, -(a * h - b * g) * idet);
474
- inverse.setElement(2, 2, (a * e - b * d) * idet);
475
- /* Invert the translation */
476
- let t = new Coordinate(this.getElement(0, 3), this.getElement(1, 3), this.getElement(2, 3));
477
- inverse.transformTo(t, t);
478
- inverse.setElement(0, 3, -t.getX());
479
- inverse.setElement(1, 3, -t.getY());
480
- inverse.setElement(2, 3, -t.getZ());
481
- /* Done */
482
- return inverse;
483
- }
484
- /**
485
- * Invert.
486
- */
487
- invert() {
488
- let result = this.createInverse();
489
- this.setElements(result.getElements());
490
- }
491
- /**
492
- * Create a copy.
493
- * @return a copy.
494
- */
495
- copy() {
496
- let copy = new Transform();
497
- for (let i = 0; i < 16; i++)
498
- copy._elements[i] = this._elements[i];
499
- return copy;
500
- }
501
- /**
502
- * Create an identity transform.
503
- * @return the transform.
504
- */
505
- static createIdentity() {
506
- return new Transform();
507
- }
508
- /**
509
- * Create a translation transform.
510
- * @param tx the x translation.
511
- * @param ty the y translation.
512
- * @param tz the z translation.
513
- * @return the transform.
514
- */
515
- static createTranslation(tx, ty, tz) {
516
- let transform = Transform.createIdentity();
517
- transform.setElement(0, 3, tx);
518
- transform.setElement(1, 3, ty);
519
- transform.setElement(2, 3, tz);
520
- return transform;
521
- }
522
- /**
523
- * Create a translation transform.
524
- * @param position the translation.
525
- * @return the transform.
526
- */
527
- static createTranslation2(position) {
528
- return Transform.createTranslation(position.getX(), position.getY(), position.getZ());
529
- }
530
- /**
531
- * Create a scale transform.
532
- * @param sx the x translation.
533
- * @param sy the y translation.
534
- * @param sz the z translation.
535
- * @return the transform.
536
- */
537
- static createScale(sx, sy, sz) {
538
- let transform = Transform.createIdentity();
539
- transform.setElement(0, 0, sx);
540
- transform.setElement(1, 1, sy);
541
- transform.setElement(2, 2, sz);
542
- return transform;
543
- }
544
- /**
545
- * Create a rotation-round-X transform.
546
- * @param angle the rotation angle (degree).
547
- * @return the transform.
548
- */
549
- static createRotationX(angle) {
550
- let rad = (angle / 180.0 * Math.PI);
551
- let sin = (angle == 90.0) ? 1.0 : Math.sin(rad);
552
- let cos = (angle == 90.0) ? 0.0 : Math.cos(rad);
553
- let transform = Transform.createIdentity();
554
- transform.setElement(1, 1, cos);
555
- transform.setElement(2, 1, sin);
556
- transform.setElement(1, 2, -sin);
557
- transform.setElement(2, 2, cos);
558
- return transform;
559
- }
560
- /**
561
- * Create a rotation-round-Y transform.
562
- * @param angle the rotation angle (degree).
563
- * @return the transform.
564
- */
565
- static createRotationY(angle) {
566
- let rad = (angle / 180.0 * Math.PI);
567
- let sin = Math.sin(rad);
568
- let cos = Math.cos(rad);
569
- let transform = Transform.createIdentity();
570
- transform.setElement(0, 0, cos);
571
- transform.setElement(2, 0, -sin);
572
- transform.setElement(0, 2, sin);
573
- transform.setElement(2, 2, cos);
574
- return transform;
575
- }
576
- /**
577
- * Create a rotation-round-Z transform.
578
- * @param angle the rotation angle (degree).
579
- * @return the transform.
580
- */
581
- static createRotationZ(angle) {
582
- let rad = (angle / 180.0 * Math.PI);
583
- let sin = Math.sin(rad);
584
- let cos = Math.cos(rad);
585
- let transform = Transform.createIdentity();
586
- transform.setElement(0, 0, cos);
587
- transform.setElement(1, 0, sin);
588
- transform.setElement(0, 1, -sin);
589
- transform.setElement(1, 1, cos);
590
- return transform;
591
- }
592
- /**
593
- * Create a swap YZ transform.
594
- * @return the transform.
595
- */
596
- static createSwapYZ() {
597
- let transform = Transform.createIdentity();
598
- transform.setElement(1, 1, 0.0);
599
- transform.setElement(1, 2, 1.0);
600
- transform.setElement(2, 1, 1.0);
601
- transform.setElement(2, 2, 0.0);
602
- return transform;
603
- }
604
- /**
605
- * Create a transformation from elements.
606
- * @param elements the elements (row major order)
607
- * @return the transformation.
608
- */
609
- static createWithElements(elements) {
610
- let transform = Transform.createIdentity();
611
- transform.setElements(elements);
612
- return transform;
613
- }
614
- /**
615
- * Create a transformation from columns.
616
- * @param col0 the first column.
617
- * @param col1 the second column.
618
- * @param col2 the third column.
619
- * @param col3 the fourth column (considered zero if null).
620
- * @return the transformation.
621
- */
622
- static createWithColumns(col0, col1, col2, col3) {
623
- let transform = Transform.createIdentity();
624
- transform.setElement(0, 0, col0.getX());
625
- transform.setElement(1, 0, col0.getY());
626
- transform.setElement(2, 0, col0.getZ());
627
- transform.setElement(0, 1, col1.getX());
628
- transform.setElement(1, 1, col1.getY());
629
- transform.setElement(2, 1, col1.getZ());
630
- transform.setElement(0, 2, col2.getX());
631
- transform.setElement(1, 2, col2.getY());
632
- transform.setElement(2, 2, col2.getZ());
633
- if (col3 != null) {
634
- transform.setElement(0, 3, col3.getX());
635
- transform.setElement(1, 3, col3.getY());
636
- transform.setElement(2, 3, col3.getZ());
637
- }
638
- return transform;
639
- }
640
- /**
641
- * Create an orthogonal rotation from a quaternion.
642
- * @param a the first quaternion element (q1).
643
- * @param b the second quaternion element (q2).
644
- * @param c the third quaternion element (q3).
645
- * @param d the fourth quaternion element (q4).
646
- * @return the rotation matrix.
647
- */
648
- static fromQuaternion(a, b, c, d) {
649
- // See "Quaternions and spatial rotation" section "From a quaternion to an orthogonal matrix"
650
- // at https://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation
651
- //
652
- /* We should have a unit quaternion */
653
- let len = (a * a + b * b + c * c + d * d);
654
- /* First row */
655
- let m00 = a * a + b * b - c * c - d * d;
656
- let m01 = 2.0 * b * c - 2.0 * a * d;
657
- let m02 = 2.0 * b * d + 2.0 * a * c;
658
- /* Second row */
659
- let m10 = 2.0 * b * c + 2.0 * a * d;
660
- let m11 = a * a - b * b + c * c - d * d;
661
- let m12 = 2.0 * c * d - 2.0 * a * b;
662
- /* Third row */
663
- let m20 = 2.0 * b * d - 2.0 * a * c;
664
- let m21 = 2.0 * c * d + 2.0 * a * b;
665
- let m22 = a * a - b * b - c * c + d * d;
666
- /* Return the rotation */
667
- let transform = new Transform();
668
- transform.setElement(0, 0, m00);
669
- transform.setElement(0, 1, m01);
670
- transform.setElement(0, 2, m02);
671
- transform.setElement(1, 0, m10);
672
- transform.setElement(1, 1, m11);
673
- transform.setElement(1, 2, m12);
674
- transform.setElement(2, 0, m20);
675
- transform.setElement(2, 1, m21);
676
- transform.setElement(2, 2, m22);
677
- return transform;
678
- }
679
- /**
680
- * Transform a point.
681
- * @param source the source point.
682
- * @param target the target point (can be same as source).
683
- * @return the target point.
684
- */
685
- transformTo(source, target) {
686
- let sx = source.getX();
687
- let sy = source.getY();
688
- let sz = source.getZ();
689
- target.x = this._elements[0] * sx + this._elements[1] * sy + this._elements[2] * sz + this._elements[3];
690
- target.y = this._elements[4] * sx + this._elements[5] * sy + this._elements[6] * sz + this._elements[7];
691
- target.z = this._elements[8] * sx + this._elements[9] * sy + this._elements[10] * sz + this._elements[11];
692
- return target;
693
- }
694
- /**
695
- * Transform a point.
696
- * @param source the source point.
697
- * @return the target point.
698
- */
699
- transform(source) {
700
- return this.transformTo(source, Coordinate.create());
701
- }
702
- /**
703
- * Transform bounds.
704
- * @param bounds the bounds.
705
- * @return the transformed bounds.
706
- */
707
- transformBounds(bounds) {
708
- /* Not valid? */
709
- if (bounds.isValid() == false)
710
- return bounds;
711
- /* Transform all corners */
712
- let nbounds = new Bounds();
713
- let point = Coordinate.create();
714
- for (let i = 0; i < 8; i++) {
715
- /* Transform the next corner */
716
- bounds.getCorner(i, point);
717
- this.transformTo(point, point);
718
- nbounds.add(point);
719
- }
720
- /* Return the new bounds */
721
- return nbounds;
722
- }
723
- /**
724
- * Check if the transform matches another transform.
725
- * @param other the other transform.
726
- * @return true if same.
727
- */
728
- same(other) {
729
- for (let i = 0; i < 16; i++)
730
- if (this._elements[i] != other._elements[i])
731
- return false;
732
- return true;
733
- }
734
- /**
735
- * The standard toString method.
736
- * @see Object#toString
737
- */
738
- toString() {
739
- return "[Transform:m00=" + this._elements[0] + ",m10=" + this._elements[4] + ",m20=" + this._elements[8] +
740
- ",m01=" + this._elements[1] + ",m11=" + this._elements[5] + ",m21=" + this._elements[9] +
741
- ",m02=" + this._elements[2] + ",m12=" + this._elements[6] + ",m22=" + this._elements[10] +
742
- ",m03=" + this._elements[3] + ",m13=" + this._elements[7] + ",m23=" + this._elements[11] + "]";
743
- }
744
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module OrbitGT
7
+ */
8
+ import { Bounds } from "./Bounds";
9
+ import { Coordinate } from "./Coordinate";
10
+ /**
11
+ * Class Transform defines a generic 3D transformation.
12
+ *
13
+ * @version 1.0 November 2015
14
+ */
15
+ /** @internal */
16
+ export class Transform {
17
+ /**
18
+ * Create a new (identity) transform.
19
+ */
20
+ constructor() {
21
+ this._elements = new Float64Array(16);
22
+ this._elements[0] = 1.0; // m00
23
+ this._elements[1] = 0.0; // m01
24
+ this._elements[2] = 0.0; // m02
25
+ this._elements[3] = 0.0; // m03
26
+ this._elements[4] = 0.0; // m10
27
+ this._elements[5] = 1.0; // m11
28
+ this._elements[6] = 0.0; // m12
29
+ this._elements[7] = 0.0; // m13
30
+ this._elements[8] = 0.0; // m20
31
+ this._elements[9] = 0.0; // m21
32
+ this._elements[10] = 1.0; // m22
33
+ this._elements[11] = 0.0; // m23
34
+ this._elements[12] = 0.0; // m30
35
+ this._elements[13] = 0.0; // m31
36
+ this._elements[14] = 0.0; // m32
37
+ this._elements[15] = 1.0; // m33
38
+ }
39
+ /**
40
+ * Create a new (identity) transform.
41
+ */
42
+ static create() {
43
+ return new Transform();
44
+ }
45
+ /**
46
+ * Create a transformation from elements.
47
+ * @param elements the 16 matrix elements (row major order).
48
+ * @return the transformation.
49
+ */
50
+ static fromRowMajor(elements) {
51
+ if (elements == null)
52
+ return null;
53
+ if (elements.length == 0)
54
+ return null;
55
+ let transform = new Transform();
56
+ let index = 0;
57
+ for (let r = 0; r < 4; r++)
58
+ for (let c = 0; c < 4; c++)
59
+ transform.setElement(r, c, elements[index++]);
60
+ return transform;
61
+ }
62
+ /**
63
+ * Create a transformation from elements.
64
+ * @param elements the 16 matrix elements (column major order).
65
+ * @return the transformation.
66
+ */
67
+ static fromColumnMajor(elements) {
68
+ if (elements == null)
69
+ return null;
70
+ if (elements.length == 0)
71
+ return null;
72
+ let transform = new Transform();
73
+ let index = 0;
74
+ for (let c = 0; c < 4; c++)
75
+ for (let r = 0; r < 4; r++)
76
+ transform.setElement(r, c, elements[index++]);
77
+ return transform;
78
+ }
79
+ /**
80
+ * Create a transformation from elements.
81
+ * @param elements the 9 matrix elements (row major order).
82
+ * @return the transformation.
83
+ */
84
+ static fromRotationElements(m00, m01, m02, m10, m11, m12, m20, m21, m22) {
85
+ let transform = new Transform();
86
+ transform.setElement(0, 0, m00);
87
+ transform.setElement(0, 1, m01);
88
+ transform.setElement(0, 2, m02);
89
+ transform.setElement(1, 0, m10);
90
+ transform.setElement(1, 1, m11);
91
+ transform.setElement(1, 2, m12);
92
+ transform.setElement(2, 0, m20);
93
+ transform.setElement(2, 1, m21);
94
+ transform.setElement(2, 2, m22);
95
+ return transform;
96
+ }
97
+ /**
98
+ * Create a transformation from elements.
99
+ * @param elements the 16 matrix elements (row major order).
100
+ * @return the transformation.
101
+ */
102
+ static fromElements(m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23) {
103
+ let transform = Transform.fromRotationElements(m00, m01, m02, m10, m11, m12, m20, m21, m22);
104
+ transform.setElement(0, 3, m03);
105
+ transform.setElement(1, 3, m13);
106
+ transform.setElement(2, 3, m23);
107
+ return transform;
108
+ }
109
+ /**
110
+ * Get an element.
111
+ * @param index the index of the element.
112
+ * @return the element.
113
+ */
114
+ get(index) {
115
+ return this._elements[index];
116
+ }
117
+ /**
118
+ * Set an element.
119
+ * @param index the index of the element.
120
+ * @param value the value.
121
+ */
122
+ set(index, value) {
123
+ this._elements[index] = value;
124
+ }
125
+ /**
126
+ * Get an element.
127
+ * @param row the row index.
128
+ * @param col the column index.
129
+ * @return the element.
130
+ */
131
+ getElement(row, col) {
132
+ return this._elements[row * 4 + col];
133
+ }
134
+ /**
135
+ * Set an element.
136
+ * @param row the row index.
137
+ * @param col the column index.
138
+ * @param value the value.
139
+ */
140
+ setElement(row, col, value) {
141
+ this._elements[row * 4 + col] = value;
142
+ }
143
+ /**
144
+ * Get the elements.
145
+ * @return the elements (row major order).
146
+ */
147
+ getElements() {
148
+ return this._elements;
149
+ }
150
+ /**
151
+ * Set the elements.
152
+ * @param elements the elements (row major order).
153
+ */
154
+ setElements(elements) {
155
+ for (let i = 0; i < this._elements.length; i++)
156
+ this._elements[i] = elements[i];
157
+ }
158
+ /**
159
+ * Get the X column.
160
+ * @return the X column.
161
+ */
162
+ getColumnX() {
163
+ return new Coordinate(this.getElement(0, 0), this.getElement(1, 0), this.getElement(2, 0));
164
+ }
165
+ /**
166
+ * Get the Y column.
167
+ * @return the Y column.
168
+ */
169
+ getColumnY() {
170
+ return new Coordinate(this.getElement(0, 1), this.getElement(1, 1), this.getElement(2, 1));
171
+ }
172
+ /**
173
+ * Get the Z column.
174
+ * @return the Z column.
175
+ */
176
+ getColumnZ() {
177
+ return new Coordinate(this.getElement(0, 2), this.getElement(1, 2), this.getElement(2, 2));
178
+ }
179
+ /**
180
+ * Get the translation column.
181
+ * @return the translation column.
182
+ */
183
+ getTranslation() {
184
+ return new Coordinate(this.getElement(0, 3), this.getElement(1, 3), this.getElement(2, 3));
185
+ }
186
+ /**
187
+ * Set the translation.
188
+ * @param tx the x position of the translation.
189
+ * @param ty the y position of the translation.
190
+ * @param tz the z position of the translation.
191
+ * @return the tranformation.
192
+ */
193
+ setTranslation(tx, ty, tz) {
194
+ this.setElement(0, 3, tx);
195
+ this.setElement(1, 3, ty);
196
+ this.setElement(2, 3, tz);
197
+ return this;
198
+ }
199
+ /**
200
+ * Clear the translation.
201
+ * @return the tranformation.
202
+ */
203
+ clearTranslation() {
204
+ this.setElement(0, 3, 0.0);
205
+ this.setElement(1, 3, 0.0);
206
+ this.setElement(2, 3, 0.0);
207
+ return this;
208
+ }
209
+ /**
210
+ * Swap two rows.
211
+ * @param row1 the first row.
212
+ * @param row2 the second row.
213
+ */
214
+ swapRows(row1, row2) {
215
+ for (let i = 0; i < 4; i++) {
216
+ let e1 = this.getElement(row1, i);
217
+ let e2 = this.getElement(row2, i);
218
+ this.setElement(row1, i, e2);
219
+ this.setElement(row2, i, e1);
220
+ }
221
+ }
222
+ /**
223
+ * Swap two columns.
224
+ * @param col1 the first column.
225
+ * @param col2 the second column.
226
+ */
227
+ swapColumns(col1, col2) {
228
+ for (let i = 0; i < 4; i++) {
229
+ let e1 = this.getElement(i, col1);
230
+ let e2 = this.getElement(i, col2);
231
+ this.setElement(i, col1, e2);
232
+ this.setElement(i, col2, e1);
233
+ }
234
+ }
235
+ /**
236
+ * Swap the YZ coordinates.
237
+ */
238
+ swapYZ() {
239
+ let result = Transform.multiply2(this, Transform.createSwapYZ());
240
+ this.setElements(result.getElements());
241
+ }
242
+ /**
243
+ * Calculate the cosine of an angle.
244
+ * @param angle the angle (in degrees).
245
+ * @return the cosine.
246
+ */
247
+ static cos(angle) {
248
+ /* One? */
249
+ if (angle == 0.0)
250
+ return 1.0;
251
+ if (angle == 360.0)
252
+ return 1.0;
253
+ /* Minus one? */
254
+ if (angle == 180.0)
255
+ return -1.0;
256
+ if (angle == -180.0)
257
+ return -1.0;
258
+ /* Zero? */
259
+ if (angle == 90.0)
260
+ return 0.0;
261
+ if (angle == -90.0)
262
+ return 0.0;
263
+ if (angle == 270.0)
264
+ return 0.0;
265
+ /* Calculate */
266
+ return Math.cos(angle / 180.0 * Math.PI);
267
+ }
268
+ /**
269
+ * Calculate the sine of an angle.
270
+ * @param angle the angle (in degrees).
271
+ * @return the sine.
272
+ */
273
+ static sin(angle) {
274
+ /* One? */
275
+ if (angle == 90.0)
276
+ return 1.0;
277
+ /* Minus one? */
278
+ if (angle == -90.0)
279
+ return -1.0;
280
+ if (angle == 270.0)
281
+ return -1.0;
282
+ /* Zero? */
283
+ if (angle == 0.0)
284
+ return 0.0;
285
+ if (angle == 360.0)
286
+ return 0.0;
287
+ if (angle == 180.0)
288
+ return 0.0;
289
+ if (angle == -180.0)
290
+ return 0.0;
291
+ /* Calculate */
292
+ return Math.sin(angle / 180.0 * Math.PI);
293
+ }
294
+ /**
295
+ * Rotate around the X axis.
296
+ * @param angle the rotation angle (degree).
297
+ */
298
+ rotateX(angle) {
299
+ if (angle == 0.0)
300
+ return;
301
+ let result = Transform.multiply2(this, Transform.createRotationX(angle));
302
+ this.setElements(result.getElements());
303
+ }
304
+ /**
305
+ * Apply a rotation around X axis.
306
+ * @param point the (mutable) point to rotate.
307
+ * @param rotation the (Y->Z,counterclockwise) rotation (degrees).
308
+ */
309
+ static rotatePointX(point, rotation) {
310
+ if (rotation == 0.0)
311
+ return;
312
+ let a = rotation;
313
+ let dcos = Transform.cos(a);
314
+ let dsin = Transform.sin(a);
315
+ let ny = dcos * point.getY() - dsin * point.getZ();
316
+ let nz = dsin * point.getY() + dcos * point.getZ();
317
+ point.setXYZ(point.getX(), ny, nz);
318
+ }
319
+ /**
320
+ * Rotate around the Y axis.
321
+ * @param angle the rotation angle (degree).
322
+ */
323
+ rotateY(angle) {
324
+ if (angle == 0.0)
325
+ return;
326
+ let result = Transform.multiply2(this, Transform.createRotationY(angle));
327
+ this.setElements(result.getElements());
328
+ }
329
+ /**
330
+ * Apply a rotation around Y axis.
331
+ * @param point the (mutable) point to rotate.
332
+ * @param rotation the (Z->X,counterclockwise) rotation (degrees).
333
+ */
334
+ static rotatePointY(point, rotation) {
335
+ if (rotation == 0.0)
336
+ return;
337
+ let a = -rotation; // swapped orientation to CCW on 09/03/2012
338
+ let dcos = Transform.cos(a);
339
+ let dsin = Transform.sin(a);
340
+ let nx = dcos * point.getX() - dsin * point.getZ();
341
+ let nz = dsin * point.getX() + dcos * point.getZ();
342
+ point.setXYZ(nx, point.getY(), nz);
343
+ }
344
+ /**
345
+ * Rotate around the Z axis.
346
+ * @param angle the rotation angle (degree).
347
+ */
348
+ rotateZ(angle) {
349
+ if (angle == 0.0)
350
+ return;
351
+ let result = Transform.multiply2(this, Transform.createRotationZ(angle));
352
+ this.setElements(result.getElements());
353
+ }
354
+ /**
355
+ * Apply a rotation around Z axis.
356
+ * @param point the (mutable) point to rotate.
357
+ * @param rotation the (X->Y,counterclockwise) rotation (degrees).
358
+ */
359
+ static rotatePointZ(point, rotation) {
360
+ if (rotation == 0.0)
361
+ return;
362
+ let a = rotation;
363
+ let dcos = Transform.cos(a);
364
+ let dsin = Transform.sin(a);
365
+ let nx = dcos * point.getX() - dsin * point.getY();
366
+ let ny = dsin * point.getX() + dcos * point.getY();
367
+ point.setXYZ(nx, ny, point.getZ());
368
+ }
369
+ /**
370
+ * Multiply two matrices.
371
+ * @param a the first transform.
372
+ * @param b the second transform.
373
+ * @return the result transform (a x b).
374
+ */
375
+ static multiply2(a, b) {
376
+ /* Allow nulls */
377
+ if (a == null)
378
+ a = new Transform();
379
+ if (b == null)
380
+ b = new Transform();
381
+ /* Fill the destination transform "d" */
382
+ let d = new Transform();
383
+ for (let i = 0; i < 4; i++) {
384
+ /* Get the next row from "a" */
385
+ let ai0 = a.getElement(i, 0);
386
+ let ai1 = a.getElement(i, 1);
387
+ let ai2 = a.getElement(i, 2);
388
+ let ai3 = a.getElement(i, 3);
389
+ /* Set the target row in "d" */
390
+ d.setElement(i, 0, ai0 * b.getElement(0, 0) + ai1 * b.getElement(1, 0) + ai2 * b.getElement(2, 0) + ai3 * b.getElement(3, 0)); // multiply by column(0) of "b"
391
+ d.setElement(i, 1, ai0 * b.getElement(0, 1) + ai1 * b.getElement(1, 1) + ai2 * b.getElement(2, 1) + ai3 * b.getElement(3, 1)); // multiply by column(1) of "b"
392
+ d.setElement(i, 2, ai0 * b.getElement(0, 2) + ai1 * b.getElement(1, 2) + ai2 * b.getElement(2, 2) + ai3 * b.getElement(3, 2)); // multiply by column(2) of "b"
393
+ d.setElement(i, 3, ai0 * b.getElement(0, 3) + ai1 * b.getElement(1, 3) + ai2 * b.getElement(2, 3) + ai3 * b.getElement(3, 3)); // multiply by column(3) of "b"
394
+ }
395
+ /* Return the transform */
396
+ return d;
397
+ }
398
+ /**
399
+ * Concatenate a transform.
400
+ * @param transform the transform to concatenate.
401
+ * @return the combined transformation.
402
+ */
403
+ concat(transform) {
404
+ return Transform.multiply2(this, transform);
405
+ }
406
+ /**
407
+ * Multiply.
408
+ * @param transform the transform to multiply with.
409
+ */
410
+ multiply(transform) {
411
+ let result = Transform.multiply2(this, transform);
412
+ this.setElements(result.getElements());
413
+ }
414
+ /**
415
+ * Translate.
416
+ * @param tx the x translation.
417
+ * @param ty the y translation.
418
+ * @param tz the z translation.
419
+ */
420
+ translate(tx, ty, tz) {
421
+ let result = Transform.multiply2(this, Transform.createTranslation(tx, ty, tz));
422
+ this.setElements(result.getElements());
423
+ }
424
+ /**
425
+ * Translate.
426
+ * @param point the xyz translation.
427
+ */
428
+ translatePoint(point) {
429
+ this.translate(point.getX(), point.getY(), point.getZ());
430
+ }
431
+ /**
432
+ * Scale.
433
+ * @param sx the x scale.
434
+ * @param sy the y scale.
435
+ * @param sz the z scale.
436
+ */
437
+ scale(sx, sy, sz) {
438
+ let result = Transform.multiply2(this, Transform.createScale(sx, sy, sz));
439
+ this.setElements(result.getElements());
440
+ }
441
+ /**
442
+ * Scale XYZ.
443
+ * @param s the scale.
444
+ */
445
+ scale3(s) {
446
+ this.scale(s, s, s);
447
+ }
448
+ /**
449
+ * Create the inverse transform.
450
+ * @return the inverse transform.
451
+ */
452
+ createInverse() {
453
+ /* Get the 3x3 elements */
454
+ let a = this.getElement(0, 0);
455
+ let b = this.getElement(0, 1);
456
+ let c = this.getElement(0, 2);
457
+ let d = this.getElement(1, 0);
458
+ let e = this.getElement(1, 1);
459
+ let f = this.getElement(1, 2);
460
+ let g = this.getElement(2, 0);
461
+ let h = this.getElement(2, 1);
462
+ let i = this.getElement(2, 2);
463
+ /* Invert the 3x3 matrix */
464
+ let idet = 1.0 / (a * (e * i - h * f) - b * (d * i - g * f) + c * (d * h - g * e));
465
+ let inverse = new Transform();
466
+ inverse.setElement(0, 0, (e * i - f * h) * idet);
467
+ inverse.setElement(0, 1, -(b * i - c * h) * idet);
468
+ inverse.setElement(0, 2, (b * f - c * e) * idet);
469
+ inverse.setElement(1, 0, -(d * i - f * g) * idet);
470
+ inverse.setElement(1, 1, (a * i - c * g) * idet);
471
+ inverse.setElement(1, 2, -(a * f - c * d) * idet);
472
+ inverse.setElement(2, 0, (d * h - e * g) * idet);
473
+ inverse.setElement(2, 1, -(a * h - b * g) * idet);
474
+ inverse.setElement(2, 2, (a * e - b * d) * idet);
475
+ /* Invert the translation */
476
+ let t = new Coordinate(this.getElement(0, 3), this.getElement(1, 3), this.getElement(2, 3));
477
+ inverse.transformTo(t, t);
478
+ inverse.setElement(0, 3, -t.getX());
479
+ inverse.setElement(1, 3, -t.getY());
480
+ inverse.setElement(2, 3, -t.getZ());
481
+ /* Done */
482
+ return inverse;
483
+ }
484
+ /**
485
+ * Invert.
486
+ */
487
+ invert() {
488
+ let result = this.createInverse();
489
+ this.setElements(result.getElements());
490
+ }
491
+ /**
492
+ * Create a copy.
493
+ * @return a copy.
494
+ */
495
+ copy() {
496
+ let copy = new Transform();
497
+ for (let i = 0; i < 16; i++)
498
+ copy._elements[i] = this._elements[i];
499
+ return copy;
500
+ }
501
+ /**
502
+ * Create an identity transform.
503
+ * @return the transform.
504
+ */
505
+ static createIdentity() {
506
+ return new Transform();
507
+ }
508
+ /**
509
+ * Create a translation transform.
510
+ * @param tx the x translation.
511
+ * @param ty the y translation.
512
+ * @param tz the z translation.
513
+ * @return the transform.
514
+ */
515
+ static createTranslation(tx, ty, tz) {
516
+ let transform = Transform.createIdentity();
517
+ transform.setElement(0, 3, tx);
518
+ transform.setElement(1, 3, ty);
519
+ transform.setElement(2, 3, tz);
520
+ return transform;
521
+ }
522
+ /**
523
+ * Create a translation transform.
524
+ * @param position the translation.
525
+ * @return the transform.
526
+ */
527
+ static createTranslation2(position) {
528
+ return Transform.createTranslation(position.getX(), position.getY(), position.getZ());
529
+ }
530
+ /**
531
+ * Create a scale transform.
532
+ * @param sx the x translation.
533
+ * @param sy the y translation.
534
+ * @param sz the z translation.
535
+ * @return the transform.
536
+ */
537
+ static createScale(sx, sy, sz) {
538
+ let transform = Transform.createIdentity();
539
+ transform.setElement(0, 0, sx);
540
+ transform.setElement(1, 1, sy);
541
+ transform.setElement(2, 2, sz);
542
+ return transform;
543
+ }
544
+ /**
545
+ * Create a rotation-round-X transform.
546
+ * @param angle the rotation angle (degree).
547
+ * @return the transform.
548
+ */
549
+ static createRotationX(angle) {
550
+ let rad = (angle / 180.0 * Math.PI);
551
+ let sin = (angle == 90.0) ? 1.0 : Math.sin(rad);
552
+ let cos = (angle == 90.0) ? 0.0 : Math.cos(rad);
553
+ let transform = Transform.createIdentity();
554
+ transform.setElement(1, 1, cos);
555
+ transform.setElement(2, 1, sin);
556
+ transform.setElement(1, 2, -sin);
557
+ transform.setElement(2, 2, cos);
558
+ return transform;
559
+ }
560
+ /**
561
+ * Create a rotation-round-Y transform.
562
+ * @param angle the rotation angle (degree).
563
+ * @return the transform.
564
+ */
565
+ static createRotationY(angle) {
566
+ let rad = (angle / 180.0 * Math.PI);
567
+ let sin = Math.sin(rad);
568
+ let cos = Math.cos(rad);
569
+ let transform = Transform.createIdentity();
570
+ transform.setElement(0, 0, cos);
571
+ transform.setElement(2, 0, -sin);
572
+ transform.setElement(0, 2, sin);
573
+ transform.setElement(2, 2, cos);
574
+ return transform;
575
+ }
576
+ /**
577
+ * Create a rotation-round-Z transform.
578
+ * @param angle the rotation angle (degree).
579
+ * @return the transform.
580
+ */
581
+ static createRotationZ(angle) {
582
+ let rad = (angle / 180.0 * Math.PI);
583
+ let sin = Math.sin(rad);
584
+ let cos = Math.cos(rad);
585
+ let transform = Transform.createIdentity();
586
+ transform.setElement(0, 0, cos);
587
+ transform.setElement(1, 0, sin);
588
+ transform.setElement(0, 1, -sin);
589
+ transform.setElement(1, 1, cos);
590
+ return transform;
591
+ }
592
+ /**
593
+ * Create a swap YZ transform.
594
+ * @return the transform.
595
+ */
596
+ static createSwapYZ() {
597
+ let transform = Transform.createIdentity();
598
+ transform.setElement(1, 1, 0.0);
599
+ transform.setElement(1, 2, 1.0);
600
+ transform.setElement(2, 1, 1.0);
601
+ transform.setElement(2, 2, 0.0);
602
+ return transform;
603
+ }
604
+ /**
605
+ * Create a transformation from elements.
606
+ * @param elements the elements (row major order)
607
+ * @return the transformation.
608
+ */
609
+ static createWithElements(elements) {
610
+ let transform = Transform.createIdentity();
611
+ transform.setElements(elements);
612
+ return transform;
613
+ }
614
+ /**
615
+ * Create a transformation from columns.
616
+ * @param col0 the first column.
617
+ * @param col1 the second column.
618
+ * @param col2 the third column.
619
+ * @param col3 the fourth column (considered zero if null).
620
+ * @return the transformation.
621
+ */
622
+ static createWithColumns(col0, col1, col2, col3) {
623
+ let transform = Transform.createIdentity();
624
+ transform.setElement(0, 0, col0.getX());
625
+ transform.setElement(1, 0, col0.getY());
626
+ transform.setElement(2, 0, col0.getZ());
627
+ transform.setElement(0, 1, col1.getX());
628
+ transform.setElement(1, 1, col1.getY());
629
+ transform.setElement(2, 1, col1.getZ());
630
+ transform.setElement(0, 2, col2.getX());
631
+ transform.setElement(1, 2, col2.getY());
632
+ transform.setElement(2, 2, col2.getZ());
633
+ if (col3 != null) {
634
+ transform.setElement(0, 3, col3.getX());
635
+ transform.setElement(1, 3, col3.getY());
636
+ transform.setElement(2, 3, col3.getZ());
637
+ }
638
+ return transform;
639
+ }
640
+ /**
641
+ * Create an orthogonal rotation from a quaternion.
642
+ * @param a the first quaternion element (q1).
643
+ * @param b the second quaternion element (q2).
644
+ * @param c the third quaternion element (q3).
645
+ * @param d the fourth quaternion element (q4).
646
+ * @return the rotation matrix.
647
+ */
648
+ static fromQuaternion(a, b, c, d) {
649
+ // See "Quaternions and spatial rotation" section "From a quaternion to an orthogonal matrix"
650
+ // at https://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation
651
+ //
652
+ /* We should have a unit quaternion */
653
+ let len = (a * a + b * b + c * c + d * d);
654
+ /* First row */
655
+ let m00 = a * a + b * b - c * c - d * d;
656
+ let m01 = 2.0 * b * c - 2.0 * a * d;
657
+ let m02 = 2.0 * b * d + 2.0 * a * c;
658
+ /* Second row */
659
+ let m10 = 2.0 * b * c + 2.0 * a * d;
660
+ let m11 = a * a - b * b + c * c - d * d;
661
+ let m12 = 2.0 * c * d - 2.0 * a * b;
662
+ /* Third row */
663
+ let m20 = 2.0 * b * d - 2.0 * a * c;
664
+ let m21 = 2.0 * c * d + 2.0 * a * b;
665
+ let m22 = a * a - b * b - c * c + d * d;
666
+ /* Return the rotation */
667
+ let transform = new Transform();
668
+ transform.setElement(0, 0, m00);
669
+ transform.setElement(0, 1, m01);
670
+ transform.setElement(0, 2, m02);
671
+ transform.setElement(1, 0, m10);
672
+ transform.setElement(1, 1, m11);
673
+ transform.setElement(1, 2, m12);
674
+ transform.setElement(2, 0, m20);
675
+ transform.setElement(2, 1, m21);
676
+ transform.setElement(2, 2, m22);
677
+ return transform;
678
+ }
679
+ /**
680
+ * Transform a point.
681
+ * @param source the source point.
682
+ * @param target the target point (can be same as source).
683
+ * @return the target point.
684
+ */
685
+ transformTo(source, target) {
686
+ let sx = source.getX();
687
+ let sy = source.getY();
688
+ let sz = source.getZ();
689
+ target.x = this._elements[0] * sx + this._elements[1] * sy + this._elements[2] * sz + this._elements[3];
690
+ target.y = this._elements[4] * sx + this._elements[5] * sy + this._elements[6] * sz + this._elements[7];
691
+ target.z = this._elements[8] * sx + this._elements[9] * sy + this._elements[10] * sz + this._elements[11];
692
+ return target;
693
+ }
694
+ /**
695
+ * Transform a point.
696
+ * @param source the source point.
697
+ * @return the target point.
698
+ */
699
+ transform(source) {
700
+ return this.transformTo(source, Coordinate.create());
701
+ }
702
+ /**
703
+ * Transform bounds.
704
+ * @param bounds the bounds.
705
+ * @return the transformed bounds.
706
+ */
707
+ transformBounds(bounds) {
708
+ /* Not valid? */
709
+ if (bounds.isValid() == false)
710
+ return bounds;
711
+ /* Transform all corners */
712
+ let nbounds = new Bounds();
713
+ let point = Coordinate.create();
714
+ for (let i = 0; i < 8; i++) {
715
+ /* Transform the next corner */
716
+ bounds.getCorner(i, point);
717
+ this.transformTo(point, point);
718
+ nbounds.add(point);
719
+ }
720
+ /* Return the new bounds */
721
+ return nbounds;
722
+ }
723
+ /**
724
+ * Check if the transform matches another transform.
725
+ * @param other the other transform.
726
+ * @return true if same.
727
+ */
728
+ same(other) {
729
+ for (let i = 0; i < 16; i++)
730
+ if (this._elements[i] != other._elements[i])
731
+ return false;
732
+ return true;
733
+ }
734
+ /**
735
+ * The standard toString method.
736
+ * @see Object#toString
737
+ */
738
+ toString() {
739
+ return "[Transform:m00=" + this._elements[0] + ",m10=" + this._elements[4] + ",m20=" + this._elements[8] +
740
+ ",m01=" + this._elements[1] + ",m11=" + this._elements[5] + ",m21=" + this._elements[9] +
741
+ ",m02=" + this._elements[2] + ",m12=" + this._elements[6] + ",m22=" + this._elements[10] +
742
+ ",m03=" + this._elements[3] + ",m13=" + this._elements[7] + ",m23=" + this._elements[11] + "]";
743
+ }
744
+ }
745
745
  //# sourceMappingURL=Transform.js.map