@twinfinity/twin 0.0.0-feature.31596

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 (245) hide show
  1. package/README.md +277 -0
  2. package/dist/BuildInfo.d.ts +25 -0
  3. package/dist/BuildInfo.d.ts.map +1 -0
  4. package/dist/BuildInfo.js +15 -0
  5. package/dist/BuildInfo.js.map +1 -0
  6. package/dist/TwinClient.d.ts +823 -0
  7. package/dist/TwinClient.d.ts.map +1 -0
  8. package/dist/TwinClient.js +1487 -0
  9. package/dist/TwinClient.js.map +1 -0
  10. package/dist/errors.d.ts +289 -0
  11. package/dist/errors.d.ts.map +1 -0
  12. package/dist/errors.js +357 -0
  13. package/dist/errors.js.map +1 -0
  14. package/dist/index.d.ts +4 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +4 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/tsconfig.tsbuildinfo +1 -0
  19. package/dist/types/Twin.d.ts +7 -0
  20. package/dist/types/Twin.d.ts.map +1 -0
  21. package/dist/types/Twin.js +6 -0
  22. package/dist/types/Twin.js.map +1 -0
  23. package/dist/types/TwinGeometryInfo.d.ts +7 -0
  24. package/dist/types/TwinGeometryInfo.d.ts.map +1 -0
  25. package/dist/types/TwinGeometryInfo.js +2 -0
  26. package/dist/types/TwinGeometryInfo.js.map +1 -0
  27. package/dist/types/asset-api.d.ts +66 -0
  28. package/dist/types/asset-api.d.ts.map +1 -0
  29. package/dist/types/asset-api.js +2 -0
  30. package/dist/types/asset-api.js.map +1 -0
  31. package/dist/types/asset-attachment-api.d.ts +51 -0
  32. package/dist/types/asset-attachment-api.d.ts.map +1 -0
  33. package/dist/types/asset-attachment-api.js +8 -0
  34. package/dist/types/asset-attachment-api.js.map +1 -0
  35. package/dist/types/asset-batch-api.d.ts +73 -0
  36. package/dist/types/asset-batch-api.d.ts.map +1 -0
  37. package/dist/types/asset-batch-api.js +2 -0
  38. package/dist/types/asset-batch-api.js.map +1 -0
  39. package/dist/types/asset-types-api.d.ts +76 -0
  40. package/dist/types/asset-types-api.d.ts.map +1 -0
  41. package/dist/types/asset-types-api.js +5 -0
  42. package/dist/types/asset-types-api.js.map +1 -0
  43. package/dist/types/common.d.ts +10 -0
  44. package/dist/types/common.d.ts.map +1 -0
  45. package/dist/types/common.js +2 -0
  46. package/dist/types/common.js.map +1 -0
  47. package/dist/types/generated.d.ts +458 -0
  48. package/dist/types/generated.d.ts.map +1 -0
  49. package/dist/types/generated.js +2 -0
  50. package/dist/types/generated.js.map +1 -0
  51. package/dist/types/index.d.ts +10 -0
  52. package/dist/types/index.d.ts.map +1 -0
  53. package/dist/types/index.js +10 -0
  54. package/dist/types/index.js.map +1 -0
  55. package/dist/types/twin-api.d.ts +141 -0
  56. package/dist/types/twin-api.d.ts.map +1 -0
  57. package/dist/types/twin-api.js +2 -0
  58. package/dist/types/twin-api.js.map +1 -0
  59. package/dist/types/twin-file-api.d.ts +61 -0
  60. package/dist/types/twin-file-api.d.ts.map +1 -0
  61. package/dist/types/twin-file-api.js +2 -0
  62. package/dist/types/twin-file-api.js.map +1 -0
  63. package/dist/types/twin-permissions-api.d.ts +240 -0
  64. package/dist/types/twin-permissions-api.d.ts.map +1 -0
  65. package/dist/types/twin-permissions-api.js +2 -0
  66. package/dist/types/twin-permissions-api.js.map +1 -0
  67. package/docs/.nojekyll +1 -0
  68. package/docs/assets/hierarchy.js +1 -0
  69. package/docs/assets/highlight.css +99 -0
  70. package/docs/assets/icons.js +18 -0
  71. package/docs/assets/icons.svg +1 -0
  72. package/docs/assets/main.js +60 -0
  73. package/docs/assets/navigation.js +1 -0
  74. package/docs/assets/search.js +1 -0
  75. package/docs/assets/style.css +1633 -0
  76. package/docs/classes/AssetAttachmentConflictError.html +3 -0
  77. package/docs/classes/AssetAttachmentNotFoundError.html +2 -0
  78. package/docs/classes/AssetBatchError.html +3 -0
  79. package/docs/classes/AssetCatalogTooLargeError.html +16 -0
  80. package/docs/classes/AssetCategoryConflictError.html +3 -0
  81. package/docs/classes/AssetCategoryForbiddenError.html +2 -0
  82. package/docs/classes/AssetCategoryNotFoundError.html +2 -0
  83. package/docs/classes/AssetCategoryValidationError.html +3 -0
  84. package/docs/classes/AssetConflictError.html +3 -0
  85. package/docs/classes/AssetForbiddenError.html +2 -0
  86. package/docs/classes/AssetNotFoundError.html +2 -0
  87. package/docs/classes/AssetPermissionsConflictError.html +16 -0
  88. package/docs/classes/AssetTypeConflictError.html +3 -0
  89. package/docs/classes/AssetTypeForbiddenError.html +2 -0
  90. package/docs/classes/AssetTypeNotFoundError.html +2 -0
  91. package/docs/classes/AssetTypeValidationError.html +3 -0
  92. package/docs/classes/AssetValidationError.html +3 -0
  93. package/docs/classes/ProcessorNotFoundError.html +2 -0
  94. package/docs/classes/TwinClient.html +409 -0
  95. package/docs/classes/TwinConflictError.html +3 -0
  96. package/docs/classes/TwinFileConflictError.html +3 -0
  97. package/docs/classes/TwinFileNotFoundError.html +2 -0
  98. package/docs/classes/TwinFileValidationError.html +3 -0
  99. package/docs/classes/TwinNotFoundError.html +4 -0
  100. package/docs/classes/TwinPermissionsConflictError.html +19 -0
  101. package/docs/classes/TwinPermissionsForbiddenError.html +12 -0
  102. package/docs/classes/TwinPrincipalNotFoundError.html +5 -0
  103. package/docs/classes/TwinTemporarilyUnavailableError.html +10 -0
  104. package/docs/classes/TwinUnauthenticatedError.html +6 -0
  105. package/docs/classes/TwinValidationError.html +3 -0
  106. package/docs/functions/isAssetCatalogTooLargeErrorBody.html +6 -0
  107. package/docs/functions/readErrorBody.html +10 -0
  108. package/docs/hierarchy.html +1 -0
  109. package/docs/index.html +168 -0
  110. package/docs/interfaces/ApiCreateUploadSessionResponse.html +7 -0
  111. package/docs/interfaces/AssetAttachmentPut.html +6 -0
  112. package/docs/interfaces/AssetBatchDeleteOperation.html +4 -0
  113. package/docs/interfaces/AssetBatchGetRequest.html +2 -0
  114. package/docs/interfaces/AssetBatchGetResponse.html +3 -0
  115. package/docs/interfaces/AssetBatchRequest.html +2 -0
  116. package/docs/interfaces/AssetBatchResponse.html +3 -0
  117. package/docs/interfaces/AssetBatchRestoreOperation.html +4 -0
  118. package/docs/interfaces/AssetBatchUpsertItem.html +12 -0
  119. package/docs/interfaces/AssetBatchUpsertOperation.html +4 -0
  120. package/docs/interfaces/AssetCatalogCategory.html +7 -0
  121. package/docs/interfaces/AssetCatalogResponse.html +6 -0
  122. package/docs/interfaces/AssetCatalogTooLargeErrorBody.html +15 -0
  123. package/docs/interfaces/AssetCategoryDelete.html +2 -0
  124. package/docs/interfaces/AssetCategoryGet.html +14 -0
  125. package/docs/interfaces/AssetCategoryPut.html +7 -0
  126. package/docs/interfaces/AssetGet.html +18 -0
  127. package/docs/interfaces/AssetGroupGet.html +9 -0
  128. package/docs/interfaces/AssetGroupsGet.html +3 -0
  129. package/docs/interfaces/AssetListItem.html +14 -0
  130. package/docs/interfaces/AssetPermissionsConflictErrorBody.html +12 -0
  131. package/docs/interfaces/AssetPermissionsPut.html +9 -0
  132. package/docs/interfaces/AssetPosition.html +4 -0
  133. package/docs/interfaces/AssetPost.html +12 -0
  134. package/docs/interfaces/AssetPrincipalPermissionsGet.html +23 -0
  135. package/docs/interfaces/AssetPut.html +12 -0
  136. package/docs/interfaces/AssetTypeDelete.html +2 -0
  137. package/docs/interfaces/AssetTypeGet.html +16 -0
  138. package/docs/interfaces/AssetTypePut.html +9 -0
  139. package/docs/interfaces/AttachmentGet.html +20 -0
  140. package/docs/interfaces/AttachmentPost.html +4 -0
  141. package/docs/interfaces/BatchItemError.html +4 -0
  142. package/docs/interfaces/BatchItemResult.html +6 -0
  143. package/docs/interfaces/BatchSummary.html +4 -0
  144. package/docs/interfaces/Coordinates.html +6 -0
  145. package/docs/interfaces/Diagnostics.html +4 -0
  146. package/docs/interfaces/DiagnosticsSummary.html +4 -0
  147. package/docs/interfaces/ElementQuantities.html +3 -0
  148. package/docs/interfaces/EntityCollection.html +15 -0
  149. package/docs/interfaces/EntityRepresentation.html +12 -0
  150. package/docs/interfaces/Facility.html +22 -0
  151. package/docs/interfaces/FacilityPart.html +18 -0
  152. package/docs/interfaces/FilePatch.html +7 -0
  153. package/docs/interfaces/FilePatchSet.html +5 -0
  154. package/docs/interfaces/GenericDiagnosticEntry.html +4 -0
  155. package/docs/interfaces/ITwinClient.html +404 -0
  156. package/docs/interfaces/IfcDiagnosticEntry.html +5 -0
  157. package/docs/interfaces/IfcDiagnosticNode.html +6 -0
  158. package/docs/interfaces/IfcDiagnosticNodeData.html +6 -0
  159. package/docs/interfaces/InheritedPermissions.html +8 -0
  160. package/docs/interfaces/ListTwinItem.html +30 -0
  161. package/docs/interfaces/Location.html +13 -0
  162. package/docs/interfaces/MyPermissions.html +7 -0
  163. package/docs/interfaces/MyTwinPermissions.html +5 -0
  164. package/docs/interfaces/PaginatedResponse.html +3 -0
  165. package/docs/interfaces/Pagination.html +4 -0
  166. package/docs/interfaces/Property.html +4 -0
  167. package/docs/interfaces/PropertySet.html +6 -0
  168. package/docs/interfaces/SimpleQuantity.html +6 -0
  169. package/docs/interfaces/SinglePropertyValue.html +5 -0
  170. package/docs/interfaces/Site.html +27 -0
  171. package/docs/interfaces/Space.html +16 -0
  172. package/docs/interfaces/TwinComputedPropertySetsResponse.html +4 -0
  173. package/docs/interfaces/TwinContentResponse.html +6 -0
  174. package/docs/interfaces/TwinDelete.html +2 -0
  175. package/docs/interfaces/TwinDiagnosticEntry.html +5 -0
  176. package/docs/interfaces/TwinDiagnosticNode.html +4 -0
  177. package/docs/interfaces/TwinDiagnosticNodeData.html +9 -0
  178. package/docs/interfaces/TwinDiagnosticsResponse.html +5 -0
  179. package/docs/interfaces/TwinErrorBody.html +4 -0
  180. package/docs/interfaces/TwinFileDelete.html +2 -0
  181. package/docs/interfaces/TwinFileGet.html +15 -0
  182. package/docs/interfaces/TwinFileListOptions.html +6 -0
  183. package/docs/interfaces/TwinFilePut.html +8 -0
  184. package/docs/interfaces/TwinFileReference.html +4 -0
  185. package/docs/interfaces/TwinFileRestore.html +2 -0
  186. package/docs/interfaces/TwinFileSource.html +4 -0
  187. package/docs/interfaces/TwinFileTransform.html +11 -0
  188. package/docs/interfaces/TwinFileVersionListOptions.html +4 -0
  189. package/docs/interfaces/TwinGet.html +48 -0
  190. package/docs/interfaces/TwinGroupGet.html +10 -0
  191. package/docs/interfaces/TwinGroupsGet.html +3 -0
  192. package/docs/interfaces/TwinPermissionsConflictErrorBody.html +8 -0
  193. package/docs/interfaces/TwinPermissionsPut.html +11 -0
  194. package/docs/interfaces/TwinPrincipalPermissionsGet.html +34 -0
  195. package/docs/interfaces/TwinProcessorEvent.html +7 -0
  196. package/docs/interfaces/TwinProcessorResponse.html +5 -0
  197. package/docs/interfaces/TwinPut.html +21 -0
  198. package/docs/interfaces/TwinReference.html +4 -0
  199. package/docs/interfaces/TwinSpecification.html +18 -0
  200. package/docs/interfaces/TwinVersionContentResponse.html +7 -0
  201. package/docs/interfaces/UploadStatusGet.html +3 -0
  202. package/docs/media/twin-management.md +399 -0
  203. package/docs/modules.html +1 -0
  204. package/docs/types/AssetBatchGetStatus.html +1 -0
  205. package/docs/types/AssetBatchOperation.html +1 -0
  206. package/docs/types/AssetBatchOperationStatus.html +1 -0
  207. package/docs/types/DiagnosticCategory.html +2 -0
  208. package/docs/types/DiagnosticLevel.html +2 -0
  209. package/docs/types/EpsgType.html +1 -0
  210. package/docs/types/FacilityClass.html +3 -0
  211. package/docs/types/FacilityPartClass.html +3 -0
  212. package/docs/types/IfcDiagnosticCode.html +1 -0
  213. package/docs/types/Op.html +2 -0
  214. package/docs/types/SinglePropertyValueType.html +3 -0
  215. package/docs/types/SingleQuantityValueType.html +3 -0
  216. package/docs/types/SiteType.html +3 -0
  217. package/docs/types/SpaceType.html +2 -0
  218. package/docs/types/TwinBoundCapabilityName.html +8 -0
  219. package/docs/types/TwinCapability.html +12 -0
  220. package/docs/types/TwinCapabilityName.html +8 -0
  221. package/docs/types/TwinDiagnosticCode.html +1 -0
  222. package/docs/types/TwinErrorCause.html +8 -0
  223. package/docs/types/TwinErrorItemKind.html +4 -0
  224. package/docs/types/TwinPermissionsConflictCause.html +6 -0
  225. package/docs/types/TwinScopedCapability.html +9 -0
  226. package/docs/types/TwinScopedCapabilityName.html +8 -0
  227. package/docs/types/UploadStatus.html +1 -0
  228. package/package.json +52 -0
  229. package/src/BuildInfo.ts +41 -0
  230. package/src/TwinClient.ts +3113 -0
  231. package/src/errors.ts +567 -0
  232. package/src/index.ts +3 -0
  233. package/src/tsconfig.json +13 -0
  234. package/src/types/Twin.ts +7 -0
  235. package/src/types/TwinGeometryInfo.ts +7 -0
  236. package/src/types/asset-api.ts +69 -0
  237. package/src/types/asset-attachment-api.ts +56 -0
  238. package/src/types/asset-batch-api.ts +90 -0
  239. package/src/types/asset-types-api.ts +86 -0
  240. package/src/types/common.ts +10 -0
  241. package/src/types/generated.ts +655 -0
  242. package/src/types/index.ts +9 -0
  243. package/src/types/twin-api.ts +153 -0
  244. package/src/types/twin-file-api.ts +67 -0
  245. package/src/types/twin-permissions-api.ts +257 -0
