@itwin/core-backend 3.5.0-dev.4 → 3.5.0-dev.43

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 (278) hide show
  1. package/CHANGELOG.md +77 -1
  2. package/lib/cjs/AliCloudStorageService.d.ts +23 -23
  3. package/lib/cjs/AliCloudStorageService.js +71 -71
  4. package/lib/cjs/AliCloudStorageService.js.map +1 -1
  5. package/lib/cjs/BackendHubAccess.d.ts +224 -224
  6. package/lib/cjs/BackendHubAccess.js +41 -41
  7. package/lib/cjs/BackendHubAccess.js.map +1 -1
  8. package/lib/cjs/BackendLoggerCategory.d.ts +91 -91
  9. package/lib/cjs/BackendLoggerCategory.js +99 -99
  10. package/lib/cjs/BackendLoggerCategory.js.map +1 -1
  11. package/lib/cjs/BisCoreSchema.d.ts +21 -21
  12. package/lib/cjs/BisCoreSchema.js +60 -60
  13. package/lib/cjs/BisCoreSchema.js.map +1 -1
  14. package/lib/cjs/BriefcaseManager.d.ts +170 -165
  15. package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
  16. package/lib/cjs/BriefcaseManager.js +413 -405
  17. package/lib/cjs/BriefcaseManager.js.map +1 -1
  18. package/lib/cjs/Category.d.ts +153 -153
  19. package/lib/cjs/Category.js +243 -243
  20. package/lib/cjs/Category.js.map +1 -1
  21. package/lib/cjs/ChangeSummaryManager.d.ts +187 -187
  22. package/lib/cjs/ChangeSummaryManager.d.ts.map +1 -1
  23. package/lib/cjs/ChangeSummaryManager.js +447 -445
  24. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  25. package/lib/cjs/ChangedElementsDb.d.ts +99 -99
  26. package/lib/cjs/ChangedElementsDb.js +165 -165
  27. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  28. package/lib/cjs/ChangedElementsManager.d.ts +39 -39
  29. package/lib/cjs/ChangedElementsManager.js +88 -88
  30. package/lib/cjs/ChangedElementsManager.js.map +1 -1
  31. package/lib/cjs/CheckpointManager.d.ts +120 -120
  32. package/lib/cjs/CheckpointManager.js +343 -343
  33. package/lib/cjs/CheckpointManager.js.map +1 -1
  34. package/lib/cjs/ClassRegistry.d.ts +79 -71
  35. package/lib/cjs/ClassRegistry.d.ts.map +1 -1
  36. package/lib/cjs/ClassRegistry.js +249 -215
  37. package/lib/cjs/ClassRegistry.js.map +1 -1
  38. package/lib/cjs/CloudSqlite.d.ts +350 -349
  39. package/lib/cjs/CloudSqlite.d.ts.map +1 -1
  40. package/lib/cjs/CloudSqlite.js +152 -151
  41. package/lib/cjs/CloudSqlite.js.map +1 -1
  42. package/lib/cjs/CloudStorageBackend.d.ts +58 -58
  43. package/lib/cjs/CloudStorageBackend.js +173 -173
  44. package/lib/cjs/CloudStorageBackend.js.map +1 -1
  45. package/lib/cjs/CodeService.d.ts +396 -396
  46. package/lib/cjs/CodeService.js +63 -63
  47. package/lib/cjs/CodeService.js.map +1 -1
  48. package/lib/cjs/CodeSpecs.d.ts +50 -50
  49. package/lib/cjs/CodeSpecs.js +112 -112
  50. package/lib/cjs/CodeSpecs.js.map +1 -1
  51. package/lib/cjs/ConcurrentQuery.d.ts +11 -11
  52. package/lib/cjs/ConcurrentQuery.js +30 -30
  53. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  54. package/lib/cjs/CustomViewState3dCreator.d.ts +21 -32
  55. package/lib/cjs/CustomViewState3dCreator.d.ts.map +1 -1
  56. package/lib/cjs/CustomViewState3dCreator.js +81 -113
  57. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  58. package/lib/cjs/DevTools.d.ts +71 -71
  59. package/lib/cjs/DevTools.js +154 -154
  60. package/lib/cjs/DevTools.js.map +1 -1
  61. package/lib/cjs/DisplayStyle.d.ts +106 -106
  62. package/lib/cjs/DisplayStyle.d.ts.map +1 -1
  63. package/lib/cjs/DisplayStyle.js +256 -256
  64. package/lib/cjs/DisplayStyle.js.map +1 -1
  65. package/lib/cjs/ECDb.d.ts +191 -191
  66. package/lib/cjs/ECDb.js +350 -350
  67. package/lib/cjs/ECDb.js.map +1 -1
  68. package/lib/cjs/ECSchemaXmlContext.d.ts +18 -18
  69. package/lib/cjs/ECSchemaXmlContext.js +41 -41
  70. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  71. package/lib/cjs/ECSqlStatement.d.ts +466 -466
  72. package/lib/cjs/ECSqlStatement.js +791 -791
  73. package/lib/cjs/ECSqlStatement.js.map +1 -1
  74. package/lib/cjs/Element.d.ts +1102 -1109
  75. package/lib/cjs/Element.d.ts.map +1 -1
  76. package/lib/cjs/Element.js +1416 -1420
  77. package/lib/cjs/Element.js.map +1 -1
  78. package/lib/cjs/ElementAspect.d.ts +176 -156
  79. package/lib/cjs/ElementAspect.d.ts.map +1 -1
  80. package/lib/cjs/ElementAspect.js +211 -178
  81. package/lib/cjs/ElementAspect.js.map +1 -1
  82. package/lib/cjs/ElementGraphics.d.ts +9 -9
  83. package/lib/cjs/ElementGraphics.js +41 -41
  84. package/lib/cjs/ElementGraphics.js.map +1 -1
  85. package/lib/cjs/ElementTreeWalker.d.ts +162 -162
  86. package/lib/cjs/ElementTreeWalker.js +409 -409
  87. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  88. package/lib/cjs/Entity.d.ts +106 -76
  89. package/lib/cjs/Entity.d.ts.map +1 -1
  90. package/lib/cjs/Entity.js +134 -82
  91. package/lib/cjs/Entity.js.map +1 -1
  92. package/lib/cjs/EntityReferences.d.ts +50 -0
  93. package/lib/cjs/EntityReferences.d.ts.map +1 -0
  94. package/lib/cjs/EntityReferences.js +96 -0
  95. package/lib/cjs/EntityReferences.js.map +1 -0
  96. package/lib/cjs/ExportGraphics.d.ts +317 -317
  97. package/lib/cjs/ExportGraphics.js +208 -208
  98. package/lib/cjs/ExportGraphics.js.map +1 -1
  99. package/lib/cjs/ExternalSource.d.ts +96 -94
  100. package/lib/cjs/ExternalSource.d.ts.map +1 -1
  101. package/lib/cjs/ExternalSource.js +131 -125
  102. package/lib/cjs/ExternalSource.js.map +1 -1
  103. package/lib/cjs/GeoCoordConfig.d.ts +19 -19
  104. package/lib/cjs/GeoCoordConfig.d.ts.map +1 -1
  105. package/lib/cjs/GeoCoordConfig.js +85 -82
  106. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  107. package/lib/cjs/GeometrySummary.d.ts +4 -4
  108. package/lib/cjs/GeometrySummary.js +380 -380
  109. package/lib/cjs/GeometrySummary.js.map +1 -1
  110. package/lib/cjs/HubMock.d.ts +94 -93
  111. package/lib/cjs/HubMock.d.ts.map +1 -1
  112. package/lib/cjs/HubMock.js +222 -190
  113. package/lib/cjs/HubMock.js.map +1 -1
  114. package/lib/cjs/IModelCloneContext.d.ts +8 -85
  115. package/lib/cjs/IModelCloneContext.d.ts.map +1 -1
  116. package/lib/cjs/IModelCloneContext.js +15 -150
  117. package/lib/cjs/IModelCloneContext.js.map +1 -1
  118. package/lib/cjs/IModelDb.d.ts +1183 -1164
  119. package/lib/cjs/IModelDb.d.ts.map +1 -1
  120. package/lib/cjs/IModelDb.js +2374 -2324
  121. package/lib/cjs/IModelDb.js.map +1 -1
  122. package/lib/cjs/IModelElementCloneContext.d.ts +90 -0
  123. package/lib/cjs/IModelElementCloneContext.d.ts.map +1 -0
  124. package/lib/cjs/IModelElementCloneContext.js +160 -0
  125. package/lib/cjs/IModelElementCloneContext.js.map +1 -0
  126. package/lib/cjs/IModelHost.d.ts +370 -361
  127. package/lib/cjs/IModelHost.d.ts.map +1 -1
  128. package/lib/cjs/IModelHost.js +496 -489
  129. package/lib/cjs/IModelHost.js.map +1 -1
  130. package/lib/cjs/IModelJsFs.d.ts +62 -62
  131. package/lib/cjs/IModelJsFs.js +140 -140
  132. package/lib/cjs/IModelJsFs.js.map +1 -1
  133. package/lib/cjs/IpcHost.d.ts +104 -98
  134. package/lib/cjs/IpcHost.d.ts.map +1 -1
  135. package/lib/cjs/IpcHost.js +278 -234
  136. package/lib/cjs/IpcHost.js.map +1 -1
  137. package/lib/cjs/LineStyle.d.ts +311 -311
  138. package/lib/cjs/LineStyle.js +295 -295
  139. package/lib/cjs/LineStyle.js.map +1 -1
  140. package/lib/cjs/LocalHub.d.ts +162 -162
  141. package/lib/cjs/LocalHub.js +587 -587
  142. package/lib/cjs/LocalHub.js.map +1 -1
  143. package/lib/cjs/LocalhostIpcHost.d.ts +20 -20
  144. package/lib/cjs/LocalhostIpcHost.js +81 -81
  145. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  146. package/lib/cjs/Material.d.ts +103 -103
  147. package/lib/cjs/Material.js +147 -147
  148. package/lib/cjs/Material.js.map +1 -1
  149. package/lib/cjs/Model.d.ts +392 -386
  150. package/lib/cjs/Model.d.ts.map +1 -1
  151. package/lib/cjs/Model.js +485 -471
  152. package/lib/cjs/Model.js.map +1 -1
  153. package/lib/cjs/NativeAppStorage.d.ts +51 -51
  154. package/lib/cjs/NativeAppStorage.js +202 -202
  155. package/lib/cjs/NativeAppStorage.js.map +1 -1
  156. package/lib/cjs/NativeHost.d.ts +52 -52
  157. package/lib/cjs/NativeHost.d.ts.map +1 -1
  158. package/lib/cjs/NativeHost.js +163 -168
  159. package/lib/cjs/NativeHost.js.map +1 -1
  160. package/lib/cjs/NavigationRelationship.d.ts +156 -156
  161. package/lib/cjs/NavigationRelationship.js +225 -225
  162. package/lib/cjs/NavigationRelationship.js.map +1 -1
  163. package/lib/cjs/PromiseMemoizer.d.ts +51 -51
  164. package/lib/cjs/PromiseMemoizer.d.ts.map +1 -1
  165. package/lib/cjs/PromiseMemoizer.js +101 -101
  166. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  167. package/lib/cjs/PropertyStore.d.ts +132 -132
  168. package/lib/cjs/PropertyStore.js +11 -11
  169. package/lib/cjs/PropertyStore.js.map +1 -1
  170. package/lib/cjs/Relationship.d.ts +416 -400
  171. package/lib/cjs/Relationship.d.ts.map +1 -1
  172. package/lib/cjs/Relationship.js +494 -465
  173. package/lib/cjs/Relationship.js.map +1 -1
  174. package/lib/cjs/RpcBackend.d.ts +5 -28
  175. package/lib/cjs/RpcBackend.d.ts.map +1 -1
  176. package/lib/cjs/RpcBackend.js +31 -126
  177. package/lib/cjs/RpcBackend.js.map +1 -1
  178. package/lib/cjs/SQLiteDb.d.ts +219 -219
  179. package/lib/cjs/SQLiteDb.js +214 -214
  180. package/lib/cjs/SQLiteDb.js.map +1 -1
  181. package/lib/cjs/Schema.d.ts +55 -55
  182. package/lib/cjs/Schema.js +83 -83
  183. package/lib/cjs/Schema.js.map +1 -1
  184. package/lib/cjs/ServerBasedLocks.d.ts +57 -57
  185. package/lib/cjs/ServerBasedLocks.js +168 -168
  186. package/lib/cjs/ServerBasedLocks.js.map +1 -1
  187. package/lib/cjs/SqliteStatement.d.ts +360 -283
  188. package/lib/cjs/SqliteStatement.d.ts.map +1 -1
  189. package/lib/cjs/SqliteStatement.js +586 -448
  190. package/lib/cjs/SqliteStatement.js.map +1 -1
  191. package/lib/cjs/Texture.d.ts +58 -58
  192. package/lib/cjs/Texture.js +82 -82
  193. package/lib/cjs/Texture.js.map +1 -1
  194. package/lib/cjs/TileStorage.d.ts +18 -18
  195. package/lib/cjs/TileStorage.js +90 -90
  196. package/lib/cjs/TileStorage.js.map +1 -1
  197. package/lib/cjs/TxnManager.d.ts +202 -202
  198. package/lib/cjs/TxnManager.js +356 -356
  199. package/lib/cjs/TxnManager.js.map +1 -1
  200. package/lib/cjs/ViewDefinition.d.ts +439 -435
  201. package/lib/cjs/ViewDefinition.d.ts.map +1 -1
  202. package/lib/cjs/ViewDefinition.js +646 -635
  203. package/lib/cjs/ViewDefinition.js.map +1 -1
  204. package/lib/cjs/ViewStateHydrator.d.ts +13 -13
  205. package/lib/cjs/ViewStateHydrator.js +103 -103
  206. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  207. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  208. package/lib/cjs/assets/Settings/Schemas/Cloud.Schema.json +67 -67
  209. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +31 -31
  210. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +52 -52
  211. package/lib/cjs/assets/Settings/backend.setting.json5 +138 -138
  212. package/lib/cjs/core-backend.d.ts +184 -182
  213. package/lib/cjs/core-backend.d.ts.map +1 -1
  214. package/lib/cjs/core-backend.js +204 -202
  215. package/lib/cjs/core-backend.js.map +1 -1
  216. package/lib/cjs/domains/FunctionalElements.d.ts +101 -101
  217. package/lib/cjs/domains/FunctionalElements.js +145 -145
  218. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  219. package/lib/cjs/domains/FunctionalSchema.d.ts +13 -13
  220. package/lib/cjs/domains/FunctionalSchema.js +40 -40
  221. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  222. package/lib/cjs/domains/GenericElements.d.ts +177 -177
  223. package/lib/cjs/domains/GenericElements.js +263 -263
  224. package/lib/cjs/domains/GenericElements.js.map +1 -1
  225. package/lib/cjs/domains/GenericSchema.d.ts +10 -10
  226. package/lib/cjs/domains/GenericSchema.js +28 -28
  227. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  228. package/lib/cjs/rpc/multipart.d.ts +12 -0
  229. package/lib/cjs/rpc/multipart.d.ts.map +1 -0
  230. package/lib/cjs/rpc/multipart.js +71 -0
  231. package/lib/cjs/rpc/multipart.js.map +1 -0
  232. package/lib/cjs/rpc/tracing.d.ts +29 -0
  233. package/lib/cjs/rpc/tracing.d.ts.map +1 -0
  234. package/lib/cjs/rpc/tracing.js +74 -0
  235. package/lib/cjs/rpc/tracing.js.map +1 -0
  236. package/lib/cjs/rpc/web/logging.d.ts +10 -0
  237. package/lib/cjs/rpc/web/logging.d.ts.map +1 -0
  238. package/lib/cjs/rpc/web/logging.js +43 -0
  239. package/lib/cjs/rpc/web/logging.js.map +1 -0
  240. package/lib/cjs/rpc/web/request.d.ts +7 -0
  241. package/lib/cjs/rpc/web/request.d.ts.map +1 -0
  242. package/lib/cjs/rpc/web/request.js +74 -0
  243. package/lib/cjs/rpc/web/request.js.map +1 -0
  244. package/lib/cjs/rpc/web/response.d.ts +7 -0
  245. package/lib/cjs/rpc/web/response.d.ts.map +1 -0
  246. package/lib/cjs/rpc/web/response.js +106 -0
  247. package/lib/cjs/rpc/web/response.js.map +1 -0
  248. package/lib/cjs/rpc-impl/DevToolsRpcImpl.d.ts +15 -15
  249. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js +32 -32
  250. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  251. package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts +46 -45
  252. package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -1
  253. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +287 -262
  254. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  255. package/lib/cjs/rpc-impl/IModelTileRpcImpl.d.ts +22 -22
  256. package/lib/cjs/rpc-impl/IModelTileRpcImpl.d.ts.map +1 -1
  257. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js +202 -204
  258. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  259. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts +36 -36
  260. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js +168 -168
  261. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  262. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.d.ts +16 -16
  263. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js +43 -43
  264. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  265. package/lib/cjs/rpc-impl/WipRpcImpl.d.ts +15 -15
  266. package/lib/cjs/rpc-impl/WipRpcImpl.js +37 -37
  267. package/lib/cjs/rpc-impl/WipRpcImpl.js.map +1 -1
  268. package/lib/cjs/workspace/Settings.d.ts +186 -186
  269. package/lib/cjs/workspace/Settings.js +155 -155
  270. package/lib/cjs/workspace/Settings.js.map +1 -1
  271. package/lib/cjs/workspace/SettingsSchemas.d.ts +75 -75
  272. package/lib/cjs/workspace/SettingsSchemas.js +191 -191
  273. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  274. package/lib/cjs/workspace/Workspace.d.ts +414 -414
  275. package/lib/cjs/workspace/Workspace.d.ts.map +1 -1
  276. package/lib/cjs/workspace/Workspace.js +543 -543
  277. package/lib/cjs/workspace/Workspace.js.map +1 -1
  278. package/package.json +14 -13
