@itwin/rpcinterface-full-stack-tests 5.0.0-dev.4 → 5.0.0-dev.6
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.
|
@@ -59044,7 +59044,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
59044
59044
|
/* harmony export */ "AnalysisStyleThematic": () => (/* reexport safe */ _AnalysisStyle__WEBPACK_IMPORTED_MODULE_1__.AnalysisStyleThematic),
|
|
59045
59045
|
/* harmony export */ "AreaPattern": () => (/* reexport safe */ _geometry_AreaPattern__WEBPACK_IMPORTED_MODULE_42__.AreaPattern),
|
|
59046
59046
|
/* harmony export */ "Atmosphere": () => (/* reexport safe */ _Atmosphere__WEBPACK_IMPORTED_MODULE_7__.Atmosphere),
|
|
59047
|
-
/* harmony export */ "B3dmHeader": () => (/* reexport safe */
|
|
59047
|
+
/* harmony export */ "B3dmHeader": () => (/* reexport safe */ _tile_B3dmTileIO__WEBPACK_IMPORTED_MODULE_148__.B3dmHeader),
|
|
59048
59048
|
/* harmony export */ "BRepEntity": () => (/* reexport safe */ _geometry_GeometryStream__WEBPACK_IMPORTED_MODULE_50__.BRepEntity),
|
|
59049
59049
|
/* harmony export */ "BRepGeometryOperation": () => (/* reexport safe */ _geometry_ElementGeometry__WEBPACK_IMPORTED_MODULE_46__.BRepGeometryOperation),
|
|
59050
59050
|
/* harmony export */ "BackendError": () => (/* reexport safe */ _IModelError__WEBPACK_IMPORTED_MODULE_68__.BackendError),
|
|
@@ -59056,9 +59056,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
59056
59056
|
/* harmony export */ "BaseLayerSettings": () => (/* reexport safe */ _MapImagerySettings__WEBPACK_IMPORTED_MODULE_79__.BaseLayerSettings),
|
|
59057
59057
|
/* harmony export */ "BaseMapLayerSettings": () => (/* reexport safe */ _MapLayerSettings__WEBPACK_IMPORTED_MODULE_80__.BaseMapLayerSettings),
|
|
59058
59058
|
/* harmony export */ "BatchType": () => (/* reexport safe */ _FeatureTable__WEBPACK_IMPORTED_MODULE_36__.BatchType),
|
|
59059
|
-
/* harmony export */ "BentleyCloudRpcConfiguration": () => (/* reexport safe */
|
|
59060
|
-
/* harmony export */ "BentleyCloudRpcManager": () => (/* reexport safe */
|
|
59061
|
-
/* harmony export */ "BentleyCloudRpcProtocol": () => (/* reexport safe */
|
|
59059
|
+
/* harmony export */ "BentleyCloudRpcConfiguration": () => (/* reexport safe */ _rpc_web_BentleyCloudRpcManager__WEBPACK_IMPORTED_MODULE_141__.BentleyCloudRpcConfiguration),
|
|
59060
|
+
/* harmony export */ "BentleyCloudRpcManager": () => (/* reexport safe */ _rpc_web_BentleyCloudRpcManager__WEBPACK_IMPORTED_MODULE_141__.BentleyCloudRpcManager),
|
|
59061
|
+
/* harmony export */ "BentleyCloudRpcProtocol": () => (/* reexport safe */ _rpc_web_BentleyCloudRpcProtocol__WEBPACK_IMPORTED_MODULE_142__.BentleyCloudRpcProtocol),
|
|
59062
59062
|
/* harmony export */ "BentleyError": () => (/* reexport safe */ _IModelError__WEBPACK_IMPORTED_MODULE_68__.BentleyError),
|
|
59063
59063
|
/* harmony export */ "BentleyStatus": () => (/* reexport safe */ _IModelError__WEBPACK_IMPORTED_MODULE_68__.BentleyStatus),
|
|
59064
59064
|
/* harmony export */ "BisCodeSpec": () => (/* reexport safe */ _Code__WEBPACK_IMPORTED_MODULE_18__.BisCodeSpec),
|
|
@@ -59086,11 +59086,11 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
59086
59086
|
/* harmony export */ "ColorDef": () => (/* reexport safe */ _ColorDef__WEBPACK_IMPORTED_MODULE_20__.ColorDef),
|
|
59087
59087
|
/* harmony export */ "ColorIndex": () => (/* reexport safe */ _FeatureIndex__WEBPACK_IMPORTED_MODULE_34__.ColorIndex),
|
|
59088
59088
|
/* harmony export */ "CommonLoggerCategory": () => (/* reexport safe */ _CommonLoggerCategory__WEBPACK_IMPORTED_MODULE_21__.CommonLoggerCategory),
|
|
59089
|
-
/* harmony export */ "CompositeTileHeader": () => (/* reexport safe */
|
|
59089
|
+
/* harmony export */ "CompositeTileHeader": () => (/* reexport safe */ _tile_CompositeTileIO__WEBPACK_IMPORTED_MODULE_149__.CompositeTileHeader),
|
|
59090
59090
|
/* harmony export */ "ConcreteEntityTypes": () => (/* reexport safe */ _EntityReference__WEBPACK_IMPORTED_MODULE_32__.ConcreteEntityTypes),
|
|
59091
59091
|
/* harmony export */ "ConflictingLocksError": () => (/* reexport safe */ _IModelError__WEBPACK_IMPORTED_MODULE_68__.ConflictingLocksError),
|
|
59092
|
-
/* harmony export */ "ContentFlags": () => (/* reexport safe */
|
|
59093
|
-
/* harmony export */ "ContentIdProvider": () => (/* reexport safe */
|
|
59092
|
+
/* harmony export */ "ContentFlags": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.ContentFlags),
|
|
59093
|
+
/* harmony export */ "ContentIdProvider": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.ContentIdProvider),
|
|
59094
59094
|
/* harmony export */ "ContextRealityModel": () => (/* reexport safe */ _ContextRealityModel__WEBPACK_IMPORTED_MODULE_22__.ContextRealityModel),
|
|
59095
59095
|
/* harmony export */ "ContextRealityModelProps": () => (/* reexport safe */ _ContextRealityModel__WEBPACK_IMPORTED_MODULE_22__.ContextRealityModelProps),
|
|
59096
59096
|
/* harmony export */ "ContextRealityModels": () => (/* reexport safe */ _ContextRealityModel__WEBPACK_IMPORTED_MODULE_22__.ContextRealityModels),
|
|
@@ -59098,7 +59098,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
59098
59098
|
/* harmony export */ "ContourDisplay": () => (/* reexport safe */ _ContourDisplay__WEBPACK_IMPORTED_MODULE_113__.ContourDisplay),
|
|
59099
59099
|
/* harmony export */ "ContourGroup": () => (/* reexport safe */ _ContourDisplay__WEBPACK_IMPORTED_MODULE_113__.ContourGroup),
|
|
59100
59100
|
/* harmony export */ "ContourStyle": () => (/* reexport safe */ _ContourDisplay__WEBPACK_IMPORTED_MODULE_113__.ContourStyle),
|
|
59101
|
-
/* harmony export */ "CurrentImdlVersion": () => (/* reexport safe */
|
|
59101
|
+
/* harmony export */ "CurrentImdlVersion": () => (/* reexport safe */ _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_153__.CurrentImdlVersion),
|
|
59102
59102
|
/* harmony export */ "CutStyle": () => (/* reexport safe */ _ClipStyle__WEBPACK_IMPORTED_MODULE_17__.CutStyle),
|
|
59103
59103
|
/* harmony export */ "DbQueryError": () => (/* reexport safe */ _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_87__.DbQueryError),
|
|
59104
59104
|
/* harmony export */ "DbRequestKind": () => (/* reexport safe */ _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_87__.DbRequestKind),
|
|
@@ -59135,7 +59135,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
59135
59135
|
/* harmony export */ "FeatureOverrideType": () => (/* reexport safe */ _EmphasizeElementsProps__WEBPACK_IMPORTED_MODULE_30__.FeatureOverrideType),
|
|
59136
59136
|
/* harmony export */ "FeatureOverrides": () => (/* reexport safe */ _FeatureSymbology__WEBPACK_IMPORTED_MODULE_35__.FeatureOverrides),
|
|
59137
59137
|
/* harmony export */ "FeatureTable": () => (/* reexport safe */ _FeatureTable__WEBPACK_IMPORTED_MODULE_36__.FeatureTable),
|
|
59138
|
-
/* harmony export */ "FeatureTableHeader": () => (/* reexport safe */
|
|
59138
|
+
/* harmony export */ "FeatureTableHeader": () => (/* reexport safe */ _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_153__.FeatureTableHeader),
|
|
59139
59139
|
/* harmony export */ "FillDisplay": () => (/* reexport safe */ _GeometryParams__WEBPACK_IMPORTED_MODULE_57__.FillDisplay),
|
|
59140
59140
|
/* harmony export */ "FillFlags": () => (/* reexport safe */ _GraphicParams__WEBPACK_IMPORTED_MODULE_60__.FillFlags),
|
|
59141
59141
|
/* harmony export */ "FontMap": () => (/* reexport safe */ _Fonts__WEBPACK_IMPORTED_MODULE_37__.FontMap),
|
|
@@ -59159,10 +59159,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
59159
59159
|
/* harmony export */ "GeometryStreamFlags": () => (/* reexport safe */ _geometry_GeometryStream__WEBPACK_IMPORTED_MODULE_50__.GeometryStreamFlags),
|
|
59160
59160
|
/* harmony export */ "GeometryStreamIterator": () => (/* reexport safe */ _geometry_GeometryStream__WEBPACK_IMPORTED_MODULE_50__.GeometryStreamIterator),
|
|
59161
59161
|
/* harmony export */ "GeometrySummaryVerbosity": () => (/* reexport safe */ _GeometrySummary__WEBPACK_IMPORTED_MODULE_58__.GeometrySummaryVerbosity),
|
|
59162
|
-
/* harmony export */ "GlbHeader": () => (/* reexport safe */
|
|
59162
|
+
/* harmony export */ "GlbHeader": () => (/* reexport safe */ _tile_GltfTileIO__WEBPACK_IMPORTED_MODULE_151__.GlbHeader),
|
|
59163
59163
|
/* harmony export */ "GlobeMode": () => (/* reexport safe */ _BackgroundMapSettings__WEBPACK_IMPORTED_MODULE_10__.GlobeMode),
|
|
59164
|
-
/* harmony export */ "GltfV2ChunkTypes": () => (/* reexport safe */
|
|
59165
|
-
/* harmony export */ "GltfVersions": () => (/* reexport safe */
|
|
59164
|
+
/* harmony export */ "GltfV2ChunkTypes": () => (/* reexport safe */ _tile_GltfTileIO__WEBPACK_IMPORTED_MODULE_151__.GltfV2ChunkTypes),
|
|
59165
|
+
/* harmony export */ "GltfVersions": () => (/* reexport safe */ _tile_GltfTileIO__WEBPACK_IMPORTED_MODULE_151__.GltfVersions),
|
|
59166
59166
|
/* harmony export */ "Gradient": () => (/* reexport safe */ _Gradient__WEBPACK_IMPORTED_MODULE_59__.Gradient),
|
|
59167
59167
|
/* harmony export */ "GraphicParams": () => (/* reexport safe */ _GraphicParams__WEBPACK_IMPORTED_MODULE_60__.GraphicParams),
|
|
59168
59168
|
/* harmony export */ "GridFileDefinition": () => (/* reexport safe */ _geometry_GeodeticDatum__WEBPACK_IMPORTED_MODULE_48__.GridFileDefinition),
|
|
@@ -59178,7 +59178,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
59178
59178
|
/* harmony export */ "Hilite": () => (/* reexport safe */ _Hilite__WEBPACK_IMPORTED_MODULE_63__.Hilite),
|
|
59179
59179
|
/* harmony export */ "HorizontalCRS": () => (/* reexport safe */ _geometry_CoordinateReferenceSystem__WEBPACK_IMPORTED_MODULE_45__.HorizontalCRS),
|
|
59180
59180
|
/* harmony export */ "HorizontalCRSExtent": () => (/* reexport safe */ _geometry_CoordinateReferenceSystem__WEBPACK_IMPORTED_MODULE_45__.HorizontalCRSExtent),
|
|
59181
|
-
/* harmony export */ "I3dmHeader": () => (/* reexport safe */
|
|
59181
|
+
/* harmony export */ "I3dmHeader": () => (/* reexport safe */ _tile_I3dmTileIO__WEBPACK_IMPORTED_MODULE_152__.I3dmHeader),
|
|
59182
59182
|
/* harmony export */ "IModel": () => (/* reexport safe */ _IModel__WEBPACK_IMPORTED_MODULE_67__.IModel),
|
|
59183
59183
|
/* harmony export */ "IModelError": () => (/* reexport safe */ _IModelError__WEBPACK_IMPORTED_MODULE_68__.IModelError),
|
|
59184
59184
|
/* harmony export */ "IModelNotFoundResponse": () => (/* reexport safe */ _rpc_IModelReadRpcInterface__WEBPACK_IMPORTED_MODULE_136__.IModelNotFoundResponse),
|
|
@@ -59195,8 +59195,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
59195
59195
|
/* harmony export */ "ImageMapLayerSettings": () => (/* reexport safe */ _MapLayerSettings__WEBPACK_IMPORTED_MODULE_80__.ImageMapLayerSettings),
|
|
59196
59196
|
/* harmony export */ "ImageSource": () => (/* reexport safe */ _Image__WEBPACK_IMPORTED_MODULE_66__.ImageSource),
|
|
59197
59197
|
/* harmony export */ "ImageSourceFormat": () => (/* reexport safe */ _Image__WEBPACK_IMPORTED_MODULE_66__.ImageSourceFormat),
|
|
59198
|
-
/* harmony export */ "ImdlFlags": () => (/* reexport safe */
|
|
59199
|
-
/* harmony export */ "ImdlHeader": () => (/* reexport safe */
|
|
59198
|
+
/* harmony export */ "ImdlFlags": () => (/* reexport safe */ _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_153__.ImdlFlags),
|
|
59199
|
+
/* harmony export */ "ImdlHeader": () => (/* reexport safe */ _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_153__.ImdlHeader),
|
|
59200
59200
|
/* harmony export */ "InUseLocksError": () => (/* reexport safe */ _ITwinError__WEBPACK_IMPORTED_MODULE_70__.InUseLocksError),
|
|
59201
59201
|
/* harmony export */ "InternetConnectivityStatus": () => (/* reexport safe */ _NativeAppProps__WEBPACK_IMPORTED_MODULE_85__.InternetConnectivityStatus),
|
|
59202
59202
|
/* harmony export */ "Interpolation": () => (/* reexport safe */ _Tween__WEBPACK_IMPORTED_MODULE_116__.Interpolation),
|
|
@@ -59249,7 +59249,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
59249
59249
|
/* harmony export */ "PlanarClipMaskMode": () => (/* reexport safe */ _PlanarClipMask__WEBPACK_IMPORTED_MODULE_89__.PlanarClipMaskMode),
|
|
59250
59250
|
/* harmony export */ "PlanarClipMaskPriority": () => (/* reexport safe */ _PlanarClipMask__WEBPACK_IMPORTED_MODULE_89__.PlanarClipMaskPriority),
|
|
59251
59251
|
/* harmony export */ "PlanarClipMaskSettings": () => (/* reexport safe */ _PlanarClipMask__WEBPACK_IMPORTED_MODULE_89__.PlanarClipMaskSettings),
|
|
59252
|
-
/* harmony export */ "PntsHeader": () => (/* reexport safe */
|
|
59252
|
+
/* harmony export */ "PntsHeader": () => (/* reexport safe */ _tile_PntsTileIO__WEBPACK_IMPORTED_MODULE_154__.PntsHeader),
|
|
59253
59253
|
/* harmony export */ "PointCloudDisplaySettings": () => (/* reexport safe */ _RealityModelDisplaySettings__WEBPACK_IMPORTED_MODULE_95__.PointCloudDisplaySettings),
|
|
59254
59254
|
/* harmony export */ "PolylineEdgeArgs": () => (/* reexport safe */ _Render__WEBPACK_IMPORTED_MODULE_96__.PolylineEdgeArgs),
|
|
59255
59255
|
/* harmony export */ "PolylineTypeFlags": () => (/* reexport safe */ _Render__WEBPACK_IMPORTED_MODULE_96__.PolylineTypeFlags),
|
|
@@ -59295,13 +59295,13 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
59295
59295
|
/* harmony export */ "RpcDirectProtocol": () => (/* reexport safe */ _rpc_core_RpcConfiguration__WEBPACK_IMPORTED_MODULE_134__.RpcDirectProtocol),
|
|
59296
59296
|
/* harmony export */ "RpcDirectRequest": () => (/* reexport safe */ _rpc_core_RpcConfiguration__WEBPACK_IMPORTED_MODULE_134__.RpcDirectRequest),
|
|
59297
59297
|
/* harmony export */ "RpcEndpoint": () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_121__.RpcEndpoint),
|
|
59298
|
-
/* harmony export */ "RpcInterface": () => (/* reexport safe */
|
|
59298
|
+
/* harmony export */ "RpcInterface": () => (/* reexport safe */ _RpcInterface__WEBPACK_IMPORTED_MODULE_140__.RpcInterface),
|
|
59299
59299
|
/* harmony export */ "RpcInvocation": () => (/* reexport safe */ _rpc_core_RpcInvocation__WEBPACK_IMPORTED_MODULE_123__.RpcInvocation),
|
|
59300
59300
|
/* harmony export */ "RpcManager": () => (/* reexport safe */ _RpcManager__WEBPACK_IMPORTED_MODULE_101__.RpcManager),
|
|
59301
59301
|
/* harmony export */ "RpcMarshaling": () => (/* reexport safe */ _rpc_core_RpcMarshaling__WEBPACK_IMPORTED_MODULE_125__.RpcMarshaling),
|
|
59302
|
-
/* harmony export */ "RpcMultipart": () => (/* reexport safe */
|
|
59302
|
+
/* harmony export */ "RpcMultipart": () => (/* reexport safe */ _rpc_web_RpcMultipart__WEBPACK_IMPORTED_MODULE_144__.RpcMultipart),
|
|
59303
59303
|
/* harmony export */ "RpcNotFoundResponse": () => (/* reexport safe */ _rpc_core_RpcControl__WEBPACK_IMPORTED_MODULE_122__.RpcNotFoundResponse),
|
|
59304
|
-
/* harmony export */ "RpcOpenAPIDescription": () => (/* reexport safe */
|
|
59304
|
+
/* harmony export */ "RpcOpenAPIDescription": () => (/* reexport safe */ _rpc_web_OpenAPI__WEBPACK_IMPORTED_MODULE_143__.RpcOpenAPIDescription),
|
|
59305
59305
|
/* harmony export */ "RpcOperation": () => (/* reexport safe */ _rpc_core_RpcOperation__WEBPACK_IMPORTED_MODULE_126__.RpcOperation),
|
|
59306
59306
|
/* harmony export */ "RpcOperationPolicy": () => (/* reexport safe */ _rpc_core_RpcOperation__WEBPACK_IMPORTED_MODULE_126__.RpcOperationPolicy),
|
|
59307
59307
|
/* harmony export */ "RpcPendingQueue": () => (/* reexport safe */ _rpc_core_RpcPendingQueue__WEBPACK_IMPORTED_MODULE_127__.RpcPendingQueue),
|
|
@@ -59368,13 +59368,13 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
59368
59368
|
/* harmony export */ "ThematicGradientSettings": () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_112__.ThematicGradientSettings),
|
|
59369
59369
|
/* harmony export */ "ThematicGradientTransparencyMode": () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_112__.ThematicGradientTransparencyMode),
|
|
59370
59370
|
/* harmony export */ "TileContentSource": () => (/* reexport safe */ _TileProps__WEBPACK_IMPORTED_MODULE_115__.TileContentSource),
|
|
59371
|
-
/* harmony export */ "TileFormat": () => (/* reexport safe */
|
|
59372
|
-
/* harmony export */ "TileHeader": () => (/* reexport safe */
|
|
59373
|
-
/* harmony export */ "TileMetadataReader": () => (/* reexport safe */
|
|
59374
|
-
/* harmony export */ "TileOptions": () => (/* reexport safe */
|
|
59375
|
-
/* harmony export */ "TileReadError": () => (/* reexport safe */
|
|
59376
|
-
/* harmony export */ "TileReadStatus": () => (/* reexport safe */
|
|
59377
|
-
/* harmony export */ "TreeFlags": () => (/* reexport safe */
|
|
59371
|
+
/* harmony export */ "TileFormat": () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_155__.TileFormat),
|
|
59372
|
+
/* harmony export */ "TileHeader": () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_155__.TileHeader),
|
|
59373
|
+
/* harmony export */ "TileMetadataReader": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.TileMetadataReader),
|
|
59374
|
+
/* harmony export */ "TileOptions": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.TileOptions),
|
|
59375
|
+
/* harmony export */ "TileReadError": () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_155__.TileReadError),
|
|
59376
|
+
/* harmony export */ "TileReadStatus": () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_155__.TileReadStatus),
|
|
59377
|
+
/* harmony export */ "TreeFlags": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.TreeFlags),
|
|
59378
59378
|
/* harmony export */ "Tween": () => (/* reexport safe */ _Tween__WEBPACK_IMPORTED_MODULE_116__.Tween),
|
|
59379
59379
|
/* harmony export */ "Tweens": () => (/* reexport safe */ _Tween__WEBPACK_IMPORTED_MODULE_116__.Tweens),
|
|
59380
59380
|
/* harmony export */ "TxnAction": () => (/* reexport safe */ _TxnAction__WEBPACK_IMPORTED_MODULE_117__.TxnAction),
|
|
@@ -59386,33 +59386,32 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
59386
59386
|
/* harmony export */ "ViewFlags": () => (/* reexport safe */ _ViewFlags__WEBPACK_IMPORTED_MODULE_119__.ViewFlags),
|
|
59387
59387
|
/* harmony export */ "ViewStoreRpc": () => (/* reexport safe */ _ViewProps__WEBPACK_IMPORTED_MODULE_120__.ViewStoreRpc),
|
|
59388
59388
|
/* harmony export */ "WEB_RPC_CONSTANTS": () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_121__.WEB_RPC_CONSTANTS),
|
|
59389
|
-
/* harmony export */ "WebAppRpcLogging": () => (/* reexport safe */
|
|
59390
|
-
/* harmony export */ "WebAppRpcProtocol": () => (/* reexport safe */
|
|
59391
|
-
/* harmony export */ "WebAppRpcRequest": () => (/* reexport safe */
|
|
59392
|
-
/* harmony export */ "WhiteOnWhiteReversalSettings": () => (/* reexport safe */
|
|
59393
|
-
/* harmony export */ "WipRpcInterface": () => (/* reexport safe */ _rpc_WipRpcInterface__WEBPACK_IMPORTED_MODULE_140__.WipRpcInterface),
|
|
59389
|
+
/* harmony export */ "WebAppRpcLogging": () => (/* reexport safe */ _rpc_web_WebAppRpcLogging__WEBPACK_IMPORTED_MODULE_147__.WebAppRpcLogging),
|
|
59390
|
+
/* harmony export */ "WebAppRpcProtocol": () => (/* reexport safe */ _rpc_web_WebAppRpcProtocol__WEBPACK_IMPORTED_MODULE_145__.WebAppRpcProtocol),
|
|
59391
|
+
/* harmony export */ "WebAppRpcRequest": () => (/* reexport safe */ _rpc_web_WebAppRpcRequest__WEBPACK_IMPORTED_MODULE_146__.WebAppRpcRequest),
|
|
59392
|
+
/* harmony export */ "WhiteOnWhiteReversalSettings": () => (/* reexport safe */ _WhiteOnWhiteReversalSettings__WEBPACK_IMPORTED_MODULE_158__.WhiteOnWhiteReversalSettings),
|
|
59394
59393
|
/* harmony export */ "XyzRotation": () => (/* reexport safe */ _geometry_GeodeticDatum__WEBPACK_IMPORTED_MODULE_48__.XyzRotation),
|
|
59395
59394
|
/* harmony export */ "aggregateLoad": () => (/* reexport safe */ _rpc_core_RpcRequest__WEBPACK_IMPORTED_MODULE_130__.aggregateLoad),
|
|
59396
|
-
/* harmony export */ "bisectTileRange2d": () => (/* reexport safe */
|
|
59397
|
-
/* harmony export */ "bisectTileRange3d": () => (/* reexport safe */
|
|
59395
|
+
/* harmony export */ "bisectTileRange2d": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.bisectTileRange2d),
|
|
59396
|
+
/* harmony export */ "bisectTileRange3d": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.bisectTileRange3d),
|
|
59398
59397
|
/* harmony export */ "calculateSolarAngles": () => (/* reexport safe */ _SolarCalculate__WEBPACK_IMPORTED_MODULE_104__.calculateSolarAngles),
|
|
59399
59398
|
/* harmony export */ "calculateSolarDirection": () => (/* reexport safe */ _SolarCalculate__WEBPACK_IMPORTED_MODULE_104__.calculateSolarDirection),
|
|
59400
59399
|
/* harmony export */ "calculateSolarDirectionFromAngles": () => (/* reexport safe */ _SolarCalculate__WEBPACK_IMPORTED_MODULE_104__.calculateSolarDirectionFromAngles),
|
|
59401
59400
|
/* harmony export */ "calculateSunriseOrSunset": () => (/* reexport safe */ _SolarCalculate__WEBPACK_IMPORTED_MODULE_104__.calculateSunriseOrSunset),
|
|
59402
|
-
/* harmony export */ "compareIModelTileTreeIds": () => (/* reexport safe */
|
|
59403
|
-
/* harmony export */ "computeChildTileProps": () => (/* reexport safe */
|
|
59404
|
-
/* harmony export */ "computeChildTileRanges": () => (/* reexport safe */
|
|
59405
|
-
/* harmony export */ "computeTileChordTolerance": () => (/* reexport safe */
|
|
59406
|
-
/* harmony export */ "decodeTileContentDescription": () => (/* reexport safe */
|
|
59407
|
-
/* harmony export */ "defaultTileOptions": () => (/* reexport safe */
|
|
59408
|
-
/* harmony export */ "getMaximumMajorTileFormatVersion": () => (/* reexport safe */
|
|
59401
|
+
/* harmony export */ "compareIModelTileTreeIds": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.compareIModelTileTreeIds),
|
|
59402
|
+
/* harmony export */ "computeChildTileProps": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.computeChildTileProps),
|
|
59403
|
+
/* harmony export */ "computeChildTileRanges": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.computeChildTileRanges),
|
|
59404
|
+
/* harmony export */ "computeTileChordTolerance": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.computeTileChordTolerance),
|
|
59405
|
+
/* harmony export */ "decodeTileContentDescription": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.decodeTileContentDescription),
|
|
59406
|
+
/* harmony export */ "defaultTileOptions": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.defaultTileOptions),
|
|
59407
|
+
/* harmony export */ "getMaximumMajorTileFormatVersion": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.getMaximumMajorTileFormatVersion),
|
|
59409
59408
|
/* harmony export */ "getPullChangesIpcChannel": () => (/* reexport safe */ _IpcAppProps__WEBPACK_IMPORTED_MODULE_75__.getPullChangesIpcChannel),
|
|
59410
59409
|
/* harmony export */ "getTileObjectReference": () => (/* reexport safe */ _TileProps__WEBPACK_IMPORTED_MODULE_115__.getTileObjectReference),
|
|
59411
|
-
/* harmony export */ "iModelTileTreeIdToString": () => (/* reexport safe */
|
|
59410
|
+
/* harmony export */ "iModelTileTreeIdToString": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.iModelTileTreeIdToString),
|
|
59412
59411
|
/* harmony export */ "iTwinChannel": () => (/* reexport safe */ _ipc_IpcSocket__WEBPACK_IMPORTED_MODULE_71__.iTwinChannel),
|
|
59413
59412
|
/* harmony export */ "initializeRpcRequest": () => (/* reexport safe */ _rpc_core_RpcRequest__WEBPACK_IMPORTED_MODULE_130__.initializeRpcRequest),
|
|
59414
59413
|
/* harmony export */ "ipcAppChannels": () => (/* reexport safe */ _IpcAppProps__WEBPACK_IMPORTED_MODULE_75__.ipcAppChannels),
|
|
59415
|
-
/* harmony export */ "isKnownTileFormat": () => (/* reexport safe */
|
|
59414
|
+
/* harmony export */ "isKnownTileFormat": () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_155__.isKnownTileFormat),
|
|
59416
59415
|
/* harmony export */ "isPlacement2dProps": () => (/* reexport safe */ _ElementProps__WEBPACK_IMPORTED_MODULE_29__.isPlacement2dProps),
|
|
59417
59416
|
/* harmony export */ "isPlacement3dProps": () => (/* reexport safe */ _ElementProps__WEBPACK_IMPORTED_MODULE_29__.isPlacement3dProps),
|
|
59418
59417
|
/* harmony export */ "isPowerOfTwo": () => (/* reexport safe */ _Image__WEBPACK_IMPORTED_MODULE_66__.isPowerOfTwo),
|
|
@@ -59420,12 +59419,12 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
59420
59419
|
/* harmony export */ "mapToGeoServiceStatus": () => (/* reexport safe */ _GeoCoordinateServices__WEBPACK_IMPORTED_MODULE_40__.mapToGeoServiceStatus),
|
|
59421
59420
|
/* harmony export */ "nativeAppIpcStrings": () => (/* reexport safe */ _NativeAppProps__WEBPACK_IMPORTED_MODULE_85__.nativeAppIpcStrings),
|
|
59422
59421
|
/* harmony export */ "nextHighestPowerOfTwo": () => (/* reexport safe */ _Image__WEBPACK_IMPORTED_MODULE_66__.nextHighestPowerOfTwo),
|
|
59423
|
-
/* harmony export */ "nextPoint3d64FromByteStream": () => (/* reexport safe */
|
|
59424
|
-
/* harmony export */ "parseTileTreeIdAndContentId": () => (/* reexport safe */
|
|
59422
|
+
/* harmony export */ "nextPoint3d64FromByteStream": () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_155__.nextPoint3d64FromByteStream),
|
|
59423
|
+
/* harmony export */ "parseTileTreeIdAndContentId": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.parseTileTreeIdAndContentId),
|
|
59425
59424
|
/* harmony export */ "readElementMeshes": () => (/* reexport safe */ _ElementMesh__WEBPACK_IMPORTED_MODULE_28__.readElementMeshes),
|
|
59426
|
-
/* harmony export */ "readTileContentDescription": () => (/* reexport safe */
|
|
59425
|
+
/* harmony export */ "readTileContentDescription": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.readTileContentDescription),
|
|
59427
59426
|
/* harmony export */ "rpcOverIpcStrings": () => (/* reexport safe */ _ipc_IpcSession__WEBPACK_IMPORTED_MODULE_74__.rpcOverIpcStrings),
|
|
59428
|
-
/* harmony export */ "tileFormatFromNumber": () => (/* reexport safe */
|
|
59427
|
+
/* harmony export */ "tileFormatFromNumber": () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_155__.tileFormatFromNumber)
|
|
59429
59428
|
/* harmony export */ });
|
|
59430
59429
|
/* harmony import */ var _AmbientOcclusion__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AmbientOcclusion */ "../../core/common/lib/esm/AmbientOcclusion.js");
|
|
59431
59430
|
/* harmony import */ var _AnalysisStyle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AnalysisStyle */ "../../core/common/lib/esm/AnalysisStyle.js");
|
|
@@ -59567,27 +59566,26 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
59567
59566
|
/* harmony import */ var _rpc_IModelTileRpcInterface__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(/*! ./rpc/IModelTileRpcInterface */ "../../core/common/lib/esm/rpc/IModelTileRpcInterface.js");
|
|
59568
59567
|
/* harmony import */ var _rpc_SnapshotIModelRpcInterface__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(/*! ./rpc/SnapshotIModelRpcInterface */ "../../core/common/lib/esm/rpc/SnapshotIModelRpcInterface.js");
|
|
59569
59568
|
/* harmony import */ var _rpc_TestRpcManager__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(/*! ./rpc/TestRpcManager */ "../../core/common/lib/esm/rpc/TestRpcManager.js");
|
|
59570
|
-
/* harmony import */ var
|
|
59571
|
-
/* harmony import */ var
|
|
59572
|
-
/* harmony import */ var
|
|
59573
|
-
/* harmony import */ var
|
|
59574
|
-
/* harmony import */ var
|
|
59575
|
-
/* harmony import */ var
|
|
59576
|
-
/* harmony import */ var
|
|
59577
|
-
/* harmony import */ var
|
|
59578
|
-
/* harmony import */ var
|
|
59579
|
-
/* harmony import */ var
|
|
59580
|
-
/* harmony import */ var
|
|
59581
|
-
/* harmony import */ var
|
|
59582
|
-
/* harmony import */ var
|
|
59583
|
-
/* harmony import */ var
|
|
59584
|
-
/* harmony import */ var
|
|
59585
|
-
/* harmony import */ var
|
|
59586
|
-
/* harmony import */ var
|
|
59587
|
-
/* harmony import */ var
|
|
59588
|
-
/* harmony import */ var
|
|
59589
|
-
/* harmony import */ var
|
|
59590
|
-
/* harmony import */ var _internal_cross_package__WEBPACK_IMPORTED_MODULE_160__ = __webpack_require__(/*! ./internal/cross-package */ "../../core/common/lib/esm/internal/cross-package.js");
|
|
59569
|
+
/* harmony import */ var _RpcInterface__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(/*! ./RpcInterface */ "../../core/common/lib/esm/RpcInterface.js");
|
|
59570
|
+
/* harmony import */ var _rpc_web_BentleyCloudRpcManager__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(/*! ./rpc/web/BentleyCloudRpcManager */ "../../core/common/lib/esm/rpc/web/BentleyCloudRpcManager.js");
|
|
59571
|
+
/* harmony import */ var _rpc_web_BentleyCloudRpcProtocol__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(/*! ./rpc/web/BentleyCloudRpcProtocol */ "../../core/common/lib/esm/rpc/web/BentleyCloudRpcProtocol.js");
|
|
59572
|
+
/* harmony import */ var _rpc_web_OpenAPI__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(/*! ./rpc/web/OpenAPI */ "../../core/common/lib/esm/rpc/web/OpenAPI.js");
|
|
59573
|
+
/* harmony import */ var _rpc_web_RpcMultipart__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(/*! ./rpc/web/RpcMultipart */ "../../core/common/lib/esm/rpc/web/RpcMultipart.js");
|
|
59574
|
+
/* harmony import */ var _rpc_web_WebAppRpcProtocol__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(/*! ./rpc/web/WebAppRpcProtocol */ "../../core/common/lib/esm/rpc/web/WebAppRpcProtocol.js");
|
|
59575
|
+
/* harmony import */ var _rpc_web_WebAppRpcRequest__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(/*! ./rpc/web/WebAppRpcRequest */ "../../core/common/lib/esm/rpc/web/WebAppRpcRequest.js");
|
|
59576
|
+
/* harmony import */ var _rpc_web_WebAppRpcLogging__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(/*! ./rpc/web/WebAppRpcLogging */ "../../core/common/lib/esm/rpc/web/WebAppRpcLogging.js");
|
|
59577
|
+
/* harmony import */ var _tile_B3dmTileIO__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(/*! ./tile/B3dmTileIO */ "../../core/common/lib/esm/tile/B3dmTileIO.js");
|
|
59578
|
+
/* harmony import */ var _tile_CompositeTileIO__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(/*! ./tile/CompositeTileIO */ "../../core/common/lib/esm/tile/CompositeTileIO.js");
|
|
59579
|
+
/* harmony import */ var _tile_ElementGraphics__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(/*! ./tile/ElementGraphics */ "../../core/common/lib/esm/tile/ElementGraphics.js");
|
|
59580
|
+
/* harmony import */ var _tile_GltfTileIO__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(/*! ./tile/GltfTileIO */ "../../core/common/lib/esm/tile/GltfTileIO.js");
|
|
59581
|
+
/* harmony import */ var _tile_I3dmTileIO__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(/*! ./tile/I3dmTileIO */ "../../core/common/lib/esm/tile/I3dmTileIO.js");
|
|
59582
|
+
/* harmony import */ var _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(/*! ./tile/IModelTileIO */ "../../core/common/lib/esm/tile/IModelTileIO.js");
|
|
59583
|
+
/* harmony import */ var _tile_PntsTileIO__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(/*! ./tile/PntsTileIO */ "../../core/common/lib/esm/tile/PntsTileIO.js");
|
|
59584
|
+
/* harmony import */ var _tile_TileIO__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(/*! ./tile/TileIO */ "../../core/common/lib/esm/tile/TileIO.js");
|
|
59585
|
+
/* harmony import */ var _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(/*! ./tile/TileMetadata */ "../../core/common/lib/esm/tile/TileMetadata.js");
|
|
59586
|
+
/* harmony import */ var _tile_Tileset3dSchema__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(/*! ./tile/Tileset3dSchema */ "../../core/common/lib/esm/tile/Tileset3dSchema.js");
|
|
59587
|
+
/* harmony import */ var _WhiteOnWhiteReversalSettings__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(/*! ./WhiteOnWhiteReversalSettings */ "../../core/common/lib/esm/WhiteOnWhiteReversalSettings.js");
|
|
59588
|
+
/* harmony import */ var _internal_cross_package__WEBPACK_IMPORTED_MODULE_159__ = __webpack_require__(/*! ./internal/cross-package */ "../../core/common/lib/esm/internal/cross-package.js");
|
|
59591
59589
|
/*---------------------------------------------------------------------------------------------
|
|
59592
59590
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
59593
59591
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -59750,7 +59748,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
59750
59748
|
|
|
59751
59749
|
|
|
59752
59750
|
|
|
59753
|
-
|
|
59754
59751
|
|
|
59755
59752
|
|
|
59756
59753
|
/** @docs-package-description
|
|
@@ -69321,60 +69318,6 @@ class TestRpcManager {
|
|
|
69321
69318
|
}
|
|
69322
69319
|
|
|
69323
69320
|
|
|
69324
|
-
/***/ }),
|
|
69325
|
-
|
|
69326
|
-
/***/ "../../core/common/lib/esm/rpc/WipRpcInterface.js":
|
|
69327
|
-
/*!********************************************************!*\
|
|
69328
|
-
!*** ../../core/common/lib/esm/rpc/WipRpcInterface.js ***!
|
|
69329
|
-
\********************************************************/
|
|
69330
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
69331
|
-
|
|
69332
|
-
"use strict";
|
|
69333
|
-
__webpack_require__.r(__webpack_exports__);
|
|
69334
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
69335
|
-
/* harmony export */ "WipRpcInterface": () => (/* binding */ WipRpcInterface)
|
|
69336
|
-
/* harmony export */ });
|
|
69337
|
-
/* harmony import */ var _RpcInterface__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../RpcInterface */ "../../core/common/lib/esm/RpcInterface.js");
|
|
69338
|
-
/* harmony import */ var _RpcManager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../RpcManager */ "../../core/common/lib/esm/RpcManager.js");
|
|
69339
|
-
/*---------------------------------------------------------------------------------------------
|
|
69340
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
69341
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
69342
|
-
*--------------------------------------------------------------------------------------------*/
|
|
69343
|
-
/** @packageDocumentation
|
|
69344
|
-
* @module RpcInterface
|
|
69345
|
-
*/
|
|
69346
|
-
|
|
69347
|
-
|
|
69348
|
-
/** The purpose of this class is to house WIP RPC methods. For example:
|
|
69349
|
-
* - WIP methods where signatures or behavior is still changing
|
|
69350
|
-
* - Experimental methods that we may decide are a bad idea and never release
|
|
69351
|
-
* The idea is to house these WIP RPC methods away from other RpcInterfaces that have stated compatibility goals.
|
|
69352
|
-
* Once stable, the goal is to move methods out to their rightful home.
|
|
69353
|
-
* Apps/services should understand the *flux* implied by registering this RpcInterface and should be in control of both the client and server before even considering using it.
|
|
69354
|
-
* @internal
|
|
69355
|
-
* @deprecated in 4.10. If any of these methods are needed in the frontend, they should be rewritten using IPC or HTTP protocol.
|
|
69356
|
-
*/
|
|
69357
|
-
class WipRpcInterface extends _RpcInterface__WEBPACK_IMPORTED_MODULE_0__.RpcInterface {
|
|
69358
|
-
/** Returns the IModelReadRpcInterface instance for the frontend. */
|
|
69359
|
-
static getClient() { return _RpcManager__WEBPACK_IMPORTED_MODULE_1__.RpcManager.getClientForInterface(WipRpcInterface); } // eslint-disable-line @typescript-eslint/no-deprecated
|
|
69360
|
-
/*===========================================================================================
|
|
69361
|
-
NOTE: Any add/remove/change to the methods below requires an update of the interface version.
|
|
69362
|
-
NOTE: Please consult the README in this folder for the semantic versioning rules.
|
|
69363
|
-
==========================================================================================*/
|
|
69364
|
-
async placeholder(_iModelToken) { return this.forward(arguments); } // here to test that WipRpcInterface is configured properly
|
|
69365
|
-
async isChangeCacheAttached(_iModelToken) { return this.forward(arguments); }
|
|
69366
|
-
async attachChangeCache(_iModelToken) { return this.forward(arguments); }
|
|
69367
|
-
async getChangedElements(_iModelToken, _startChangesetId, _endChangesetId) { return this.forward(arguments); }
|
|
69368
|
-
async isChangesetProcessed(_iModelToken, _changesetId) { return this.forward(arguments); }
|
|
69369
|
-
}
|
|
69370
|
-
/** The immutable name of the interface. */
|
|
69371
|
-
WipRpcInterface.interfaceName = "WipRpcInterface";
|
|
69372
|
-
/** The semantic version of the interface.
|
|
69373
|
-
* @note The WipRpcInterface will never progress to 1.0 since it is never intended to be public.
|
|
69374
|
-
*/
|
|
69375
|
-
WipRpcInterface.interfaceVersion = "0.5.0";
|
|
69376
|
-
|
|
69377
|
-
|
|
69378
69321
|
/***/ }),
|
|
69379
69322
|
|
|
69380
69323
|
/***/ "../../core/common/lib/esm/rpc/core/RpcConfiguration.js":
|
|
@@ -100397,6 +100340,8 @@ class RealityDataSourceTilesetUrlImpl {
|
|
|
100397
100340
|
constructor(props) {
|
|
100398
100341
|
/** For use by all Reality Data. For RD stored on PW Context Share, represents the portion from the root of the Azure Blob Container*/
|
|
100399
100342
|
this._baseUrl = "";
|
|
100343
|
+
/** Need to be passed down to child tile requests when requesting from blob storage, e.g. a Cesium export from the Mesh Export Service*/
|
|
100344
|
+
this._searchParams = "";
|
|
100400
100345
|
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(props.sourceKey.provider === _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.RealityDataProvider.TilesetUrl || props.sourceKey.provider === _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.RealityDataProvider.OrbitGtBlob);
|
|
100401
100346
|
this.key = props.sourceKey;
|
|
100402
100347
|
this._tilesetUrl = this.key.id;
|
|
@@ -100433,8 +100378,11 @@ class RealityDataSourceTilesetUrlImpl {
|
|
|
100433
100378
|
// otherwise the full path to root document is given.
|
|
100434
100379
|
// The base URL contains the base URL from which tile relative path are constructed.
|
|
100435
100380
|
// The tile's path root will need to be reinserted for child tiles to return a 200
|
|
100381
|
+
// If the original url includes search paramaters, they are stored in _searchParams to be reinserted into child tile requests.
|
|
100436
100382
|
setBaseUrl(url) {
|
|
100437
100383
|
const urlParts = url.split("/");
|
|
100384
|
+
const newUrl = new URL(url);
|
|
100385
|
+
this._searchParams = newUrl.search;
|
|
100438
100386
|
urlParts.pop();
|
|
100439
100387
|
if (urlParts.length === 0)
|
|
100440
100388
|
this._baseUrl = "";
|
|
@@ -100465,9 +100413,16 @@ class RealityDataSourceTilesetUrlImpl {
|
|
|
100465
100413
|
}
|
|
100466
100414
|
return true;
|
|
100467
100415
|
}
|
|
100468
|
-
/** Returns the tile URL.
|
|
100416
|
+
/** Returns the tile URL.
|
|
100417
|
+
* If the tile path is a relative URL, the base URL is prepended to it.
|
|
100418
|
+
* For both absolute and relative tile path URLs, the search parameters are checked. If the search params are empty, the base URL's search params are appended to the tile path.
|
|
100419
|
+
*/
|
|
100469
100420
|
getTileUrl(tilePath) {
|
|
100470
|
-
|
|
100421
|
+
if (this.isValidURL(tilePath)) {
|
|
100422
|
+
const url = new URL(tilePath);
|
|
100423
|
+
return url.search === "" ? `${tilePath}${this._searchParams}` : tilePath;
|
|
100424
|
+
}
|
|
100425
|
+
return tilePath.includes("?") ? `${this._baseUrl}${tilePath}` : `${this._baseUrl}${tilePath}${this._searchParams}`;
|
|
100471
100426
|
}
|
|
100472
100427
|
/**
|
|
100473
100428
|
* Returns the tile content. The path to the tile is relative to the base url of present reality data whatever the type.
|
|
@@ -201726,6 +201681,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
201726
201681
|
/* harmony import */ var _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../geometry3d/Angle */ "../../core/geometry/lib/esm/geometry3d/Angle.js");
|
|
201727
201682
|
/* harmony import */ var _geometry3d_AngleSweep__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../geometry3d/AngleSweep */ "../../core/geometry/lib/esm/geometry3d/AngleSweep.js");
|
|
201728
201683
|
/* harmony import */ var _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../geometry3d/Matrix3d */ "../../core/geometry/lib/esm/geometry3d/Matrix3d.js");
|
|
201684
|
+
/* harmony import */ var _geometry3d_Plane3dByOriginAndUnitNormal__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../geometry3d/Plane3dByOriginAndUnitNormal */ "../../core/geometry/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js");
|
|
201729
201685
|
/* harmony import */ var _geometry3d_Plane3dByOriginAndVectors__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../geometry3d/Plane3dByOriginAndVectors */ "../../core/geometry/lib/esm/geometry3d/Plane3dByOriginAndVectors.js");
|
|
201730
201686
|
/* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
201731
201687
|
/* harmony import */ var _geometry3d_Range__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../geometry3d/Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
|
|
@@ -201735,13 +201691,13 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
201735
201691
|
/* harmony import */ var _CurveExtendMode__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./CurveExtendMode */ "../../core/geometry/lib/esm/curve/CurveExtendMode.js");
|
|
201736
201692
|
/* harmony import */ var _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
|
|
201737
201693
|
/* harmony import */ var _CurvePrimitive__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CurvePrimitive */ "../../core/geometry/lib/esm/curve/CurvePrimitive.js");
|
|
201738
|
-
/* harmony import */ var
|
|
201739
|
-
/* harmony import */ var
|
|
201740
|
-
/* harmony import */ var
|
|
201694
|
+
/* harmony import */ var _internalContexts_CurveOffsetXYHandler__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./internalContexts/CurveOffsetXYHandler */ "../../core/geometry/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js");
|
|
201695
|
+
/* harmony import */ var _internalContexts_EllipticalArcApproximationContext__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./internalContexts/EllipticalArcApproximationContext */ "../../core/geometry/lib/esm/curve/internalContexts/EllipticalArcApproximationContext.js");
|
|
201696
|
+
/* harmony import */ var _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./internalContexts/PlaneAltitudeRangeContext */ "../../core/geometry/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js");
|
|
201741
201697
|
/* harmony import */ var _LineSegment3d__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./LineSegment3d */ "../../core/geometry/lib/esm/curve/LineSegment3d.js");
|
|
201742
201698
|
/* harmony import */ var _LineString3d__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
|
|
201743
|
-
/* harmony import */ var
|
|
201744
|
-
/* harmony import */ var
|
|
201699
|
+
/* harmony import */ var _OffsetOptions__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./OffsetOptions */ "../../core/geometry/lib/esm/curve/OffsetOptions.js");
|
|
201700
|
+
/* harmony import */ var _Path__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./Path */ "../../core/geometry/lib/esm/curve/Path.js");
|
|
201745
201701
|
/* harmony import */ var _StrokeOptions__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./StrokeOptions */ "../../core/geometry/lib/esm/curve/StrokeOptions.js");
|
|
201746
201702
|
/*---------------------------------------------------------------------------------------------
|
|
201747
201703
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
@@ -201767,6 +201723,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
201767
201723
|
|
|
201768
201724
|
|
|
201769
201725
|
|
|
201726
|
+
|
|
201770
201727
|
|
|
201771
201728
|
|
|
201772
201729
|
/**
|
|
@@ -202505,7 +202462,7 @@ class Arc3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_1__.CurvePrimitive
|
|
|
202505
202462
|
const axy = this._matrix.columnXDotColumnY();
|
|
202506
202463
|
return _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_8__.Angle.isPerpendicularDotSet(axx, ayy, axy) && _Geometry__WEBPACK_IMPORTED_MODULE_5__.Geometry.isSameCoordinateSquared(axx, ayy);
|
|
202507
202464
|
}
|
|
202508
|
-
/** Return radius if the vector0 and vector90 are of equal length and perpendicular. */
|
|
202465
|
+
/** Return radius if the vector0 and vector90 are of equal length and perpendicular. Ignores z. */
|
|
202509
202466
|
circularRadiusXY() {
|
|
202510
202467
|
const ux = this._matrix.at(0, 0);
|
|
202511
202468
|
const uy = this._matrix.at(1, 0);
|
|
@@ -202647,7 +202604,12 @@ class Arc3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_1__.CurvePrimitive
|
|
|
202647
202604
|
setVector0Vector90(vector0, vector90) {
|
|
202648
202605
|
this._matrix.setColumns(vector0, vector90, vector0.unitCrossProductWithDefault(vector90, 0, 0, 0));
|
|
202649
202606
|
}
|
|
202650
|
-
/**
|
|
202607
|
+
/**
|
|
202608
|
+
* Return the symmetric definition of the arc, with rigid axes and radii.
|
|
202609
|
+
* * The caller can send the returned data into [[createScaledXYColumns]] to construct the major-minor axis
|
|
202610
|
+
* version of the instance arc. This formulation of the arc has the same shape, but has perpendicular axes,
|
|
202611
|
+
* from which the arc's symmetry is readily apparent.
|
|
202612
|
+
*/
|
|
202651
202613
|
toScaledMatrix3d() {
|
|
202652
202614
|
const angleData = _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_8__.Angle.dotProductsToHalfAngleTrigValues(this._matrix.columnXMagnitudeSquared(), this._matrix.columnYMagnitudeSquared(), this._matrix.columnXDotColumnY(), true);
|
|
202653
202615
|
const vector0A = this._matrix.multiplyXY(angleData.c, angleData.s);
|
|
@@ -202787,9 +202749,9 @@ class Arc3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_1__.CurvePrimitive
|
|
|
202787
202749
|
}
|
|
202788
202750
|
/**
|
|
202789
202751
|
* Return an arc whose basis vectors are rotated by given angle within the current basis space.
|
|
202790
|
-
* *
|
|
202791
|
-
*
|
|
202792
|
-
*
|
|
202752
|
+
* * The returned arc will have `vector0 = this.vector0 * cos(theta) + this.vector90 * sin(theta)`.
|
|
202753
|
+
* * The returned arc has the same shape as the instance.
|
|
202754
|
+
* * In other words, the arc's sweep is adjusted so that all fractional parameters evaluate to the same points.
|
|
202793
202755
|
* * Specifically, theta is subtracted from the original start and end angles.
|
|
202794
202756
|
* @param theta the angle (in the input arc space) which is to become the 0-degree point in the new arc.
|
|
202795
202757
|
*/
|
|
@@ -202802,6 +202764,39 @@ class Arc3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_1__.CurvePrimitive
|
|
|
202802
202764
|
const arcB = Arc3d.create(this._center.clone(), vector0, vector90, newSweep);
|
|
202803
202765
|
return arcB;
|
|
202804
202766
|
}
|
|
202767
|
+
/**
|
|
202768
|
+
* Return a cloned arc with basis rotated to align with the global axes. The arc's shape is unchanged.
|
|
202769
|
+
* * This method is most useful when the instance is an xy-circular arc, for then the aligned arc's stored sweep
|
|
202770
|
+
* angles can be understood as being measured from the global positive x-axis to the arc's start/end. This is *not*
|
|
202771
|
+
* the case for xy-elliptical arcs: the parameter angle difference between two points on an ellipse is in general
|
|
202772
|
+
* not the same as the angle measured between their radials.
|
|
202773
|
+
* * For an xy instance, the output arc will have:
|
|
202774
|
+
* * vector0 is in the same direction as the positive x-axis
|
|
202775
|
+
* * perpendicularVector is in the same direction as the positive z-axis
|
|
202776
|
+
* * For a general instance, the output arc will have:
|
|
202777
|
+
* * vector0 is in the same direction as the projection of the positive x-axis vector onto the arc plane
|
|
202778
|
+
* * perpendicularVector lies in the halfspace z >= 0
|
|
202779
|
+
* @returns cloned arc, or undefined (if the instance normal is parallel to the x-axis, or its matrix is singular)
|
|
202780
|
+
*/
|
|
202781
|
+
cloneAxisAligned() {
|
|
202782
|
+
const plane = _geometry3d_Plane3dByOriginAndUnitNormal__WEBPACK_IMPORTED_MODULE_17__.Plane3dByOriginAndUnitNormal.create(this.center, this.perpendicularVector.crossProduct(_geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_4__.Vector3d.unitX()));
|
|
202783
|
+
if (!plane)
|
|
202784
|
+
return undefined;
|
|
202785
|
+
const axisPts = [];
|
|
202786
|
+
if (2 !== this.appendPlaneIntersectionPoints(plane, axisPts))
|
|
202787
|
+
return undefined;
|
|
202788
|
+
const iAxisPt = plane.getNormalRef().dotProduct(this.perpendicularVector.crossProductStartEnd(this.center, axisPts[0].point)) > 0.0 ? 0 : 1;
|
|
202789
|
+
const toUnitX = this.sweep.fractionToAngle(axisPts[iAxisPt].fraction);
|
|
202790
|
+
const arc1 = this.cloneInRotatedBasis(toUnitX); // rotate in arc's plane
|
|
202791
|
+
if (this.perpendicularVector.dotProduct(_geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_4__.Vector3d.unitZ()) < -_Geometry__WEBPACK_IMPORTED_MODULE_5__.Geometry.smallAngleRadians) {
|
|
202792
|
+
if (this.matrixRef.isSingular())
|
|
202793
|
+
return undefined;
|
|
202794
|
+
const flip = _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_3__.Matrix3d.createRowValues(1, 0, 0, 0, -1, 0, 0, 0, -1); // rotate 180 degrees around arc's local x-axis
|
|
202795
|
+
arc1.matrixRef.multiplyMatrixMatrix(flip, arc1.matrixRef);
|
|
202796
|
+
arc1.sweep.setStartEndDegrees(-arc1.sweep.startDegrees, -arc1.sweep.endDegrees); // rotation alone is insufficient to flip
|
|
202797
|
+
}
|
|
202798
|
+
return arc1;
|
|
202799
|
+
}
|
|
202805
202800
|
/**
|
|
202806
202801
|
* Find intervals of this CurvePrimitive that are interior to a clipper.
|
|
202807
202802
|
* @param clipper clip structure (e.g.clip planes).
|
|
@@ -202901,7 +202896,7 @@ class Arc3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_1__.CurvePrimitive
|
|
|
202901
202896
|
* @param offsetDistanceOrOptions offset distance (positive to left of the instance curve), or options object.
|
|
202902
202897
|
*/
|
|
202903
202898
|
constructOffsetXY(offsetDistanceOrOptions) {
|
|
202904
|
-
const options =
|
|
202899
|
+
const options = _OffsetOptions__WEBPACK_IMPORTED_MODULE_18__.OffsetOptions.create(offsetDistanceOrOptions);
|
|
202905
202900
|
if (this.isCircular || options.preserveEllipticalArcs) {
|
|
202906
202901
|
const arcXY = this.cloneAtZ();
|
|
202907
202902
|
const sign = arcXY.sweep.sweepRadians * arcXY.matrixRef.coffs[8] >= 0.0 ? 1.0 : -1.0;
|
|
@@ -202923,7 +202918,7 @@ class Arc3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_1__.CurvePrimitive
|
|
|
202923
202918
|
}
|
|
202924
202919
|
}
|
|
202925
202920
|
// default impl
|
|
202926
|
-
const handler = new
|
|
202921
|
+
const handler = new _internalContexts_CurveOffsetXYHandler__WEBPACK_IMPORTED_MODULE_19__.CurveOffsetXYHandler(this, options.leftOffsetDistance);
|
|
202927
202922
|
this.emitStrokableParts(handler, options.strokeOptions);
|
|
202928
202923
|
return handler.claimResult();
|
|
202929
202924
|
}
|
|
@@ -202934,7 +202929,7 @@ class Arc3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_1__.CurvePrimitive
|
|
|
202934
202929
|
* @returns range of fractional projection parameters onto the ray, where 0.0 is start of the ray and 1.0 is the end of the ray.
|
|
202935
202930
|
*/
|
|
202936
202931
|
projectedParameterRange(ray, lowHigh) {
|
|
202937
|
-
return
|
|
202932
|
+
return _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_20__.PlaneAltitudeRangeContext.findExtremeFractionsAlongDirection(this, ray, lowHigh);
|
|
202938
202933
|
}
|
|
202939
202934
|
/**
|
|
202940
202935
|
* Construct a circular arc chain approximation to the instance elliptical arc.
|
|
@@ -202944,10 +202939,10 @@ class Arc3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_1__.CurvePrimitive
|
|
|
202944
202939
|
constructCircularArcChainApproximation(options) {
|
|
202945
202940
|
if (!options)
|
|
202946
202941
|
options = EllipticalArcApproximationOptions.create();
|
|
202947
|
-
const context =
|
|
202942
|
+
const context = _internalContexts_EllipticalArcApproximationContext__WEBPACK_IMPORTED_MODULE_21__.EllipticalArcApproximationContext.create(this);
|
|
202948
202943
|
const result = context.constructCircularArcChainApproximation(options);
|
|
202949
202944
|
if (!result && this.isCircular)
|
|
202950
|
-
return (this.sweep.isFullCircle && options.forcePath) ?
|
|
202945
|
+
return (this.sweep.isFullCircle && options.forcePath) ? _Path__WEBPACK_IMPORTED_MODULE_22__.Path.create(this) : this;
|
|
202951
202946
|
return result;
|
|
202952
202947
|
}
|
|
202953
202948
|
}
|
|
@@ -204113,6 +204108,11 @@ class CurveCollection extends _GeometryQuery__WEBPACK_IMPORTED_MODULE_0__.Geomet
|
|
|
204113
204108
|
}
|
|
204114
204109
|
return detailA;
|
|
204115
204110
|
}
|
|
204111
|
+
/** Reverse the collection's data so that each child curve's fractional stroking moves in the opposite direction. */
|
|
204112
|
+
reverseInPlace() {
|
|
204113
|
+
for (const curve of this.children)
|
|
204114
|
+
curve.reverseInPlace();
|
|
204115
|
+
}
|
|
204116
204116
|
/**
|
|
204117
204117
|
* Return the max gap between adjacent primitives in Path and Loop collections.
|
|
204118
204118
|
* * In a Path, gaps are computed between consecutive primitives.
|
|
@@ -204352,14 +204352,18 @@ class CurveChain extends CurveCollection {
|
|
|
204352
204352
|
curve.extendRange(range, transform);
|
|
204353
204353
|
}
|
|
204354
204354
|
/**
|
|
204355
|
-
* Reverse each child curve (in place)
|
|
204356
|
-
* Reverse the order of the children
|
|
204355
|
+
* Reverse each child curve (in place).
|
|
204356
|
+
* Reverse the order of the children array.
|
|
204357
204357
|
*/
|
|
204358
204358
|
reverseChildrenInPlace() {
|
|
204359
204359
|
for (const curve of this._curves)
|
|
204360
204360
|
curve.reverseInPlace();
|
|
204361
204361
|
this._curves.reverse();
|
|
204362
204362
|
}
|
|
204363
|
+
/** Same as [[reverseChildrenInPlace]]. */
|
|
204364
|
+
reverseInPlace() {
|
|
204365
|
+
this.reverseChildrenInPlace();
|
|
204366
|
+
}
|
|
204363
204367
|
/**
|
|
204364
204368
|
* Return the index where target is found in the array of children.
|
|
204365
204369
|
* @param alsoSearchProxies whether to also check proxy curves of the children
|
|
@@ -207624,34 +207628,34 @@ class LineString3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_1__.CurvePri
|
|
|
207624
207628
|
}
|
|
207625
207629
|
/**
|
|
207626
207630
|
* Return array of fraction parameters.
|
|
207627
|
-
* * These
|
|
207631
|
+
* * These are only present during certain constructions such as faceting.
|
|
207628
207632
|
* * When present, these fractions are fractions of some other curve being stroked, and are NOT related to the
|
|
207629
207633
|
* linestring fraction parameters.
|
|
207630
207634
|
*/
|
|
207631
207635
|
get fractions() {
|
|
207632
207636
|
return this._fractions;
|
|
207633
207637
|
}
|
|
207634
|
-
/** Return the (optional) array of derivatives. These
|
|
207638
|
+
/** Return the (optional) array of derivatives. These are only present during certain constructions such as faceting. */
|
|
207635
207639
|
get packedDerivatives() {
|
|
207636
207640
|
return this._derivatives;
|
|
207637
207641
|
}
|
|
207638
|
-
/** Return the (optional) array of uv
|
|
207642
|
+
/** Return the (optional) array of uv parameters. These are only present during certain constructions such as faceting. */
|
|
207639
207643
|
get packedUVParams() {
|
|
207640
207644
|
return this._uvParams;
|
|
207641
207645
|
}
|
|
207642
|
-
/** Return the (optional) array of surface normals. These
|
|
207646
|
+
/** Return the (optional) array of surface normals. These are only present during certain constructions such as faceting. */
|
|
207643
207647
|
get packedSurfaceNormals() {
|
|
207644
207648
|
return this._surfaceNormals;
|
|
207645
207649
|
}
|
|
207646
|
-
/** Return the (optional) array of normal indices. These
|
|
207650
|
+
/** Return the (optional) array of normal indices. These are only present during certain constructions such as faceting. */
|
|
207647
207651
|
get normalIndices() {
|
|
207648
207652
|
return this._normalIndices;
|
|
207649
207653
|
}
|
|
207650
|
-
/** Return the (optional) array of
|
|
207654
|
+
/** Return the (optional) array of uv parameter indices. These are only present during certain constructions such as faceting. */
|
|
207651
207655
|
get paramIndices() {
|
|
207652
207656
|
return this._uvIndices;
|
|
207653
207657
|
}
|
|
207654
|
-
/** Return the (optional) array of point indices. These
|
|
207658
|
+
/** Return the (optional) array of point indices. These are only present during certain constructions such as faceting. */
|
|
207655
207659
|
get pointIndices() {
|
|
207656
207660
|
return this._pointIndices;
|
|
207657
207661
|
}
|
|
@@ -208233,11 +208237,32 @@ class LineString3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_1__.CurvePri
|
|
|
208233
208237
|
reverseInPlace() {
|
|
208234
208238
|
if (this._points.length >= 2) {
|
|
208235
208239
|
this._points.reverseInPlace();
|
|
208240
|
+
if (this._fractions) {
|
|
208241
|
+
this._fractions.reverseInPlace();
|
|
208242
|
+
for (let i = 0; i < this._fractions.length; ++i)
|
|
208243
|
+
this._fractions.reassign(i, 1.0 - this._fractions.atUncheckedIndex(i));
|
|
208244
|
+
}
|
|
208236
208245
|
if (this._uvParams)
|
|
208237
208246
|
this._uvParams.reverseInPlace();
|
|
208247
|
+
if (this._derivatives) {
|
|
208248
|
+
this._derivatives.reverseInPlace();
|
|
208249
|
+
this._derivatives.scaleInPlace(-1.0);
|
|
208250
|
+
}
|
|
208251
|
+
if (this._surfaceNormals)
|
|
208252
|
+
this._surfaceNormals.reverseInPlace();
|
|
208253
|
+
if (this._pointIndices)
|
|
208254
|
+
this._pointIndices.reverseInPlace();
|
|
208255
|
+
if (this._uvIndices)
|
|
208256
|
+
this._uvIndices.reverseInPlace();
|
|
208257
|
+
if (this._normalIndices)
|
|
208258
|
+
this._normalIndices.reverseInPlace();
|
|
208238
208259
|
}
|
|
208239
208260
|
}
|
|
208240
|
-
/**
|
|
208261
|
+
/**
|
|
208262
|
+
* Apply `transform` to each point of this linestring.
|
|
208263
|
+
* * Note that this method always returns true. If transforming the surface normals fails (due to singular matrix or zero
|
|
208264
|
+
* normal), the original normal(s) are left unchanged.
|
|
208265
|
+
*/
|
|
208241
208266
|
tryTransformInPlace(transform) {
|
|
208242
208267
|
this._points.multiplyTransformInPlace(transform);
|
|
208243
208268
|
if (this._derivatives)
|
|
@@ -209063,7 +209088,6 @@ class Loop extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveChain {
|
|
|
209063
209088
|
isSameGeometryClass(other) {
|
|
209064
209089
|
return other instanceof Loop;
|
|
209065
209090
|
}
|
|
209066
|
-
/** Test if `other` is an instance of `Loop` */
|
|
209067
209091
|
constructor() {
|
|
209068
209092
|
super();
|
|
209069
209093
|
/** String name for schema properties */
|
|
@@ -209072,8 +209096,10 @@ class Loop extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveChain {
|
|
|
209072
209096
|
this.isInner = false;
|
|
209073
209097
|
}
|
|
209074
209098
|
/**
|
|
209075
|
-
* Create a loop from variable length list of
|
|
209076
|
-
*
|
|
209099
|
+
* Create a loop from a variable length list of [[CurvePrimitive]]s.
|
|
209100
|
+
* * A significant gap between the end of one curve and the start of the next, or between chain start and end,
|
|
209101
|
+
* is not bridged and may cause unexpected behavior.
|
|
209102
|
+
* @param curves array of individual curve primitives, assumed to form a closed planar loop.
|
|
209077
209103
|
*/
|
|
209078
209104
|
static create(...curves) {
|
|
209079
209105
|
const result = new Loop();
|
|
@@ -209086,13 +209112,18 @@ class Loop extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveChain {
|
|
|
209086
209112
|
return result;
|
|
209087
209113
|
}
|
|
209088
209114
|
/**
|
|
209089
|
-
* Create a loop from an array of
|
|
209090
|
-
*
|
|
209115
|
+
* Create a loop from an array of [[CurvePrimitive]]s.
|
|
209116
|
+
* * A significant gap between the end of one curve and the start of the next, or between chain start and end,
|
|
209117
|
+
* is not bridged and may cause unexpected behavior.
|
|
209118
|
+
* @param curves array of individual curve primitives, assumed to form a closed planar loop.
|
|
209091
209119
|
*/
|
|
209092
209120
|
static createArray(curves) {
|
|
209093
209121
|
return this.create(...curves);
|
|
209094
209122
|
}
|
|
209095
|
-
/**
|
|
209123
|
+
/**
|
|
209124
|
+
* Create a loop from an array of coplanar points.
|
|
209125
|
+
* @param points vertices of polygon, closure point optional.
|
|
209126
|
+
*/
|
|
209096
209127
|
static createPolygon(points) {
|
|
209097
209128
|
const linestring = _LineString3d__WEBPACK_IMPORTED_MODULE_2__.LineString3d.create(points);
|
|
209098
209129
|
linestring.addClosurePoint();
|
|
@@ -210257,14 +210288,16 @@ class CylindricalRangeQuery extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
210257
210288
|
return accumulator._perpVector.clone();
|
|
210258
210289
|
}
|
|
210259
210290
|
/**
|
|
210260
|
-
* Recurse through geometry.children to find linestrings.
|
|
210261
|
-
*
|
|
210291
|
+
* Recurse through `geometry.children` to find linestrings.
|
|
210292
|
+
* For each linestring, compute and store the normal of the rotational surface resulting from sweeping the
|
|
210293
|
+
* geometry around `axis` through a positive angle, using:
|
|
210262
210294
|
* * the curve tangent stored in the linestring
|
|
210263
210295
|
* * the axis of rotation
|
|
210264
|
-
* * a default V vector to be used when the linestring point is close to the axis
|
|
210265
|
-
* @param geometry
|
|
210266
|
-
*
|
|
210267
|
-
* @param
|
|
210296
|
+
* * a default V vector to be used when the linestring point is close to the axis
|
|
210297
|
+
* @param geometry profile curve (e.g., linestring, parity region). The orientation of the curve should be such that
|
|
210298
|
+
* the computed normal lies in the same half-space as the rotational sweep direction.
|
|
210299
|
+
* @param axis rotational axis
|
|
210300
|
+
* @param defaultVectorFromAxis default vector perpendicular to `axis` (e.g., sweepVector)
|
|
210268
210301
|
*/
|
|
210269
210302
|
static buildRotationalNormalsInLineStrings(geometry, axis, defaultVectorFromAxis) {
|
|
210270
210303
|
if (geometry instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_3__.LineString3d) {
|
|
@@ -210273,18 +210306,20 @@ class CylindricalRangeQuery extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
210273
210306
|
const normals = geometry.ensureEmptySurfaceNormals();
|
|
210274
210307
|
if (derivatives && normals) {
|
|
210275
210308
|
const vectorU = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create();
|
|
210276
|
-
const vectorV = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create();
|
|
210309
|
+
const vectorV = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create();
|
|
210277
210310
|
const xyz = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Point3d.create();
|
|
210278
210311
|
const n = points.length;
|
|
210279
210312
|
for (let i = 0; i < n; i++) {
|
|
210280
210313
|
points.getPoint3dAtUncheckedPointIndex(i, xyz);
|
|
210281
210314
|
axis.perpendicularPartOfVectorToTarget(xyz, vectorU);
|
|
210315
|
+
// compute the positive sweep direction. ASSUME: the rotational sweep angle is positive!
|
|
210282
210316
|
if (vectorU.isAlmostZero)
|
|
210283
210317
|
axis.direction.crossProduct(defaultVectorFromAxis, vectorV);
|
|
210284
210318
|
else
|
|
210285
210319
|
axis.direction.crossProduct(vectorU, vectorV);
|
|
210286
|
-
|
|
210287
|
-
|
|
210320
|
+
// ASSUME: orientation-based profile normal is in the same half-space as vectorV
|
|
210321
|
+
geometry.packedDerivatives.getVector3dAtCheckedVectorIndex(i, vectorU); // reuse vectorU
|
|
210322
|
+
vectorU.crossProduct(vectorV, vectorV); // reuse vectorV
|
|
210288
210323
|
vectorV.normalizeInPlace();
|
|
210289
210324
|
normals.push(vectorV);
|
|
210290
210325
|
}
|
|
@@ -217298,16 +217333,19 @@ class ArcChainErrorProcessor extends QuadrantFractionsProcessor {
|
|
|
217298
217333
|
}
|
|
217299
217334
|
}
|
|
217300
217335
|
/**
|
|
217301
|
-
* Processor for
|
|
217302
|
-
*
|
|
217303
|
-
*
|
|
217304
|
-
* `q
|
|
217305
|
-
*
|
|
217306
|
-
*
|
|
217307
|
-
*
|
|
217308
|
-
* * This processor
|
|
217309
|
-
*
|
|
217310
|
-
*
|
|
217336
|
+
* Processor for computing an optimal refinement of a single Q1 ordered interval [f0,f1] by perturbing an interior
|
|
217337
|
+
* seed fraction f.
|
|
217338
|
+
* * Typically the caller (cf. [[AdaptiveSubdivisionQ1ErrorProcessor.announceArc]] processes a
|
|
217339
|
+
* QuadrantFractions `q` with `q.quadrant` = 1 until convergence. The `q.fractions` array is expected to have
|
|
217340
|
+
* one of two forms:
|
|
217341
|
+
* * [fPrev, f0, f, f1], where fPrev is from the adjacent interval (possibly just refined), or
|
|
217342
|
+
* * [f0, f, f1], if `q.interpolateStartTangent === true`.
|
|
217343
|
+
* * This processor implements a bisection algorithm that iteratively shrinks a sub-interval that brackets f,
|
|
217344
|
+
* starting with [f0,f1]:
|
|
217345
|
+
* * During processing, `announceArc` will be called twice to compute the approximation errors of the circular
|
|
217346
|
+
* arcs on either side of f in the current bracket.
|
|
217347
|
+
* * In `announceQuadrantEnd` if these two errors are almost equal, we are done refining [f0,f1]. Otherwise,
|
|
217348
|
+
* we move f halfway to the endpoint of the bracket that decreases the error delta, and shrink our bracket.
|
|
217311
217349
|
* @internal
|
|
217312
217350
|
*/
|
|
217313
217351
|
class AdaptiveSubdivisionQ1IntervalErrorProcessor extends QuadrantFractionsProcessor {
|
|
@@ -217379,14 +217417,17 @@ class AdaptiveSubdivisionQ1IntervalErrorProcessor extends QuadrantFractionsProce
|
|
|
217379
217417
|
/**
|
|
217380
217418
|
* Processor for computing samples in Q1 for a subdivision-based arc chain approximation.
|
|
217381
217419
|
* * The basic idea is to build a refinement of `q.fractions` for a QuadrantFractions q with q.quadrant = 1.
|
|
217382
|
-
* *
|
|
217383
|
-
* *
|
|
217384
|
-
*
|
|
217385
|
-
*
|
|
217386
|
-
*
|
|
217387
|
-
*
|
|
217388
|
-
*
|
|
217389
|
-
*
|
|
217420
|
+
* * In `announceQuadrantBegin` we start off the refinement with a copy of `q.fractions`.
|
|
217421
|
+
* * In `announceArc` we are called to process the interval [f0,f1] in `q.fractions`. First we test if the
|
|
217422
|
+
* announced arc's approximation error over [f0,f1] exceeds maxError.
|
|
217423
|
+
* * If so, we employ [[AdaptiveSubdivisionQ1IntervalErrorProcessor]] to compute an interior fraction f
|
|
217424
|
+
* that best refines the interval, which becomes [f0,f,f1].
|
|
217425
|
+
* * Otherwise, the fraction span [f0,f1] is unchanged---no additional samples are needed to decrease the
|
|
217426
|
+
* approximation error.
|
|
217427
|
+
* * In `announceQuadrantEnd`, `q.fractions` is updated in place with the computed refinement.
|
|
217428
|
+
* * The caller (e.g., [[AdaptiveSubdivisionSampler.computeRadiansStrictlyInsideQuadrant1]]) typically
|
|
217429
|
+
* re-processes `q` until `isRefined` returns false, at which point construction of an approximation that is
|
|
217430
|
+
* guaranteed not to exceed the desired error can commence.
|
|
217390
217431
|
* @internal
|
|
217391
217432
|
*/
|
|
217392
217433
|
class AdaptiveSubdivisionQ1ErrorProcessor extends QuadrantFractionsProcessor {
|
|
@@ -223538,16 +223579,22 @@ class BarycentricTriangle {
|
|
|
223538
223579
|
}
|
|
223539
223580
|
/**
|
|
223540
223581
|
* Compute the intersection of a line (parameterized as a ray) with the plane of this triangle.
|
|
223541
|
-
* *
|
|
223582
|
+
* * Intersection data is returned for the line-plane intersection.
|
|
223583
|
+
* * No intersection is returned if the line is parallel to the plane.
|
|
223584
|
+
* * As for the *ray*, it intersects this triangle if and only if the returned detail `d` has
|
|
223585
|
+
* `d.isValid === true` and `d.a >= 0` and `d.isInsideOrOn === true`.
|
|
223586
|
+
* * This method is slower than `Ray3d.intersectionWithTriangle` but returns more information about the intersection.
|
|
223542
223587
|
* @param ray infinite line to intersect, as a ray
|
|
223543
223588
|
* @param result optional pre-allocated object to fill and return
|
|
223544
|
-
* @returns details d of the line
|
|
223545
|
-
* * `d.
|
|
223546
|
-
* *
|
|
223547
|
-
* *
|
|
223548
|
-
* *
|
|
223549
|
-
*
|
|
223550
|
-
* * `d.
|
|
223589
|
+
* @returns details `d` of the intersection point `p` of the line and the plane of this triangle:
|
|
223590
|
+
* * `d.isValid`: false if and only if `ray.direction` is parallel to the plane, or the ray or triangle is degenerate.
|
|
223591
|
+
* * `d.world`: coordinates of `p`.
|
|
223592
|
+
* * `d.local`: barycentric coordinates of `p`.
|
|
223593
|
+
* * `d.a`: the intersection parameter of `p` along the ray. Negative means `p` is behind the ray origin.
|
|
223594
|
+
* * `d.classify`: where `p` lies with respect to the triangle.
|
|
223595
|
+
* * `d.isInsideOrOn`: whether `p` is inside or on the triangle.
|
|
223596
|
+
* * `d.closestEdgeIndex`: the index of the triangle edge `e` onto which `p` projects.
|
|
223597
|
+
* * `d.closestEdgeParam`: the edge parameter at which `p` projects onto `e`.
|
|
223551
223598
|
* * Visualization can be found at https://www.itwinjs.org/sandbox/SaeedTorabi/RayTriangleIntersection
|
|
223552
223599
|
* @see [[pointToFraction]]
|
|
223553
223600
|
*/
|
|
@@ -223564,6 +223611,9 @@ class BarycentricTriangle {
|
|
|
223564
223611
|
const d = ray.direction;
|
|
223565
223612
|
const u = BarycentricTriangle._workVector0 = _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.createStartEnd(this.points[0], this.points[1], BarycentricTriangle._workVector0);
|
|
223566
223613
|
const v = BarycentricTriangle._workVector1 = _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.createStartEnd(this.points[0], this.points[2], BarycentricTriangle._workVector1);
|
|
223614
|
+
const scaledVolume = d.tripleProduct(u, v);
|
|
223615
|
+
if (scaledVolume * scaledVolume <= u.dotProduct(u) * v.dotProduct(v) * d.dotProduct(d) * _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallAngleRadiansSquared)
|
|
223616
|
+
return result; // parallel (no solution)
|
|
223567
223617
|
const M = BarycentricTriangle._workMatrix = _Matrix3d__WEBPACK_IMPORTED_MODULE_4__.Matrix3d.createColumns(u, v, d, BarycentricTriangle._workMatrix);
|
|
223568
223618
|
const c = _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.createStartEnd(this.points[0], r0, BarycentricTriangle._workVector0); // reuse workVector0
|
|
223569
223619
|
const solution = BarycentricTriangle._workVector1; // reuse workVector1
|
|
@@ -226605,6 +226655,10 @@ class GrowableFloat64Array {
|
|
|
226605
226655
|
}
|
|
226606
226656
|
this._inUse = numAccepted;
|
|
226607
226657
|
}
|
|
226658
|
+
/** reverse the order of values. */
|
|
226659
|
+
reverseInPlace() {
|
|
226660
|
+
this._data.reverse();
|
|
226661
|
+
}
|
|
226608
226662
|
}
|
|
226609
226663
|
|
|
226610
226664
|
|
|
@@ -228880,9 +228934,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
228880
228934
|
/* harmony export */ });
|
|
228881
228935
|
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
228882
228936
|
/* harmony import */ var _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../geometry4d/Point4d */ "../../core/geometry/lib/esm/geometry4d/Point4d.js");
|
|
228883
|
-
/* harmony import */ var
|
|
228937
|
+
/* harmony import */ var _Angle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Angle */ "../../core/geometry/lib/esm/geometry3d/Angle.js");
|
|
228884
228938
|
/* harmony import */ var _Point2dVector2d__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Point2dVector2d */ "../../core/geometry/lib/esm/geometry3d/Point2dVector2d.js");
|
|
228885
|
-
/* harmony import */ var
|
|
228939
|
+
/* harmony import */ var _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
228886
228940
|
/* harmony import */ var _Transform__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Transform */ "../../core/geometry/lib/esm/geometry3d/Transform.js");
|
|
228887
228941
|
/*---------------------------------------------------------------------------------------------
|
|
228888
228942
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
@@ -229182,32 +229236,35 @@ class Matrix3d {
|
|
|
229182
229236
|
return _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.isDistanceWithinTol(max, tol);
|
|
229183
229237
|
}
|
|
229184
229238
|
/**
|
|
229185
|
-
*
|
|
229186
|
-
*
|
|
229187
|
-
* *
|
|
229188
|
-
*
|
|
229239
|
+
* A matrix equivalence test, returning true if and only if the matrices are almost equal,
|
|
229240
|
+
* or all of the following column comparisons hold:
|
|
229241
|
+
* * z columns are almost equal, and
|
|
229242
|
+
* * x columns differ only by a rotation of angle t around the z column, and
|
|
229243
|
+
* * y columns differ only by a rotation of the same angle t around the z column.
|
|
229244
|
+
* @param other matrix to compare
|
|
229245
|
+
* @param tol optional distance tolerance, for comparisons by Geometry.isDistanceWithinTol
|
|
229246
|
+
* @return whether matrices are almost equal modulo a rotation around their common nonzero z-column.
|
|
229189
229247
|
*/
|
|
229190
229248
|
isAlmostEqualAllowZRotation(other, tol) {
|
|
229191
229249
|
if (this.isAlmostEqual(other, tol))
|
|
229192
229250
|
return true;
|
|
229193
|
-
if (this.isAlmostEqualColumn(_Geometry__WEBPACK_IMPORTED_MODULE_0__.AxisIndex.Z, other, tol))
|
|
229194
|
-
|
|
229195
|
-
|
|
229196
|
-
|
|
229197
|
-
|
|
229198
|
-
|
|
229199
|
-
|
|
229200
|
-
|
|
229201
|
-
|
|
229202
|
-
|
|
229203
|
-
|
|
229204
|
-
|
|
229205
|
-
|
|
229206
|
-
|
|
229207
|
-
|
|
229208
|
-
|
|
229209
|
-
|
|
229210
|
-
return false;
|
|
229251
|
+
if (!this.isAlmostEqualColumn(_Geometry__WEBPACK_IMPORTED_MODULE_0__.AxisIndex.Z, other, tol))
|
|
229252
|
+
return false;
|
|
229253
|
+
const columnX = this.columnX();
|
|
229254
|
+
const columnY = this.columnY();
|
|
229255
|
+
const columnZ = this.columnZ();
|
|
229256
|
+
const toOtherColumnX = columnX.signedAngleTo(other.columnX(), columnZ);
|
|
229257
|
+
let testColumn = _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.createRotateVectorAroundVector(columnX, columnZ, toOtherColumnX);
|
|
229258
|
+
if (!testColumn)
|
|
229259
|
+
return false; // columnZ is zero length
|
|
229260
|
+
if (!other.isAlmostEqualColumnXYZ(0, testColumn.x, testColumn.y, testColumn.z, tol))
|
|
229261
|
+
return false; // columnX rotated around columnZ by angle doesn't end up at other.columnX
|
|
229262
|
+
testColumn = _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.createRotateVectorAroundVector(columnY, columnZ, toOtherColumnX);
|
|
229263
|
+
if (!testColumn)
|
|
229264
|
+
return false;
|
|
229265
|
+
if (!other.isAlmostEqualColumnXYZ(1, testColumn.x, testColumn.y, testColumn.z, tol))
|
|
229266
|
+
return false; // columnY rotated around columnZ by angle doesn't end up at other.columnY
|
|
229267
|
+
return true;
|
|
229211
229268
|
}
|
|
229212
229269
|
/** Test for exact (bitwise) equality with other. */
|
|
229213
229270
|
isExactEqual(other) {
|
|
@@ -229483,10 +229540,10 @@ class Matrix3d {
|
|
|
229483
229540
|
const b = a / scale;
|
|
229484
229541
|
// if vectorA is close to the Z axis
|
|
229485
229542
|
if (Math.abs(vectorA.x) < b && Math.abs(vectorA.y) < b) {
|
|
229486
|
-
return
|
|
229543
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.createCrossProduct(vectorA.x, vectorA.y, vectorA.z, 0, -1, 0, result);
|
|
229487
229544
|
}
|
|
229488
229545
|
// if vectorA is NOT close to the Z axis
|
|
229489
|
-
return
|
|
229546
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.createCrossProduct(0, 0, 1, vectorA.x, vectorA.y, vectorA.z, result);
|
|
229490
229547
|
}
|
|
229491
229548
|
/**
|
|
229492
229549
|
* Return a vector that is perpendicular to the input `vectorA`.
|
|
@@ -229707,7 +229764,7 @@ class Matrix3d {
|
|
|
229707
229764
|
let c = Math.sqrt(0.5);
|
|
229708
229765
|
let s = leftNoneRight < 0.0 ? -c : c;
|
|
229709
229766
|
if (Math.abs(leftNoneRight) !== 1.0) {
|
|
229710
|
-
const radians =
|
|
229767
|
+
const radians = _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.degreesToRadians(45.0 * leftNoneRight);
|
|
229711
229768
|
c = Math.cos(radians);
|
|
229712
229769
|
s = Math.sin(radians);
|
|
229713
229770
|
}
|
|
@@ -229801,7 +229858,7 @@ class Matrix3d {
|
|
|
229801
229858
|
const sij = lambda.at(i, j);
|
|
229802
229859
|
if (Math.abs(sij) < _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.smallFloatingPoint * (sii + sjj))
|
|
229803
229860
|
return 0.0;
|
|
229804
|
-
const jacobi =
|
|
229861
|
+
const jacobi = _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.trigValuesToHalfAngleTrigValues(sii - sjj, 2.0 * sij);
|
|
229805
229862
|
const c = jacobi.c;
|
|
229806
229863
|
const s = jacobi.s;
|
|
229807
229864
|
/**
|
|
@@ -229881,7 +229938,7 @@ class Matrix3d {
|
|
|
229881
229938
|
const sij = this.coffs[indexIJ];
|
|
229882
229939
|
if (Math.abs(sij) < _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.smallFloatingPoint * (sii + sjj))
|
|
229883
229940
|
return 0.0;
|
|
229884
|
-
const jacobi =
|
|
229941
|
+
const jacobi = _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.trigValuesToHalfAngleTrigValues(sii - sjj, 2.0 * sij);
|
|
229885
229942
|
const c = jacobi.c;
|
|
229886
229943
|
const s = jacobi.s;
|
|
229887
229944
|
const cc = c * c;
|
|
@@ -229945,12 +230002,12 @@ class Matrix3d {
|
|
|
229945
230002
|
const e = c * c + s * s - 1.0; // s^2 + c^2 = 1
|
|
229946
230003
|
// if s^2 + c^2 != 1 then we have a bad matrix so return false
|
|
229947
230004
|
if (Math.abs(e) > _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.smallAngleRadians) {
|
|
229948
|
-
return { axis:
|
|
230005
|
+
return { axis: _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(0, 0, 1), angle: _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.createRadians(0), ok: false };
|
|
229949
230006
|
}
|
|
229950
230007
|
// sin is close to 0 then we got to special cases (angle 0 or 180) which needs to be handled differently
|
|
229951
230008
|
if (Math.abs(s) < _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.smallAngleRadians) {
|
|
229952
230009
|
if (c > 0) // sin = 0 and cos = 1 so angle = 0 (i.e., no rotation)
|
|
229953
|
-
return { axis:
|
|
230010
|
+
return { axis: _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(0, 0, 1), angle: _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.createRadians(0), ok: true };
|
|
229954
230011
|
/**
|
|
229955
230012
|
* If sin = 0 and cos = -1 then angle = 180 (i.e., 180 degree rotation around some axis)
|
|
229956
230013
|
* then the rotation matrix becomes
|
|
@@ -229968,34 +230025,34 @@ class Matrix3d {
|
|
|
229968
230025
|
const azz = this.coffs[8];
|
|
229969
230026
|
// Look for a pair of "-1" entries on the diagonal (for rotation around the basis X,Y,Z axis)
|
|
229970
230027
|
if (_Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.isAlmostEqualNumber(-1.0, ayy) && _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.isAlmostEqualNumber(-1, azz)) {
|
|
229971
|
-
return { axis:
|
|
230028
|
+
return { axis: _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(1, 0, 0), angle: _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.createDegrees(180), ok: true };
|
|
229972
230029
|
}
|
|
229973
230030
|
else if (_Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.isAlmostEqualNumber(-1.0, axx) && _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.isAlmostEqualNumber(-1, azz)) {
|
|
229974
|
-
return { axis:
|
|
230031
|
+
return { axis: _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(0, 1, 0), angle: _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.createDegrees(180), ok: true };
|
|
229975
230032
|
}
|
|
229976
230033
|
else if (_Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.isAlmostEqualNumber(-1.0, axx) && _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.isAlmostEqualNumber(-1, ayy)) {
|
|
229977
|
-
return { axis:
|
|
230034
|
+
return { axis: _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(0, 0, 1), angle: _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.createDegrees(180), ok: true };
|
|
229978
230035
|
}
|
|
229979
230036
|
// Look for eigenvector with eigenvalue = 1
|
|
229980
230037
|
const eigenvectors = Matrix3d.createIdentity();
|
|
229981
|
-
const eigenvalues =
|
|
230038
|
+
const eigenvalues = _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(0, 0, 0);
|
|
229982
230039
|
if (this.fastSymmetricEigenvalues(eigenvectors, eigenvalues)) { // note: this matrix is "symmetric"
|
|
229983
230040
|
for (let axisIndex = 0; axisIndex < 2; axisIndex++) {
|
|
229984
230041
|
const lambda = eigenvalues.at(axisIndex);
|
|
229985
230042
|
if (_Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.isAlmostEqualNumber(1, lambda))
|
|
229986
|
-
return { axis: eigenvectors.getColumn(axisIndex), angle:
|
|
230043
|
+
return { axis: eigenvectors.getColumn(axisIndex), angle: _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.createDegrees(180), ok: true };
|
|
229987
230044
|
}
|
|
229988
230045
|
// if no eigenvalue = 1 was found return false
|
|
229989
|
-
return { axis:
|
|
230046
|
+
return { axis: _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(0, 0, 1), angle: _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.createRadians(0), ok: false };
|
|
229990
230047
|
}
|
|
229991
230048
|
// if no axis was found return false
|
|
229992
|
-
return { axis:
|
|
230049
|
+
return { axis: _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(0, 0, 1), angle: _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.createRadians(0), ok: false };
|
|
229993
230050
|
}
|
|
229994
230051
|
// good matrix and non-zero sine
|
|
229995
230052
|
const a = 1.0 / (2.0 * s);
|
|
229996
230053
|
const result = {
|
|
229997
|
-
axis:
|
|
229998
|
-
angle:
|
|
230054
|
+
axis: _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(skewYZ * a, skewZX * a, skewXY * a),
|
|
230055
|
+
angle: _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.createAtan2(s, c),
|
|
229999
230056
|
ok: true,
|
|
230000
230057
|
};
|
|
230001
230058
|
return result;
|
|
@@ -230019,7 +230076,7 @@ class Matrix3d {
|
|
|
230019
230076
|
const uDotV = this.coffs[i] * this.coffs[j]
|
|
230020
230077
|
+ this.coffs[i + 3] * this.coffs[j + 3]
|
|
230021
230078
|
+ this.coffs[i + 6] * this.coffs[j + 6];
|
|
230022
|
-
const jacobi =
|
|
230079
|
+
const jacobi = _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.trigValuesToHalfAngleTrigValues(uDotU - vDotV, 2.0 * uDotV);
|
|
230023
230080
|
const c = jacobi.c;
|
|
230024
230081
|
const s = jacobi.s;
|
|
230025
230082
|
if (Math.abs(s) < 2.0e-15)
|
|
@@ -230107,7 +230164,7 @@ class Matrix3d {
|
|
|
230107
230164
|
let upVector = vectorA.unitCrossProduct(vectorB);
|
|
230108
230165
|
// the usual case (both vectors and also their cross product is non-zero)
|
|
230109
230166
|
if (upVector) {
|
|
230110
|
-
return Matrix3d.createRotationAroundVector(upVector,
|
|
230167
|
+
return Matrix3d.createRotationAroundVector(upVector, _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.createRadians(fraction * vectorA.planarAngleTo(vectorB, upVector).radians));
|
|
230111
230168
|
}
|
|
230112
230169
|
// if either vector is zero
|
|
230113
230170
|
if (_Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.isSmallMetricDistance(vectorA.magnitude())
|
|
@@ -230118,7 +230175,7 @@ class Matrix3d {
|
|
|
230118
230175
|
return Matrix3d.createIdentity(result);
|
|
230119
230176
|
// opposing vectors (cross product = 0, dot product < 0)
|
|
230120
230177
|
upVector = Matrix3d.createPerpendicularVectorFavorPlaneContainingZ(vectorA, upVector);
|
|
230121
|
-
return Matrix3d.createRotationAroundVector(upVector,
|
|
230178
|
+
return Matrix3d.createRotationAroundVector(upVector, _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.createRadians(fraction * Math.PI));
|
|
230122
230179
|
}
|
|
230123
230180
|
/** Returns a matrix that rotates from vectorA to vectorB. */
|
|
230124
230181
|
static createRotationVectorToVector(vectorA, vectorB, result) {
|
|
@@ -230145,15 +230202,15 @@ class Matrix3d {
|
|
|
230145
230202
|
}
|
|
230146
230203
|
/** Return (a copy of) the X column */
|
|
230147
230204
|
columnX(result) {
|
|
230148
|
-
return
|
|
230205
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(this.coffs[0], this.coffs[3], this.coffs[6], result);
|
|
230149
230206
|
}
|
|
230150
230207
|
/** Return (a copy of) the Y column */
|
|
230151
230208
|
columnY(result) {
|
|
230152
|
-
return
|
|
230209
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(this.coffs[1], this.coffs[4], this.coffs[7], result);
|
|
230153
230210
|
}
|
|
230154
230211
|
/** Return (a copy of) the Z column */
|
|
230155
230212
|
columnZ(result) {
|
|
230156
|
-
return
|
|
230213
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(this.coffs[2], this.coffs[5], this.coffs[8], result);
|
|
230157
230214
|
}
|
|
230158
230215
|
/** Return the X column magnitude squared */
|
|
230159
230216
|
columnXMagnitudeSquared() {
|
|
@@ -230225,15 +230282,15 @@ class Matrix3d {
|
|
|
230225
230282
|
}
|
|
230226
230283
|
/** Return (a copy of) the X row */
|
|
230227
230284
|
rowX(result) {
|
|
230228
|
-
return
|
|
230285
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(this.coffs[0], this.coffs[1], this.coffs[2], result);
|
|
230229
230286
|
}
|
|
230230
230287
|
/** Return (a copy of) the Y row */
|
|
230231
230288
|
rowY(result) {
|
|
230232
|
-
return
|
|
230289
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(this.coffs[3], this.coffs[4], this.coffs[5], result);
|
|
230233
230290
|
}
|
|
230234
230291
|
/** Return (a copy of) the Z row */
|
|
230235
230292
|
rowZ(result) {
|
|
230236
|
-
return
|
|
230293
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(this.coffs[6], this.coffs[7], this.coffs[8], result);
|
|
230237
230294
|
}
|
|
230238
230295
|
/** Return the dot product of the vector parameter with the X column. */
|
|
230239
230296
|
dotColumnX(vector) {
|
|
@@ -230330,7 +230387,7 @@ class Matrix3d {
|
|
|
230330
230387
|
*/
|
|
230331
230388
|
getColumn(columnIndex, result) {
|
|
230332
230389
|
const index = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.cyclic3dAxis(columnIndex);
|
|
230333
|
-
return
|
|
230390
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(this.coffs[index], this.coffs[index + 3], this.coffs[index + 6], result);
|
|
230334
230391
|
}
|
|
230335
230392
|
/**
|
|
230336
230393
|
* Return a (copy of) a row of the matrix.
|
|
@@ -230339,7 +230396,7 @@ class Matrix3d {
|
|
|
230339
230396
|
*/
|
|
230340
230397
|
getRow(columnIndex, result) {
|
|
230341
230398
|
const index = 3 * _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.cyclic3dAxis(columnIndex);
|
|
230342
|
-
return
|
|
230399
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(this.coffs[index], this.coffs[index + 1], this.coffs[index + 2], result);
|
|
230343
230400
|
}
|
|
230344
230401
|
/**
|
|
230345
230402
|
* Create a matrix from row vectors.
|
|
@@ -230421,7 +230478,7 @@ class Matrix3d {
|
|
|
230421
230478
|
const x = point.x;
|
|
230422
230479
|
const y = point.y;
|
|
230423
230480
|
const z = point.z;
|
|
230424
|
-
return
|
|
230481
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Point3d.create(this.coffs[0] * x + this.coffs[1] * y + this.coffs[2] * z, this.coffs[3] * x + this.coffs[4] * y + this.coffs[5] * z, this.coffs[6] * x + this.coffs[7] * y + this.coffs[8] * z, result);
|
|
230425
230482
|
}
|
|
230426
230483
|
/**
|
|
230427
230484
|
* Multiply `matrix * vector`, treating the vector is a column vector on the right.
|
|
@@ -230435,7 +230492,7 @@ class Matrix3d {
|
|
|
230435
230492
|
const x = vectorU.x;
|
|
230436
230493
|
const y = vectorU.y;
|
|
230437
230494
|
const z = vectorU.z;
|
|
230438
|
-
return
|
|
230495
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(this.coffs[0] * x + this.coffs[1] * y + this.coffs[2] * z, this.coffs[3] * x + this.coffs[4] * y + this.coffs[5] * z, this.coffs[6] * x + this.coffs[7] * y + this.coffs[8] * z, result);
|
|
230439
230496
|
}
|
|
230440
230497
|
/**
|
|
230441
230498
|
* Multiply `matrix * vector` in place for vector in the array, i.e. treating the vector is a column
|
|
@@ -230451,7 +230508,7 @@ class Matrix3d {
|
|
|
230451
230508
|
const x = vector.x;
|
|
230452
230509
|
const y = vector.y;
|
|
230453
230510
|
const z = vector.z;
|
|
230454
|
-
return
|
|
230511
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Point3d.create(origin.x - (matrix.coffs[0] * x + matrix.coffs[1] * y + matrix.coffs[2] * z), origin.y - (matrix.coffs[3] * x + matrix.coffs[4] * y + matrix.coffs[5] * z), origin.z - (matrix.coffs[6] * x + matrix.coffs[7] * y + matrix.coffs[8] * z), result);
|
|
230455
230512
|
}
|
|
230456
230513
|
/** Compute `origin + matrix * vector` using only the xy parts of the inputs. */
|
|
230457
230514
|
static xyPlusMatrixTimesXY(origin, matrix, vector, result) {
|
|
@@ -230464,7 +230521,7 @@ class Matrix3d {
|
|
|
230464
230521
|
const x = vector.x;
|
|
230465
230522
|
const y = vector.y;
|
|
230466
230523
|
const z = vector.z;
|
|
230467
|
-
return
|
|
230524
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Point3d.create(origin.x + matrix.coffs[0] * x + matrix.coffs[1] * y + matrix.coffs[2] * z, origin.y + matrix.coffs[3] * x + matrix.coffs[4] * y + matrix.coffs[5] * z, origin.z + matrix.coffs[6] * x + matrix.coffs[7] * y + matrix.coffs[8] * z, result);
|
|
230468
230525
|
}
|
|
230469
230526
|
/** Updates vector to be `origin + matrix * vector` using all xyz parts of the inputs. */
|
|
230470
230527
|
static xyzPlusMatrixTimesXYZInPlace(origin, matrix, vector) {
|
|
@@ -230477,7 +230534,7 @@ class Matrix3d {
|
|
|
230477
230534
|
}
|
|
230478
230535
|
/** Compute `origin + matrix * vector` where the final vector is given as direct x,y,z coordinates */
|
|
230479
230536
|
static xyzPlusMatrixTimesCoordinates(origin, matrix, x, y, z, result) {
|
|
230480
|
-
return
|
|
230537
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Point3d.create(origin.x + matrix.coffs[0] * x + matrix.coffs[1] * y + matrix.coffs[2] * z, origin.y + matrix.coffs[3] * x + matrix.coffs[4] * y + matrix.coffs[5] * z, origin.z + matrix.coffs[6] * x + matrix.coffs[7] * y + matrix.coffs[8] * z, result);
|
|
230481
230538
|
}
|
|
230482
230539
|
/**
|
|
230483
230540
|
* Treat the 3x3 matrix and origin as upper 3x4 part of a 4x4 matrix, with 0001 as the final row.
|
|
@@ -230556,7 +230613,7 @@ class Matrix3d {
|
|
|
230556
230613
|
* @param result the vector result (optional)
|
|
230557
230614
|
*/
|
|
230558
230615
|
multiplyTransposeVector(vector, result) {
|
|
230559
|
-
result = result ? result : new
|
|
230616
|
+
result = result ? result : new _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d();
|
|
230560
230617
|
const x = vector.x;
|
|
230561
230618
|
const y = vector.y;
|
|
230562
230619
|
const z = vector.z;
|
|
@@ -230570,7 +230627,7 @@ class Matrix3d {
|
|
|
230570
230627
|
* @param result the vector result (optional)
|
|
230571
230628
|
*/
|
|
230572
230629
|
multiplyXYZ(x, y, z, result) {
|
|
230573
|
-
result = result ? result : new
|
|
230630
|
+
result = result ? result : new _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d();
|
|
230574
230631
|
result.x = this.coffs[0] * x + this.coffs[1] * y + this.coffs[2] * z;
|
|
230575
230632
|
result.y = this.coffs[3] * x + this.coffs[4] * y + this.coffs[5] * z;
|
|
230576
230633
|
result.z = this.coffs[6] * x + this.coffs[7] * y + this.coffs[8] * z;
|
|
@@ -230595,7 +230652,7 @@ class Matrix3d {
|
|
|
230595
230652
|
* @param result the vector result (optional)
|
|
230596
230653
|
*/
|
|
230597
230654
|
multiplyXY(x, y, result) {
|
|
230598
|
-
result = result ? result : new
|
|
230655
|
+
result = result ? result : new _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d();
|
|
230599
230656
|
result.x = this.coffs[0] * x + this.coffs[1] * y;
|
|
230600
230657
|
result.y = this.coffs[3] * x + this.coffs[4] * y;
|
|
230601
230658
|
result.z = this.coffs[6] * x + this.coffs[7] * y;
|
|
@@ -230606,7 +230663,7 @@ class Matrix3d {
|
|
|
230606
230663
|
* @param result the Point3d result (optional)
|
|
230607
230664
|
*/
|
|
230608
230665
|
originPlusMatrixTimesXY(origin, x, y, result) {
|
|
230609
|
-
return
|
|
230666
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Point3d.create(origin.x + this.coffs[0] * x + this.coffs[1] * y, origin.y + this.coffs[3] * x + this.coffs[4] * y, origin.z + this.coffs[6] * x + this.coffs[7] * y, result);
|
|
230610
230667
|
}
|
|
230611
230668
|
/**
|
|
230612
230669
|
* Multiply the matrix * (x,y,z) in place, i.e. the vector (x,y,z) is a column vector on the right and
|
|
@@ -230649,7 +230706,7 @@ class Matrix3d {
|
|
|
230649
230706
|
* @param result the vector result (optional)
|
|
230650
230707
|
*/
|
|
230651
230708
|
multiplyTransposeXYZ(x, y, z, result) {
|
|
230652
|
-
result = result ? result : new
|
|
230709
|
+
result = result ? result : new _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d();
|
|
230653
230710
|
result.x = this.coffs[0] * x + this.coffs[3] * y + this.coffs[6] * z;
|
|
230654
230711
|
result.y = this.coffs[1] * x + this.coffs[4] * y + this.coffs[7] * z;
|
|
230655
230712
|
result.z = this.coffs[2] * x + this.coffs[5] * y + this.coffs[8] * z;
|
|
@@ -230666,7 +230723,7 @@ class Matrix3d {
|
|
|
230666
230723
|
const x = vector.x;
|
|
230667
230724
|
const y = vector.y;
|
|
230668
230725
|
const z = vector.z;
|
|
230669
|
-
return
|
|
230726
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(this.inverseCoffs[0] * x + this.inverseCoffs[1] * y + this.inverseCoffs[2] * z, this.inverseCoffs[3] * x + this.inverseCoffs[4] * y + this.inverseCoffs[5] * z, this.inverseCoffs[6] * x + this.inverseCoffs[7] * y + this.inverseCoffs[8] * z, result);
|
|
230670
230727
|
}
|
|
230671
230728
|
return undefined;
|
|
230672
230729
|
}
|
|
@@ -230681,7 +230738,7 @@ class Matrix3d {
|
|
|
230681
230738
|
const x = vector.x;
|
|
230682
230739
|
const y = vector.y;
|
|
230683
230740
|
const z = vector.z;
|
|
230684
|
-
return
|
|
230741
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(this.inverseCoffs[0] * x + this.inverseCoffs[3] * y + this.inverseCoffs[6] * z, this.inverseCoffs[1] * x + this.inverseCoffs[4] * y + this.inverseCoffs[7] * z, this.inverseCoffs[2] * x + this.inverseCoffs[5] * y + this.inverseCoffs[8] * z, result);
|
|
230685
230742
|
}
|
|
230686
230743
|
return undefined;
|
|
230687
230744
|
}
|
|
@@ -230694,7 +230751,7 @@ class Matrix3d {
|
|
|
230694
230751
|
multiplyInverseXYZAsVector3d(x, y, z, result) {
|
|
230695
230752
|
this.computeCachedInverse(true);
|
|
230696
230753
|
if (this.inverseCoffs) {
|
|
230697
|
-
return
|
|
230754
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(this.inverseCoffs[0] * x + this.inverseCoffs[1] * y + this.inverseCoffs[2] * z, this.inverseCoffs[3] * x + this.inverseCoffs[4] * y + this.inverseCoffs[5] * z, this.inverseCoffs[6] * x + this.inverseCoffs[7] * y + this.inverseCoffs[8] * z, result);
|
|
230698
230755
|
}
|
|
230699
230756
|
return undefined;
|
|
230700
230757
|
}
|
|
@@ -230719,7 +230776,7 @@ class Matrix3d {
|
|
|
230719
230776
|
multiplyInverseXYZAsPoint3d(x, y, z, result) {
|
|
230720
230777
|
this.computeCachedInverse(true);
|
|
230721
230778
|
if (this.inverseCoffs) {
|
|
230722
|
-
return
|
|
230779
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Point3d.create(this.inverseCoffs[0] * x + this.inverseCoffs[1] * y + this.inverseCoffs[2] * z, this.inverseCoffs[3] * x + this.inverseCoffs[4] * y + this.inverseCoffs[5] * z, this.inverseCoffs[6] * x + this.inverseCoffs[7] * y + this.inverseCoffs[8] * z, result);
|
|
230723
230780
|
}
|
|
230724
230781
|
return undefined;
|
|
230725
230782
|
}
|
|
@@ -237612,7 +237669,10 @@ class PolygonOps {
|
|
|
237612
237669
|
* * Compare to [[closestPoint]].
|
|
237613
237670
|
* @param polygon points of the polygon, closure point optional
|
|
237614
237671
|
* @param testPoint point p to project onto the polygon edges. Works best when p is in the plane of the polygon.
|
|
237615
|
-
* @param tolerance optional
|
|
237672
|
+
* @param tolerance optional tolerance(s) to determine point-vertex and point-edge coincidence. A single number
|
|
237673
|
+
* is interpreted as distance tolerance. If an array is given, the first number is interpreted as distance tolerance;
|
|
237674
|
+
* the second, as parametric tolerance. Default values are [[Geometry.smallMetricDistance]] for distance tolerance
|
|
237675
|
+
* and 0.0 for parameter tolerance.
|
|
237616
237676
|
* @param result optional pre-allocated object to fill and return
|
|
237617
237677
|
* @returns details d of the closest point `d.point`:
|
|
237618
237678
|
* * `d.isValid()` returns true if and only if the polygon is nontrivial.
|
|
@@ -237624,7 +237684,9 @@ class PolygonOps {
|
|
|
237624
237684
|
static closestPointOnBoundary(polygon, testPoint, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance, result) {
|
|
237625
237685
|
if (!(polygon instanceof _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_5__.IndexedXYZCollection))
|
|
237626
237686
|
return this.closestPointOnBoundary(new _Point3dArrayCarrier__WEBPACK_IMPORTED_MODULE_4__.Point3dArrayCarrier(polygon), testPoint, tolerance, result);
|
|
237627
|
-
const
|
|
237687
|
+
const distTol = Array.isArray(tolerance) ? tolerance[0] : tolerance;
|
|
237688
|
+
const paramTol = Array.isArray(tolerance) ? Math.abs(tolerance[1]) : 0.0;
|
|
237689
|
+
const distTol2 = distTol * distTol;
|
|
237628
237690
|
let numPoints = polygon.length;
|
|
237629
237691
|
while (numPoints > 1) {
|
|
237630
237692
|
if (polygon.distanceSquaredIndexIndex(0, numPoints - 1) > distTol2)
|
|
@@ -237634,29 +237696,59 @@ class PolygonOps {
|
|
|
237634
237696
|
result = PolygonLocationDetail.create(result);
|
|
237635
237697
|
if (0 === numPoints)
|
|
237636
237698
|
return result; // invalid
|
|
237637
|
-
|
|
237638
|
-
polygon.getPoint3dAtUncheckedPointIndex(
|
|
237699
|
+
const constructSingletonPoint = (index) => {
|
|
237700
|
+
polygon.getPoint3dAtUncheckedPointIndex(index, result.point);
|
|
237639
237701
|
result.a = result.point.distance(testPoint);
|
|
237640
237702
|
result.v.setZero();
|
|
237641
237703
|
result.code = _Geometry__WEBPACK_IMPORTED_MODULE_2__.PolygonLocation.OnPolygonVertex;
|
|
237642
|
-
result.closestEdgeIndex =
|
|
237704
|
+
result.closestEdgeIndex = index;
|
|
237643
237705
|
result.closestEdgeParam = 0.0;
|
|
237644
237706
|
return result;
|
|
237645
|
-
}
|
|
237707
|
+
};
|
|
237708
|
+
if (1 === numPoints)
|
|
237709
|
+
return constructSingletonPoint(0);
|
|
237710
|
+
// lambda for computing edge parameter at which testPoint projects onto the edge starting at iEdgeStart
|
|
237711
|
+
const projectToEdge = (iEdgeStart) => {
|
|
237712
|
+
let isValid = false;
|
|
237713
|
+
let edgeParam = 0.0;
|
|
237714
|
+
let uDotU = 0.0;
|
|
237715
|
+
let vDotV = 0.0;
|
|
237716
|
+
if (iEdgeStart >= 0 && iEdgeStart < numPoints) {
|
|
237717
|
+
let iEdgeEnd = iEdgeStart + 1;
|
|
237718
|
+
if (iEdgeEnd === numPoints)
|
|
237719
|
+
iEdgeEnd = 0;
|
|
237720
|
+
uDotU = polygon.distanceSquaredIndexIndex(iEdgeStart, iEdgeEnd);
|
|
237721
|
+
if (uDotU > distTol2) { // nontrivial edge
|
|
237722
|
+
vDotV = polygon.distanceSquaredIndexXYAndZ(iEdgeStart, testPoint);
|
|
237723
|
+
const uDotV = polygon.dotProductIndexIndexXYAndZ(iEdgeStart, iEdgeEnd, testPoint);
|
|
237724
|
+
edgeParam = uDotV / uDotU; // param of projection of testPoint onto edge [iEdgeStart, iEdgeEnd]
|
|
237725
|
+
isValid = true;
|
|
237726
|
+
}
|
|
237727
|
+
}
|
|
237728
|
+
return { isValid, edgeParam, uDotU, vDotV };
|
|
237729
|
+
};
|
|
237730
|
+
// find the previous nontrivial edge's projection status before processing the first edge
|
|
237731
|
+
let projBeyondPrevEdge = false;
|
|
237646
237732
|
let iPrev = numPoints - 1;
|
|
237733
|
+
for (; iPrev > 0; --iPrev) {
|
|
237734
|
+
const projData = projectToEdge(iPrev);
|
|
237735
|
+
if (projData.isValid) {
|
|
237736
|
+
projBeyondPrevEdge = projData.edgeParam > 1.0 + paramTol;
|
|
237737
|
+
break;
|
|
237738
|
+
}
|
|
237739
|
+
}
|
|
237740
|
+
if (iPrev <= 0) // all segments trivial, so treat like single point case
|
|
237741
|
+
return constructSingletonPoint(0);
|
|
237647
237742
|
let minDist2 = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.largeCoordinateResult;
|
|
237648
237743
|
for (let iBase = 0; iBase < numPoints; ++iBase) {
|
|
237649
237744
|
let iNext = iBase + 1;
|
|
237650
237745
|
if (iNext === numPoints)
|
|
237651
237746
|
iNext = 0;
|
|
237652
|
-
const
|
|
237653
|
-
if (
|
|
237654
|
-
continue; // ignore trivial polygon edge (keep iPrev)
|
|
237655
|
-
|
|
237656
|
-
|
|
237657
|
-
const edgeParam = uDotV / uDotU; // param of projection of testPoint onto this edge
|
|
237658
|
-
if (edgeParam <= 0.0) { // testPoint projects to/before edge start
|
|
237659
|
-
const distToStart2 = vDotV;
|
|
237747
|
+
const projData = projectToEdge(iBase);
|
|
237748
|
+
if (!projData.isValid)
|
|
237749
|
+
continue; // ignore trivial polygon edge (keep iPrev, projBeyondPrevEdge)
|
|
237750
|
+
if (projData.edgeParam <= paramTol) { // testPoint projects to/before edge start
|
|
237751
|
+
const distToStart2 = projData.vDotV;
|
|
237660
237752
|
if (distToStart2 <= distTol2) {
|
|
237661
237753
|
// testPoint is at edge start; we are done
|
|
237662
237754
|
polygon.getPoint3dAtUncheckedPointIndex(iBase, result.point);
|
|
@@ -237667,25 +237759,25 @@ class PolygonOps {
|
|
|
237667
237759
|
result.closestEdgeParam = 0.0;
|
|
237668
237760
|
return result;
|
|
237669
237761
|
}
|
|
237670
|
-
if (distToStart2 < minDist2) {
|
|
237671
|
-
|
|
237672
|
-
|
|
237673
|
-
|
|
237674
|
-
|
|
237675
|
-
|
|
237676
|
-
|
|
237677
|
-
|
|
237678
|
-
|
|
237679
|
-
minDist2 = distToStart2;
|
|
237680
|
-
}
|
|
237762
|
+
if (distToStart2 < minDist2 && projBeyondPrevEdge) {
|
|
237763
|
+
// update candidate (to edge start) only if testPoint projected beyond previous edge end
|
|
237764
|
+
polygon.getPoint3dAtUncheckedPointIndex(iBase, result.point);
|
|
237765
|
+
result.a = Math.sqrt(distToStart2);
|
|
237766
|
+
polygon.crossProductIndexIndexIndex(iBase, iPrev, iNext, result.v);
|
|
237767
|
+
result.code = _Geometry__WEBPACK_IMPORTED_MODULE_2__.PolygonLocation.OnPolygonVertex;
|
|
237768
|
+
result.closestEdgeIndex = iBase;
|
|
237769
|
+
result.closestEdgeParam = 0.0;
|
|
237770
|
+
minDist2 = distToStart2;
|
|
237681
237771
|
}
|
|
237772
|
+
projBeyondPrevEdge = false;
|
|
237682
237773
|
}
|
|
237683
|
-
else if (edgeParam <= 1.0) { // testPoint projects inside edge, or to edge end
|
|
237684
|
-
|
|
237774
|
+
else if (projData.edgeParam <= 1.0 + paramTol) { // testPoint projects inside edge, or to edge end
|
|
237775
|
+
projData.edgeParam = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.clamp(projData.edgeParam, 0.0, 1.0);
|
|
237776
|
+
const projDist2 = projData.vDotV - projData.edgeParam * projData.edgeParam * projData.uDotU;
|
|
237685
237777
|
if (projDist2 <= distTol2) {
|
|
237686
237778
|
// testPoint is on edge; we are done
|
|
237687
|
-
const distToStart2 = vDotV;
|
|
237688
|
-
if (edgeParam <= 0.5 && distToStart2 <= distTol2) {
|
|
237779
|
+
const distToStart2 = projData.vDotV;
|
|
237780
|
+
if (projData.edgeParam <= 0.5 && distToStart2 <= distTol2) {
|
|
237689
237781
|
// testPoint is at edge start
|
|
237690
237782
|
polygon.getPoint3dAtUncheckedPointIndex(iBase, result.point);
|
|
237691
237783
|
result.a = Math.sqrt(distToStart2);
|
|
@@ -237695,8 +237787,8 @@ class PolygonOps {
|
|
|
237695
237787
|
result.closestEdgeParam = 0.0;
|
|
237696
237788
|
return result;
|
|
237697
237789
|
}
|
|
237698
|
-
const distToEnd2 = projDist2 + (1.0 - edgeParam) * (1.0 - edgeParam) * uDotU;
|
|
237699
|
-
if (edgeParam > 0.5 && distToEnd2 <= distTol2) {
|
|
237790
|
+
const distToEnd2 = projDist2 + (1.0 - projData.edgeParam) * (1.0 - projData.edgeParam) * projData.uDotU;
|
|
237791
|
+
if (projData.edgeParam > 0.5 && distToEnd2 <= distTol2) {
|
|
237700
237792
|
// testPoint is at edge end
|
|
237701
237793
|
polygon.getPoint3dAtUncheckedPointIndex(iNext, result.point);
|
|
237702
237794
|
result.a = Math.sqrt(distToEnd2);
|
|
@@ -237707,27 +237799,29 @@ class PolygonOps {
|
|
|
237707
237799
|
return result;
|
|
237708
237800
|
}
|
|
237709
237801
|
// testPoint is on edge interior
|
|
237710
|
-
polygon.interpolateIndexIndex(iBase, edgeParam, iNext, result.point);
|
|
237802
|
+
polygon.interpolateIndexIndex(iBase, projData.edgeParam, iNext, result.point);
|
|
237711
237803
|
result.a = Math.sqrt(projDist2);
|
|
237712
237804
|
result.v.setZero();
|
|
237713
237805
|
result.code = _Geometry__WEBPACK_IMPORTED_MODULE_2__.PolygonLocation.OnPolygonEdgeInterior;
|
|
237714
237806
|
result.closestEdgeIndex = iBase;
|
|
237715
|
-
result.closestEdgeParam = edgeParam;
|
|
237807
|
+
result.closestEdgeParam = projData.edgeParam;
|
|
237716
237808
|
return result;
|
|
237717
237809
|
}
|
|
237718
237810
|
if (projDist2 < minDist2) {
|
|
237719
|
-
// update candidate
|
|
237720
|
-
polygon.interpolateIndexIndex(iBase, edgeParam, iNext, result.point);
|
|
237811
|
+
// update candidate
|
|
237812
|
+
polygon.interpolateIndexIndex(iBase, projData.edgeParam, iNext, result.point);
|
|
237721
237813
|
result.a = Math.sqrt(projDist2);
|
|
237722
237814
|
polygon.crossProductIndexIndexXYAndZ(iBase, iNext, testPoint, result.v);
|
|
237723
|
-
result.code = _Geometry__WEBPACK_IMPORTED_MODULE_2__.PolygonLocation.OnPolygonEdgeInterior;
|
|
237815
|
+
result.code = projData.edgeParam < 1.0 ? _Geometry__WEBPACK_IMPORTED_MODULE_2__.PolygonLocation.OnPolygonEdgeInterior : _Geometry__WEBPACK_IMPORTED_MODULE_2__.PolygonLocation.OnPolygonVertex;
|
|
237816
|
+
;
|
|
237724
237817
|
result.closestEdgeIndex = iBase;
|
|
237725
|
-
result.closestEdgeParam = edgeParam;
|
|
237818
|
+
result.closestEdgeParam = projData.edgeParam;
|
|
237726
237819
|
minDist2 = projDist2;
|
|
237727
237820
|
}
|
|
237821
|
+
projBeyondPrevEdge = false;
|
|
237728
237822
|
}
|
|
237729
|
-
else {
|
|
237730
|
-
|
|
237823
|
+
else {
|
|
237824
|
+
projBeyondPrevEdge = true; // to be handled by next edge
|
|
237731
237825
|
}
|
|
237732
237826
|
iPrev = iBase;
|
|
237733
237827
|
}
|
|
@@ -237771,7 +237865,10 @@ class PolygonOps {
|
|
|
237771
237865
|
/** Compute the intersection of a line (parameterized as a ray) with the plane of this polygon.
|
|
237772
237866
|
* @param polygon points of the polygon, closure point optional
|
|
237773
237867
|
* @param ray infinite line to intersect, as a ray
|
|
237774
|
-
* @param tolerance optional
|
|
237868
|
+
* @param tolerance optional tolerance(s) to determine point-vertex and point-edge coincidence. A single number
|
|
237869
|
+
* is interpreted as distance tolerance. If an array is given, the first number is interpreted as distance tolerance;
|
|
237870
|
+
* the second, as parametric tolerance. Default values are [[Geometry.smallMetricDistance]] for distance tolerance
|
|
237871
|
+
* and 0.0 for parameter tolerance.
|
|
237775
237872
|
* @param result optional pre-allocated object to fill and return
|
|
237776
237873
|
* @returns details d of the line-plane intersection `d.point`:
|
|
237777
237874
|
* * `d.isValid()` returns true if and only if the line intersects the plane.
|
|
@@ -237798,11 +237895,18 @@ class PolygonOps {
|
|
|
237798
237895
|
// NOOP: intersectionPoint is on the polygon, so result.code already classifies it
|
|
237799
237896
|
}
|
|
237800
237897
|
else {
|
|
237801
|
-
// intersectionPoint is not on polygon, so result.code refers to the closest point
|
|
237802
|
-
|
|
237803
|
-
|
|
237804
|
-
|
|
237805
|
-
|
|
237898
|
+
// intersectionPoint is not on the polygon, so result.code refers to the closest point;
|
|
237899
|
+
// update it to refer to intersectionPoint.
|
|
237900
|
+
if (_Geometry__WEBPACK_IMPORTED_MODULE_2__.PolygonLocation.OnPolygonVertex === result.code) {
|
|
237901
|
+
result.code = (dot > 0.0)
|
|
237902
|
+
? _Geometry__WEBPACK_IMPORTED_MODULE_2__.PolygonLocation.InsidePolygonProjectsToVertex
|
|
237903
|
+
: _Geometry__WEBPACK_IMPORTED_MODULE_2__.PolygonLocation.OutsidePolygonProjectsToVertex;
|
|
237904
|
+
}
|
|
237905
|
+
else if (_Geometry__WEBPACK_IMPORTED_MODULE_2__.PolygonLocation.OnPolygonEdgeInterior === result.code) {
|
|
237906
|
+
result.code = (dot > 0.0)
|
|
237907
|
+
? _Geometry__WEBPACK_IMPORTED_MODULE_2__.PolygonLocation.InsidePolygonProjectsToEdgeInterior
|
|
237908
|
+
: _Geometry__WEBPACK_IMPORTED_MODULE_2__.PolygonLocation.OutsidePolygonProjectsToEdgeInterior;
|
|
237909
|
+
}
|
|
237806
237910
|
}
|
|
237807
237911
|
}
|
|
237808
237912
|
return result;
|
|
@@ -249121,11 +249225,11 @@ class AnalyticRoots {
|
|
|
249121
249225
|
* * -1 -- beta, gamma are zero, alpha is not.There is no line defined.There are no solutions.
|
|
249122
249226
|
* * 0 -- the line is well defined, but passes completely outside the unit circle.
|
|
249123
249227
|
* * In this case, (c1, s1) is the circle point closest to the line and(c2, s2) is the line point closest to the circle.
|
|
249124
|
-
*
|
|
249125
|
-
*
|
|
249126
|
-
*
|
|
249127
|
-
*
|
|
249128
|
-
*
|
|
249228
|
+
* * 1 -- the line is tangent to the unit circle.
|
|
249229
|
+
* * Tangency is determined by tolerances, which calls a "close approach" point a tangency.
|
|
249230
|
+
* * (c1, s1) is the closest circle point
|
|
249231
|
+
* * (c2, s2) is the line point.
|
|
249232
|
+
* * 2 -- two simple intersections.
|
|
249129
249233
|
* @param alpha constant coefficient on line
|
|
249130
249234
|
* @param beta x cosine coefficient on line
|
|
249131
249235
|
* @param gamma y sine coefficient on line
|
|
@@ -249257,7 +249361,7 @@ class TrigPolynomial {
|
|
|
249257
249361
|
degree--;
|
|
249258
249362
|
const roots = new _geometry3d_GrowableFloat64Array__WEBPACK_IMPORTED_MODULE_6__.GrowableFloat64Array();
|
|
249259
249363
|
if (degree === -1) {
|
|
249260
|
-
// do nothing
|
|
249364
|
+
// p(t) is identically zero (degenerate); do nothing.
|
|
249261
249365
|
}
|
|
249262
249366
|
else {
|
|
249263
249367
|
if (degree === 0) {
|
|
@@ -251136,8 +251240,8 @@ var AuxChannelDataType;
|
|
|
251136
251240
|
* When the host Polyface is transformed the displacements are rotated and scaled accordingly.
|
|
251137
251241
|
*/
|
|
251138
251242
|
AuxChannelDataType[AuxChannelDataType["Vector"] = 2] = "Vector";
|
|
251139
|
-
/** (X, Y, Z) normal vectors that replace the host [[Polyface]]'s own normals.
|
|
251140
|
-
* When the Polyface is transformed the normals are rotated accordingly.
|
|
251243
|
+
/** (X, Y, Z) unit normal vectors that replace the host [[Polyface]]'s own normals.
|
|
251244
|
+
* When the Polyface is transformed the normals are rotated and renormalized accordingly.
|
|
251141
251245
|
*/
|
|
251142
251246
|
AuxChannelDataType[AuxChannelDataType["Normal"] = 3] = "Normal";
|
|
251143
251247
|
})(AuxChannelDataType || (AuxChannelDataType = {}));
|
|
@@ -251326,7 +251430,15 @@ class PolyfaceAuxData {
|
|
|
251326
251430
|
inverseRot = inverseRot ?? rot.inverse();
|
|
251327
251431
|
if (!inverseRot)
|
|
251328
251432
|
return false;
|
|
251329
|
-
transformPoints(data.values, (point) =>
|
|
251433
|
+
transformPoints(data.values, (point) => {
|
|
251434
|
+
inverseRot.multiplyTransposeVectorInPlace(point);
|
|
251435
|
+
const dot = point.magnitudeSquared();
|
|
251436
|
+
const tol = 1.0e-15; // cf. GrowableXYZArray.multiplyAndRenormalizeMatrix3dInverseTransposeInPlace
|
|
251437
|
+
if (dot > tol && Math.abs(dot - 1.0) > tol) { // only renormalize if magnitude is not near 0 or 1
|
|
251438
|
+
const mag = 1.0 / Math.sqrt(dot);
|
|
251439
|
+
point.scaleInPlace(mag);
|
|
251440
|
+
}
|
|
251441
|
+
});
|
|
251330
251442
|
break;
|
|
251331
251443
|
}
|
|
251332
251444
|
case AuxChannelDataType.Vector: {
|
|
@@ -253175,20 +253287,14 @@ class IndexedPolyface extends Polyface {
|
|
|
253175
253287
|
}
|
|
253176
253288
|
/**
|
|
253177
253289
|
* Transform the mesh.
|
|
253178
|
-
* *
|
|
253179
|
-
* *
|
|
253180
|
-
*
|
|
253181
|
-
* * negate normals
|
|
253182
|
-
* * reverse index order around each facet.
|
|
253290
|
+
* * If `transform` is a mirror, also reverse the index order around each facet.
|
|
253291
|
+
* * Note that this method always returns true. If transforming the normals fails (due to singular matrix or zero
|
|
253292
|
+
* normal), the original normal(s) are left unchanged.
|
|
253183
253293
|
*/
|
|
253184
253294
|
tryTransformInPlace(transform) {
|
|
253185
|
-
|
|
253186
|
-
|
|
253187
|
-
const determinant = transform.matrix.determinant();
|
|
253188
|
-
if (determinant < 0) {
|
|
253295
|
+
this.data.tryTransformInPlace(transform);
|
|
253296
|
+
if (transform.matrix.determinant() < 0)
|
|
253189
253297
|
this.reverseIndices();
|
|
253190
|
-
this.reverseNormals();
|
|
253191
|
-
}
|
|
253192
253298
|
return true;
|
|
253193
253299
|
}
|
|
253194
253300
|
/** Reverse indices for a single facet. */
|
|
@@ -253197,8 +253303,7 @@ class IndexedPolyface extends Polyface {
|
|
|
253197
253303
|
}
|
|
253198
253304
|
/** Return a deep clone. */
|
|
253199
253305
|
clone() {
|
|
253200
|
-
|
|
253201
|
-
return result;
|
|
253306
|
+
return new IndexedPolyface(this.data.clone(), this._facetStart.slice(), this._facetToFaceData.slice());
|
|
253202
253307
|
}
|
|
253203
253308
|
/**
|
|
253204
253309
|
* Return a deep clone with transformed points and normals.
|
|
@@ -254779,17 +254884,28 @@ class PolyfaceBuilder extends _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODU
|
|
|
254779
254884
|
}
|
|
254780
254885
|
/** Construct facets for a rotational sweep. */
|
|
254781
254886
|
addRotationalSweep(surface) {
|
|
254782
|
-
const contour = surface.
|
|
254783
|
-
const section0 = _curve_Query_StrokeCountChain__WEBPACK_IMPORTED_MODULE_16__.StrokeCountSection.createForParityRegionOrChain(contour, this._options);
|
|
254887
|
+
const contour = surface.getSweepContourRef();
|
|
254888
|
+
const section0 = _curve_Query_StrokeCountChain__WEBPACK_IMPORTED_MODULE_16__.StrokeCountSection.createForParityRegionOrChain(contour.getCurves(), this._options);
|
|
254784
254889
|
const baseStrokes = section0.getStrokes();
|
|
254890
|
+
// ensure sweep is positive for buildRotationalNormalsInLineStrings
|
|
254785
254891
|
const axis = surface.cloneAxisRay();
|
|
254892
|
+
const sweepAngle = surface.getSweep();
|
|
254893
|
+
if (sweepAngle.radians < 0.0) {
|
|
254894
|
+
axis.direction.scaleInPlace(-1);
|
|
254895
|
+
sweepAngle.setRadians(-sweepAngle.radians);
|
|
254896
|
+
}
|
|
254897
|
+
// swingVector points in the direction of positive sweep
|
|
254786
254898
|
const perpendicularVector = _curve_Query_CylindricalRange__WEBPACK_IMPORTED_MODULE_17__.CylindricalRangeQuery.computeMaxVectorFromRay(axis, baseStrokes);
|
|
254787
254899
|
const swingVector = axis.direction.crossProduct(perpendicularVector);
|
|
254900
|
+
// ensure contour computed normal is aligned with swingVector for buildRotationalNormalsInLineStrings
|
|
254901
|
+
const contourNormalAgreesWithSwingDir = contour.localToWorld.matrix.dotColumnZ(swingVector) > 0;
|
|
254902
|
+
if (!contourNormalAgreesWithSwingDir)
|
|
254903
|
+
baseStrokes.reverseInPlace();
|
|
254788
254904
|
if (this._options.needNormals)
|
|
254789
254905
|
_curve_Query_CylindricalRange__WEBPACK_IMPORTED_MODULE_17__.CylindricalRangeQuery.buildRotationalNormalsInLineStrings(baseStrokes, axis, swingVector);
|
|
254790
254906
|
const maxDistance = perpendicularVector.magnitude();
|
|
254791
|
-
const maxPath = Math.abs(maxDistance *
|
|
254792
|
-
let numStep = _curve_StrokeOptions__WEBPACK_IMPORTED_MODULE_4__.StrokeOptions.applyAngleTol(this._options, 1,
|
|
254907
|
+
const maxPath = Math.abs(maxDistance * sweepAngle.radians);
|
|
254908
|
+
let numStep = _curve_StrokeOptions__WEBPACK_IMPORTED_MODULE_4__.StrokeOptions.applyAngleTol(this._options, 1, sweepAngle.radians, undefined);
|
|
254793
254909
|
numStep = _curve_StrokeOptions__WEBPACK_IMPORTED_MODULE_4__.StrokeOptions.applyMaxEdgeLength(this._options, numStep, maxPath);
|
|
254794
254910
|
for (let i = 1; i <= numStep; i++) {
|
|
254795
254911
|
const transformA = surface.getFractionalRotationTransform((i - 1) / numStep);
|
|
@@ -254797,11 +254913,10 @@ class PolyfaceBuilder extends _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODU
|
|
|
254797
254913
|
this.addBetweenRotatedStrokeSets(baseStrokes, transformA, i - 1, transformB, i);
|
|
254798
254914
|
}
|
|
254799
254915
|
if (surface.capped) {
|
|
254800
|
-
|
|
254801
|
-
|
|
254802
|
-
|
|
254803
|
-
|
|
254804
|
-
capContour.emitFacets(this, false, surface.getFractionalRotationTransform(1.0));
|
|
254916
|
+
contour.purgeFacets();
|
|
254917
|
+
const reverseNearCap = contourNormalAgreesWithSwingDir;
|
|
254918
|
+
contour.emitFacets(this, reverseNearCap, undefined);
|
|
254919
|
+
contour.emitFacets(this, !reverseNearCap, surface.getFractionalRotationTransform(1.0));
|
|
254805
254920
|
}
|
|
254806
254921
|
}
|
|
254807
254922
|
/** Construct facets for any planar region. */
|
|
@@ -254865,9 +254980,9 @@ class PolyfaceBuilder extends _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODU
|
|
|
254865
254980
|
const normalIndices = ls.ensureEmptyNormalIndices();
|
|
254866
254981
|
const normalIndex0 = this.findOrAddNormalInLineString(ls, 0, transform);
|
|
254867
254982
|
normalIndices.push(normalIndex0);
|
|
254868
|
-
let normalIndexA = normalIndex0;
|
|
254869
|
-
let normalIndexB;
|
|
254870
254983
|
if (n > 1) {
|
|
254984
|
+
let normalIndexA = normalIndex0;
|
|
254985
|
+
let normalIndexB;
|
|
254871
254986
|
for (let i = 1; i + 1 < n; i++) {
|
|
254872
254987
|
normalIndexB = this.findOrAddNormalInLineString(ls, i, transform, normalIndexA);
|
|
254873
254988
|
normalIndices.push(normalIndexB);
|
|
@@ -254882,9 +254997,9 @@ class PolyfaceBuilder extends _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODU
|
|
|
254882
254997
|
const uvIndices = ls.ensureEmptyUVIndices();
|
|
254883
254998
|
const uvIndex0 = this.findOrAddParamInLineString(ls, 0, vParam);
|
|
254884
254999
|
uvIndices.push(uvIndex0);
|
|
254885
|
-
let uvIndexA = uvIndex0;
|
|
254886
|
-
let uvIndexB;
|
|
254887
255000
|
if (n > 1) {
|
|
255001
|
+
let uvIndexA = uvIndex0;
|
|
255002
|
+
let uvIndexB;
|
|
254888
255003
|
for (let i = 1; i + 1 < n; i++) {
|
|
254889
255004
|
uvIndexB = this.findOrAddParamInLineString(ls, i, vParam, uvIndexA);
|
|
254890
255005
|
uvIndices.push(uvIndexB);
|
|
@@ -256813,15 +256928,32 @@ class PolyfaceData {
|
|
|
256813
256928
|
return result;
|
|
256814
256929
|
}
|
|
256815
256930
|
/**
|
|
256816
|
-
* Apply
|
|
256817
|
-
* *
|
|
256818
|
-
*
|
|
256931
|
+
* Apply a transform to the mesh data.
|
|
256932
|
+
* * Transform the data as follows:
|
|
256933
|
+
* * apply `transform` to points.
|
|
256934
|
+
* * apply inverse transpose of `transform` to normals and renormalize. This preserves normals perpendicular
|
|
256935
|
+
* to transformed facets, and keeps them pointing outward, e.g, if the mesh is closed. If the transform is not
|
|
256936
|
+
* invertible or a normal has zero length, the normal(s) are left unchanged, and this error is silently ignored.
|
|
256937
|
+
* * apply `transform` to auxData.
|
|
256938
|
+
* * scale faceData distances by the cube root of the absolute value of the determinant of `transform.matrix`.
|
|
256939
|
+
* * Note that if the transform is a mirror, this method does NOT reverse index order. This is the caller's
|
|
256940
|
+
* responsibility. This base class is just a data carrier: PolyfaceData does not know if the index order has
|
|
256941
|
+
* special meaning.
|
|
256942
|
+
* * Note that this method always returns true. If transforming normals fails (due to singular matrix or zero
|
|
256943
|
+
* normal), the original normal(s) are left unchanged.
|
|
256819
256944
|
*/
|
|
256820
256945
|
tryTransformInPlace(transform) {
|
|
256821
256946
|
this.point.multiplyTransformInPlace(transform);
|
|
256822
256947
|
if (this.normal && !transform.matrix.isIdentity)
|
|
256823
256948
|
this.normal.multiplyAndRenormalizeMatrix3dInverseTransposeInPlace(transform.matrix);
|
|
256824
|
-
|
|
256949
|
+
if (this.face.length > 0) {
|
|
256950
|
+
const distScale = Math.cbrt(Math.abs(transform.matrix.determinant()));
|
|
256951
|
+
for (const faceData of this.face)
|
|
256952
|
+
faceData.scaleDistances(distScale);
|
|
256953
|
+
}
|
|
256954
|
+
if (this.auxData)
|
|
256955
|
+
this.auxData.tryTransformInPlace(transform);
|
|
256956
|
+
return true;
|
|
256825
256957
|
}
|
|
256826
256958
|
/**
|
|
256827
256959
|
* Compress the instance by equating duplicate data.
|
|
@@ -258757,8 +258889,8 @@ class PolyfaceQuery {
|
|
|
258757
258889
|
/**
|
|
258758
258890
|
* Search facets for the first one that intersects the infinite line.
|
|
258759
258891
|
* * To process _all_ intersections, callers can supply an `options.acceptIntersection` callback that always
|
|
258760
|
-
* returns `false`.
|
|
258761
|
-
*
|
|
258892
|
+
* returns `false`. In this case, `intersectRay3d` will return `undefined`, but the callback will be invoked for
|
|
258893
|
+
* each intersection.
|
|
258762
258894
|
* * Example callback logic:
|
|
258763
258895
|
* * Accept the first found facet that intersects the half-line specified by the ray: `return detail.a >= 0.0;`
|
|
258764
258896
|
* * Collect all intersections: `myIntersections.push(detail.clone()); return false;` Then after `intersectRay3d`
|
|
@@ -258776,6 +258908,7 @@ class PolyfaceQuery {
|
|
|
258776
258908
|
if (visitor instanceof _Polyface__WEBPACK_IMPORTED_MODULE_7__.Polyface)
|
|
258777
258909
|
return PolyfaceQuery.intersectRay3d(visitor.createVisitor(0), ray, options);
|
|
258778
258910
|
let detail;
|
|
258911
|
+
const tol = options ? [options.distanceTolerance, options.parameterTolerance] : undefined;
|
|
258779
258912
|
visitor.setNumWrap(0);
|
|
258780
258913
|
while (visitor.moveToNextFacet()) {
|
|
258781
258914
|
const numEdges = visitor.pointCount; // #vertices = #edges since numWrap is zero
|
|
@@ -258787,7 +258920,7 @@ class PolyfaceQuery {
|
|
|
258787
258920
|
detail = this._workFacetDetail3 = _FacetLocationDetail__WEBPACK_IMPORTED_MODULE_37__.TriangularFacetLocationDetail.create(visitor.currentReadIndex(), detail3, this._workFacetDetail3);
|
|
258788
258921
|
}
|
|
258789
258922
|
else {
|
|
258790
|
-
const detailN = this._workPolyDetail = _geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_8__.PolygonOps.intersectRay3d(vertices, ray,
|
|
258923
|
+
const detailN = this._workPolyDetail = _geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_8__.PolygonOps.intersectRay3d(vertices, ray, tol, this._workPolyDetail);
|
|
258791
258924
|
if (_geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_8__.PolygonOps.isConvex(vertices))
|
|
258792
258925
|
detail = this._workFacetDetailC = _FacetLocationDetail__WEBPACK_IMPORTED_MODULE_37__.ConvexFacetLocationDetail.create(visitor.currentReadIndex(), numEdges, detailN, this._workFacetDetailC);
|
|
258793
258926
|
else
|
|
@@ -274450,8 +274583,10 @@ class Box extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimitive {
|
|
|
274450
274583
|
getConstructiveFrame() {
|
|
274451
274584
|
return this._localToWorld.cloneRigid();
|
|
274452
274585
|
}
|
|
274453
|
-
/**
|
|
274586
|
+
/**
|
|
274587
|
+
* Apply the transform to the box's `localToWorld` frame.
|
|
274454
274588
|
* * Note that this may make the frame nonrigid.
|
|
274589
|
+
* * This fails if the transformation is singular.
|
|
274455
274590
|
*/
|
|
274456
274591
|
tryTransformInPlace(transform) {
|
|
274457
274592
|
if (transform.matrix.isSingular())
|
|
@@ -274459,11 +274594,14 @@ class Box extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimitive {
|
|
|
274459
274594
|
transform.multiplyTransformTransform(this._localToWorld, this._localToWorld);
|
|
274460
274595
|
return true;
|
|
274461
274596
|
}
|
|
274462
|
-
/**
|
|
274597
|
+
/**
|
|
274598
|
+
* Clone the box and immediately apply `transform` to the local frame of the clone.
|
|
274599
|
+
* * Note that this may make the frame nonrigid.
|
|
274600
|
+
* * This fails if the transformation is singular.
|
|
274601
|
+
*/
|
|
274463
274602
|
cloneTransformed(transform) {
|
|
274464
274603
|
const result = this.clone();
|
|
274465
|
-
|
|
274466
|
-
return result;
|
|
274604
|
+
return result.tryTransformInPlace(transform) ? result : undefined;
|
|
274467
274605
|
}
|
|
274468
274606
|
/**
|
|
274469
274607
|
* Create a new box from vector and size daa.
|
|
@@ -274498,7 +274636,7 @@ class Box extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimitive {
|
|
|
274498
274636
|
}
|
|
274499
274637
|
/**
|
|
274500
274638
|
* Create an axis-aligned `Box` primitive for a range.
|
|
274501
|
-
* @param range range
|
|
274639
|
+
* @param range range low point is origin of base rectangle, range extents are box extents
|
|
274502
274640
|
* @param capped true to define top and bottom closure caps
|
|
274503
274641
|
*/
|
|
274504
274642
|
static createRange(range, capped) {
|
|
@@ -274706,7 +274844,7 @@ class Cone extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimitive {
|
|
|
274706
274844
|
getConstructiveFrame() {
|
|
274707
274845
|
return this._localToWorld.cloneRigid();
|
|
274708
274846
|
}
|
|
274709
|
-
/** Apply the transform to this cone's
|
|
274847
|
+
/** Apply the transform to this cone's local to world coordinates.
|
|
274710
274848
|
* * Note that the radii are not changed. Scaling is absorbed into the frame.
|
|
274711
274849
|
* * This fails if the transformation is singular.
|
|
274712
274850
|
*/
|
|
@@ -274718,11 +274856,11 @@ class Cone extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimitive {
|
|
|
274718
274856
|
}
|
|
274719
274857
|
/**
|
|
274720
274858
|
* Create a clone and immediately transform the clone.
|
|
274859
|
+
* * This fails if the transformation is singular.
|
|
274721
274860
|
*/
|
|
274722
274861
|
cloneTransformed(transform) {
|
|
274723
274862
|
const result = this.clone();
|
|
274724
|
-
|
|
274725
|
-
return result;
|
|
274863
|
+
return result.tryTransformInPlace(transform) ? result : undefined;
|
|
274726
274864
|
}
|
|
274727
274865
|
/** create a cylinder or cone from two endpoints and their radii. The circular cross sections are perpendicular to the axis line
|
|
274728
274866
|
* from start to end point.
|
|
@@ -275021,7 +275159,10 @@ class LinearSweep extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrim
|
|
|
275021
275159
|
clone() {
|
|
275022
275160
|
return new LinearSweep(this._contour.clone(), this._direction.clone(), this.capped);
|
|
275023
275161
|
}
|
|
275024
|
-
/**
|
|
275162
|
+
/**
|
|
275163
|
+
* Apply a transform to the curves and sweep vector
|
|
275164
|
+
* * This fails if the transformation is singular.
|
|
275165
|
+
*/
|
|
275025
275166
|
tryTransformInPlace(transform) {
|
|
275026
275167
|
if (transform.matrix.isSingular())
|
|
275027
275168
|
return false;
|
|
@@ -275039,11 +275180,13 @@ class LinearSweep extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrim
|
|
|
275039
275180
|
getConstructiveFrame() {
|
|
275040
275181
|
return this._contour.localToWorld.cloneRigid();
|
|
275041
275182
|
}
|
|
275042
|
-
/**
|
|
275183
|
+
/**
|
|
275184
|
+
* Return a transformed clone.
|
|
275185
|
+
* * This fails if the transformation is singular.
|
|
275186
|
+
*/
|
|
275043
275187
|
cloneTransformed(transform) {
|
|
275044
275188
|
const result = this.clone();
|
|
275045
|
-
result.tryTransformInPlace(transform);
|
|
275046
|
-
return result;
|
|
275189
|
+
return result.tryTransformInPlace(transform) ? result : undefined;
|
|
275047
275190
|
}
|
|
275048
275191
|
/** Test for near-equality of coordinates in `other` */
|
|
275049
275192
|
isAlmostEqual(other) {
|
|
@@ -275142,7 +275285,12 @@ class RotationalSweep extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.Solid
|
|
|
275142
275285
|
this.capped = capped;
|
|
275143
275286
|
this._sweepAngle = sweepAngle;
|
|
275144
275287
|
}
|
|
275145
|
-
/** Create a rotational sweep.
|
|
275288
|
+
/** Create a rotational sweep.
|
|
275289
|
+
* @param contour profile to sweep, coplanar with axis. CAPTURED
|
|
275290
|
+
* @param axis rotation axis
|
|
275291
|
+
* @param sweepAngle signed angular sweep
|
|
275292
|
+
* @param capped whether to cap the surface to make a solid
|
|
275293
|
+
*/
|
|
275146
275294
|
static create(contour, axis, sweepAngle, capped) {
|
|
275147
275295
|
if (!axis.direction.normalizeInPlace())
|
|
275148
275296
|
return undefined;
|
|
@@ -275187,20 +275335,28 @@ class RotationalSweep extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.Solid
|
|
|
275187
275335
|
clone() {
|
|
275188
275336
|
return new RotationalSweep(this._contour.clone(), this._normalizedAxis.clone(), this._sweepAngle.clone(), this.capped);
|
|
275189
275337
|
}
|
|
275190
|
-
/**
|
|
275338
|
+
/**
|
|
275339
|
+
* Transform the contour and axis.
|
|
275340
|
+
* * This fails if the transformation is singular.
|
|
275341
|
+
*/
|
|
275191
275342
|
tryTransformInPlace(transform) {
|
|
275192
|
-
if (
|
|
275193
|
-
|
|
275343
|
+
if (transform.matrix.isSingular())
|
|
275344
|
+
return false;
|
|
275345
|
+
if (this._contour.tryTransformInPlace(transform)) {
|
|
275194
275346
|
this._normalizedAxis.transformInPlace(transform);
|
|
275347
|
+
if (transform.matrix.determinant() < 0.0)
|
|
275348
|
+
this._sweepAngle.setRadians(-this._sweepAngle.radians);
|
|
275195
275349
|
return this._normalizedAxis.direction.normalizeInPlace();
|
|
275196
275350
|
}
|
|
275197
275351
|
return false;
|
|
275198
275352
|
}
|
|
275199
|
-
/**
|
|
275353
|
+
/**
|
|
275354
|
+
* Return a transformed clone.
|
|
275355
|
+
* * This fails if the transformation is singular.
|
|
275356
|
+
*/
|
|
275200
275357
|
cloneTransformed(transform) {
|
|
275201
275358
|
const result = this.clone();
|
|
275202
|
-
result.tryTransformInPlace(transform);
|
|
275203
|
-
return result;
|
|
275359
|
+
return result.tryTransformInPlace(transform) ? result : undefined;
|
|
275204
275360
|
}
|
|
275205
275361
|
/** Dispatch to strongly typed handler `handler.handleRotationalSweep(this)` */
|
|
275206
275362
|
dispatchToGeometryHandler(handler) {
|
|
@@ -275336,20 +275492,26 @@ class RuledSweep extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimi
|
|
|
275336
275492
|
clone() {
|
|
275337
275493
|
return new RuledSweep(this.cloneSweepContours(), this.capped);
|
|
275338
275494
|
}
|
|
275339
|
-
/**
|
|
275495
|
+
/**
|
|
275496
|
+
* Transform all contours in place.
|
|
275497
|
+
* * This fails if the transformation is singular.
|
|
275498
|
+
*/
|
|
275340
275499
|
tryTransformInPlace(transform) {
|
|
275341
275500
|
if (transform.matrix.isSingular())
|
|
275342
275501
|
return false;
|
|
275343
275502
|
for (const contour of this._contours) {
|
|
275344
|
-
contour.tryTransformInPlace(transform)
|
|
275503
|
+
if (!contour.tryTransformInPlace(transform))
|
|
275504
|
+
return false;
|
|
275345
275505
|
}
|
|
275346
275506
|
return true;
|
|
275347
275507
|
}
|
|
275348
|
-
/**
|
|
275508
|
+
/**
|
|
275509
|
+
* Return a transformed clone.
|
|
275510
|
+
* * This fails if the transformation is singular.
|
|
275511
|
+
*/
|
|
275349
275512
|
cloneTransformed(transform) {
|
|
275350
275513
|
const result = this.clone();
|
|
275351
|
-
result.tryTransformInPlace(transform);
|
|
275352
|
-
return result;
|
|
275514
|
+
return result.tryTransformInPlace(transform) ? result : undefined;
|
|
275353
275515
|
}
|
|
275354
275516
|
/** Return a coordinate frame (right handed unit vectors)
|
|
275355
275517
|
* * origin on base contour
|
|
@@ -275530,12 +275692,12 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
275530
275692
|
/* harmony import */ var _curve_Loop__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../curve/Loop */ "../../core/geometry/lib/esm/curve/Loop.js");
|
|
275531
275693
|
/* harmony import */ var _curve_StrokeOptions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../curve/StrokeOptions */ "../../core/geometry/lib/esm/curve/StrokeOptions.js");
|
|
275532
275694
|
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
275533
|
-
/* harmony import */ var
|
|
275534
|
-
/* harmony import */ var
|
|
275695
|
+
/* harmony import */ var _geometry3d_AngleSweep__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../geometry3d/AngleSweep */ "../../core/geometry/lib/esm/geometry3d/AngleSweep.js");
|
|
275696
|
+
/* harmony import */ var _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../geometry3d/Matrix3d */ "../../core/geometry/lib/esm/geometry3d/Matrix3d.js");
|
|
275535
275697
|
/* harmony import */ var _geometry3d_Plane3dByOriginAndVectors__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../geometry3d/Plane3dByOriginAndVectors */ "../../core/geometry/lib/esm/geometry3d/Plane3dByOriginAndVectors.js");
|
|
275536
275698
|
/* harmony import */ var _geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../geometry3d/Point2dVector2d */ "../../core/geometry/lib/esm/geometry3d/Point2dVector2d.js");
|
|
275537
275699
|
/* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
275538
|
-
/* harmony import */ var
|
|
275700
|
+
/* harmony import */ var _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../geometry3d/Transform */ "../../core/geometry/lib/esm/geometry3d/Transform.js");
|
|
275539
275701
|
/* harmony import */ var _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SolidPrimitive */ "../../core/geometry/lib/esm/solid/SolidPrimitive.js");
|
|
275540
275702
|
/*---------------------------------------------------------------------------------------------
|
|
275541
275703
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
@@ -275579,32 +275741,32 @@ class Sphere extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimitive
|
|
|
275579
275741
|
/** String name for schema properties */
|
|
275580
275742
|
this.solidPrimitiveType = "sphere";
|
|
275581
275743
|
this._localToWorld = localToWorld;
|
|
275582
|
-
this._latitudeSweep = latitudeSweep
|
|
275744
|
+
this._latitudeSweep = latitudeSweep;
|
|
275583
275745
|
this._latitudeSweep.capLatitudeInPlace();
|
|
275584
275746
|
}
|
|
275585
275747
|
/** return a deep clone */
|
|
275586
275748
|
clone() {
|
|
275587
275749
|
return new Sphere(this._localToWorld.clone(), this._latitudeSweep.clone(), this.capped);
|
|
275588
275750
|
}
|
|
275589
|
-
/**
|
|
275751
|
+
/**
|
|
275752
|
+
* Transform the sphere in place.
|
|
275590
275753
|
* * Fails if the transform is singular.
|
|
275591
275754
|
*/
|
|
275592
275755
|
tryTransformInPlace(transform) {
|
|
275593
275756
|
if (transform.matrix.isSingular())
|
|
275594
275757
|
return false;
|
|
275595
275758
|
transform.multiplyTransformTransform(this._localToWorld, this._localToWorld);
|
|
275759
|
+
if (transform.matrix.determinant() < 0.0)
|
|
275760
|
+
this._latitudeSweep.reverseInPlace();
|
|
275596
275761
|
return true;
|
|
275597
275762
|
}
|
|
275598
|
-
/**
|
|
275763
|
+
/**
|
|
275764
|
+
* Return a transformed clone.
|
|
275765
|
+
* * Fails if the transform is singular.
|
|
275766
|
+
*/
|
|
275599
275767
|
cloneTransformed(transform) {
|
|
275600
|
-
const
|
|
275601
|
-
|
|
275602
|
-
if (transform.matrix.determinant() < 0.0) {
|
|
275603
|
-
if (sphere1._latitudeSweep !== undefined) {
|
|
275604
|
-
sphere1._latitudeSweep.reverseInPlace();
|
|
275605
|
-
}
|
|
275606
|
-
}
|
|
275607
|
-
return sphere1;
|
|
275768
|
+
const result = this.clone();
|
|
275769
|
+
return result.tryTransformInPlace(transform) ? result : undefined;
|
|
275608
275770
|
}
|
|
275609
275771
|
/** Return a coordinate frame (right handed, unit axes)
|
|
275610
275772
|
* * origin at sphere center
|
|
@@ -275618,8 +275780,8 @@ class Sphere extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimitive
|
|
|
275618
275780
|
get latitudeSweepFraction() { return this._latitudeSweep.sweepRadians / Math.PI; }
|
|
275619
275781
|
/** Create from center and radius, with optional restricted latitudes. */
|
|
275620
275782
|
static createCenterRadius(center, radius, latitudeSweep) {
|
|
275621
|
-
const localToWorld =
|
|
275622
|
-
return new Sphere(localToWorld, latitudeSweep ? latitudeSweep.clone() :
|
|
275783
|
+
const localToWorld = _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_1__.Transform.createOriginAndMatrix(center, _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_2__.Matrix3d.createUniformScale(radius));
|
|
275784
|
+
return new Sphere(localToWorld, latitudeSweep ? latitudeSweep.clone() : _geometry3d_AngleSweep__WEBPACK_IMPORTED_MODULE_3__.AngleSweep.createFullLatitude(), false);
|
|
275623
275785
|
}
|
|
275624
275786
|
/** Create an ellipsoid which is a unit sphere mapped to position by an (arbitrary, possibly skewed and scaled) transform. */
|
|
275625
275787
|
static createEllipsoid(localToWorld, latitudeSweep, capped) {
|
|
@@ -275629,18 +275791,18 @@ class Sphere extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimitive
|
|
|
275629
275791
|
static createDgnSphere(center, vectorX, vectorZ, radiusXY, radiusZ, latitudeSweep, capped) {
|
|
275630
275792
|
const vectorY = vectorX.rotate90Around(vectorZ);
|
|
275631
275793
|
if (vectorY && !vectorX.isParallelTo(vectorZ)) {
|
|
275632
|
-
const matrix =
|
|
275794
|
+
const matrix = _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_2__.Matrix3d.createColumns(vectorX, vectorY, vectorZ);
|
|
275633
275795
|
matrix.scaleColumns(radiusXY, radiusXY, radiusZ, matrix);
|
|
275634
|
-
const frame =
|
|
275796
|
+
const frame = _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_1__.Transform.createOriginAndMatrix(center, matrix);
|
|
275635
275797
|
return new Sphere(frame, latitudeSweep.clone(), capped);
|
|
275636
275798
|
}
|
|
275637
275799
|
return undefined;
|
|
275638
275800
|
}
|
|
275639
275801
|
/** Create a sphere from the typical parameters of the Dgn file */
|
|
275640
275802
|
static createFromAxesAndScales(center, axes, radiusX, radiusY, radiusZ, latitudeSweep, capped) {
|
|
275641
|
-
const localToWorld =
|
|
275803
|
+
const localToWorld = _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_1__.Transform.createOriginAndMatrix(center, axes);
|
|
275642
275804
|
localToWorld.matrix.scaleColumnsInPlace(radiusX, radiusY, radiusZ);
|
|
275643
|
-
return new Sphere(localToWorld, latitudeSweep ? latitudeSweep.clone() :
|
|
275805
|
+
return new Sphere(localToWorld, latitudeSweep ? latitudeSweep.clone() : _geometry3d_AngleSweep__WEBPACK_IMPORTED_MODULE_3__.AngleSweep.createFullLatitude(), capped);
|
|
275644
275806
|
}
|
|
275645
275807
|
/** return (copy of) sphere center */
|
|
275646
275808
|
cloneCenter() { return this._localToWorld.getOrigin(); }
|
|
@@ -275686,10 +275848,16 @@ class Sphere extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimitive
|
|
|
275686
275848
|
return false;
|
|
275687
275849
|
}
|
|
275688
275850
|
/**
|
|
275689
|
-
*
|
|
275690
|
-
* *
|
|
275691
|
-
*
|
|
275692
|
-
*
|
|
275851
|
+
* Return strokes for the elliptical arc cross-section at latitude sweep fraction v.
|
|
275852
|
+
* * Optional inputs control the number of strokes along the cross-section:
|
|
275853
|
+
* * If `fixedStrokeCount` is supplied, it is taken as the cross-section stroke count.
|
|
275854
|
+
* * If `fixedStrokeCount` is undefined, stroke count is computed by applying `options` to the cross-section.
|
|
275855
|
+
* * If neither input is supplied, the stroke count default is 16.
|
|
275856
|
+
* * In any case, stroke count is clamped to the interval [4,64].
|
|
275857
|
+
* @param v fractional position along the sphere axis
|
|
275858
|
+
* @param fixedStrokeCount optional stroke count in u-direction
|
|
275859
|
+
* @param options optional stroke options in u-direction
|
|
275860
|
+
* @return strokes as line string
|
|
275693
275861
|
*/
|
|
275694
275862
|
strokeConstantVSection(v, fixedStrokeCount, options) {
|
|
275695
275863
|
let strokeCount = 16;
|
|
@@ -275705,7 +275873,7 @@ class Sphere extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimitive
|
|
|
275705
275873
|
const c1 = Math.cos(phi);
|
|
275706
275874
|
const s1 = Math.sin(phi);
|
|
275707
275875
|
let c0, s0;
|
|
275708
|
-
const result = _curve_LineString3d__WEBPACK_IMPORTED_MODULE_6__.LineString3d.createForStrokes(
|
|
275876
|
+
const result = _curve_LineString3d__WEBPACK_IMPORTED_MODULE_6__.LineString3d.createForStrokes(strokeCount, options);
|
|
275709
275877
|
const deltaRadians = Math.PI * 2.0 / strokeCount;
|
|
275710
275878
|
const fractions = result.fractions; // possibly undefined !!!
|
|
275711
275879
|
const derivatives = result.packedDerivatives; // possibly undefined !!!
|
|
@@ -275932,7 +276100,7 @@ class SweepContour {
|
|
|
275932
276100
|
return undefined;
|
|
275933
276101
|
}
|
|
275934
276102
|
/** Create for rotational sweep.
|
|
275935
|
-
* @param contour curve to sweep, CAPTURED. For best results, contour should be
|
|
276103
|
+
* @param contour curve to sweep, CAPTURED. For best results, contour should be coplanar with axis.
|
|
275936
276104
|
* @param axis rotation axis
|
|
275937
276105
|
*/
|
|
275938
276106
|
static createForRotation(contour, axis) {
|
|
@@ -276190,19 +276358,23 @@ class TorusPipe extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimit
|
|
|
276190
276358
|
result._isReversed = this._isReversed;
|
|
276191
276359
|
return result;
|
|
276192
276360
|
}
|
|
276193
|
-
/**
|
|
276361
|
+
/**
|
|
276362
|
+
* Apply `transform` to the local coordinate system.
|
|
276363
|
+
* * Fails if the transformation is singular.
|
|
276364
|
+
*/
|
|
276194
276365
|
tryTransformInPlace(transform) {
|
|
276195
276366
|
if (transform.matrix.isSingular())
|
|
276196
276367
|
return false;
|
|
276197
276368
|
transform.multiplyTransformTransform(this._localToWorld, this._localToWorld);
|
|
276198
276369
|
return true;
|
|
276199
276370
|
}
|
|
276200
|
-
/**
|
|
276371
|
+
/**
|
|
276372
|
+
* Clone this TorusPipe and transform the clone.
|
|
276373
|
+
* * Fails if the transformation is singular.
|
|
276374
|
+
*/
|
|
276201
276375
|
cloneTransformed(transform) {
|
|
276202
276376
|
const result = this.clone();
|
|
276203
|
-
|
|
276204
|
-
return undefined;
|
|
276205
|
-
return result;
|
|
276377
|
+
return result.tryTransformInPlace(transform) ? result : undefined;
|
|
276206
276378
|
}
|
|
276207
276379
|
/** Create a new `TorusPipe`
|
|
276208
276380
|
* @param frame local to world transformation. For best results, the matrix part should be a pure rotation.
|
|
@@ -304022,7 +304194,7 @@ class TestContext {
|
|
|
304022
304194
|
this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
|
|
304023
304195
|
const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? ""}api.bentley.com/imodels` } });
|
|
304024
304196
|
await core_frontend_1.NoRenderApp.startup({
|
|
304025
|
-
applicationVersion: "5.0.0-dev.
|
|
304197
|
+
applicationVersion: "5.0.0-dev.6",
|
|
304026
304198
|
applicationId: this.settings.gprid,
|
|
304027
304199
|
authorizationClient: new frontend_1.TestFrontendAuthorizationClient(this.adminUserAccessToken),
|
|
304028
304200
|
hubAccess: new imodels_access_frontend_1.FrontendIModelsAccess(iModelClient),
|
|
@@ -308745,8 +308917,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
308745
308917
|
/* harmony export */ });
|
|
308746
308918
|
/* harmony import */ var _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");
|
|
308747
308919
|
/* harmony import */ var _Content__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Content */ "../../presentation/common/lib/esm/presentation-common/content/Content.js");
|
|
308748
|
-
/* harmony import */ var
|
|
308749
|
-
/* harmony import */ var _Value__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Value */ "../../presentation/common/lib/esm/presentation-common/content/Value.js");
|
|
308920
|
+
/* harmony import */ var _Value__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Value */ "../../presentation/common/lib/esm/presentation-common/content/Value.js");
|
|
308750
308921
|
/*---------------------------------------------------------------------------------------------
|
|
308751
308922
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
308752
308923
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -308757,7 +308928,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
308757
308928
|
|
|
308758
308929
|
|
|
308759
308930
|
|
|
308760
|
-
|
|
308761
308931
|
/** @internal */
|
|
308762
308932
|
class ContentFormatter {
|
|
308763
308933
|
constructor(_propertyValueFormatter, _unitSystem) {
|
|
@@ -308788,7 +308958,7 @@ class ContentFormatter {
|
|
|
308788
308958
|
}
|
|
308789
308959
|
// format display values of nested content field
|
|
308790
308960
|
if (field.isNestedContentField()) {
|
|
308791
|
-
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(
|
|
308961
|
+
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(_Value__WEBPACK_IMPORTED_MODULE_2__.Value.isNestedContent(value));
|
|
308792
308962
|
await this.formatNestedContentDisplayValues(value, field.nestedFields);
|
|
308793
308963
|
continue;
|
|
308794
308964
|
}
|
|
@@ -308807,11 +308977,11 @@ class ContentFormatter {
|
|
|
308807
308977
|
}
|
|
308808
308978
|
async formatPropertyValue(value, field) {
|
|
308809
308979
|
if (field.isArrayPropertiesField()) {
|
|
308810
|
-
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(
|
|
308980
|
+
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(_Value__WEBPACK_IMPORTED_MODULE_2__.Value.isArray(value));
|
|
308811
308981
|
return this.formatArrayItems(value, field);
|
|
308812
308982
|
}
|
|
308813
308983
|
if (field.isStructPropertiesField()) {
|
|
308814
|
-
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(
|
|
308984
|
+
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(_Value__WEBPACK_IMPORTED_MODULE_2__.Value.isMap(value));
|
|
308815
308985
|
return this.formatStructMembers(value, field);
|
|
308816
308986
|
}
|
|
308817
308987
|
return this._propertyValueFormatter.formatPropertyValue(field, value, this._unitSystem);
|
|
@@ -308843,67 +309013,76 @@ class ContentPropertyValueFormatter {
|
|
|
308843
309013
|
return formatDouble(rawValue);
|
|
308844
309014
|
}
|
|
308845
309015
|
: async (rawValue) => formatDouble(rawValue);
|
|
308846
|
-
return this.formatValue(field
|
|
309016
|
+
return this.formatValue(field, value, { doubleFormatter });
|
|
308847
309017
|
}
|
|
308848
|
-
async formatValue(
|
|
308849
|
-
|
|
308850
|
-
|
|
308851
|
-
return this.
|
|
308852
|
-
|
|
308853
|
-
|
|
308854
|
-
|
|
308855
|
-
|
|
309018
|
+
async formatValue(field, value, ctx) {
|
|
309019
|
+
if (field.isPropertiesField()) {
|
|
309020
|
+
if (field.isArrayPropertiesField()) {
|
|
309021
|
+
return this.formatArrayValue(field, value);
|
|
309022
|
+
}
|
|
309023
|
+
if (field.isStructPropertiesField()) {
|
|
309024
|
+
return this.formatStructValue(field, value);
|
|
309025
|
+
}
|
|
308856
309026
|
}
|
|
309027
|
+
return this.formatPrimitiveValue(field, value, ctx);
|
|
308857
309028
|
}
|
|
308858
|
-
async formatPrimitiveValue(
|
|
309029
|
+
async formatPrimitiveValue(field, value, ctx) {
|
|
308859
309030
|
if (value === undefined) {
|
|
308860
309031
|
return "";
|
|
308861
309032
|
}
|
|
308862
309033
|
const formatDoubleValue = async (raw) => (ctx ? ctx.doubleFormatter(raw) : formatDouble(raw));
|
|
308863
|
-
if (type.typeName === "point2d" && isPoint2d(value)) {
|
|
309034
|
+
if (field.type.typeName === "point2d" && isPoint2d(value)) {
|
|
308864
309035
|
return `X: ${await formatDoubleValue(value.x)}; Y: ${await formatDoubleValue(value.y)}`;
|
|
308865
309036
|
}
|
|
308866
|
-
if (type.typeName === "point3d" && isPoint3d(value)) {
|
|
309037
|
+
if (field.type.typeName === "point3d" && isPoint3d(value)) {
|
|
308867
309038
|
return `X: ${await formatDoubleValue(value.x)}; Y: ${await formatDoubleValue(value.y)}; Z: ${await formatDoubleValue(value.z)}`;
|
|
308868
309039
|
}
|
|
308869
|
-
if (type.typeName === "dateTime") {
|
|
309040
|
+
if (field.type.typeName === "dateTime") {
|
|
308870
309041
|
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(typeof value === "string");
|
|
308871
309042
|
return value;
|
|
308872
309043
|
}
|
|
308873
|
-
if (type.typeName === "bool" || type.typeName === "boolean") {
|
|
309044
|
+
if (field.type.typeName === "bool" || field.type.typeName === "boolean") {
|
|
308874
309045
|
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(typeof value === "boolean");
|
|
308875
309046
|
return value ? "@Presentation:value.true@" : "@Presentation:value.false@";
|
|
308876
309047
|
}
|
|
308877
|
-
if (type.typeName === "int" || type.typeName === "long") {
|
|
309048
|
+
if (field.type.typeName === "int" || field.type.typeName === "long") {
|
|
308878
309049
|
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(isNumber(value));
|
|
308879
309050
|
return value.toFixed(0);
|
|
308880
309051
|
}
|
|
308881
|
-
if (type.typeName === "double") {
|
|
309052
|
+
if (field.type.typeName === "double") {
|
|
308882
309053
|
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(isNumber(value));
|
|
308883
309054
|
return formatDoubleValue(value);
|
|
308884
309055
|
}
|
|
308885
|
-
if (type.typeName === "navigation") {
|
|
308886
|
-
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(
|
|
309056
|
+
if (field.type.typeName === "navigation") {
|
|
309057
|
+
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(_Value__WEBPACK_IMPORTED_MODULE_2__.Value.isNavigationValue(value));
|
|
308887
309058
|
return value.label.displayValue;
|
|
308888
309059
|
}
|
|
309060
|
+
if (field.type.typeName === "enum" && field.isPropertiesField()) {
|
|
309061
|
+
const defaultValue = !field.properties[0].property.enumerationInfo?.isStrict
|
|
309062
|
+
? value.toString() // eslint-disable-line @typescript-eslint/no-base-to-string
|
|
309063
|
+
: undefined;
|
|
309064
|
+
return field.properties[0].property.enumerationInfo?.choices.find(({ value: enumValue }) => enumValue === value)?.label ?? defaultValue;
|
|
309065
|
+
}
|
|
308889
309066
|
// eslint-disable-next-line @typescript-eslint/no-base-to-string
|
|
308890
309067
|
return value.toString();
|
|
308891
309068
|
}
|
|
308892
|
-
async formatStructValue(
|
|
308893
|
-
if (!
|
|
309069
|
+
async formatStructValue(field, value) {
|
|
309070
|
+
if (!_Value__WEBPACK_IMPORTED_MODULE_2__.Value.isMap(value)) {
|
|
308894
309071
|
return {};
|
|
308895
309072
|
}
|
|
308896
309073
|
const formattedMember = {};
|
|
308897
|
-
for (const member of
|
|
308898
|
-
formattedMember[member.name] = await this.formatValue(member
|
|
309074
|
+
for (const member of field.memberFields) {
|
|
309075
|
+
formattedMember[member.name] = await this.formatValue(member, value[member.name]);
|
|
308899
309076
|
}
|
|
308900
309077
|
return formattedMember;
|
|
308901
309078
|
}
|
|
308902
|
-
async formatArrayValue(
|
|
308903
|
-
if (!
|
|
309079
|
+
async formatArrayValue(field, value) {
|
|
309080
|
+
if (!_Value__WEBPACK_IMPORTED_MODULE_2__.Value.isArray(value)) {
|
|
308904
309081
|
return [];
|
|
308905
309082
|
}
|
|
308906
|
-
return Promise.all(value.map(async (arrayVal) =>
|
|
309083
|
+
return Promise.all(value.map(async (arrayVal) => {
|
|
309084
|
+
return this.formatValue(field.itemsField, arrayVal);
|
|
309085
|
+
}));
|
|
308907
309086
|
}
|
|
308908
309087
|
}
|
|
308909
309088
|
function formatDouble(value) {
|
|
@@ -312494,13 +312673,13 @@ class FavoritePropertiesManager {
|
|
|
312494
312673
|
if (missingClasses.size === 0) {
|
|
312495
312674
|
return baseClasses;
|
|
312496
312675
|
}
|
|
312497
|
-
const query = `
|
|
312498
|
-
SELECT (derivedSchema.Name || ':' || derivedClass.Name) AS "ClassFullName", (baseSchema.Name || ':' || baseClass.Name) AS "BaseClassFullName"
|
|
312499
|
-
FROM ECDbMeta.ClassHasAllBaseClasses baseClassRels
|
|
312500
|
-
INNER JOIN ECDbMeta.ECClassDef derivedClass ON derivedClass.ECInstanceId = baseClassRels.SourceECInstanceId
|
|
312501
|
-
INNER JOIN ECDbMeta.ECSchemaDef derivedSchema ON derivedSchema.ECInstanceId = derivedClass.Schema.Id
|
|
312502
|
-
INNER JOIN ECDbMeta.ECClassDef baseClass ON baseClass.ECInstanceId = baseClassRels.TargetECInstanceId
|
|
312503
|
-
INNER JOIN ECDbMeta.ECSchemaDef baseSchema ON baseSchema.ECInstanceId = baseClass.Schema.Id
|
|
312676
|
+
const query = `
|
|
312677
|
+
SELECT (derivedSchema.Name || ':' || derivedClass.Name) AS "ClassFullName", (baseSchema.Name || ':' || baseClass.Name) AS "BaseClassFullName"
|
|
312678
|
+
FROM ECDbMeta.ClassHasAllBaseClasses baseClassRels
|
|
312679
|
+
INNER JOIN ECDbMeta.ECClassDef derivedClass ON derivedClass.ECInstanceId = baseClassRels.SourceECInstanceId
|
|
312680
|
+
INNER JOIN ECDbMeta.ECSchemaDef derivedSchema ON derivedSchema.ECInstanceId = derivedClass.Schema.Id
|
|
312681
|
+
INNER JOIN ECDbMeta.ECClassDef baseClass ON baseClass.ECInstanceId = baseClassRels.TargetECInstanceId
|
|
312682
|
+
INNER JOIN ECDbMeta.ECSchemaDef baseSchema ON baseSchema.ECInstanceId = baseClass.Schema.Id
|
|
312504
312683
|
WHERE (derivedSchema.Name || ':' || derivedClass.Name) IN (${[...missingClasses].map((className) => `'${className}'`).join(",")})`;
|
|
312505
312684
|
const reader = imodel.createQueryReader(query, undefined, { rowFormat: _itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.QueryRowFormat.UseJsPropertyNames });
|
|
312506
312685
|
while (await reader.step()) {
|
|
@@ -331591,7 +331770,7 @@ function __disposeResources(env) {
|
|
|
331591
331770
|
/***/ ((module) => {
|
|
331592
331771
|
|
|
331593
331772
|
"use strict";
|
|
331594
|
-
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"5.0.0-dev.
|
|
331773
|
+
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"5.0.0-dev.6","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s webpackWorkers && npm run -s copy:workers","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2020 --outDir lib/esm","clean":"rimraf lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","docs":"betools docs --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-inline-config -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint \\"./src/**/*.ts\\" 1>&2","lint-fix":"eslint --fix -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run webpackTestWorker && vitest --run","cover":"npm run webpackTestWorker && vitest --run --coverage","test:debug":"vitest --run","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && npm run -s webpackTestWorker","webpackTestWorker":"webpack --config ./src/test/worker/webpack.config.js 1>&2 && cpx \\"./lib/test/test-worker.js\\" ./lib/test","webpackWorkers":"webpack --config ./src/workers/ImdlParser/webpack.config.js 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:^5.0.0-dev.6","@itwin/core-bentley":"workspace:^5.0.0-dev.6","@itwin/core-common":"workspace:^5.0.0-dev.6","@itwin/core-geometry":"workspace:^5.0.0-dev.6","@itwin/core-orbitgt":"workspace:^5.0.0-dev.6","@itwin/core-quantity":"workspace:^5.0.0-dev.6"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/eslint-plugin":"5.0.0-dev.1","@types/chai-as-promised":"^7","@vitest/browser":"^2.1.0","@vitest/coverage-v8":"^2.1.0","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","cpx2":"^3.0.0","eslint":"^9.13.0","glob":"^10.3.12","playwright":"~1.47.1","rimraf":"^3.0.2","source-map-loader":"^4.0.0","typescript":"~5.6.2","typemoq":"^2.1.0","vitest":"^2.1.0","vite-multiple-assets":"^1.3.1","vite-plugin-static-copy":"1.0.6","webpack":"^5.76.0"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/cloud-agnostic-core":"^2.2.4","@itwin/object-storage-core":"^2.2.5","@itwin/core-i18n":"workspace:*","@itwin/core-telemetry":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","meshoptimizer":"~0.20.0","wms-capabilities":"0.4.0"}}');
|
|
331595
331774
|
|
|
331596
331775
|
/***/ }),
|
|
331597
331776
|
|
|
@@ -332510,7 +332689,7 @@ describe("Snapping", () => {
|
|
|
332510
332689
|
}
|
|
332511
332690
|
catch (err) {
|
|
332512
332691
|
// This is what we expect if the cancellation occurs in time to really cancel the snap.
|
|
332513
|
-
expect(err.message).to.equal("
|
|
332692
|
+
expect(err.message).to.equal("Unknown server response code.");
|
|
332514
332693
|
}
|
|
332515
332694
|
});
|
|
332516
332695
|
});
|