@@ -0,0 +1,655 @@
1
+ export interface Diagnostics {
2
+ generic?: GenericDiagnosticEntry[];
3
+ ifc?: { [key: string]: IfcDiagnosticNode };
4
+ twin?: TwinDiagnosticNode[];
5
+ [property: string]: any;
6
+ }
7
+
8
+ export interface GenericDiagnosticEntry {
9
+ category: DiagnosticCategory;
10
+ level: DiagnosticLevel;
11
+ message: string;
12
+ }
13
+
14
+ /**
15
+ * The category of the diagnostic event.
16
+ */
17
+ export type DiagnosticCategory = 'InvalidData' | 'Geometry';
18
+
19
+ /**
20
+ * The severity level of the diagnostic event.
21
+ */
22
+ export type DiagnosticLevel = 'Fatal' | 'Error' | 'Warning' | 'Information' | 'Debug';
23
+
24
+ /**
25
+ * A diagnostic node for an IFC file.
26
+ */
27
+ export interface IfcDiagnosticNode {
28
+ data: IfcDiagnosticNodeData;
29
+ entries: IfcDiagnosticEntry[];
30
+ incomingConnections: string[];
31
+ outgoingConnections: string[];
32
+ [property: string]: any;
33
+ }
34
+
35
+ export interface IfcDiagnosticNodeData {
36
+ /**
37
+ * The globally unique identifier of the entity in the IFC file.
38
+ */
39
+ gid?: string;
40
+ /**
41
+ * The local identifier of the entity in the IFC file.
42
+ */
43
+ id: string;
44
+ ifcType: string;
45
+ [property: string]: any;
46
+ }
47
+
48
+ export interface IfcDiagnosticEntry {
49
+ category: DiagnosticCategory;
50
+ code: IfcDiagnosticCode;
51
+ level: DiagnosticLevel;
52
+ message?: string;
53
+ }
54
+
55
+ export type IfcDiagnosticCode =
56
+ | 'CompletelyTransparent'
57
+ | 'HighVertexCount'
58
+ | 'IncorrectAttributeDataType'
59
+ | 'InvalidBound'
60
+ | 'InvalidColor'
61
+ | 'InvalidElementQuantity'
62
+ | 'InvalidEnumValue'
63
+ | 'InvalidFace'
64
+ | 'InvalidMesh'
65
+ | 'InvalidObjectReference'
66
+ | 'InvalidPosition'
67
+ | 'InvalidProperty'
68
+ | 'InvalidPropertySet'
69
+ | 'InvalidQuantity'
70
+ | 'InvalidRelation'
71
+ | 'InvalidSpecularHighlight'
72
+ | 'InvalidWorldCoordinateSystem'
73
+ | 'InvalidUnit'
74
+ | 'LargeMeshNotHealed'
75
+ | 'MappedItemWithoutTarget'
76
+ | 'MaterialHasMultipleStyles'
77
+ | 'MeshFarFromOrigo'
78
+ | 'MeshOmitted'
79
+ | 'MissingOrInvalidSurfaceColor'
80
+ | 'MissingPlacement'
81
+ | 'MultipleProjects'
82
+ | 'NamedUnitWithoutName'
83
+ | 'NonUnitEntityReferredAsUnit'
84
+ | 'NoProject'
85
+ | 'NotEnoughAttributes'
86
+ | 'OpenSpace'
87
+ | 'PropertySetWithoutName'
88
+ | 'PropertyWithoutName'
89
+ | 'QuantityWithoutName'
90
+ | 'RepresentationItemWithoutContext'
91
+ | 'StyleContainsMultipleSurfaceStyles'
92
+ | 'SubContextInProjectRepresentationContexts'
93
+ | 'UnitWithoutType'
94
+ | 'UnknownMaterialType'
95
+ | 'UnknownPrefix'
96
+ | 'UnknownUnitType'
97
+ | 'UnsupportedRepresentationItem'
98
+ | 'UnsupportedStyleElement'
99
+ | 'UnsupportedUnitType';
100
+
101
+ /**
102
+ * A diagnostic node for a Twin file.
103
+ */
104
+ export interface TwinDiagnosticNode {
105
+ data: TwinDiagnosticNodeData;
106
+ entries: TwinDiagnosticEntry[];
107
+ [property: string]: any;
108
+ }
109
+
110
+ export interface TwinDiagnosticNodeData {
111
+ /**
112
+ * The identifier of the entity in the Twin file.
113
+ */
114
+ gid?: string;
115
+ /**
116
+ * The identifier of the model this entity belongs to.
117
+ */
118
+ modelId?: string;
119
+ /**
120
+ * The name of the entity.
121
+ */
122
+ name?: string;
123
+ /**
124
+ * Incoming identifier from the IFC file.
125
+ */
126
+ originalGid?: string;
127
+ [property: string]: any;
128
+ }
129
+
130
+ export interface TwinDiagnosticEntry {
131
+ category: DiagnosticCategory;
132
+ code?: TwinDiagnosticCode;
133
+ level: DiagnosticLevel;
134
+ message: string;
135
+ }
136
+
137
+ export type TwinDiagnosticCode =
138
+ | 'CircularHierarchy'
139
+ | 'FacilityPartNotMapped'
140
+ | 'GeometryReferenceEmpty'
141
+ | 'GeometryReferenceShadowed'
142
+ | 'InvalidInsertionPoint'
143
+ | 'InvalidStructure'
144
+ | 'MissingElement'
145
+ | 'MissingFile'
146
+ | 'PatchTargetNotFound'
147
+ | 'DuplicateGlobalId'
148
+ | 'NonFiniteTransform'
149
+ | 'NonFiniteGeometryItemTransform'
150
+ | 'ArtifactMergeFailed'
151
+ | 'EntityIdMissing'
152
+ | 'EntityIdNotMapKey'
153
+ | 'GeometryReferenceUnresolved';
154
+
155
+ /**
156
+ * Specification of a Twinfinity Twin
157
+ */
158
+ export interface TwinSpecification {
159
+ /**
160
+ * Spaces that are not part of any facility
161
+ */
162
+ aggregatedSpaces?: string[];
163
+ elementQuantities?: ElementQuantities[];
164
+ /**
165
+ * Collection of entities that are part of the twin
166
+ */
167
+ entities: EntityCollection;
168
+ /**
169
+ * Per-file patch operations applied to model products before merge
170
+ */
171
+ filePatches?: { [key: string]: FilePatchSet };
172
+ /**
173
+ * Unique identifier for the twin
174
+ */
175
+ id?: string;
176
+ propertySets?: PropertySet[];
177
+ /**
178
+ * Id of the entity that is the root (top) node of the Twin's entity tree. Must reference a
179
+ * site or facility present in the EntityCollection.
180
+ */
181
+ rootEntity: string;
182
+ /**
183
+ * Legacy. The site of the Twin. Deprecated: use rootEntity, which is authoritative for the
184
+ * root of the Twin's entity tree.
185
+ */
186
+ site?: string;
187
+ }
188
+
189
+ export interface ElementQuantities {
190
+ name: string;
191
+ simpleQuantities?: SimpleQuantity[];
192
+ }
193
+
194
+ export interface SimpleQuantity {
195
+ name: string;
196
+ /**
197
+ * Type of value (e.g IfcQuantityArea, IfcQuantityNumber)
198
+ */
199
+ type?: SingleQuantityValueType;
200
+ /**
201
+ * Value of the quantity given in SI units
202
+ */
203
+ value?: number;
204
+ }
205
+
206
+ /**
207
+ * Type of value (e.g IfcQuantityArea, IfcQuantityNumber)
208
+ *
209
+ * Types of qunatity values that consists of a single value
210
+ */
211
+ export type SingleQuantityValueType =
212
+ | 'IfcQuantityArea'
213
+ | 'IfcQuantityCount'
214
+ | 'IfcQuantityLength'
215
+ | 'IfcQuantityNumber'
216
+ | 'IfcQuantityVolume'
217
+ | 'IfcQuantityTime'
218
+ | 'IfcQuantityWeight';
219
+
220
+ /**
221
+ * Collection of entities that are part of the twin
222
+ */
223
+ export interface EntityCollection {
224
+ /**
225
+ * Facility entities in the Twin
226
+ */
227
+ facilities?: { [key: string]: Facility };
228
+ /**
229
+ * Facility part entities in the Twin
230
+ */
231
+ facilityParts?: { [key: string]: FacilityPart };
232
+ /**
233
+ * Representation relations declaring that a twin entity is represented by an entity in a
234
+ * model file, keyed by relation id
235
+ */
236
+ representations?: { [key: string]: EntityRepresentation };
237
+ /**
238
+ * Site entities in the Twin
239
+ */
240
+ sites?: { [key: string]: Site };
241
+ /**
242
+ * Space entities in the Twin
243
+ */
244
+ spaces?: { [key: string]: Space };
245
+ /**
246
+ * Twin reference entities in the Twin
247
+ */
248
+ twinReferences?: { [key: string]: TwinReference };
249
+ [property: string]: any;
250
+ }
251
+
252
+ /**
253
+ * Facility (e.g. building or bridge)
254
+ */
255
+ export interface Facility {
256
+ /**
257
+ * Facilities that are part of the facility (e.g. when a building is a complex of buildings)
258
+ */
259
+ aggregatedFacilities?: string[];
260
+ /**
261
+ * Distinct parts of the facility (e.g. storey or railway part)
262
+ */
263
+ aggregatedFacilityParts?: string[];
264
+ /**
265
+ * Spaces in the facility that do not belong to a facility part
266
+ */
267
+ aggregatedSpaces?: string[];
268
+ /**
269
+ * Type of facility (e.g. IfcBuilding)
270
+ */
271
+ class: FacilityClass;
272
+ description?: string;
273
+ elementQuantities?: ElementQuantities[];
274
+ /**
275
+ * Unique identifier for the building. A canonical IFC GlobalId: a 128-bit uuid compressed
276
+ * per the IFC specification, never spelled as one. The id becomes the object's GlobalId in
277
+ * the client model and the 'entity' component of every reference naming it.
278
+ */
279
+ id: string;
280
+ /**
281
+ * Location of the facility in WGS84. When the facility is the twin's root entity, this is
282
+ * the twin's location.
283
+ */
284
+ location?: Location;
285
+ longName?: string;
286
+ name?: string;
287
+ propertySets?: PropertySet[];
288
+ }
289
+
290
+ /**
291
+ * Type of facility (e.g. IfcBuilding)
292
+ *
293
+ * Types of facilities
294
+ */
295
+ export type FacilityClass = 'IfcBridge' | 'IfcBuilding' | 'IfcMarineFacility' | 'IfcRailway' | 'IfcRoad';
296
+
297
+ /**
298
+ * Location of the facility in WGS84. When the facility is the twin's root entity, this is
299
+ * the twin's location.
300
+ *
301
+ * A location in WGS84
302
+ *
303
+ * Location of the site in WGS84. When the site is the twin's root entity, this is the
304
+ * twin's location.
305
+ */
306
+ export interface Location {
307
+ /**
308
+ * Metres above sea level
309
+ */
310
+ elevation?: number;
311
+ epsg: EpsgType;
312
+ latitude: number;
313
+ longitude: number;
314
+ /**
315
+ * Vector pointing to the true north
316
+ */
317
+ trueNorth?: number[];
318
+ }
319
+
320
+ export type EpsgType = '4326';
321
+
322
+ export interface PropertySet {
323
+ name: string;
324
+ /**
325
+ * Properties contained in the set
326
+ */
327
+ properties?: Property[];
328
+ /**
329
+ * Properties that in themselves are sets of properties
330
+ */
331
+ propertySets?: PropertySet[];
332
+ }
333
+
334
+ export interface Property {
335
+ name: string;
336
+ /**
337
+ * Property value for simple single value properties
338
+ */
339
+ value?: SinglePropertyValue;
340
+ }
341
+
342
+ /**
343
+ * Property value for simple single value properties
344
+ */
345
+ export interface SinglePropertyValue {
346
+ /**
347
+ * Type of value (e.g IfcDate, IfcAreaMeasure, IfcInteger, IfcElectricCurrentMeasure)
348
+ */
349
+ type: SinglePropertyValueType;
350
+ value: number | string;
351
+ }
352
+
353
+ /**
354
+ * Type of value (e.g IfcDate, IfcAreaMeasure, IfcInteger, IfcElectricCurrentMeasure)
355
+ *
356
+ * Types of property values that consists of a single value
357
+ */
358
+ export type SinglePropertyValueType =
359
+ | 'IfcAbsorbedDoseMeasure'
360
+ | 'IfcAccelerationMeasure'
361
+ | 'IfcAmountOfSubstanceMeasure'
362
+ | 'IfcAngularVelocityMeasure'
363
+ | 'IfcAreaMeasure'
364
+ | 'IfcBinary'
365
+ | 'IfcBoolean'
366
+ | 'IfcCountMeasure'
367
+ | 'IfcDate'
368
+ | 'IfcDateTime'
369
+ | 'IfcDescriptiveMeasure'
370
+ | 'IfcDoseEquivalentMeasure'
371
+ | 'IfcDuration'
372
+ | 'IfcDynamicViscosityMeasure'
373
+ | 'IfcElectricCapacitanceMeasure'
374
+ | 'IfcElectricChargeMeasure'
375
+ | 'IfcElectricConductanceMeasure'
376
+ | 'IfcElectricCurrentMeasure'
377
+ | 'IfcElectricResistanceMeasure'
378
+ | 'IfcElectricVoltageMeasure'
379
+ | 'IfcEnergyMeasure'
380
+ | 'IfcForceMeasure'
381
+ | 'IfcFrequencyMeasure'
382
+ | 'IfcHeatFluxDensityMeasure'
383
+ | 'IfcHeatingValueMeasure'
384
+ | 'IfcIdentifier'
385
+ | 'IfcIlluminanceMeasure'
386
+ | 'IfcInductanceMeasure'
387
+ | 'IfcInteger'
388
+ | 'IfcIntegerCountRateMeasure'
389
+ | 'IfcIonConcentrationMeasure'
390
+ | 'IfcIsothermalMoistureCapacityMeasure'
391
+ | 'IfcKinematicViscosityMeasure'
392
+ | 'IfcLabel'
393
+ | 'IfcLengthMeasure'
394
+ | 'IfcLinearForceMeasure'
395
+ | 'IfcLinearMomentMeasure'
396
+ | 'IfcLinearStiffnessMeasure'
397
+ | 'IfcLinearVelocityMeasure'
398
+ | 'IfcLogical'
399
+ | 'IfcLuminousFluxMeasure'
400
+ | 'IfcLuminousIntensityDistributionMeasure'
401
+ | 'IfcLuminousIntensityMeasure'
402
+ | 'IfcMagneticFluxDensityMeasure'
403
+ | 'IfcMagneticFluxMeasure'
404
+ | 'IfcMassDensityMeasure'
405
+ | 'IfcMassFlowRateMeasure'
406
+ | 'IfcMassMeasure'
407
+ | 'IfcMassPerLengthMeasure'
408
+ | 'IfcModulusOfElasticityMeasure'
409
+ | 'IfcModulusOfLinearSubgradeReactionMeasure'
410
+ | 'IfcModulusOfRotationalSubgradeReactionMeasure'
411
+ | 'IfcModulusOfSubgradeReactionMeasure'
412
+ | 'IfcMoistureDiffusivityMeasure'
413
+ | 'IfcMolecularWeightMeasure'
414
+ | 'IfcMomentOfInertiaMeasure'
415
+ | 'IfcMonetaryMeasure'
416
+ | 'IfcNonNegativeLengthMeasure'
417
+ | 'IfcNormalisedRatioMeasure'
418
+ | 'IfcNumericMeasure'
419
+ | 'IfcParameterValue'
420
+ | 'IfcPHMeasure'
421
+ | 'IfcPlanarForceMeasure'
422
+ | 'IfcPlaneAngleMeasure'
423
+ | 'IfcPositiveInteger'
424
+ | 'IfcPositiveLengthMeasure'
425
+ | 'IfcPositivePlaneAngleMeasure'
426
+ | 'IfcPositiveRatioMeasure'
427
+ | 'IfcPowerMeasure'
428
+ | 'IfcPressureMeasure'
429
+ | 'IfcRadioActivityMeasure'
430
+ | 'IfcRatioMeasure'
431
+ | 'IfcReal'
432
+ | 'IfcRotationalFrequencyMeasure'
433
+ | 'IfcRotationalMassMeasure'
434
+ | 'IfcRotationalStiffnessMeasure'
435
+ | 'IfcSectionModulusMeasure'
436
+ | 'IfcSolidAngleMeasure'
437
+ | 'IfcSoundPowerMeasure'
438
+ | 'IfcSoundPressureLevelMeasure'
439
+ | 'IfcSoundPressureMeasure'
440
+ | 'IfcSpecificHeatCapacityMeasure'
441
+ | 'IfcTemperatureGradientMeasure'
442
+ | 'IfcTemperatureRateOfChangeMeasure'
443
+ | 'IfcText'
444
+ | 'IfcThermalAdmittanceMeasure'
445
+ | 'IfcThermalConductivityMeasure'
446
+ | 'IfcThermalExpansionCoefficientMeasure'
447
+ | 'IfcThermalResistanceMeasure'
448
+ | 'IfcThermalTransmittanceMeasure'
449
+ | 'IfcThermodynamicTemperatureMeasure'
450
+ | 'IfcTime'
451
+ | 'IfcTimeMeasure'
452
+ | 'IfcTimeStamp'
453
+ | 'IfcTorqueMeasure'
454
+ | 'IfcURIReference'
455
+ | 'IfcVaporPermeabilityMeasure'
456
+ | 'IfcVolumeMeasure'
457
+ | 'IfcVolumetricFlowRateMeasure'
458
+ | 'IfcWarpingConstantMeasure'
459
+ | 'IfcWarpingMomentMeasure'
460
+ | 'IfcAreaDensityMeasure'
461
+ | 'IfcContextDependentMeasure'
462
+ | 'IfcCurvatureMeasure'
463
+ | 'IfcSectionalAreaIntegralMeasure'
464
+ | 'IfcShearModulusMeasure'
465
+ | 'IfcSoundPowerLevelMeasure';
466
+
467
+ /**
468
+ * Distinct part of the facility (e.g. storey or railway part)
469
+ */
470
+ export interface FacilityPart {
471
+ /**
472
+ * Facility parts that are parts of this part (e.g multiple floor 3 in on different height
473
+ * that are in different parts of the building)
474
+ */
475
+ aggregatedFacilityParts?: string[];
476
+ /**
477
+ * Spaces that are part of the facility part
478
+ */
479
+ aggregatedSpaces?: string[];
480
+ /**
481
+ * Type of facility part (e.g. IfcBuildingStorey)
482
+ */
483
+ class: FacilityPartClass;
484
+ description?: string;
485
+ elementQuantities?: ElementQuantities[];
486
+ /**
487
+ * Unique identifier for the facility part. A canonical IFC GlobalId: a 128-bit uuid
488
+ * compressed per the IFC specification, never spelled as one. The id becomes the object's
489
+ * GlobalId in the client model and the 'entity' component of every reference naming it.
490
+ */
491
+ id: string;
492
+ longName?: string;
493
+ name?: string;
494
+ propertySets?: PropertySet[];
495
+ }
496
+
497
+ /**
498
+ * Type of facility part (e.g. IfcBuildingStorey)
499
+ *
500
+ * Types of facility parts
501
+ */
502
+ export type FacilityPartClass =
503
+ | 'IfcBridgePart'
504
+ | 'IfcBuildingStorey'
505
+ | 'IfcMarinePart'
506
+ | 'IfcRailwayPart'
507
+ | 'IfcRoadPart';
508
+
509
+ /**
510
+ * An objectified relation declaring that a twin entity is represented by another entity.
511
+ * Modelled as a relation (not an inline attribute) so it stays addressable and extensible,
512
+ * mirroring how twinReferences objectifies twin-to-twin relations.
513
+ */
514
+ export interface EntityRepresentation {
515
+ /**
516
+ * Reference to the entity that is represented, e.g. twin~twin:{twinId}.entity:{entityId}
517
+ * for an entity in a twin. Must name an entity: the shared grammar also admits a bare
518
+ * domain (a scope, not an entity), which the service refuses here
519
+ */
520
+ relatingEntity: string;
521
+ /**
522
+ * Reference to the entity that provides this entity's representation, e.g.
523
+ * twin~twin:{twinId}.file:{fileId}/entities/{ifcGid} for an IFC product within one of the
524
+ * twin's model files. Must name an entity, as relatingEntity must
525
+ */
526
+ representedBy: string;
527
+ }
528
+
529
+ /**
530
+ * A site is a defined area of land, possibly covered with water, upon which constructions
531
+ * are located
532
+ */
533
+ export interface Site {
534
+ /**
535
+ * Facilities (e.g. buildings) in Twin
536
+ */
537
+ aggregatedFacilities?: string[];
538
+ /**
539
+ * Sites are part of this site
540
+ */
541
+ aggregatedSites?: string[];
542
+ /**
543
+ * Spaces that are not part of any facility
544
+ */
545
+ aggregatedSpaces?: string[];
546
+ /**
547
+ * Twin references nested directly under this site
548
+ */
549
+ aggregatedTwinReferences?: string[];
550
+ /**
551
+ * Type of site (i.e. IfcSite)
552
+ */
553
+ class: SiteType;
554
+ description?: string;
555
+ elementQuantities?: ElementQuantities[];
556
+ /**
557
+ * Unique identifier for the site. A canonical IFC GlobalId: a 128-bit uuid compressed per
558
+ * the IFC specification, never spelled as one. The id becomes the object's GlobalId in the
559
+ * client model and the 'entity' component of every reference naming it.
560
+ */
561
+ id: string;
562
+ /**
563
+ * Location of the site in WGS84. When the site is the twin's root entity, this is the
564
+ * twin's location.
565
+ */
566
+ location?: Location;
567
+ longName?: string;
568
+ /**
569
+ * Name of the site
570
+ */
571
+ name: string;
572
+ /**
573
+ * Sets of properties describing the Twin (e.g. AreaType = Residential)
574
+ */
575
+ propertySets?: PropertySet[];
576
+ }
577
+
578
+ /**
579
+ * Type of site (i.e. IfcSite)
580
+ *
581
+ * Types of Twins
582
+ */
583
+ export type SiteType = 'IfcSite';
584
+
585
+ /**
586
+ * A volume defining part of a Twin or facility
587
+ */
588
+ export interface Space {
589
+ /**
590
+ * Spaces that are part of this space
591
+ */
592
+ aggregatedSpaces?: string[];
593
+ /**
594
+ * Type of space (e.g. IfcSpace)
595
+ */
596
+ class: SpaceType;
597
+ description?: string;
598
+ elementQuantities?: ElementQuantities[];
599
+ /**
600
+ * Unique identifier for the space. A canonical IFC GlobalId: a 128-bit uuid compressed per
601
+ * the IFC specification, never spelled as one. The id becomes the object's GlobalId in the
602
+ * client model and the 'entity' component of every reference naming it.
603
+ */
604
+ id: string;
605
+ longName?: string;
606
+ name?: string;
607
+ objectType?: string;
608
+ propertySets?: PropertySet[];
609
+ }
610
+
611
+ /**
612
+ * Type of space (e.g. IfcSpace)
613
+ */
614
+ export type SpaceType = 'IfcSpace';
615
+
616
+ /**
617
+ * A reference to another Twin nested within this Twin's spatial hierarchy
618
+ */
619
+ export interface TwinReference {
620
+ /**
621
+ * Id of the referenced (nested) Twin
622
+ */
623
+ twin: string;
624
+ }
625
+
626
+ export interface FilePatchSet {
627
+ /**
628
+ * Ordered list of patch operations to apply
629
+ */
630
+ patches: FilePatch[];
631
+ /**
632
+ * Format version of the patch view. Currently only version 1 is supported.
633
+ */
634
+ viewVersion: number;
635
+ }
636
+
637
+ export interface FilePatch {
638
+ /**
639
+ * The patch operation type
640
+ */
641
+ op: Op;
642
+ /**
643
+ * JSON Pointer-style path: /entities/{ifcGid} or /entities/{ifcGid}/(name|description)
644
+ */
645
+ path: string;
646
+ /**
647
+ * New value for replace operations. Must be omitted for remove operations.
648
+ */
649
+ value?: string;
650
+ }
651
+
652
+ /**
653
+ * The patch operation type
654
+ */
655
+ export type Op = 'replace' | 'remove';
@@ -0,0 +1,9 @@
1
+ export * from './common';
2
+ export * from './twin-api';
3
+ export * from './asset-api';
4
+ export * from './asset-batch-api';
5
+ export * from './asset-types-api';
6
+ export * from './asset-attachment-api';
7
+ export * from './twin-permissions-api';
8
+ export * from './twin-file-api';
9
+ export * from './generated';