@@ -1,318 +1,318 @@
1
- /** @packageDocumentation
2
- * @module iModels
3
- */
4
- import { Id64Array, Id64String } from "@itwin/core-bentley";
5
- import { IndexedPolyface, Polyface, PolyfaceData, PolyfaceVisitor } from "@itwin/core-geometry";
6
- import { ColorDefProps, GeometryClass } from "@itwin/core-common";
7
- /** A collection of line segments, suitable for direct use with graphics APIs.
8
- * The structure of this data matches GL_LINES in OpenGL.
9
- * See [IModelDb.exportGraphics]($core-backend)
10
- * @public
11
- */
12
- export interface ExportGraphicsLines {
13
- /** Zero-based vertex indices, every two indices represent a line segment */
14
- indices: Int32Array;
15
- /** Vertices for these lines, laid out in the pattern XYZXYZ */
16
- points: Float64Array;
17
- }
18
- /** Info provided to ExportLinesFunction about linework graphics.
19
- * See [IModelDb.exportGraphics]($core-backend)
20
- * @public
21
- */
22
- export interface ExportLinesInfo {
23
- /** The element ID for the element the graphics originated from */
24
- elementId: Id64String;
25
- /** ID for the [SubCategory]($core-backend) for these graphics */
26
- subCategory: Id64String;
27
- /** The color and transparency for these graphics */
28
- color: ColorDefProps;
29
- /** GeometryClass for these graphics */
30
- geometryClass: GeometryClass;
31
- /** The linework for these graphics */
32
- lines: ExportGraphicsLines;
33
- }
34
- /** A callback function that receives generated line graphics.
35
- * See [IModelDb.exportGraphics]($core-backend)
36
- * @public
37
- */
38
- export declare type ExportLinesFunction = (info: ExportLinesInfo) => void;
39
- /** A triangulated mesh with unified indices, suitable for direct use with graphics APIs.
40
- * See [IModelDb.exportGraphics]($core-backend)
41
- * @public
42
- */
43
- export interface ExportGraphicsMesh {
44
- /** Zero-based vertex indices, every three indices represent a triangle */
45
- indices: Int32Array;
46
- /** Vertices for this mesh, laid out in the pattern XYZXYZ */
47
- points: Float64Array;
48
- /** Normals for this mesh, laid out in the pattern XYZXYZ */
49
- normals: Float32Array;
50
- /** Parameters (uvs) for this mesh, laid out in the pattern XYXY */
51
- params: Float32Array;
52
- /** If true, clients should assume both sides of the mesh are visible and not cull backfaces. */
53
- isTwoSided: boolean;
54
- }
55
- /** Info provided to ExportGraphicsFunction about graphics.
56
- * See [IModelDb.exportGraphics]($core-backend)
57
- * @public
58
- */
59
- export interface ExportGraphicsInfo {
60
- /** The element ID for the element the graphics originated from */
61
- elementId: Id64String;
62
- /** ID for the [SubCategory]($core-backend) for these graphics */
63
- subCategory: Id64String;
64
- /** The color and transparency for these graphics */
65
- color: ColorDefProps;
66
- /** GeometryClass for these graphics */
67
- geometryClass: GeometryClass;
68
- /** If defined, ID for the [RenderMaterialElement]($core-backend) for these graphics */
69
- materialId?: Id64String;
70
- /** If defined, ID for the [Texture]($core-backend) for these graphics */
71
- textureId?: Id64String;
72
- /** The mesh for these graphics */
73
- mesh: ExportGraphicsMesh;
74
- }
75
- /** Information about the base display properties when a [GeometryPart]($core-backend) was
76
- * referenced. This is intended to be used with [IModelDb.exportPartGraphics]($core-backend).
77
- * * If two ExportPartInstanceInfo have the same ExportPartDisplayInfos, they will result in the
78
- * same graphics (with a different transform).
79
- * * If two ExportPartInstanceInfo have different ExportPartDisplayInfos, they may result in different
80
- * graphics.
81
- * @public
82
- */
83
- export interface ExportPartDisplayInfo {
84
- categoryId: Id64String;
85
- subCategoryId: Id64String;
86
- geometryClass: GeometryClass;
87
- materialId: Id64String;
88
- elmTransparency: number;
89
- lineColor: number;
90
- }
91
- /** Information about references to [GeometryPart]($core-backend) elements found during
92
- * a call to [IModelDb.exportGraphics]($core-backend).
93
- * See [IModelDb.exportPartGraphics]($core-backend) for the intended use case.
94
- * @public
95
- */
96
- export interface ExportPartInstanceInfo {
97
- /** ID for the [GeometryPart]($core-backend) */
98
- partId: Id64String;
99
- /** ID for the element that contained the reference to the [GeometryPart]($core-backend) */
100
- partInstanceId: Id64String;
101
- /** The base display properties when the [GeometryPart]($core-backend) was referenced. */
102
- displayProps: ExportPartDisplayInfo;
103
- /** A row-major storage 4x3 transform for this instance.
104
- * See export-gltf under test-apps in the iTwin.js monorepo for a working reference.
105
- */
106
- transform?: Float64Array;
107
- }
108
- /** A callback function that receives generated graphics.
109
- * See [IModelDb.exportGraphics]($core-backend)
110
- * @public
111
- */
112
- export declare type ExportGraphicsFunction = (info: ExportGraphicsInfo) => void;
113
- /** Parameters for [IModelDb.exportGraphics]($core-backend)
114
- * @public
115
- */
116
- export interface ExportGraphicsOptions {
117
- /** The source elements for the exported graphics */
118
- elementIdArray: Id64Array;
119
- /** A function to call for each unique element ID, color and texture combination */
120
- onGraphics: ExportGraphicsFunction;
121
- /** An optional function to call if line graphics are desired. */
122
- onLineGraphics?: ExportLinesFunction;
123
- /** If supplied, any references to [GeometryPart]($core-backend) elements found will be
124
- * recorded in this array. In this case, graphics that would result from the GeometryPart
125
- * will not be supplied via onGraphics. See [IModelDb.exportPartGraphics]($core-backend)
126
- */
127
- partInstanceArray?: ExportPartInstanceInfo[];
128
- /** Max distance from a face to the original geometry, see [StrokeOptions]($core-geometry).
129
- * If not supplied, defaults to zero and angleTol will control the quality of the resulting mesh.
130
- */
131
- chordTol?: number;
132
- /** Max angle difference in radians for approximated face, see [StrokeOptions]($core-geometry).
133
- * If not supplied, defaults to PI/12 (15 degrees).
134
- */
135
- angleTol?: number;
136
- /** Max length of any edge in generated faces, see [StrokeOptions]($core-geometry).
137
- * If not supplied, there is no maximum length of an edge. Supplying this value can greatly increase the
138
- * size of the resulting geometry, and should only be done in cases where necessary (if you don't know
139
- * that it's necessary, it's almost certainly not!)
140
- */
141
- maxEdgeLength?: number;
142
- /** The longest dimension of a line style's largest component must be at least this size in order for
143
- * exportGraphics to evaluate and generate its graphics. If undefined, this defaults to 0.1.
144
- * Line styles can evaluate to 3D geometry that clients expect to receive from exportGraphics, but they
145
- * can also generate gigabytes of mesh data when line styles with small components are applied to long
146
- * line strings.
147
- */
148
- minLineStyleComponentSize?: number;
149
- /** Max distance between mesh vertices for them to be collapsed.
150
- * Meshes stored in GeometryStreams are unaffected by StrokeOptions settings. If decimationTol is undefined,
151
- * they are output from exportGraphics without any reduction in quality and can be too detailed for
152
- * some uses. However, decimation is a destructive operation that can introduce gaps and other visual
153
- * anomalies so it is important to choose an appropriate setting for your use case.
154
- */
155
- decimationTol?: number;
156
- /** BRep features with bounding boxes smaller than this size will not generate graphics.
157
- * This option can be used to ignore expensive details from [BRepEntity.DataProps]($core-common)
158
- * like screws and screw holes.
159
- */
160
- minBRepFeatureSize?: number;
161
- }
162
- /** Info provided to ExportPartFunction about graphics.
163
- * See [IModelDb.exportPartGraphics]($core-backend)
164
- * @public
165
- */
166
- export interface ExportPartInfo {
167
- /** The color and transparency for these graphics */
168
- color: ColorDefProps;
169
- /** GeometryClass for these graphics */
170
- geometryClass: GeometryClass;
171
- /** If defined, ID for the [RenderMaterialElement]($core-backend) for these graphics */
172
- materialId?: Id64String;
173
- /** If defined, ID for the [Texture]($core-backend) for these graphics */
174
- textureId?: Id64String;
175
- /** The mesh for these graphics */
176
- mesh: ExportGraphicsMesh;
177
- }
178
- /** A callback function that receives generated graphics for a [GeometryPart]($core-backend).
179
- * See [IModelDb.exportPartGraphics]($core-backend)
180
- * @public
181
- */
182
- export declare type ExportPartFunction = (info: ExportPartInfo) => void;
183
- /** Info provided to ExportPartFunction about line graphics.
184
- * See [IModelDb.exportPartGraphics]($core-backend)
185
- * @public
186
- */
187
- export interface ExportPartLinesInfo {
188
- /** The color and transparency for these graphics */
189
- color: ColorDefProps;
190
- /** GeometryClass for these graphics */
191
- geometryClass: GeometryClass;
192
- /** The linework for these graphics */
193
- lines: ExportGraphicsLines;
194
- }
195
- /** A callback function that receives generated line graphics for a [GeometryPart]($core-backend).
196
- * See [IModelDb.exportPartGraphics]($core-backend)
197
- * @public
198
- */
199
- export declare type ExportPartLinesFunction = (info: ExportPartLinesInfo) => void;
200
- /** Parameters for [IModelDb.exportPartGraphics]($core-backend)
201
- * @public
202
- */
203
- export interface ExportPartGraphicsOptions {
204
- /** The ID for the source [GeometryPart]($core-backend) */
205
- elementId: Id64String;
206
- /** The base display properties to use for generating the graphics. This should come from an
207
- * ExportPartInstanceProps generated by [IModelDb.exportGraphics]($core-backend)
208
- */
209
- displayProps: ExportPartDisplayInfo;
210
- /** A function to call for each unique color and texture combination. */
211
- onPartGraphics: ExportPartFunction;
212
- /** An optional function to call if line graphics are desired. */
213
- onPartLineGraphics?: ExportPartLinesFunction;
214
- /** Max distance from a face to the original geometry, see [StrokeOptions]($core-geometry).
215
- * If not supplied, defaults to zero and angleTol will control the quality of the resulting mesh.
216
- */
217
- chordTol?: number;
218
- /** Max angle difference in radians for approximated face, see [StrokeOptions]($core-geometry).
219
- * If not supplied, defaults to PI/12 (15 degrees).
220
- */
221
- angleTol?: number;
222
- /** Max length of any edge in generated faces, see [StrokeOptions]($core-geometry)
223
- * If not supplied, there is no maximum length of an edge. Supplying this value can greatly increase the
224
- * size of the resulting geometry, and should only be done in cases where necessary (if you don't know
225
- * that it's necessary, it's almost certainly not!)
226
- */
227
- maxEdgeLength?: number;
228
- /** The longest dimension of a line style's largest component must be at least this size in order for
229
- * exportGraphics to evaluate and generate its graphics. If undefined, this defaults to 0.1.
230
- * Line styles can evaluate to 3D geometry that clients expect to receive from exportGraphics, but they
231
- * can also generate gigabytes of mesh data when line styles with small components are applied to long
232
- * line strings.
233
- */
234
- minLineStyleComponentSize?: number;
235
- /** Max distance between mesh vertices for them to be collapsed.
236
- * Meshes stored in GeometryStreams are unaffected by StrokeOptions settings. If decimationTol is undefined,
237
- * they are output from exportGraphics without any reduction in quality and can be too detailed for
238
- * some uses. However, decimation is a destructive operation that can introduce gaps and other visual
239
- * anomalies so it is important to choose an appropriate setting for your use case.
240
- */
241
- decimationTol?: number;
242
- /** BRep features with bounding boxes smaller than this size will not generate graphics.
243
- * This option can be used to ignore expensive details from [BRepEntity.DataProps]($core-common)
244
- * like screws and screw holes.
245
- */
246
- minBRepFeatureSize?: number;
247
- }
248
- /** Provides utility functions for working with data generated by [IModelDb.exportGraphics]($core-backend)
249
- * @public
250
- */
251
- export declare namespace ExportGraphics {
252
- /** Test if ExportPartDisplayInfos have exactly the same values.
253
- * @public
254
- */
255
- function arePartDisplayInfosEqual(lhs: ExportPartDisplayInfo, rhs: ExportPartDisplayInfo): boolean;
256
- /**
257
- * Convert an ExportGraphicsMesh to an IndexedPolyface usable by the geometry API.
258
- * @note The resulting IndexedPolyface may have duplicate points, normals and params. If problematic, call [PolyfaceData.compress]($core-geometry)
259
- * @public
260
- */
261
- function convertToIndexedPolyface(mesh: ExportGraphicsMesh): IndexedPolyface;
262
- }
263
- /**
264
- * * Iterator to walk the facets of an ExportGraphicsMesh and present them to the world as if visiting a Polyface.
265
- * * Because the ExportGraphicsMesh has limited data:
266
- * * There is no auxData in this visitor.
267
- * * There is no color in this visitor.
268
- * * All edgeVisible are true.
269
- * @public
270
- */
271
- export declare class ExportGraphicsMeshVisitor extends PolyfaceData implements PolyfaceVisitor {
272
- private _currentFacetIndex;
273
- private _nextFacetIndex;
274
- private _numWrap;
275
- private _polyface;
276
- private constructor();
277
- /** Create a visitor for iterating the facets of `polyface`, with indicated number of points to be added to each facet to produce closed point arrays
278
- * Typical wrap counts are:
279
- * * 0 -- leave the point arrays with "missing final edge"
280
- * * 1 -- add point 0 as closure point
281
- * * 2 -- add points 0 and 1 as closure and wrap point. This is useful when vertex visit requires two adjacent vectors, e.g. for cross products.
282
- */
283
- static create(polyface: ExportGraphicsMesh, numWrap: number): ExportGraphicsMeshVisitor;
284
- /** Reset the iterator to start at the first facet of the polyface. */
285
- reset(): void;
286
- /** Select a facet by simple index. */
287
- moveToReadIndex(facetIndex: number): boolean;
288
- moveToNextFacet(): boolean;
289
- /** Set the number of vertices to replicate in visitor arrays. */
290
- setNumWrap(numWrap: number): void;
291
- /** Return the index (in the client polyface) of the current facet */
292
- currentReadIndex(): number;
293
- /** Return the point index of vertex i within the currently loaded facet */
294
- clientPointIndex(i: number): number;
295
- /** Return the param index of vertex i within the currently loaded facet.
296
- * Use the artificial paramIndex, which matches pointIndex.
297
- */
298
- clientParamIndex(i: number): number;
299
- /** Return the normal index of vertex i within the currently loaded facet.
300
- * Use the artificial paramIndex, which matches pointIndex.
301
- */
302
- clientNormalIndex(i: number): number;
303
- /** Return the color index of vertex i within the currently loaded facet */
304
- clientColorIndex(_i: number): number;
305
- /** Return the aux data index of vertex i within the currently loaded facet */
306
- clientAuxIndex(_i: number): number;
307
- /** return the client polyface */
308
- clientPolyface(): Polyface;
309
- /** clear the contents of all arrays. Use this along with transferDataFrom methods to build up new facets */
310
- clearArrays(): void;
311
- /** transfer interpolated data from the other visitor.
312
- * * all data values are interpolated at `fraction` between `other` values at index0 and index1.
313
- */
314
- pushInterpolatedDataFrom(other: PolyfaceVisitor, index0: number, fraction: number, index1: number): void;
315
- /** transfer data from a specified index of the other visitor as new data in this visitor. */
316
- pushDataFrom(other: PolyfaceVisitor, index: number): void;
317
- }
1
+ /** @packageDocumentation
2
+ * @module iModels
3
+ */
4
+ import { Id64Array, Id64String } from "@itwin/core-bentley";
5
+ import { IndexedPolyface, Polyface, PolyfaceData, PolyfaceVisitor } from "@itwin/core-geometry";
6
+ import { ColorDefProps, GeometryClass } from "@itwin/core-common";
7
+ /** A collection of line segments, suitable for direct use with graphics APIs.
8
+ * The structure of this data matches GL_LINES in OpenGL.
9
+ * See [IModelDb.exportGraphics]($core-backend)
10
+ * @public
11
+ */
12
+ export interface ExportGraphicsLines {
13
+ /** Zero-based vertex indices, every two indices represent a line segment */
14
+ indices: Int32Array;
15
+ /** Vertices for these lines, laid out in the pattern XYZXYZ */
16
+ points: Float64Array;
17
+ }
18
+ /** Info provided to ExportLinesFunction about linework graphics.
19
+ * See [IModelDb.exportGraphics]($core-backend)
20
+ * @public
21
+ */
22
+ export interface ExportLinesInfo {
23
+ /** The element ID for the element the graphics originated from */
24
+ elementId: Id64String;
25
+ /** ID for the [SubCategory]($core-backend) for these graphics */
26
+ subCategory: Id64String;
27
+ /** The color and transparency for these graphics */
28
+ color: ColorDefProps;
29
+ /** GeometryClass for these graphics */
30
+ geometryClass: GeometryClass;
31
+ /** The linework for these graphics */
32
+ lines: ExportGraphicsLines;
33
+ }
34
+ /** A callback function that receives generated line graphics.
35
+ * See [IModelDb.exportGraphics]($core-backend)
36
+ * @public
37
+ */
38
+ export declare type ExportLinesFunction = (info: ExportLinesInfo) => void;
39
+ /** A triangulated mesh with unified indices, suitable for direct use with graphics APIs.
40
+ * See [IModelDb.exportGraphics]($core-backend)
41
+ * @public
42
+ */
43
+ export interface ExportGraphicsMesh {
44
+ /** Zero-based vertex indices, every three indices represent a triangle */
45
+ indices: Int32Array;
46
+ /** Vertices for this mesh, laid out in the pattern XYZXYZ */
47
+ points: Float64Array;
48
+ /** Normals for this mesh, laid out in the pattern XYZXYZ */
49
+ normals: Float32Array;
50
+ /** Parameters (uvs) for this mesh, laid out in the pattern XYXY */
51
+ params: Float32Array;
52
+ /** If true, clients should assume both sides of the mesh are visible and not cull backfaces. */
53
+ isTwoSided: boolean;
54
+ }
55
+ /** Info provided to ExportGraphicsFunction about graphics.
56
+ * See [IModelDb.exportGraphics]($core-backend)
57
+ * @public
58
+ */
59
+ export interface ExportGraphicsInfo {
60
+ /** The element ID for the element the graphics originated from */
61
+ elementId: Id64String;
62
+ /** ID for the [SubCategory]($core-backend) for these graphics */
63
+ subCategory: Id64String;
64
+ /** The color and transparency for these graphics */
65
+ color: ColorDefProps;
66
+ /** GeometryClass for these graphics */
67
+ geometryClass: GeometryClass;
68
+ /** If defined, ID for the [RenderMaterialElement]($core-backend) for these graphics */
69
+ materialId?: Id64String;
70
+ /** If defined, ID for the [Texture]($core-backend) for these graphics */
71
+ textureId?: Id64String;
72
+ /** The mesh for these graphics */
73
+ mesh: ExportGraphicsMesh;
74
+ }
75
+ /** Information about the base display properties when a [GeometryPart]($core-backend) was
76
+ * referenced. This is intended to be used with [IModelDb.exportPartGraphics]($core-backend).
77
+ * * If two ExportPartInstanceInfo have the same ExportPartDisplayInfos, they will result in the
78
+ * same graphics (with a different transform).
79
+ * * If two ExportPartInstanceInfo have different ExportPartDisplayInfos, they may result in different
80
+ * graphics.
81
+ * @public
82
+ */
83
+ export interface ExportPartDisplayInfo {
84
+ categoryId: Id64String;
85
+ subCategoryId: Id64String;
86
+ geometryClass: GeometryClass;
87
+ materialId: Id64String;
88
+ elmTransparency: number;
89
+ lineColor: number;
90
+ }
91
+ /** Information about references to [GeometryPart]($core-backend) elements found during
92
+ * a call to [IModelDb.exportGraphics]($core-backend).
93
+ * See [IModelDb.exportPartGraphics]($core-backend) for the intended use case.
94
+ * @public
95
+ */
96
+ export interface ExportPartInstanceInfo {
97
+ /** ID for the [GeometryPart]($core-backend) */
98
+ partId: Id64String;
99
+ /** ID for the element that contained the reference to the [GeometryPart]($core-backend) */
100
+ partInstanceId: Id64String;
101
+ /** The base display properties when the [GeometryPart]($core-backend) was referenced. */
102
+ displayProps: ExportPartDisplayInfo;
103
+ /** A row-major storage 4x3 transform for this instance.
104
+ * See export-gltf under test-apps in the iTwin.js monorepo for a working reference.
105
+ */
106
+ transform?: Float64Array;
107
+ }
108
+ /** A callback function that receives generated graphics.
109
+ * See [IModelDb.exportGraphics]($core-backend)
110
+ * @public
111
+ */
112
+ export declare type ExportGraphicsFunction = (info: ExportGraphicsInfo) => void;
113
+ /** Parameters for [IModelDb.exportGraphics]($core-backend)
114
+ * @public
115
+ */
116
+ export interface ExportGraphicsOptions {
117
+ /** The source elements for the exported graphics */
118
+ elementIdArray: Id64Array;
119
+ /** A function to call for each unique element ID, color and texture combination */
120
+ onGraphics: ExportGraphicsFunction;
121
+ /** An optional function to call if line graphics are desired. */
122
+ onLineGraphics?: ExportLinesFunction;
123
+ /** If supplied, any references to [GeometryPart]($core-backend) elements found will be
124
+ * recorded in this array. In this case, graphics that would result from the GeometryPart
125
+ * will not be supplied via onGraphics. See [IModelDb.exportPartGraphics]($core-backend)
126
+ */
127
+ partInstanceArray?: ExportPartInstanceInfo[];
128
+ /** Max distance from a face to the original geometry, see [StrokeOptions]($core-geometry).
129
+ * If not supplied, defaults to zero and angleTol will control the quality of the resulting mesh.
130
+ */
131
+ chordTol?: number;
132
+ /** Max angle difference in radians for approximated face, see [StrokeOptions]($core-geometry).
133
+ * If not supplied, defaults to PI/12 (15 degrees).
134
+ */
135
+ angleTol?: number;
136
+ /** Max length of any edge in generated faces, see [StrokeOptions]($core-geometry).
137
+ * If not supplied, there is no maximum length of an edge. Supplying this value can greatly increase the
138
+ * size of the resulting geometry, and should only be done in cases where necessary (if you don't know
139
+ * that it's necessary, it's almost certainly not!)
140
+ */
141
+ maxEdgeLength?: number;
142
+ /** The longest dimension of a line style's largest component must be at least this size in order for
143
+ * exportGraphics to evaluate and generate its graphics. If undefined, this defaults to 0.1.
144
+ * Line styles can evaluate to 3D geometry that clients expect to receive from exportGraphics, but they
145
+ * can also generate gigabytes of mesh data when line styles with small components are applied to long
146
+ * line strings.
147
+ */
148
+ minLineStyleComponentSize?: number;
149
+ /** Max distance between mesh vertices for them to be collapsed.
150
+ * Meshes stored in GeometryStreams are unaffected by StrokeOptions settings. If decimationTol is undefined,
151
+ * they are output from exportGraphics without any reduction in quality and can be too detailed for
152
+ * some uses. However, decimation is a destructive operation that can introduce gaps and other visual
153
+ * anomalies so it is important to choose an appropriate setting for your use case.
154
+ */
155
+ decimationTol?: number;
156
+ /** BRep features with bounding boxes smaller than this size will not generate graphics.
157
+ * This option can be used to ignore expensive details from [BRepEntity.DataProps]($core-common)
158
+ * like screws and screw holes.
159
+ */
160
+ minBRepFeatureSize?: number;
161
+ }
162
+ /** Info provided to ExportPartFunction about graphics.
163
+ * See [IModelDb.exportPartGraphics]($core-backend)
164
+ * @public
165
+ */
166
+ export interface ExportPartInfo {
167
+ /** The color and transparency for these graphics */
168
+ color: ColorDefProps;
169
+ /** GeometryClass for these graphics */
170
+ geometryClass: GeometryClass;
171
+ /** If defined, ID for the [RenderMaterialElement]($core-backend) for these graphics */
172
+ materialId?: Id64String;
173
+ /** If defined, ID for the [Texture]($core-backend) for these graphics */
174
+ textureId?: Id64String;
175
+ /** The mesh for these graphics */
176
+ mesh: ExportGraphicsMesh;
177
+ }
178
+ /** A callback function that receives generated graphics for a [GeometryPart]($core-backend).
179
+ * See [IModelDb.exportPartGraphics]($core-backend)
180
+ * @public
181
+ */
182
+ export declare type ExportPartFunction = (info: ExportPartInfo) => void;
183
+ /** Info provided to ExportPartFunction about line graphics.
184
+ * See [IModelDb.exportPartGraphics]($core-backend)
185
+ * @public
186
+ */
187
+ export interface ExportPartLinesInfo {
188
+ /** The color and transparency for these graphics */
189
+ color: ColorDefProps;
190
+ /** GeometryClass for these graphics */
191
+ geometryClass: GeometryClass;
192
+ /** The linework for these graphics */
193
+ lines: ExportGraphicsLines;
194
+ }
195
+ /** A callback function that receives generated line graphics for a [GeometryPart]($core-backend).
196
+ * See [IModelDb.exportPartGraphics]($core-backend)
197
+ * @public
198
+ */
199
+ export declare type ExportPartLinesFunction = (info: ExportPartLinesInfo) => void;
200
+ /** Parameters for [IModelDb.exportPartGraphics]($core-backend)
201
+ * @public
202
+ */
203
+ export interface ExportPartGraphicsOptions {
204
+ /** The ID for the source [GeometryPart]($core-backend) */
205
+ elementId: Id64String;
206
+ /** The base display properties to use for generating the graphics. This should come from an
207
+ * ExportPartInstanceProps generated by [IModelDb.exportGraphics]($core-backend)
208
+ */
209
+ displayProps: ExportPartDisplayInfo;
210
+ /** A function to call for each unique color and texture combination. */
211
+ onPartGraphics: ExportPartFunction;
212
+ /** An optional function to call if line graphics are desired. */
213
+ onPartLineGraphics?: ExportPartLinesFunction;
214
+ /** Max distance from a face to the original geometry, see [StrokeOptions]($core-geometry).
215
+ * If not supplied, defaults to zero and angleTol will control the quality of the resulting mesh.
216
+ */
217
+ chordTol?: number;
218
+ /** Max angle difference in radians for approximated face, see [StrokeOptions]($core-geometry).
219
+ * If not supplied, defaults to PI/12 (15 degrees).
220
+ */
221
+ angleTol?: number;
222
+ /** Max length of any edge in generated faces, see [StrokeOptions]($core-geometry)
223
+ * If not supplied, there is no maximum length of an edge. Supplying this value can greatly increase the
224
+ * size of the resulting geometry, and should only be done in cases where necessary (if you don't know
225
+ * that it's necessary, it's almost certainly not!)
226
+ */
227
+ maxEdgeLength?: number;
228
+ /** The longest dimension of a line style's largest component must be at least this size in order for
229
+ * exportGraphics to evaluate and generate its graphics. If undefined, this defaults to 0.1.
230
+ * Line styles can evaluate to 3D geometry that clients expect to receive from exportGraphics, but they
231
+ * can also generate gigabytes of mesh data when line styles with small components are applied to long
232
+ * line strings.
233
+ */
234
+ minLineStyleComponentSize?: number;
235
+ /** Max distance between mesh vertices for them to be collapsed.
236
+ * Meshes stored in GeometryStreams are unaffected by StrokeOptions settings. If decimationTol is undefined,
237
+ * they are output from exportGraphics without any reduction in quality and can be too detailed for
238
+ * some uses. However, decimation is a destructive operation that can introduce gaps and other visual
239
+ * anomalies so it is important to choose an appropriate setting for your use case.
240
+ */
241
+ decimationTol?: number;
242
+ /** BRep features with bounding boxes smaller than this size will not generate graphics.
243
+ * This option can be used to ignore expensive details from [BRepEntity.DataProps]($core-common)
244
+ * like screws and screw holes.
245
+ */
246
+ minBRepFeatureSize?: number;
247
+ }
248
+ /** Provides utility functions for working with data generated by [IModelDb.exportGraphics]($core-backend)
249
+ * @public
250
+ */
251
+ export declare namespace ExportGraphics {
252
+ /** Test if ExportPartDisplayInfos have exactly the same values.
253
+ * @public
254
+ */
255
+ function arePartDisplayInfosEqual(lhs: ExportPartDisplayInfo, rhs: ExportPartDisplayInfo): boolean;
256
+ /**
257
+ * Convert an ExportGraphicsMesh to an IndexedPolyface usable by the geometry API.
258
+ * @note The resulting IndexedPolyface may have duplicate points, normals and params. If problematic, call [PolyfaceData.compress]($core-geometry)
259
+ * @public
260
+ */
261
+ function convertToIndexedPolyface(mesh: ExportGraphicsMesh): IndexedPolyface;
262
+ }
263
+ /**
264
+ * * Iterator to walk the facets of an ExportGraphicsMesh and present them to the world as if visiting a Polyface.
265
+ * * Because the ExportGraphicsMesh has limited data:
266
+ * * There is no auxData in this visitor.
267
+ * * There is no color in this visitor.
268
+ * * All edgeVisible are true.
269
+ * @public
270
+ */
271
+ export declare class ExportGraphicsMeshVisitor extends PolyfaceData implements PolyfaceVisitor {
272
+ private _currentFacetIndex;
273
+ private _nextFacetIndex;
274
+ private _numWrap;
275
+ private _polyface;
276
+ private constructor();
277
+ /** Create a visitor for iterating the facets of `polyface`, with indicated number of points to be added to each facet to produce closed point arrays
278
+ * Typical wrap counts are:
279
+ * * 0 -- leave the point arrays with "missing final edge"
280
+ * * 1 -- add point 0 as closure point
281
+ * * 2 -- add points 0 and 1 as closure and wrap point. This is useful when vertex visit requires two adjacent vectors, e.g. for cross products.
282
+ */
283
+ static create(polyface: ExportGraphicsMesh, numWrap: number): ExportGraphicsMeshVisitor;
284
+ /** Reset the iterator to start at the first facet of the polyface. */
285
+ reset(): void;
286
+ /** Select a facet by simple index. */
287
+ moveToReadIndex(facetIndex: number): boolean;
288
+ moveToNextFacet(): boolean;
289
+ /** Set the number of vertices to replicate in visitor arrays. */
290
+ setNumWrap(numWrap: number): void;
291
+ /** Return the index (in the client polyface) of the current facet */
292
+ currentReadIndex(): number;
293
+ /** Return the point index of vertex i within the currently loaded facet */
294
+ clientPointIndex(i: number): number;
295
+ /** Return the param index of vertex i within the currently loaded facet.
296
+ * Use the artificial paramIndex, which matches pointIndex.
297
+ */
298
+ clientParamIndex(i: number): number;
299
+ /** Return the normal index of vertex i within the currently loaded facet.
300
+ * Use the artificial paramIndex, which matches pointIndex.
301
+ */
302
+ clientNormalIndex(i: number): number;
303
+ /** Return the color index of vertex i within the currently loaded facet */
304
+ clientColorIndex(_i: number): number;
305
+ /** Return the aux data index of vertex i within the currently loaded facet */
306
+ clientAuxIndex(_i: number): number;
307
+ /** return the client polyface */
308
+ clientPolyface(): Polyface;
309
+ /** clear the contents of all arrays. Use this along with transferDataFrom methods to build up new facets */
310
+ clearArrays(): void;
311
+ /** transfer interpolated data from the other visitor.
312
+ * * all data values are interpolated at `fraction` between `other` values at index0 and index1.
313
+ */
314
+ pushInterpolatedDataFrom(other: PolyfaceVisitor, index0: number, fraction: number, index1: number): void;
315
+ /** transfer data from a specified index of the other visitor as new data in this visitor. */
316
+ pushDataFrom(other: PolyfaceVisitor, index: number): void;
317
+ }
318
318
  //# sourceMappingURL=ExportGraphics.d.ts.map