@itwin/ecschema-rpcinterface-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.
- package/lib/dist/bundled-tests.js +613 -447
- package/lib/dist/bundled-tests.js.map +1 -1
- package/package.json +16 -16
|
@@ -45587,7 +45587,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
45587
45587
|
/* harmony export */ "AnalysisStyleThematic": () => (/* reexport safe */ _AnalysisStyle__WEBPACK_IMPORTED_MODULE_1__.AnalysisStyleThematic),
|
|
45588
45588
|
/* harmony export */ "AreaPattern": () => (/* reexport safe */ _geometry_AreaPattern__WEBPACK_IMPORTED_MODULE_42__.AreaPattern),
|
|
45589
45589
|
/* harmony export */ "Atmosphere": () => (/* reexport safe */ _Atmosphere__WEBPACK_IMPORTED_MODULE_7__.Atmosphere),
|
|
45590
|
-
/* harmony export */ "B3dmHeader": () => (/* reexport safe */
|
|
45590
|
+
/* harmony export */ "B3dmHeader": () => (/* reexport safe */ _tile_B3dmTileIO__WEBPACK_IMPORTED_MODULE_148__.B3dmHeader),
|
|
45591
45591
|
/* harmony export */ "BRepEntity": () => (/* reexport safe */ _geometry_GeometryStream__WEBPACK_IMPORTED_MODULE_50__.BRepEntity),
|
|
45592
45592
|
/* harmony export */ "BRepGeometryOperation": () => (/* reexport safe */ _geometry_ElementGeometry__WEBPACK_IMPORTED_MODULE_46__.BRepGeometryOperation),
|
|
45593
45593
|
/* harmony export */ "BackendError": () => (/* reexport safe */ _IModelError__WEBPACK_IMPORTED_MODULE_68__.BackendError),
|
|
@@ -45599,9 +45599,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
45599
45599
|
/* harmony export */ "BaseLayerSettings": () => (/* reexport safe */ _MapImagerySettings__WEBPACK_IMPORTED_MODULE_79__.BaseLayerSettings),
|
|
45600
45600
|
/* harmony export */ "BaseMapLayerSettings": () => (/* reexport safe */ _MapLayerSettings__WEBPACK_IMPORTED_MODULE_80__.BaseMapLayerSettings),
|
|
45601
45601
|
/* harmony export */ "BatchType": () => (/* reexport safe */ _FeatureTable__WEBPACK_IMPORTED_MODULE_36__.BatchType),
|
|
45602
|
-
/* harmony export */ "BentleyCloudRpcConfiguration": () => (/* reexport safe */
|
|
45603
|
-
/* harmony export */ "BentleyCloudRpcManager": () => (/* reexport safe */
|
|
45604
|
-
/* harmony export */ "BentleyCloudRpcProtocol": () => (/* reexport safe */
|
|
45602
|
+
/* harmony export */ "BentleyCloudRpcConfiguration": () => (/* reexport safe */ _rpc_web_BentleyCloudRpcManager__WEBPACK_IMPORTED_MODULE_141__.BentleyCloudRpcConfiguration),
|
|
45603
|
+
/* harmony export */ "BentleyCloudRpcManager": () => (/* reexport safe */ _rpc_web_BentleyCloudRpcManager__WEBPACK_IMPORTED_MODULE_141__.BentleyCloudRpcManager),
|
|
45604
|
+
/* harmony export */ "BentleyCloudRpcProtocol": () => (/* reexport safe */ _rpc_web_BentleyCloudRpcProtocol__WEBPACK_IMPORTED_MODULE_142__.BentleyCloudRpcProtocol),
|
|
45605
45605
|
/* harmony export */ "BentleyError": () => (/* reexport safe */ _IModelError__WEBPACK_IMPORTED_MODULE_68__.BentleyError),
|
|
45606
45606
|
/* harmony export */ "BentleyStatus": () => (/* reexport safe */ _IModelError__WEBPACK_IMPORTED_MODULE_68__.BentleyStatus),
|
|
45607
45607
|
/* harmony export */ "BisCodeSpec": () => (/* reexport safe */ _Code__WEBPACK_IMPORTED_MODULE_18__.BisCodeSpec),
|
|
@@ -45629,11 +45629,11 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
45629
45629
|
/* harmony export */ "ColorDef": () => (/* reexport safe */ _ColorDef__WEBPACK_IMPORTED_MODULE_20__.ColorDef),
|
|
45630
45630
|
/* harmony export */ "ColorIndex": () => (/* reexport safe */ _FeatureIndex__WEBPACK_IMPORTED_MODULE_34__.ColorIndex),
|
|
45631
45631
|
/* harmony export */ "CommonLoggerCategory": () => (/* reexport safe */ _CommonLoggerCategory__WEBPACK_IMPORTED_MODULE_21__.CommonLoggerCategory),
|
|
45632
|
-
/* harmony export */ "CompositeTileHeader": () => (/* reexport safe */
|
|
45632
|
+
/* harmony export */ "CompositeTileHeader": () => (/* reexport safe */ _tile_CompositeTileIO__WEBPACK_IMPORTED_MODULE_149__.CompositeTileHeader),
|
|
45633
45633
|
/* harmony export */ "ConcreteEntityTypes": () => (/* reexport safe */ _EntityReference__WEBPACK_IMPORTED_MODULE_32__.ConcreteEntityTypes),
|
|
45634
45634
|
/* harmony export */ "ConflictingLocksError": () => (/* reexport safe */ _IModelError__WEBPACK_IMPORTED_MODULE_68__.ConflictingLocksError),
|
|
45635
|
-
/* harmony export */ "ContentFlags": () => (/* reexport safe */
|
|
45636
|
-
/* harmony export */ "ContentIdProvider": () => (/* reexport safe */
|
|
45635
|
+
/* harmony export */ "ContentFlags": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.ContentFlags),
|
|
45636
|
+
/* harmony export */ "ContentIdProvider": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.ContentIdProvider),
|
|
45637
45637
|
/* harmony export */ "ContextRealityModel": () => (/* reexport safe */ _ContextRealityModel__WEBPACK_IMPORTED_MODULE_22__.ContextRealityModel),
|
|
45638
45638
|
/* harmony export */ "ContextRealityModelProps": () => (/* reexport safe */ _ContextRealityModel__WEBPACK_IMPORTED_MODULE_22__.ContextRealityModelProps),
|
|
45639
45639
|
/* harmony export */ "ContextRealityModels": () => (/* reexport safe */ _ContextRealityModel__WEBPACK_IMPORTED_MODULE_22__.ContextRealityModels),
|
|
@@ -45641,7 +45641,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
45641
45641
|
/* harmony export */ "ContourDisplay": () => (/* reexport safe */ _ContourDisplay__WEBPACK_IMPORTED_MODULE_113__.ContourDisplay),
|
|
45642
45642
|
/* harmony export */ "ContourGroup": () => (/* reexport safe */ _ContourDisplay__WEBPACK_IMPORTED_MODULE_113__.ContourGroup),
|
|
45643
45643
|
/* harmony export */ "ContourStyle": () => (/* reexport safe */ _ContourDisplay__WEBPACK_IMPORTED_MODULE_113__.ContourStyle),
|
|
45644
|
-
/* harmony export */ "CurrentImdlVersion": () => (/* reexport safe */
|
|
45644
|
+
/* harmony export */ "CurrentImdlVersion": () => (/* reexport safe */ _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_153__.CurrentImdlVersion),
|
|
45645
45645
|
/* harmony export */ "CutStyle": () => (/* reexport safe */ _ClipStyle__WEBPACK_IMPORTED_MODULE_17__.CutStyle),
|
|
45646
45646
|
/* harmony export */ "DbQueryError": () => (/* reexport safe */ _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_87__.DbQueryError),
|
|
45647
45647
|
/* harmony export */ "DbRequestKind": () => (/* reexport safe */ _ConcurrentQuery__WEBPACK_IMPORTED_MODULE_87__.DbRequestKind),
|
|
@@ -45678,7 +45678,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
45678
45678
|
/* harmony export */ "FeatureOverrideType": () => (/* reexport safe */ _EmphasizeElementsProps__WEBPACK_IMPORTED_MODULE_30__.FeatureOverrideType),
|
|
45679
45679
|
/* harmony export */ "FeatureOverrides": () => (/* reexport safe */ _FeatureSymbology__WEBPACK_IMPORTED_MODULE_35__.FeatureOverrides),
|
|
45680
45680
|
/* harmony export */ "FeatureTable": () => (/* reexport safe */ _FeatureTable__WEBPACK_IMPORTED_MODULE_36__.FeatureTable),
|
|
45681
|
-
/* harmony export */ "FeatureTableHeader": () => (/* reexport safe */
|
|
45681
|
+
/* harmony export */ "FeatureTableHeader": () => (/* reexport safe */ _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_153__.FeatureTableHeader),
|
|
45682
45682
|
/* harmony export */ "FillDisplay": () => (/* reexport safe */ _GeometryParams__WEBPACK_IMPORTED_MODULE_57__.FillDisplay),
|
|
45683
45683
|
/* harmony export */ "FillFlags": () => (/* reexport safe */ _GraphicParams__WEBPACK_IMPORTED_MODULE_60__.FillFlags),
|
|
45684
45684
|
/* harmony export */ "FontMap": () => (/* reexport safe */ _Fonts__WEBPACK_IMPORTED_MODULE_37__.FontMap),
|
|
@@ -45702,10 +45702,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
45702
45702
|
/* harmony export */ "GeometryStreamFlags": () => (/* reexport safe */ _geometry_GeometryStream__WEBPACK_IMPORTED_MODULE_50__.GeometryStreamFlags),
|
|
45703
45703
|
/* harmony export */ "GeometryStreamIterator": () => (/* reexport safe */ _geometry_GeometryStream__WEBPACK_IMPORTED_MODULE_50__.GeometryStreamIterator),
|
|
45704
45704
|
/* harmony export */ "GeometrySummaryVerbosity": () => (/* reexport safe */ _GeometrySummary__WEBPACK_IMPORTED_MODULE_58__.GeometrySummaryVerbosity),
|
|
45705
|
-
/* harmony export */ "GlbHeader": () => (/* reexport safe */
|
|
45705
|
+
/* harmony export */ "GlbHeader": () => (/* reexport safe */ _tile_GltfTileIO__WEBPACK_IMPORTED_MODULE_151__.GlbHeader),
|
|
45706
45706
|
/* harmony export */ "GlobeMode": () => (/* reexport safe */ _BackgroundMapSettings__WEBPACK_IMPORTED_MODULE_10__.GlobeMode),
|
|
45707
|
-
/* harmony export */ "GltfV2ChunkTypes": () => (/* reexport safe */
|
|
45708
|
-
/* harmony export */ "GltfVersions": () => (/* reexport safe */
|
|
45707
|
+
/* harmony export */ "GltfV2ChunkTypes": () => (/* reexport safe */ _tile_GltfTileIO__WEBPACK_IMPORTED_MODULE_151__.GltfV2ChunkTypes),
|
|
45708
|
+
/* harmony export */ "GltfVersions": () => (/* reexport safe */ _tile_GltfTileIO__WEBPACK_IMPORTED_MODULE_151__.GltfVersions),
|
|
45709
45709
|
/* harmony export */ "Gradient": () => (/* reexport safe */ _Gradient__WEBPACK_IMPORTED_MODULE_59__.Gradient),
|
|
45710
45710
|
/* harmony export */ "GraphicParams": () => (/* reexport safe */ _GraphicParams__WEBPACK_IMPORTED_MODULE_60__.GraphicParams),
|
|
45711
45711
|
/* harmony export */ "GridFileDefinition": () => (/* reexport safe */ _geometry_GeodeticDatum__WEBPACK_IMPORTED_MODULE_48__.GridFileDefinition),
|
|
@@ -45721,7 +45721,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
45721
45721
|
/* harmony export */ "Hilite": () => (/* reexport safe */ _Hilite__WEBPACK_IMPORTED_MODULE_63__.Hilite),
|
|
45722
45722
|
/* harmony export */ "HorizontalCRS": () => (/* reexport safe */ _geometry_CoordinateReferenceSystem__WEBPACK_IMPORTED_MODULE_45__.HorizontalCRS),
|
|
45723
45723
|
/* harmony export */ "HorizontalCRSExtent": () => (/* reexport safe */ _geometry_CoordinateReferenceSystem__WEBPACK_IMPORTED_MODULE_45__.HorizontalCRSExtent),
|
|
45724
|
-
/* harmony export */ "I3dmHeader": () => (/* reexport safe */
|
|
45724
|
+
/* harmony export */ "I3dmHeader": () => (/* reexport safe */ _tile_I3dmTileIO__WEBPACK_IMPORTED_MODULE_152__.I3dmHeader),
|
|
45725
45725
|
/* harmony export */ "IModel": () => (/* reexport safe */ _IModel__WEBPACK_IMPORTED_MODULE_67__.IModel),
|
|
45726
45726
|
/* harmony export */ "IModelError": () => (/* reexport safe */ _IModelError__WEBPACK_IMPORTED_MODULE_68__.IModelError),
|
|
45727
45727
|
/* harmony export */ "IModelNotFoundResponse": () => (/* reexport safe */ _rpc_IModelReadRpcInterface__WEBPACK_IMPORTED_MODULE_136__.IModelNotFoundResponse),
|
|
@@ -45738,8 +45738,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
45738
45738
|
/* harmony export */ "ImageMapLayerSettings": () => (/* reexport safe */ _MapLayerSettings__WEBPACK_IMPORTED_MODULE_80__.ImageMapLayerSettings),
|
|
45739
45739
|
/* harmony export */ "ImageSource": () => (/* reexport safe */ _Image__WEBPACK_IMPORTED_MODULE_66__.ImageSource),
|
|
45740
45740
|
/* harmony export */ "ImageSourceFormat": () => (/* reexport safe */ _Image__WEBPACK_IMPORTED_MODULE_66__.ImageSourceFormat),
|
|
45741
|
-
/* harmony export */ "ImdlFlags": () => (/* reexport safe */
|
|
45742
|
-
/* harmony export */ "ImdlHeader": () => (/* reexport safe */
|
|
45741
|
+
/* harmony export */ "ImdlFlags": () => (/* reexport safe */ _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_153__.ImdlFlags),
|
|
45742
|
+
/* harmony export */ "ImdlHeader": () => (/* reexport safe */ _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_153__.ImdlHeader),
|
|
45743
45743
|
/* harmony export */ "InUseLocksError": () => (/* reexport safe */ _ITwinError__WEBPACK_IMPORTED_MODULE_70__.InUseLocksError),
|
|
45744
45744
|
/* harmony export */ "InternetConnectivityStatus": () => (/* reexport safe */ _NativeAppProps__WEBPACK_IMPORTED_MODULE_85__.InternetConnectivityStatus),
|
|
45745
45745
|
/* harmony export */ "Interpolation": () => (/* reexport safe */ _Tween__WEBPACK_IMPORTED_MODULE_116__.Interpolation),
|
|
@@ -45792,7 +45792,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
45792
45792
|
/* harmony export */ "PlanarClipMaskMode": () => (/* reexport safe */ _PlanarClipMask__WEBPACK_IMPORTED_MODULE_89__.PlanarClipMaskMode),
|
|
45793
45793
|
/* harmony export */ "PlanarClipMaskPriority": () => (/* reexport safe */ _PlanarClipMask__WEBPACK_IMPORTED_MODULE_89__.PlanarClipMaskPriority),
|
|
45794
45794
|
/* harmony export */ "PlanarClipMaskSettings": () => (/* reexport safe */ _PlanarClipMask__WEBPACK_IMPORTED_MODULE_89__.PlanarClipMaskSettings),
|
|
45795
|
-
/* harmony export */ "PntsHeader": () => (/* reexport safe */
|
|
45795
|
+
/* harmony export */ "PntsHeader": () => (/* reexport safe */ _tile_PntsTileIO__WEBPACK_IMPORTED_MODULE_154__.PntsHeader),
|
|
45796
45796
|
/* harmony export */ "PointCloudDisplaySettings": () => (/* reexport safe */ _RealityModelDisplaySettings__WEBPACK_IMPORTED_MODULE_95__.PointCloudDisplaySettings),
|
|
45797
45797
|
/* harmony export */ "PolylineEdgeArgs": () => (/* reexport safe */ _Render__WEBPACK_IMPORTED_MODULE_96__.PolylineEdgeArgs),
|
|
45798
45798
|
/* harmony export */ "PolylineTypeFlags": () => (/* reexport safe */ _Render__WEBPACK_IMPORTED_MODULE_96__.PolylineTypeFlags),
|
|
@@ -45838,13 +45838,13 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
45838
45838
|
/* harmony export */ "RpcDirectProtocol": () => (/* reexport safe */ _rpc_core_RpcConfiguration__WEBPACK_IMPORTED_MODULE_134__.RpcDirectProtocol),
|
|
45839
45839
|
/* harmony export */ "RpcDirectRequest": () => (/* reexport safe */ _rpc_core_RpcConfiguration__WEBPACK_IMPORTED_MODULE_134__.RpcDirectRequest),
|
|
45840
45840
|
/* harmony export */ "RpcEndpoint": () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_121__.RpcEndpoint),
|
|
45841
|
-
/* harmony export */ "RpcInterface": () => (/* reexport safe */
|
|
45841
|
+
/* harmony export */ "RpcInterface": () => (/* reexport safe */ _RpcInterface__WEBPACK_IMPORTED_MODULE_140__.RpcInterface),
|
|
45842
45842
|
/* harmony export */ "RpcInvocation": () => (/* reexport safe */ _rpc_core_RpcInvocation__WEBPACK_IMPORTED_MODULE_123__.RpcInvocation),
|
|
45843
45843
|
/* harmony export */ "RpcManager": () => (/* reexport safe */ _RpcManager__WEBPACK_IMPORTED_MODULE_101__.RpcManager),
|
|
45844
45844
|
/* harmony export */ "RpcMarshaling": () => (/* reexport safe */ _rpc_core_RpcMarshaling__WEBPACK_IMPORTED_MODULE_125__.RpcMarshaling),
|
|
45845
|
-
/* harmony export */ "RpcMultipart": () => (/* reexport safe */
|
|
45845
|
+
/* harmony export */ "RpcMultipart": () => (/* reexport safe */ _rpc_web_RpcMultipart__WEBPACK_IMPORTED_MODULE_144__.RpcMultipart),
|
|
45846
45846
|
/* harmony export */ "RpcNotFoundResponse": () => (/* reexport safe */ _rpc_core_RpcControl__WEBPACK_IMPORTED_MODULE_122__.RpcNotFoundResponse),
|
|
45847
|
-
/* harmony export */ "RpcOpenAPIDescription": () => (/* reexport safe */
|
|
45847
|
+
/* harmony export */ "RpcOpenAPIDescription": () => (/* reexport safe */ _rpc_web_OpenAPI__WEBPACK_IMPORTED_MODULE_143__.RpcOpenAPIDescription),
|
|
45848
45848
|
/* harmony export */ "RpcOperation": () => (/* reexport safe */ _rpc_core_RpcOperation__WEBPACK_IMPORTED_MODULE_126__.RpcOperation),
|
|
45849
45849
|
/* harmony export */ "RpcOperationPolicy": () => (/* reexport safe */ _rpc_core_RpcOperation__WEBPACK_IMPORTED_MODULE_126__.RpcOperationPolicy),
|
|
45850
45850
|
/* harmony export */ "RpcPendingQueue": () => (/* reexport safe */ _rpc_core_RpcPendingQueue__WEBPACK_IMPORTED_MODULE_127__.RpcPendingQueue),
|
|
@@ -45911,13 +45911,13 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
45911
45911
|
/* harmony export */ "ThematicGradientSettings": () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_112__.ThematicGradientSettings),
|
|
45912
45912
|
/* harmony export */ "ThematicGradientTransparencyMode": () => (/* reexport safe */ _ThematicDisplay__WEBPACK_IMPORTED_MODULE_112__.ThematicGradientTransparencyMode),
|
|
45913
45913
|
/* harmony export */ "TileContentSource": () => (/* reexport safe */ _TileProps__WEBPACK_IMPORTED_MODULE_115__.TileContentSource),
|
|
45914
|
-
/* harmony export */ "TileFormat": () => (/* reexport safe */
|
|
45915
|
-
/* harmony export */ "TileHeader": () => (/* reexport safe */
|
|
45916
|
-
/* harmony export */ "TileMetadataReader": () => (/* reexport safe */
|
|
45917
|
-
/* harmony export */ "TileOptions": () => (/* reexport safe */
|
|
45918
|
-
/* harmony export */ "TileReadError": () => (/* reexport safe */
|
|
45919
|
-
/* harmony export */ "TileReadStatus": () => (/* reexport safe */
|
|
45920
|
-
/* harmony export */ "TreeFlags": () => (/* reexport safe */
|
|
45914
|
+
/* harmony export */ "TileFormat": () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_155__.TileFormat),
|
|
45915
|
+
/* harmony export */ "TileHeader": () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_155__.TileHeader),
|
|
45916
|
+
/* harmony export */ "TileMetadataReader": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.TileMetadataReader),
|
|
45917
|
+
/* harmony export */ "TileOptions": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.TileOptions),
|
|
45918
|
+
/* harmony export */ "TileReadError": () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_155__.TileReadError),
|
|
45919
|
+
/* harmony export */ "TileReadStatus": () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_155__.TileReadStatus),
|
|
45920
|
+
/* harmony export */ "TreeFlags": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.TreeFlags),
|
|
45921
45921
|
/* harmony export */ "Tween": () => (/* reexport safe */ _Tween__WEBPACK_IMPORTED_MODULE_116__.Tween),
|
|
45922
45922
|
/* harmony export */ "Tweens": () => (/* reexport safe */ _Tween__WEBPACK_IMPORTED_MODULE_116__.Tweens),
|
|
45923
45923
|
/* harmony export */ "TxnAction": () => (/* reexport safe */ _TxnAction__WEBPACK_IMPORTED_MODULE_117__.TxnAction),
|
|
@@ -45929,33 +45929,32 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
45929
45929
|
/* harmony export */ "ViewFlags": () => (/* reexport safe */ _ViewFlags__WEBPACK_IMPORTED_MODULE_119__.ViewFlags),
|
|
45930
45930
|
/* harmony export */ "ViewStoreRpc": () => (/* reexport safe */ _ViewProps__WEBPACK_IMPORTED_MODULE_120__.ViewStoreRpc),
|
|
45931
45931
|
/* harmony export */ "WEB_RPC_CONSTANTS": () => (/* reexport safe */ _rpc_core_RpcConstants__WEBPACK_IMPORTED_MODULE_121__.WEB_RPC_CONSTANTS),
|
|
45932
|
-
/* harmony export */ "WebAppRpcLogging": () => (/* reexport safe */
|
|
45933
|
-
/* harmony export */ "WebAppRpcProtocol": () => (/* reexport safe */
|
|
45934
|
-
/* harmony export */ "WebAppRpcRequest": () => (/* reexport safe */
|
|
45935
|
-
/* harmony export */ "WhiteOnWhiteReversalSettings": () => (/* reexport safe */
|
|
45936
|
-
/* harmony export */ "WipRpcInterface": () => (/* reexport safe */ _rpc_WipRpcInterface__WEBPACK_IMPORTED_MODULE_140__.WipRpcInterface),
|
|
45932
|
+
/* harmony export */ "WebAppRpcLogging": () => (/* reexport safe */ _rpc_web_WebAppRpcLogging__WEBPACK_IMPORTED_MODULE_147__.WebAppRpcLogging),
|
|
45933
|
+
/* harmony export */ "WebAppRpcProtocol": () => (/* reexport safe */ _rpc_web_WebAppRpcProtocol__WEBPACK_IMPORTED_MODULE_145__.WebAppRpcProtocol),
|
|
45934
|
+
/* harmony export */ "WebAppRpcRequest": () => (/* reexport safe */ _rpc_web_WebAppRpcRequest__WEBPACK_IMPORTED_MODULE_146__.WebAppRpcRequest),
|
|
45935
|
+
/* harmony export */ "WhiteOnWhiteReversalSettings": () => (/* reexport safe */ _WhiteOnWhiteReversalSettings__WEBPACK_IMPORTED_MODULE_158__.WhiteOnWhiteReversalSettings),
|
|
45937
45936
|
/* harmony export */ "XyzRotation": () => (/* reexport safe */ _geometry_GeodeticDatum__WEBPACK_IMPORTED_MODULE_48__.XyzRotation),
|
|
45938
45937
|
/* harmony export */ "aggregateLoad": () => (/* reexport safe */ _rpc_core_RpcRequest__WEBPACK_IMPORTED_MODULE_130__.aggregateLoad),
|
|
45939
|
-
/* harmony export */ "bisectTileRange2d": () => (/* reexport safe */
|
|
45940
|
-
/* harmony export */ "bisectTileRange3d": () => (/* reexport safe */
|
|
45938
|
+
/* harmony export */ "bisectTileRange2d": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.bisectTileRange2d),
|
|
45939
|
+
/* harmony export */ "bisectTileRange3d": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.bisectTileRange3d),
|
|
45941
45940
|
/* harmony export */ "calculateSolarAngles": () => (/* reexport safe */ _SolarCalculate__WEBPACK_IMPORTED_MODULE_104__.calculateSolarAngles),
|
|
45942
45941
|
/* harmony export */ "calculateSolarDirection": () => (/* reexport safe */ _SolarCalculate__WEBPACK_IMPORTED_MODULE_104__.calculateSolarDirection),
|
|
45943
45942
|
/* harmony export */ "calculateSolarDirectionFromAngles": () => (/* reexport safe */ _SolarCalculate__WEBPACK_IMPORTED_MODULE_104__.calculateSolarDirectionFromAngles),
|
|
45944
45943
|
/* harmony export */ "calculateSunriseOrSunset": () => (/* reexport safe */ _SolarCalculate__WEBPACK_IMPORTED_MODULE_104__.calculateSunriseOrSunset),
|
|
45945
|
-
/* harmony export */ "compareIModelTileTreeIds": () => (/* reexport safe */
|
|
45946
|
-
/* harmony export */ "computeChildTileProps": () => (/* reexport safe */
|
|
45947
|
-
/* harmony export */ "computeChildTileRanges": () => (/* reexport safe */
|
|
45948
|
-
/* harmony export */ "computeTileChordTolerance": () => (/* reexport safe */
|
|
45949
|
-
/* harmony export */ "decodeTileContentDescription": () => (/* reexport safe */
|
|
45950
|
-
/* harmony export */ "defaultTileOptions": () => (/* reexport safe */
|
|
45951
|
-
/* harmony export */ "getMaximumMajorTileFormatVersion": () => (/* reexport safe */
|
|
45944
|
+
/* harmony export */ "compareIModelTileTreeIds": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.compareIModelTileTreeIds),
|
|
45945
|
+
/* harmony export */ "computeChildTileProps": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.computeChildTileProps),
|
|
45946
|
+
/* harmony export */ "computeChildTileRanges": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.computeChildTileRanges),
|
|
45947
|
+
/* harmony export */ "computeTileChordTolerance": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.computeTileChordTolerance),
|
|
45948
|
+
/* harmony export */ "decodeTileContentDescription": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.decodeTileContentDescription),
|
|
45949
|
+
/* harmony export */ "defaultTileOptions": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.defaultTileOptions),
|
|
45950
|
+
/* harmony export */ "getMaximumMajorTileFormatVersion": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.getMaximumMajorTileFormatVersion),
|
|
45952
45951
|
/* harmony export */ "getPullChangesIpcChannel": () => (/* reexport safe */ _IpcAppProps__WEBPACK_IMPORTED_MODULE_75__.getPullChangesIpcChannel),
|
|
45953
45952
|
/* harmony export */ "getTileObjectReference": () => (/* reexport safe */ _TileProps__WEBPACK_IMPORTED_MODULE_115__.getTileObjectReference),
|
|
45954
|
-
/* harmony export */ "iModelTileTreeIdToString": () => (/* reexport safe */
|
|
45953
|
+
/* harmony export */ "iModelTileTreeIdToString": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.iModelTileTreeIdToString),
|
|
45955
45954
|
/* harmony export */ "iTwinChannel": () => (/* reexport safe */ _ipc_IpcSocket__WEBPACK_IMPORTED_MODULE_71__.iTwinChannel),
|
|
45956
45955
|
/* harmony export */ "initializeRpcRequest": () => (/* reexport safe */ _rpc_core_RpcRequest__WEBPACK_IMPORTED_MODULE_130__.initializeRpcRequest),
|
|
45957
45956
|
/* harmony export */ "ipcAppChannels": () => (/* reexport safe */ _IpcAppProps__WEBPACK_IMPORTED_MODULE_75__.ipcAppChannels),
|
|
45958
|
-
/* harmony export */ "isKnownTileFormat": () => (/* reexport safe */
|
|
45957
|
+
/* harmony export */ "isKnownTileFormat": () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_155__.isKnownTileFormat),
|
|
45959
45958
|
/* harmony export */ "isPlacement2dProps": () => (/* reexport safe */ _ElementProps__WEBPACK_IMPORTED_MODULE_29__.isPlacement2dProps),
|
|
45960
45959
|
/* harmony export */ "isPlacement3dProps": () => (/* reexport safe */ _ElementProps__WEBPACK_IMPORTED_MODULE_29__.isPlacement3dProps),
|
|
45961
45960
|
/* harmony export */ "isPowerOfTwo": () => (/* reexport safe */ _Image__WEBPACK_IMPORTED_MODULE_66__.isPowerOfTwo),
|
|
@@ -45963,12 +45962,12 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
45963
45962
|
/* harmony export */ "mapToGeoServiceStatus": () => (/* reexport safe */ _GeoCoordinateServices__WEBPACK_IMPORTED_MODULE_40__.mapToGeoServiceStatus),
|
|
45964
45963
|
/* harmony export */ "nativeAppIpcStrings": () => (/* reexport safe */ _NativeAppProps__WEBPACK_IMPORTED_MODULE_85__.nativeAppIpcStrings),
|
|
45965
45964
|
/* harmony export */ "nextHighestPowerOfTwo": () => (/* reexport safe */ _Image__WEBPACK_IMPORTED_MODULE_66__.nextHighestPowerOfTwo),
|
|
45966
|
-
/* harmony export */ "nextPoint3d64FromByteStream": () => (/* reexport safe */
|
|
45967
|
-
/* harmony export */ "parseTileTreeIdAndContentId": () => (/* reexport safe */
|
|
45965
|
+
/* harmony export */ "nextPoint3d64FromByteStream": () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_155__.nextPoint3d64FromByteStream),
|
|
45966
|
+
/* harmony export */ "parseTileTreeIdAndContentId": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.parseTileTreeIdAndContentId),
|
|
45968
45967
|
/* harmony export */ "readElementMeshes": () => (/* reexport safe */ _ElementMesh__WEBPACK_IMPORTED_MODULE_28__.readElementMeshes),
|
|
45969
|
-
/* harmony export */ "readTileContentDescription": () => (/* reexport safe */
|
|
45968
|
+
/* harmony export */ "readTileContentDescription": () => (/* reexport safe */ _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__.readTileContentDescription),
|
|
45970
45969
|
/* harmony export */ "rpcOverIpcStrings": () => (/* reexport safe */ _ipc_IpcSession__WEBPACK_IMPORTED_MODULE_74__.rpcOverIpcStrings),
|
|
45971
|
-
/* harmony export */ "tileFormatFromNumber": () => (/* reexport safe */
|
|
45970
|
+
/* harmony export */ "tileFormatFromNumber": () => (/* reexport safe */ _tile_TileIO__WEBPACK_IMPORTED_MODULE_155__.tileFormatFromNumber)
|
|
45972
45971
|
/* harmony export */ });
|
|
45973
45972
|
/* harmony import */ var _AmbientOcclusion__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AmbientOcclusion */ "../../core/common/lib/esm/AmbientOcclusion.js");
|
|
45974
45973
|
/* harmony import */ var _AnalysisStyle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AnalysisStyle */ "../../core/common/lib/esm/AnalysisStyle.js");
|
|
@@ -46110,27 +46109,26 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
46110
46109
|
/* harmony import */ var _rpc_IModelTileRpcInterface__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(/*! ./rpc/IModelTileRpcInterface */ "../../core/common/lib/esm/rpc/IModelTileRpcInterface.js");
|
|
46111
46110
|
/* harmony import */ var _rpc_SnapshotIModelRpcInterface__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(/*! ./rpc/SnapshotIModelRpcInterface */ "../../core/common/lib/esm/rpc/SnapshotIModelRpcInterface.js");
|
|
46112
46111
|
/* harmony import */ var _rpc_TestRpcManager__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(/*! ./rpc/TestRpcManager */ "../../core/common/lib/esm/rpc/TestRpcManager.js");
|
|
46113
|
-
/* harmony import */ var
|
|
46114
|
-
/* harmony import */ var
|
|
46115
|
-
/* harmony import */ var
|
|
46116
|
-
/* harmony import */ var
|
|
46117
|
-
/* harmony import */ var
|
|
46118
|
-
/* harmony import */ var
|
|
46119
|
-
/* harmony import */ var
|
|
46120
|
-
/* harmony import */ var
|
|
46121
|
-
/* harmony import */ var
|
|
46122
|
-
/* harmony import */ var
|
|
46123
|
-
/* harmony import */ var
|
|
46124
|
-
/* harmony import */ var
|
|
46125
|
-
/* harmony import */ var
|
|
46126
|
-
/* harmony import */ var
|
|
46127
|
-
/* harmony import */ var
|
|
46128
|
-
/* harmony import */ var
|
|
46129
|
-
/* harmony import */ var
|
|
46130
|
-
/* harmony import */ var
|
|
46131
|
-
/* harmony import */ var
|
|
46132
|
-
/* harmony import */ var
|
|
46133
|
-
/* harmony import */ var _internal_cross_package__WEBPACK_IMPORTED_MODULE_160__ = __webpack_require__(/*! ./internal/cross-package */ "../../core/common/lib/esm/internal/cross-package.js");
|
|
46112
|
+
/* harmony import */ var _RpcInterface__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(/*! ./RpcInterface */ "../../core/common/lib/esm/RpcInterface.js");
|
|
46113
|
+
/* harmony import */ var _rpc_web_BentleyCloudRpcManager__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(/*! ./rpc/web/BentleyCloudRpcManager */ "../../core/common/lib/esm/rpc/web/BentleyCloudRpcManager.js");
|
|
46114
|
+
/* harmony import */ var _rpc_web_BentleyCloudRpcProtocol__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(/*! ./rpc/web/BentleyCloudRpcProtocol */ "../../core/common/lib/esm/rpc/web/BentleyCloudRpcProtocol.js");
|
|
46115
|
+
/* harmony import */ var _rpc_web_OpenAPI__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(/*! ./rpc/web/OpenAPI */ "../../core/common/lib/esm/rpc/web/OpenAPI.js");
|
|
46116
|
+
/* harmony import */ var _rpc_web_RpcMultipart__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(/*! ./rpc/web/RpcMultipart */ "../../core/common/lib/esm/rpc/web/RpcMultipart.js");
|
|
46117
|
+
/* harmony import */ var _rpc_web_WebAppRpcProtocol__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(/*! ./rpc/web/WebAppRpcProtocol */ "../../core/common/lib/esm/rpc/web/WebAppRpcProtocol.js");
|
|
46118
|
+
/* harmony import */ var _rpc_web_WebAppRpcRequest__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(/*! ./rpc/web/WebAppRpcRequest */ "../../core/common/lib/esm/rpc/web/WebAppRpcRequest.js");
|
|
46119
|
+
/* harmony import */ var _rpc_web_WebAppRpcLogging__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(/*! ./rpc/web/WebAppRpcLogging */ "../../core/common/lib/esm/rpc/web/WebAppRpcLogging.js");
|
|
46120
|
+
/* harmony import */ var _tile_B3dmTileIO__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(/*! ./tile/B3dmTileIO */ "../../core/common/lib/esm/tile/B3dmTileIO.js");
|
|
46121
|
+
/* harmony import */ var _tile_CompositeTileIO__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(/*! ./tile/CompositeTileIO */ "../../core/common/lib/esm/tile/CompositeTileIO.js");
|
|
46122
|
+
/* harmony import */ var _tile_ElementGraphics__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(/*! ./tile/ElementGraphics */ "../../core/common/lib/esm/tile/ElementGraphics.js");
|
|
46123
|
+
/* harmony import */ var _tile_GltfTileIO__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(/*! ./tile/GltfTileIO */ "../../core/common/lib/esm/tile/GltfTileIO.js");
|
|
46124
|
+
/* harmony import */ var _tile_I3dmTileIO__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(/*! ./tile/I3dmTileIO */ "../../core/common/lib/esm/tile/I3dmTileIO.js");
|
|
46125
|
+
/* harmony import */ var _tile_IModelTileIO__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(/*! ./tile/IModelTileIO */ "../../core/common/lib/esm/tile/IModelTileIO.js");
|
|
46126
|
+
/* harmony import */ var _tile_PntsTileIO__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(/*! ./tile/PntsTileIO */ "../../core/common/lib/esm/tile/PntsTileIO.js");
|
|
46127
|
+
/* harmony import */ var _tile_TileIO__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(/*! ./tile/TileIO */ "../../core/common/lib/esm/tile/TileIO.js");
|
|
46128
|
+
/* harmony import */ var _tile_TileMetadata__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(/*! ./tile/TileMetadata */ "../../core/common/lib/esm/tile/TileMetadata.js");
|
|
46129
|
+
/* harmony import */ var _tile_Tileset3dSchema__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(/*! ./tile/Tileset3dSchema */ "../../core/common/lib/esm/tile/Tileset3dSchema.js");
|
|
46130
|
+
/* harmony import */ var _WhiteOnWhiteReversalSettings__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(/*! ./WhiteOnWhiteReversalSettings */ "../../core/common/lib/esm/WhiteOnWhiteReversalSettings.js");
|
|
46131
|
+
/* harmony import */ var _internal_cross_package__WEBPACK_IMPORTED_MODULE_159__ = __webpack_require__(/*! ./internal/cross-package */ "../../core/common/lib/esm/internal/cross-package.js");
|
|
46134
46132
|
/*---------------------------------------------------------------------------------------------
|
|
46135
46133
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
46136
46134
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -46293,7 +46291,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
46293
46291
|
|
|
46294
46292
|
|
|
46295
46293
|
|
|
46296
|
-
|
|
46297
46294
|
|
|
46298
46295
|
|
|
46299
46296
|
/** @docs-package-description
|
|
@@ -55864,60 +55861,6 @@ class TestRpcManager {
|
|
|
55864
55861
|
}
|
|
55865
55862
|
|
|
55866
55863
|
|
|
55867
|
-
/***/ }),
|
|
55868
|
-
|
|
55869
|
-
/***/ "../../core/common/lib/esm/rpc/WipRpcInterface.js":
|
|
55870
|
-
/*!********************************************************!*\
|
|
55871
|
-
!*** ../../core/common/lib/esm/rpc/WipRpcInterface.js ***!
|
|
55872
|
-
\********************************************************/
|
|
55873
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
55874
|
-
|
|
55875
|
-
"use strict";
|
|
55876
|
-
__webpack_require__.r(__webpack_exports__);
|
|
55877
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
55878
|
-
/* harmony export */ "WipRpcInterface": () => (/* binding */ WipRpcInterface)
|
|
55879
|
-
/* harmony export */ });
|
|
55880
|
-
/* harmony import */ var _RpcInterface__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../RpcInterface */ "../../core/common/lib/esm/RpcInterface.js");
|
|
55881
|
-
/* harmony import */ var _RpcManager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../RpcManager */ "../../core/common/lib/esm/RpcManager.js");
|
|
55882
|
-
/*---------------------------------------------------------------------------------------------
|
|
55883
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
55884
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
55885
|
-
*--------------------------------------------------------------------------------------------*/
|
|
55886
|
-
/** @packageDocumentation
|
|
55887
|
-
* @module RpcInterface
|
|
55888
|
-
*/
|
|
55889
|
-
|
|
55890
|
-
|
|
55891
|
-
/** The purpose of this class is to house WIP RPC methods. For example:
|
|
55892
|
-
* - WIP methods where signatures or behavior is still changing
|
|
55893
|
-
* - Experimental methods that we may decide are a bad idea and never release
|
|
55894
|
-
* The idea is to house these WIP RPC methods away from other RpcInterfaces that have stated compatibility goals.
|
|
55895
|
-
* Once stable, the goal is to move methods out to their rightful home.
|
|
55896
|
-
* 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.
|
|
55897
|
-
* @internal
|
|
55898
|
-
* @deprecated in 4.10. If any of these methods are needed in the frontend, they should be rewritten using IPC or HTTP protocol.
|
|
55899
|
-
*/
|
|
55900
|
-
class WipRpcInterface extends _RpcInterface__WEBPACK_IMPORTED_MODULE_0__.RpcInterface {
|
|
55901
|
-
/** Returns the IModelReadRpcInterface instance for the frontend. */
|
|
55902
|
-
static getClient() { return _RpcManager__WEBPACK_IMPORTED_MODULE_1__.RpcManager.getClientForInterface(WipRpcInterface); } // eslint-disable-line @typescript-eslint/no-deprecated
|
|
55903
|
-
/*===========================================================================================
|
|
55904
|
-
NOTE: Any add/remove/change to the methods below requires an update of the interface version.
|
|
55905
|
-
NOTE: Please consult the README in this folder for the semantic versioning rules.
|
|
55906
|
-
==========================================================================================*/
|
|
55907
|
-
async placeholder(_iModelToken) { return this.forward(arguments); } // here to test that WipRpcInterface is configured properly
|
|
55908
|
-
async isChangeCacheAttached(_iModelToken) { return this.forward(arguments); }
|
|
55909
|
-
async attachChangeCache(_iModelToken) { return this.forward(arguments); }
|
|
55910
|
-
async getChangedElements(_iModelToken, _startChangesetId, _endChangesetId) { return this.forward(arguments); }
|
|
55911
|
-
async isChangesetProcessed(_iModelToken, _changesetId) { return this.forward(arguments); }
|
|
55912
|
-
}
|
|
55913
|
-
/** The immutable name of the interface. */
|
|
55914
|
-
WipRpcInterface.interfaceName = "WipRpcInterface";
|
|
55915
|
-
/** The semantic version of the interface.
|
|
55916
|
-
* @note The WipRpcInterface will never progress to 1.0 since it is never intended to be public.
|
|
55917
|
-
*/
|
|
55918
|
-
WipRpcInterface.interfaceVersion = "0.5.0";
|
|
55919
|
-
|
|
55920
|
-
|
|
55921
55864
|
/***/ }),
|
|
55922
55865
|
|
|
55923
55866
|
/***/ "../../core/common/lib/esm/rpc/core/RpcConfiguration.js":
|
|
@@ -71410,40 +71353,42 @@ class SchemaGraph {
|
|
|
71410
71353
|
|
|
71411
71354
|
/***/ }),
|
|
71412
71355
|
|
|
71413
|
-
/***/ "../../core/ecschema-rpc/common/lib/
|
|
71356
|
+
/***/ "../../core/ecschema-rpc/common/lib/esm/ECSchemaRpcInterface.js":
|
|
71414
71357
|
/*!**********************************************************************!*\
|
|
71415
|
-
!*** ../../core/ecschema-rpc/common/lib/
|
|
71358
|
+
!*** ../../core/ecschema-rpc/common/lib/esm/ECSchemaRpcInterface.js ***!
|
|
71416
71359
|
\**********************************************************************/
|
|
71417
|
-
/***/ (
|
|
71360
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
71418
71361
|
|
|
71419
71362
|
"use strict";
|
|
71420
|
-
|
|
71421
|
-
|
|
71363
|
+
__webpack_require__.r(__webpack_exports__);
|
|
71364
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
71365
|
+
/* harmony export */ "ECSchemaRpcInterface": () => (/* binding */ ECSchemaRpcInterface)
|
|
71366
|
+
/* harmony export */ });
|
|
71367
|
+
/* harmony import */ var _itwin_core_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-common */ "../../core/common/lib/esm/core-common.js");
|
|
71368
|
+
var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
71422
71369
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
71423
71370
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
71424
71371
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
71425
71372
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
71426
71373
|
};
|
|
71427
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
71428
|
-
exports.ECSchemaRpcInterface = void 0;
|
|
71429
71374
|
/*---------------------------------------------------------------------------------------------
|
|
71430
71375
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
71431
71376
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
71432
71377
|
*--------------------------------------------------------------------------------------------*/
|
|
71433
|
-
|
|
71378
|
+
|
|
71434
71379
|
/***
|
|
71435
71380
|
* Defines an RPC interface to get schema information from a given iModel context.
|
|
71436
71381
|
* Method @see getSchemaNames will return the names of schemas that live in this iModel.
|
|
71437
71382
|
* The actual schemas can be downloaded using @see getSchemaJSON to get the schema as JSON props.
|
|
71438
71383
|
* @internal
|
|
71439
71384
|
*/
|
|
71440
|
-
class ECSchemaRpcInterface extends
|
|
71385
|
+
class ECSchemaRpcInterface extends _itwin_core_common__WEBPACK_IMPORTED_MODULE_0__.RpcInterface {
|
|
71441
71386
|
/**
|
|
71442
71387
|
* Returns the RPC client instance for the frontend.
|
|
71443
71388
|
* @returns A client to communicate with the RPC Interface.
|
|
71444
71389
|
*/
|
|
71445
71390
|
static getClient() {
|
|
71446
|
-
return
|
|
71391
|
+
return _itwin_core_common__WEBPACK_IMPORTED_MODULE_0__.RpcManager.getClientForInterface(ECSchemaRpcInterface);
|
|
71447
71392
|
}
|
|
71448
71393
|
/**
|
|
71449
71394
|
* Returns an array of SchemaKeyProps that exists in the current iModel context. The client can call
|
|
@@ -71465,37 +71410,39 @@ class ECSchemaRpcInterface extends core_common_1.RpcInterface {
|
|
|
71465
71410
|
return this.forward.apply(this, [arguments]);
|
|
71466
71411
|
}
|
|
71467
71412
|
}
|
|
71468
|
-
exports.ECSchemaRpcInterface = ECSchemaRpcInterface;
|
|
71469
71413
|
/** The version of the RPC Interface. */
|
|
71470
71414
|
ECSchemaRpcInterface.version = "2.0.0";
|
|
71471
71415
|
ECSchemaRpcInterface.interfaceName = "ECSchemaRpcInterface";
|
|
71472
71416
|
ECSchemaRpcInterface.interfaceVersion = ECSchemaRpcInterface.version;
|
|
71473
71417
|
__decorate([
|
|
71474
|
-
|
|
71418
|
+
_itwin_core_common__WEBPACK_IMPORTED_MODULE_0__.RpcOperation.allowResponseCaching(_itwin_core_common__WEBPACK_IMPORTED_MODULE_0__.RpcResponseCacheControl.Immutable)
|
|
71475
71419
|
], ECSchemaRpcInterface.prototype, "getSchemaKeys", null);
|
|
71476
71420
|
__decorate([
|
|
71477
|
-
|
|
71421
|
+
_itwin_core_common__WEBPACK_IMPORTED_MODULE_0__.RpcOperation.allowResponseCaching(_itwin_core_common__WEBPACK_IMPORTED_MODULE_0__.RpcResponseCacheControl.Immutable)
|
|
71478
71422
|
], ECSchemaRpcInterface.prototype, "getSchemaJSON", null);
|
|
71479
71423
|
|
|
71480
71424
|
|
|
71481
71425
|
/***/ }),
|
|
71482
71426
|
|
|
71483
|
-
/***/ "../../core/ecschema-rpc/common/lib/
|
|
71427
|
+
/***/ "../../core/ecschema-rpc/common/lib/esm/ECSchemaRpcLocater.js":
|
|
71484
71428
|
/*!********************************************************************!*\
|
|
71485
|
-
!*** ../../core/ecschema-rpc/common/lib/
|
|
71429
|
+
!*** ../../core/ecschema-rpc/common/lib/esm/ECSchemaRpcLocater.js ***!
|
|
71486
71430
|
\********************************************************************/
|
|
71487
|
-
/***/ ((__unused_webpack_module,
|
|
71431
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
71488
71432
|
|
|
71489
71433
|
"use strict";
|
|
71490
|
-
|
|
71491
|
-
|
|
71492
|
-
|
|
71434
|
+
__webpack_require__.r(__webpack_exports__);
|
|
71435
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
71436
|
+
/* harmony export */ "ECSchemaRpcLocater": () => (/* binding */ ECSchemaRpcLocater)
|
|
71437
|
+
/* harmony export */ });
|
|
71438
|
+
/* harmony import */ var _itwin_ecschema_metadata__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/ecschema-metadata */ "../../core/ecschema-metadata/lib/esm/ecschema-metadata.js");
|
|
71439
|
+
/* harmony import */ var _ECSchemaRpcInterface__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ECSchemaRpcInterface */ "../../core/ecschema-rpc/common/lib/esm/ECSchemaRpcInterface.js");
|
|
71493
71440
|
/*---------------------------------------------------------------------------------------------
|
|
71494
71441
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
71495
71442
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
71496
71443
|
*--------------------------------------------------------------------------------------------*/
|
|
71497
|
-
|
|
71498
|
-
|
|
71444
|
+
|
|
71445
|
+
|
|
71499
71446
|
/**
|
|
71500
71447
|
* Defines a schema locater that retrieves schemas using an RPC interface.
|
|
71501
71448
|
* @beta
|
|
@@ -71520,8 +71467,8 @@ class ECSchemaRpcLocater {
|
|
|
71520
71467
|
* @param matchType The match type to use when locating the schema
|
|
71521
71468
|
*/
|
|
71522
71469
|
async getSchemaInfo(schemaKey, matchType, context) {
|
|
71523
|
-
const schemaJson = await
|
|
71524
|
-
const schemaInfo = await
|
|
71470
|
+
const schemaJson = await _ECSchemaRpcInterface__WEBPACK_IMPORTED_MODULE_1__.ECSchemaRpcInterface.getClient().getSchemaJSON(this.token, schemaKey.name);
|
|
71471
|
+
const schemaInfo = await _itwin_ecschema_metadata__WEBPACK_IMPORTED_MODULE_0__.Schema.startLoadingFromJson(schemaJson, context || new _itwin_ecschema_metadata__WEBPACK_IMPORTED_MODULE_0__.SchemaContext());
|
|
71525
71472
|
if (schemaInfo !== undefined && schemaInfo.schemaKey.matches(schemaKey, matchType)) {
|
|
71526
71473
|
return schemaInfo;
|
|
71527
71474
|
}
|
|
@@ -71534,50 +71481,40 @@ class ECSchemaRpcLocater {
|
|
|
71534
71481
|
* @param context The SchemaContext that will control the lifetime of the schema and holds the schema's references, if they exist.
|
|
71535
71482
|
*/
|
|
71536
71483
|
getSchemaSync(schemaKey, matchType, context) {
|
|
71537
|
-
const schemaJson =
|
|
71484
|
+
const schemaJson = _ECSchemaRpcInterface__WEBPACK_IMPORTED_MODULE_1__.ECSchemaRpcInterface.getClient().getSchemaJSON(this.token, schemaKey.name).then((props) => {
|
|
71538
71485
|
return props;
|
|
71539
71486
|
});
|
|
71540
|
-
const schema =
|
|
71487
|
+
const schema = _itwin_ecschema_metadata__WEBPACK_IMPORTED_MODULE_0__.Schema.fromJsonSync(schemaJson, context || new _itwin_ecschema_metadata__WEBPACK_IMPORTED_MODULE_0__.SchemaContext());
|
|
71541
71488
|
if (schema !== undefined && schema.schemaKey.matches(schemaKey, matchType)) {
|
|
71542
71489
|
return schema;
|
|
71543
71490
|
}
|
|
71544
71491
|
return undefined;
|
|
71545
71492
|
}
|
|
71546
71493
|
}
|
|
71547
|
-
exports.ECSchemaRpcLocater = ECSchemaRpcLocater;
|
|
71548
71494
|
|
|
71549
71495
|
|
|
71550
71496
|
/***/ }),
|
|
71551
71497
|
|
|
71552
|
-
/***/ "../../core/ecschema-rpc/common/lib/
|
|
71498
|
+
/***/ "../../core/ecschema-rpc/common/lib/esm/ecschema-rpc-interface.js":
|
|
71553
71499
|
/*!************************************************************************!*\
|
|
71554
|
-
!*** ../../core/ecschema-rpc/common/lib/
|
|
71500
|
+
!*** ../../core/ecschema-rpc/common/lib/esm/ecschema-rpc-interface.js ***!
|
|
71555
71501
|
\************************************************************************/
|
|
71556
|
-
/***/ (
|
|
71502
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
71557
71503
|
|
|
71558
71504
|
"use strict";
|
|
71559
|
-
|
|
71560
|
-
|
|
71561
|
-
|
|
71562
|
-
|
|
71563
|
-
|
|
71564
|
-
|
|
71565
|
-
|
|
71566
|
-
Object.defineProperty(o, k2, desc);
|
|
71567
|
-
}) : (function(o, m, k, k2) {
|
|
71568
|
-
if (k2 === undefined) k2 = k;
|
|
71569
|
-
o[k2] = m[k];
|
|
71570
|
-
}));
|
|
71571
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
71572
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
71573
|
-
};
|
|
71574
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
71505
|
+
__webpack_require__.r(__webpack_exports__);
|
|
71506
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
71507
|
+
/* harmony export */ "ECSchemaRpcInterface": () => (/* reexport safe */ _ECSchemaRpcInterface__WEBPACK_IMPORTED_MODULE_0__.ECSchemaRpcInterface),
|
|
71508
|
+
/* harmony export */ "ECSchemaRpcLocater": () => (/* reexport safe */ _ECSchemaRpcLocater__WEBPACK_IMPORTED_MODULE_1__.ECSchemaRpcLocater)
|
|
71509
|
+
/* harmony export */ });
|
|
71510
|
+
/* harmony import */ var _ECSchemaRpcInterface__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ECSchemaRpcInterface */ "../../core/ecschema-rpc/common/lib/esm/ECSchemaRpcInterface.js");
|
|
71511
|
+
/* harmony import */ var _ECSchemaRpcLocater__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ECSchemaRpcLocater */ "../../core/ecschema-rpc/common/lib/esm/ECSchemaRpcLocater.js");
|
|
71575
71512
|
/*---------------------------------------------------------------------------------------------
|
|
71576
71513
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
71577
71514
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
71578
71515
|
*--------------------------------------------------------------------------------------------*/
|
|
71579
|
-
|
|
71580
|
-
|
|
71516
|
+
|
|
71517
|
+
|
|
71581
71518
|
|
|
71582
71519
|
|
|
71583
71520
|
/***/ }),
|
|
@@ -87112,6 +87049,8 @@ class RealityDataSourceTilesetUrlImpl {
|
|
|
87112
87049
|
constructor(props) {
|
|
87113
87050
|
/** For use by all Reality Data. For RD stored on PW Context Share, represents the portion from the root of the Azure Blob Container*/
|
|
87114
87051
|
this._baseUrl = "";
|
|
87052
|
+
/** Need to be passed down to child tile requests when requesting from blob storage, e.g. a Cesium export from the Mesh Export Service*/
|
|
87053
|
+
this._searchParams = "";
|
|
87115
87054
|
(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);
|
|
87116
87055
|
this.key = props.sourceKey;
|
|
87117
87056
|
this._tilesetUrl = this.key.id;
|
|
@@ -87148,8 +87087,11 @@ class RealityDataSourceTilesetUrlImpl {
|
|
|
87148
87087
|
// otherwise the full path to root document is given.
|
|
87149
87088
|
// The base URL contains the base URL from which tile relative path are constructed.
|
|
87150
87089
|
// The tile's path root will need to be reinserted for child tiles to return a 200
|
|
87090
|
+
// If the original url includes search paramaters, they are stored in _searchParams to be reinserted into child tile requests.
|
|
87151
87091
|
setBaseUrl(url) {
|
|
87152
87092
|
const urlParts = url.split("/");
|
|
87093
|
+
const newUrl = new URL(url);
|
|
87094
|
+
this._searchParams = newUrl.search;
|
|
87153
87095
|
urlParts.pop();
|
|
87154
87096
|
if (urlParts.length === 0)
|
|
87155
87097
|
this._baseUrl = "";
|
|
@@ -87180,9 +87122,16 @@ class RealityDataSourceTilesetUrlImpl {
|
|
|
87180
87122
|
}
|
|
87181
87123
|
return true;
|
|
87182
87124
|
}
|
|
87183
|
-
/** Returns the tile URL.
|
|
87125
|
+
/** Returns the tile URL.
|
|
87126
|
+
* If the tile path is a relative URL, the base URL is prepended to it.
|
|
87127
|
+
* 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.
|
|
87128
|
+
*/
|
|
87184
87129
|
getTileUrl(tilePath) {
|
|
87185
|
-
|
|
87130
|
+
if (this.isValidURL(tilePath)) {
|
|
87131
|
+
const url = new URL(tilePath);
|
|
87132
|
+
return url.search === "" ? `${tilePath}${this._searchParams}` : tilePath;
|
|
87133
|
+
}
|
|
87134
|
+
return tilePath.includes("?") ? `${this._baseUrl}${tilePath}` : `${this._baseUrl}${tilePath}${this._searchParams}`;
|
|
87186
87135
|
}
|
|
87187
87136
|
/**
|
|
87188
87137
|
* Returns the tile content. The path to the tile is relative to the base url of present reality data whatever the type.
|
|
@@ -188441,6 +188390,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
188441
188390
|
/* harmony import */ var _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../geometry3d/Angle */ "../../core/geometry/lib/esm/geometry3d/Angle.js");
|
|
188442
188391
|
/* harmony import */ var _geometry3d_AngleSweep__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../geometry3d/AngleSweep */ "../../core/geometry/lib/esm/geometry3d/AngleSweep.js");
|
|
188443
188392
|
/* harmony import */ var _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../geometry3d/Matrix3d */ "../../core/geometry/lib/esm/geometry3d/Matrix3d.js");
|
|
188393
|
+
/* harmony import */ var _geometry3d_Plane3dByOriginAndUnitNormal__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../geometry3d/Plane3dByOriginAndUnitNormal */ "../../core/geometry/lib/esm/geometry3d/Plane3dByOriginAndUnitNormal.js");
|
|
188444
188394
|
/* harmony import */ var _geometry3d_Plane3dByOriginAndVectors__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../geometry3d/Plane3dByOriginAndVectors */ "../../core/geometry/lib/esm/geometry3d/Plane3dByOriginAndVectors.js");
|
|
188445
188395
|
/* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
188446
188396
|
/* harmony import */ var _geometry3d_Range__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../geometry3d/Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
|
|
@@ -188450,13 +188400,13 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
188450
188400
|
/* harmony import */ var _CurveExtendMode__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./CurveExtendMode */ "../../core/geometry/lib/esm/curve/CurveExtendMode.js");
|
|
188451
188401
|
/* harmony import */ var _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
|
|
188452
188402
|
/* harmony import */ var _CurvePrimitive__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CurvePrimitive */ "../../core/geometry/lib/esm/curve/CurvePrimitive.js");
|
|
188453
|
-
/* harmony import */ var
|
|
188454
|
-
/* harmony import */ var
|
|
188455
|
-
/* harmony import */ var
|
|
188403
|
+
/* harmony import */ var _internalContexts_CurveOffsetXYHandler__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./internalContexts/CurveOffsetXYHandler */ "../../core/geometry/lib/esm/curve/internalContexts/CurveOffsetXYHandler.js");
|
|
188404
|
+
/* harmony import */ var _internalContexts_EllipticalArcApproximationContext__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./internalContexts/EllipticalArcApproximationContext */ "../../core/geometry/lib/esm/curve/internalContexts/EllipticalArcApproximationContext.js");
|
|
188405
|
+
/* harmony import */ var _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./internalContexts/PlaneAltitudeRangeContext */ "../../core/geometry/lib/esm/curve/internalContexts/PlaneAltitudeRangeContext.js");
|
|
188456
188406
|
/* harmony import */ var _LineSegment3d__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./LineSegment3d */ "../../core/geometry/lib/esm/curve/LineSegment3d.js");
|
|
188457
188407
|
/* harmony import */ var _LineString3d__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
|
|
188458
|
-
/* harmony import */ var
|
|
188459
|
-
/* harmony import */ var
|
|
188408
|
+
/* harmony import */ var _OffsetOptions__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./OffsetOptions */ "../../core/geometry/lib/esm/curve/OffsetOptions.js");
|
|
188409
|
+
/* harmony import */ var _Path__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./Path */ "../../core/geometry/lib/esm/curve/Path.js");
|
|
188460
188410
|
/* harmony import */ var _StrokeOptions__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./StrokeOptions */ "../../core/geometry/lib/esm/curve/StrokeOptions.js");
|
|
188461
188411
|
/*---------------------------------------------------------------------------------------------
|
|
188462
188412
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
@@ -188482,6 +188432,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
188482
188432
|
|
|
188483
188433
|
|
|
188484
188434
|
|
|
188435
|
+
|
|
188485
188436
|
|
|
188486
188437
|
|
|
188487
188438
|
/**
|
|
@@ -189220,7 +189171,7 @@ class Arc3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_1__.CurvePrimitive
|
|
|
189220
189171
|
const axy = this._matrix.columnXDotColumnY();
|
|
189221
189172
|
return _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_8__.Angle.isPerpendicularDotSet(axx, ayy, axy) && _Geometry__WEBPACK_IMPORTED_MODULE_5__.Geometry.isSameCoordinateSquared(axx, ayy);
|
|
189222
189173
|
}
|
|
189223
|
-
/** Return radius if the vector0 and vector90 are of equal length and perpendicular. */
|
|
189174
|
+
/** Return radius if the vector0 and vector90 are of equal length and perpendicular. Ignores z. */
|
|
189224
189175
|
circularRadiusXY() {
|
|
189225
189176
|
const ux = this._matrix.at(0, 0);
|
|
189226
189177
|
const uy = this._matrix.at(1, 0);
|
|
@@ -189362,7 +189313,12 @@ class Arc3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_1__.CurvePrimitive
|
|
|
189362
189313
|
setVector0Vector90(vector0, vector90) {
|
|
189363
189314
|
this._matrix.setColumns(vector0, vector90, vector0.unitCrossProductWithDefault(vector90, 0, 0, 0));
|
|
189364
189315
|
}
|
|
189365
|
-
/**
|
|
189316
|
+
/**
|
|
189317
|
+
* Return the symmetric definition of the arc, with rigid axes and radii.
|
|
189318
|
+
* * The caller can send the returned data into [[createScaledXYColumns]] to construct the major-minor axis
|
|
189319
|
+
* version of the instance arc. This formulation of the arc has the same shape, but has perpendicular axes,
|
|
189320
|
+
* from which the arc's symmetry is readily apparent.
|
|
189321
|
+
*/
|
|
189366
189322
|
toScaledMatrix3d() {
|
|
189367
189323
|
const angleData = _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_8__.Angle.dotProductsToHalfAngleTrigValues(this._matrix.columnXMagnitudeSquared(), this._matrix.columnYMagnitudeSquared(), this._matrix.columnXDotColumnY(), true);
|
|
189368
189324
|
const vector0A = this._matrix.multiplyXY(angleData.c, angleData.s);
|
|
@@ -189502,9 +189458,9 @@ class Arc3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_1__.CurvePrimitive
|
|
|
189502
189458
|
}
|
|
189503
189459
|
/**
|
|
189504
189460
|
* Return an arc whose basis vectors are rotated by given angle within the current basis space.
|
|
189505
|
-
* *
|
|
189506
|
-
*
|
|
189507
|
-
*
|
|
189461
|
+
* * The returned arc will have `vector0 = this.vector0 * cos(theta) + this.vector90 * sin(theta)`.
|
|
189462
|
+
* * The returned arc has the same shape as the instance.
|
|
189463
|
+
* * In other words, the arc's sweep is adjusted so that all fractional parameters evaluate to the same points.
|
|
189508
189464
|
* * Specifically, theta is subtracted from the original start and end angles.
|
|
189509
189465
|
* @param theta the angle (in the input arc space) which is to become the 0-degree point in the new arc.
|
|
189510
189466
|
*/
|
|
@@ -189517,6 +189473,39 @@ class Arc3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_1__.CurvePrimitive
|
|
|
189517
189473
|
const arcB = Arc3d.create(this._center.clone(), vector0, vector90, newSweep);
|
|
189518
189474
|
return arcB;
|
|
189519
189475
|
}
|
|
189476
|
+
/**
|
|
189477
|
+
* Return a cloned arc with basis rotated to align with the global axes. The arc's shape is unchanged.
|
|
189478
|
+
* * This method is most useful when the instance is an xy-circular arc, for then the aligned arc's stored sweep
|
|
189479
|
+
* angles can be understood as being measured from the global positive x-axis to the arc's start/end. This is *not*
|
|
189480
|
+
* the case for xy-elliptical arcs: the parameter angle difference between two points on an ellipse is in general
|
|
189481
|
+
* not the same as the angle measured between their radials.
|
|
189482
|
+
* * For an xy instance, the output arc will have:
|
|
189483
|
+
* * vector0 is in the same direction as the positive x-axis
|
|
189484
|
+
* * perpendicularVector is in the same direction as the positive z-axis
|
|
189485
|
+
* * For a general instance, the output arc will have:
|
|
189486
|
+
* * vector0 is in the same direction as the projection of the positive x-axis vector onto the arc plane
|
|
189487
|
+
* * perpendicularVector lies in the halfspace z >= 0
|
|
189488
|
+
* @returns cloned arc, or undefined (if the instance normal is parallel to the x-axis, or its matrix is singular)
|
|
189489
|
+
*/
|
|
189490
|
+
cloneAxisAligned() {
|
|
189491
|
+
const plane = _geometry3d_Plane3dByOriginAndUnitNormal__WEBPACK_IMPORTED_MODULE_17__.Plane3dByOriginAndUnitNormal.create(this.center, this.perpendicularVector.crossProduct(_geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_4__.Vector3d.unitX()));
|
|
189492
|
+
if (!plane)
|
|
189493
|
+
return undefined;
|
|
189494
|
+
const axisPts = [];
|
|
189495
|
+
if (2 !== this.appendPlaneIntersectionPoints(plane, axisPts))
|
|
189496
|
+
return undefined;
|
|
189497
|
+
const iAxisPt = plane.getNormalRef().dotProduct(this.perpendicularVector.crossProductStartEnd(this.center, axisPts[0].point)) > 0.0 ? 0 : 1;
|
|
189498
|
+
const toUnitX = this.sweep.fractionToAngle(axisPts[iAxisPt].fraction);
|
|
189499
|
+
const arc1 = this.cloneInRotatedBasis(toUnitX); // rotate in arc's plane
|
|
189500
|
+
if (this.perpendicularVector.dotProduct(_geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_4__.Vector3d.unitZ()) < -_Geometry__WEBPACK_IMPORTED_MODULE_5__.Geometry.smallAngleRadians) {
|
|
189501
|
+
if (this.matrixRef.isSingular())
|
|
189502
|
+
return undefined;
|
|
189503
|
+
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
|
|
189504
|
+
arc1.matrixRef.multiplyMatrixMatrix(flip, arc1.matrixRef);
|
|
189505
|
+
arc1.sweep.setStartEndDegrees(-arc1.sweep.startDegrees, -arc1.sweep.endDegrees); // rotation alone is insufficient to flip
|
|
189506
|
+
}
|
|
189507
|
+
return arc1;
|
|
189508
|
+
}
|
|
189520
189509
|
/**
|
|
189521
189510
|
* Find intervals of this CurvePrimitive that are interior to a clipper.
|
|
189522
189511
|
* @param clipper clip structure (e.g.clip planes).
|
|
@@ -189616,7 +189605,7 @@ class Arc3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_1__.CurvePrimitive
|
|
|
189616
189605
|
* @param offsetDistanceOrOptions offset distance (positive to left of the instance curve), or options object.
|
|
189617
189606
|
*/
|
|
189618
189607
|
constructOffsetXY(offsetDistanceOrOptions) {
|
|
189619
|
-
const options =
|
|
189608
|
+
const options = _OffsetOptions__WEBPACK_IMPORTED_MODULE_18__.OffsetOptions.create(offsetDistanceOrOptions);
|
|
189620
189609
|
if (this.isCircular || options.preserveEllipticalArcs) {
|
|
189621
189610
|
const arcXY = this.cloneAtZ();
|
|
189622
189611
|
const sign = arcXY.sweep.sweepRadians * arcXY.matrixRef.coffs[8] >= 0.0 ? 1.0 : -1.0;
|
|
@@ -189638,7 +189627,7 @@ class Arc3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_1__.CurvePrimitive
|
|
|
189638
189627
|
}
|
|
189639
189628
|
}
|
|
189640
189629
|
// default impl
|
|
189641
|
-
const handler = new
|
|
189630
|
+
const handler = new _internalContexts_CurveOffsetXYHandler__WEBPACK_IMPORTED_MODULE_19__.CurveOffsetXYHandler(this, options.leftOffsetDistance);
|
|
189642
189631
|
this.emitStrokableParts(handler, options.strokeOptions);
|
|
189643
189632
|
return handler.claimResult();
|
|
189644
189633
|
}
|
|
@@ -189649,7 +189638,7 @@ class Arc3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_1__.CurvePrimitive
|
|
|
189649
189638
|
* @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.
|
|
189650
189639
|
*/
|
|
189651
189640
|
projectedParameterRange(ray, lowHigh) {
|
|
189652
|
-
return
|
|
189641
|
+
return _internalContexts_PlaneAltitudeRangeContext__WEBPACK_IMPORTED_MODULE_20__.PlaneAltitudeRangeContext.findExtremeFractionsAlongDirection(this, ray, lowHigh);
|
|
189653
189642
|
}
|
|
189654
189643
|
/**
|
|
189655
189644
|
* Construct a circular arc chain approximation to the instance elliptical arc.
|
|
@@ -189659,10 +189648,10 @@ class Arc3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_1__.CurvePrimitive
|
|
|
189659
189648
|
constructCircularArcChainApproximation(options) {
|
|
189660
189649
|
if (!options)
|
|
189661
189650
|
options = EllipticalArcApproximationOptions.create();
|
|
189662
|
-
const context =
|
|
189651
|
+
const context = _internalContexts_EllipticalArcApproximationContext__WEBPACK_IMPORTED_MODULE_21__.EllipticalArcApproximationContext.create(this);
|
|
189663
189652
|
const result = context.constructCircularArcChainApproximation(options);
|
|
189664
189653
|
if (!result && this.isCircular)
|
|
189665
|
-
return (this.sweep.isFullCircle && options.forcePath) ?
|
|
189654
|
+
return (this.sweep.isFullCircle && options.forcePath) ? _Path__WEBPACK_IMPORTED_MODULE_22__.Path.create(this) : this;
|
|
189666
189655
|
return result;
|
|
189667
189656
|
}
|
|
189668
189657
|
}
|
|
@@ -190828,6 +190817,11 @@ class CurveCollection extends _GeometryQuery__WEBPACK_IMPORTED_MODULE_0__.Geomet
|
|
|
190828
190817
|
}
|
|
190829
190818
|
return detailA;
|
|
190830
190819
|
}
|
|
190820
|
+
/** Reverse the collection's data so that each child curve's fractional stroking moves in the opposite direction. */
|
|
190821
|
+
reverseInPlace() {
|
|
190822
|
+
for (const curve of this.children)
|
|
190823
|
+
curve.reverseInPlace();
|
|
190824
|
+
}
|
|
190831
190825
|
/**
|
|
190832
190826
|
* Return the max gap between adjacent primitives in Path and Loop collections.
|
|
190833
190827
|
* * In a Path, gaps are computed between consecutive primitives.
|
|
@@ -191067,14 +191061,18 @@ class CurveChain extends CurveCollection {
|
|
|
191067
191061
|
curve.extendRange(range, transform);
|
|
191068
191062
|
}
|
|
191069
191063
|
/**
|
|
191070
|
-
* Reverse each child curve (in place)
|
|
191071
|
-
* Reverse the order of the children
|
|
191064
|
+
* Reverse each child curve (in place).
|
|
191065
|
+
* Reverse the order of the children array.
|
|
191072
191066
|
*/
|
|
191073
191067
|
reverseChildrenInPlace() {
|
|
191074
191068
|
for (const curve of this._curves)
|
|
191075
191069
|
curve.reverseInPlace();
|
|
191076
191070
|
this._curves.reverse();
|
|
191077
191071
|
}
|
|
191072
|
+
/** Same as [[reverseChildrenInPlace]]. */
|
|
191073
|
+
reverseInPlace() {
|
|
191074
|
+
this.reverseChildrenInPlace();
|
|
191075
|
+
}
|
|
191078
191076
|
/**
|
|
191079
191077
|
* Return the index where target is found in the array of children.
|
|
191080
191078
|
* @param alsoSearchProxies whether to also check proxy curves of the children
|
|
@@ -194339,34 +194337,34 @@ class LineString3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_1__.CurvePri
|
|
|
194339
194337
|
}
|
|
194340
194338
|
/**
|
|
194341
194339
|
* Return array of fraction parameters.
|
|
194342
|
-
* * These
|
|
194340
|
+
* * These are only present during certain constructions such as faceting.
|
|
194343
194341
|
* * When present, these fractions are fractions of some other curve being stroked, and are NOT related to the
|
|
194344
194342
|
* linestring fraction parameters.
|
|
194345
194343
|
*/
|
|
194346
194344
|
get fractions() {
|
|
194347
194345
|
return this._fractions;
|
|
194348
194346
|
}
|
|
194349
|
-
/** Return the (optional) array of derivatives. These
|
|
194347
|
+
/** Return the (optional) array of derivatives. These are only present during certain constructions such as faceting. */
|
|
194350
194348
|
get packedDerivatives() {
|
|
194351
194349
|
return this._derivatives;
|
|
194352
194350
|
}
|
|
194353
|
-
/** Return the (optional) array of uv
|
|
194351
|
+
/** Return the (optional) array of uv parameters. These are only present during certain constructions such as faceting. */
|
|
194354
194352
|
get packedUVParams() {
|
|
194355
194353
|
return this._uvParams;
|
|
194356
194354
|
}
|
|
194357
|
-
/** Return the (optional) array of surface normals. These
|
|
194355
|
+
/** Return the (optional) array of surface normals. These are only present during certain constructions such as faceting. */
|
|
194358
194356
|
get packedSurfaceNormals() {
|
|
194359
194357
|
return this._surfaceNormals;
|
|
194360
194358
|
}
|
|
194361
|
-
/** Return the (optional) array of normal indices. These
|
|
194359
|
+
/** Return the (optional) array of normal indices. These are only present during certain constructions such as faceting. */
|
|
194362
194360
|
get normalIndices() {
|
|
194363
194361
|
return this._normalIndices;
|
|
194364
194362
|
}
|
|
194365
|
-
/** Return the (optional) array of
|
|
194363
|
+
/** Return the (optional) array of uv parameter indices. These are only present during certain constructions such as faceting. */
|
|
194366
194364
|
get paramIndices() {
|
|
194367
194365
|
return this._uvIndices;
|
|
194368
194366
|
}
|
|
194369
|
-
/** Return the (optional) array of point indices. These
|
|
194367
|
+
/** Return the (optional) array of point indices. These are only present during certain constructions such as faceting. */
|
|
194370
194368
|
get pointIndices() {
|
|
194371
194369
|
return this._pointIndices;
|
|
194372
194370
|
}
|
|
@@ -194948,11 +194946,32 @@ class LineString3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_1__.CurvePri
|
|
|
194948
194946
|
reverseInPlace() {
|
|
194949
194947
|
if (this._points.length >= 2) {
|
|
194950
194948
|
this._points.reverseInPlace();
|
|
194949
|
+
if (this._fractions) {
|
|
194950
|
+
this._fractions.reverseInPlace();
|
|
194951
|
+
for (let i = 0; i < this._fractions.length; ++i)
|
|
194952
|
+
this._fractions.reassign(i, 1.0 - this._fractions.atUncheckedIndex(i));
|
|
194953
|
+
}
|
|
194951
194954
|
if (this._uvParams)
|
|
194952
194955
|
this._uvParams.reverseInPlace();
|
|
194956
|
+
if (this._derivatives) {
|
|
194957
|
+
this._derivatives.reverseInPlace();
|
|
194958
|
+
this._derivatives.scaleInPlace(-1.0);
|
|
194959
|
+
}
|
|
194960
|
+
if (this._surfaceNormals)
|
|
194961
|
+
this._surfaceNormals.reverseInPlace();
|
|
194962
|
+
if (this._pointIndices)
|
|
194963
|
+
this._pointIndices.reverseInPlace();
|
|
194964
|
+
if (this._uvIndices)
|
|
194965
|
+
this._uvIndices.reverseInPlace();
|
|
194966
|
+
if (this._normalIndices)
|
|
194967
|
+
this._normalIndices.reverseInPlace();
|
|
194953
194968
|
}
|
|
194954
194969
|
}
|
|
194955
|
-
/**
|
|
194970
|
+
/**
|
|
194971
|
+
* Apply `transform` to each point of this linestring.
|
|
194972
|
+
* * Note that this method always returns true. If transforming the surface normals fails (due to singular matrix or zero
|
|
194973
|
+
* normal), the original normal(s) are left unchanged.
|
|
194974
|
+
*/
|
|
194956
194975
|
tryTransformInPlace(transform) {
|
|
194957
194976
|
this._points.multiplyTransformInPlace(transform);
|
|
194958
194977
|
if (this._derivatives)
|
|
@@ -195778,7 +195797,6 @@ class Loop extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveChain {
|
|
|
195778
195797
|
isSameGeometryClass(other) {
|
|
195779
195798
|
return other instanceof Loop;
|
|
195780
195799
|
}
|
|
195781
|
-
/** Test if `other` is an instance of `Loop` */
|
|
195782
195800
|
constructor() {
|
|
195783
195801
|
super();
|
|
195784
195802
|
/** String name for schema properties */
|
|
@@ -195787,8 +195805,10 @@ class Loop extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveChain {
|
|
|
195787
195805
|
this.isInner = false;
|
|
195788
195806
|
}
|
|
195789
195807
|
/**
|
|
195790
|
-
* Create a loop from variable length list of
|
|
195791
|
-
*
|
|
195808
|
+
* Create a loop from a variable length list of [[CurvePrimitive]]s.
|
|
195809
|
+
* * A significant gap between the end of one curve and the start of the next, or between chain start and end,
|
|
195810
|
+
* is not bridged and may cause unexpected behavior.
|
|
195811
|
+
* @param curves array of individual curve primitives, assumed to form a closed planar loop.
|
|
195792
195812
|
*/
|
|
195793
195813
|
static create(...curves) {
|
|
195794
195814
|
const result = new Loop();
|
|
@@ -195801,13 +195821,18 @@ class Loop extends _CurveCollection__WEBPACK_IMPORTED_MODULE_0__.CurveChain {
|
|
|
195801
195821
|
return result;
|
|
195802
195822
|
}
|
|
195803
195823
|
/**
|
|
195804
|
-
* Create a loop from an array of
|
|
195805
|
-
*
|
|
195824
|
+
* Create a loop from an array of [[CurvePrimitive]]s.
|
|
195825
|
+
* * A significant gap between the end of one curve and the start of the next, or between chain start and end,
|
|
195826
|
+
* is not bridged and may cause unexpected behavior.
|
|
195827
|
+
* @param curves array of individual curve primitives, assumed to form a closed planar loop.
|
|
195806
195828
|
*/
|
|
195807
195829
|
static createArray(curves) {
|
|
195808
195830
|
return this.create(...curves);
|
|
195809
195831
|
}
|
|
195810
|
-
/**
|
|
195832
|
+
/**
|
|
195833
|
+
* Create a loop from an array of coplanar points.
|
|
195834
|
+
* @param points vertices of polygon, closure point optional.
|
|
195835
|
+
*/
|
|
195811
195836
|
static createPolygon(points) {
|
|
195812
195837
|
const linestring = _LineString3d__WEBPACK_IMPORTED_MODULE_2__.LineString3d.create(points);
|
|
195813
195838
|
linestring.addClosurePoint();
|
|
@@ -196972,14 +196997,16 @@ class CylindricalRangeQuery extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
196972
196997
|
return accumulator._perpVector.clone();
|
|
196973
196998
|
}
|
|
196974
196999
|
/**
|
|
196975
|
-
* Recurse through geometry.children to find linestrings.
|
|
196976
|
-
*
|
|
197000
|
+
* Recurse through `geometry.children` to find linestrings.
|
|
197001
|
+
* For each linestring, compute and store the normal of the rotational surface resulting from sweeping the
|
|
197002
|
+
* geometry around `axis` through a positive angle, using:
|
|
196977
197003
|
* * the curve tangent stored in the linestring
|
|
196978
197004
|
* * the axis of rotation
|
|
196979
|
-
* * a default V vector to be used when the linestring point is close to the axis
|
|
196980
|
-
* @param geometry
|
|
196981
|
-
*
|
|
196982
|
-
* @param
|
|
197005
|
+
* * a default V vector to be used when the linestring point is close to the axis
|
|
197006
|
+
* @param geometry profile curve (e.g., linestring, parity region). The orientation of the curve should be such that
|
|
197007
|
+
* the computed normal lies in the same half-space as the rotational sweep direction.
|
|
197008
|
+
* @param axis rotational axis
|
|
197009
|
+
* @param defaultVectorFromAxis default vector perpendicular to `axis` (e.g., sweepVector)
|
|
196983
197010
|
*/
|
|
196984
197011
|
static buildRotationalNormalsInLineStrings(geometry, axis, defaultVectorFromAxis) {
|
|
196985
197012
|
if (geometry instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_3__.LineString3d) {
|
|
@@ -196988,18 +197015,20 @@ class CylindricalRangeQuery extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
196988
197015
|
const normals = geometry.ensureEmptySurfaceNormals();
|
|
196989
197016
|
if (derivatives && normals) {
|
|
196990
197017
|
const vectorU = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create();
|
|
196991
|
-
const vectorV = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create();
|
|
197018
|
+
const vectorV = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create();
|
|
196992
197019
|
const xyz = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Point3d.create();
|
|
196993
197020
|
const n = points.length;
|
|
196994
197021
|
for (let i = 0; i < n; i++) {
|
|
196995
197022
|
points.getPoint3dAtUncheckedPointIndex(i, xyz);
|
|
196996
197023
|
axis.perpendicularPartOfVectorToTarget(xyz, vectorU);
|
|
197024
|
+
// compute the positive sweep direction. ASSUME: the rotational sweep angle is positive!
|
|
196997
197025
|
if (vectorU.isAlmostZero)
|
|
196998
197026
|
axis.direction.crossProduct(defaultVectorFromAxis, vectorV);
|
|
196999
197027
|
else
|
|
197000
197028
|
axis.direction.crossProduct(vectorU, vectorV);
|
|
197001
|
-
|
|
197002
|
-
|
|
197029
|
+
// ASSUME: orientation-based profile normal is in the same half-space as vectorV
|
|
197030
|
+
geometry.packedDerivatives.getVector3dAtCheckedVectorIndex(i, vectorU); // reuse vectorU
|
|
197031
|
+
vectorU.crossProduct(vectorV, vectorV); // reuse vectorV
|
|
197003
197032
|
vectorV.normalizeInPlace();
|
|
197004
197033
|
normals.push(vectorV);
|
|
197005
197034
|
}
|
|
@@ -204013,16 +204042,19 @@ class ArcChainErrorProcessor extends QuadrantFractionsProcessor {
|
|
|
204013
204042
|
}
|
|
204014
204043
|
}
|
|
204015
204044
|
/**
|
|
204016
|
-
* Processor for
|
|
204017
|
-
*
|
|
204018
|
-
*
|
|
204019
|
-
* `q
|
|
204020
|
-
*
|
|
204021
|
-
*
|
|
204022
|
-
*
|
|
204023
|
-
* * This processor
|
|
204024
|
-
*
|
|
204025
|
-
*
|
|
204045
|
+
* Processor for computing an optimal refinement of a single Q1 ordered interval [f0,f1] by perturbing an interior
|
|
204046
|
+
* seed fraction f.
|
|
204047
|
+
* * Typically the caller (cf. [[AdaptiveSubdivisionQ1ErrorProcessor.announceArc]] processes a
|
|
204048
|
+
* QuadrantFractions `q` with `q.quadrant` = 1 until convergence. The `q.fractions` array is expected to have
|
|
204049
|
+
* one of two forms:
|
|
204050
|
+
* * [fPrev, f0, f, f1], where fPrev is from the adjacent interval (possibly just refined), or
|
|
204051
|
+
* * [f0, f, f1], if `q.interpolateStartTangent === true`.
|
|
204052
|
+
* * This processor implements a bisection algorithm that iteratively shrinks a sub-interval that brackets f,
|
|
204053
|
+
* starting with [f0,f1]:
|
|
204054
|
+
* * During processing, `announceArc` will be called twice to compute the approximation errors of the circular
|
|
204055
|
+
* arcs on either side of f in the current bracket.
|
|
204056
|
+
* * In `announceQuadrantEnd` if these two errors are almost equal, we are done refining [f0,f1]. Otherwise,
|
|
204057
|
+
* we move f halfway to the endpoint of the bracket that decreases the error delta, and shrink our bracket.
|
|
204026
204058
|
* @internal
|
|
204027
204059
|
*/
|
|
204028
204060
|
class AdaptiveSubdivisionQ1IntervalErrorProcessor extends QuadrantFractionsProcessor {
|
|
@@ -204094,14 +204126,17 @@ class AdaptiveSubdivisionQ1IntervalErrorProcessor extends QuadrantFractionsProce
|
|
|
204094
204126
|
/**
|
|
204095
204127
|
* Processor for computing samples in Q1 for a subdivision-based arc chain approximation.
|
|
204096
204128
|
* * The basic idea is to build a refinement of `q.fractions` for a QuadrantFractions q with q.quadrant = 1.
|
|
204097
|
-
* *
|
|
204098
|
-
* *
|
|
204099
|
-
*
|
|
204100
|
-
*
|
|
204101
|
-
*
|
|
204102
|
-
*
|
|
204103
|
-
*
|
|
204104
|
-
*
|
|
204129
|
+
* * In `announceQuadrantBegin` we start off the refinement with a copy of `q.fractions`.
|
|
204130
|
+
* * In `announceArc` we are called to process the interval [f0,f1] in `q.fractions`. First we test if the
|
|
204131
|
+
* announced arc's approximation error over [f0,f1] exceeds maxError.
|
|
204132
|
+
* * If so, we employ [[AdaptiveSubdivisionQ1IntervalErrorProcessor]] to compute an interior fraction f
|
|
204133
|
+
* that best refines the interval, which becomes [f0,f,f1].
|
|
204134
|
+
* * Otherwise, the fraction span [f0,f1] is unchanged---no additional samples are needed to decrease the
|
|
204135
|
+
* approximation error.
|
|
204136
|
+
* * In `announceQuadrantEnd`, `q.fractions` is updated in place with the computed refinement.
|
|
204137
|
+
* * The caller (e.g., [[AdaptiveSubdivisionSampler.computeRadiansStrictlyInsideQuadrant1]]) typically
|
|
204138
|
+
* re-processes `q` until `isRefined` returns false, at which point construction of an approximation that is
|
|
204139
|
+
* guaranteed not to exceed the desired error can commence.
|
|
204105
204140
|
* @internal
|
|
204106
204141
|
*/
|
|
204107
204142
|
class AdaptiveSubdivisionQ1ErrorProcessor extends QuadrantFractionsProcessor {
|
|
@@ -210253,16 +210288,22 @@ class BarycentricTriangle {
|
|
|
210253
210288
|
}
|
|
210254
210289
|
/**
|
|
210255
210290
|
* Compute the intersection of a line (parameterized as a ray) with the plane of this triangle.
|
|
210256
|
-
* *
|
|
210291
|
+
* * Intersection data is returned for the line-plane intersection.
|
|
210292
|
+
* * No intersection is returned if the line is parallel to the plane.
|
|
210293
|
+
* * As for the *ray*, it intersects this triangle if and only if the returned detail `d` has
|
|
210294
|
+
* `d.isValid === true` and `d.a >= 0` and `d.isInsideOrOn === true`.
|
|
210295
|
+
* * This method is slower than `Ray3d.intersectionWithTriangle` but returns more information about the intersection.
|
|
210257
210296
|
* @param ray infinite line to intersect, as a ray
|
|
210258
210297
|
* @param result optional pre-allocated object to fill and return
|
|
210259
|
-
* @returns details d of the line
|
|
210260
|
-
* * `d.
|
|
210261
|
-
* *
|
|
210262
|
-
* *
|
|
210263
|
-
* *
|
|
210264
|
-
*
|
|
210265
|
-
* * `d.
|
|
210298
|
+
* @returns details `d` of the intersection point `p` of the line and the plane of this triangle:
|
|
210299
|
+
* * `d.isValid`: false if and only if `ray.direction` is parallel to the plane, or the ray or triangle is degenerate.
|
|
210300
|
+
* * `d.world`: coordinates of `p`.
|
|
210301
|
+
* * `d.local`: barycentric coordinates of `p`.
|
|
210302
|
+
* * `d.a`: the intersection parameter of `p` along the ray. Negative means `p` is behind the ray origin.
|
|
210303
|
+
* * `d.classify`: where `p` lies with respect to the triangle.
|
|
210304
|
+
* * `d.isInsideOrOn`: whether `p` is inside or on the triangle.
|
|
210305
|
+
* * `d.closestEdgeIndex`: the index of the triangle edge `e` onto which `p` projects.
|
|
210306
|
+
* * `d.closestEdgeParam`: the edge parameter at which `p` projects onto `e`.
|
|
210266
210307
|
* * Visualization can be found at https://www.itwinjs.org/sandbox/SaeedTorabi/RayTriangleIntersection
|
|
210267
210308
|
* @see [[pointToFraction]]
|
|
210268
210309
|
*/
|
|
@@ -210279,6 +210320,9 @@ class BarycentricTriangle {
|
|
|
210279
210320
|
const d = ray.direction;
|
|
210280
210321
|
const u = BarycentricTriangle._workVector0 = _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.createStartEnd(this.points[0], this.points[1], BarycentricTriangle._workVector0);
|
|
210281
210322
|
const v = BarycentricTriangle._workVector1 = _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.createStartEnd(this.points[0], this.points[2], BarycentricTriangle._workVector1);
|
|
210323
|
+
const scaledVolume = d.tripleProduct(u, v);
|
|
210324
|
+
if (scaledVolume * scaledVolume <= u.dotProduct(u) * v.dotProduct(v) * d.dotProduct(d) * _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallAngleRadiansSquared)
|
|
210325
|
+
return result; // parallel (no solution)
|
|
210282
210326
|
const M = BarycentricTriangle._workMatrix = _Matrix3d__WEBPACK_IMPORTED_MODULE_4__.Matrix3d.createColumns(u, v, d, BarycentricTriangle._workMatrix);
|
|
210283
210327
|
const c = _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.createStartEnd(this.points[0], r0, BarycentricTriangle._workVector0); // reuse workVector0
|
|
210284
210328
|
const solution = BarycentricTriangle._workVector1; // reuse workVector1
|
|
@@ -213320,6 +213364,10 @@ class GrowableFloat64Array {
|
|
|
213320
213364
|
}
|
|
213321
213365
|
this._inUse = numAccepted;
|
|
213322
213366
|
}
|
|
213367
|
+
/** reverse the order of values. */
|
|
213368
|
+
reverseInPlace() {
|
|
213369
|
+
this._data.reverse();
|
|
213370
|
+
}
|
|
213323
213371
|
}
|
|
213324
213372
|
|
|
213325
213373
|
|
|
@@ -215595,9 +215643,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
215595
215643
|
/* harmony export */ });
|
|
215596
215644
|
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
215597
215645
|
/* harmony import */ var _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../geometry4d/Point4d */ "../../core/geometry/lib/esm/geometry4d/Point4d.js");
|
|
215598
|
-
/* harmony import */ var
|
|
215646
|
+
/* harmony import */ var _Angle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Angle */ "../../core/geometry/lib/esm/geometry3d/Angle.js");
|
|
215599
215647
|
/* harmony import */ var _Point2dVector2d__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Point2dVector2d */ "../../core/geometry/lib/esm/geometry3d/Point2dVector2d.js");
|
|
215600
|
-
/* harmony import */ var
|
|
215648
|
+
/* harmony import */ var _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
215601
215649
|
/* harmony import */ var _Transform__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Transform */ "../../core/geometry/lib/esm/geometry3d/Transform.js");
|
|
215602
215650
|
/*---------------------------------------------------------------------------------------------
|
|
215603
215651
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
@@ -215897,32 +215945,35 @@ class Matrix3d {
|
|
|
215897
215945
|
return _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.isDistanceWithinTol(max, tol);
|
|
215898
215946
|
}
|
|
215899
215947
|
/**
|
|
215900
|
-
*
|
|
215901
|
-
*
|
|
215902
|
-
* *
|
|
215903
|
-
*
|
|
215948
|
+
* A matrix equivalence test, returning true if and only if the matrices are almost equal,
|
|
215949
|
+
* or all of the following column comparisons hold:
|
|
215950
|
+
* * z columns are almost equal, and
|
|
215951
|
+
* * x columns differ only by a rotation of angle t around the z column, and
|
|
215952
|
+
* * y columns differ only by a rotation of the same angle t around the z column.
|
|
215953
|
+
* @param other matrix to compare
|
|
215954
|
+
* @param tol optional distance tolerance, for comparisons by Geometry.isDistanceWithinTol
|
|
215955
|
+
* @return whether matrices are almost equal modulo a rotation around their common nonzero z-column.
|
|
215904
215956
|
*/
|
|
215905
215957
|
isAlmostEqualAllowZRotation(other, tol) {
|
|
215906
215958
|
if (this.isAlmostEqual(other, tol))
|
|
215907
215959
|
return true;
|
|
215908
|
-
if (this.isAlmostEqualColumn(_Geometry__WEBPACK_IMPORTED_MODULE_0__.AxisIndex.Z, other, tol))
|
|
215909
|
-
|
|
215910
|
-
|
|
215911
|
-
|
|
215912
|
-
|
|
215913
|
-
|
|
215914
|
-
|
|
215915
|
-
|
|
215916
|
-
|
|
215917
|
-
|
|
215918
|
-
|
|
215919
|
-
|
|
215920
|
-
|
|
215921
|
-
|
|
215922
|
-
|
|
215923
|
-
|
|
215924
|
-
|
|
215925
|
-
return false;
|
|
215960
|
+
if (!this.isAlmostEqualColumn(_Geometry__WEBPACK_IMPORTED_MODULE_0__.AxisIndex.Z, other, tol))
|
|
215961
|
+
return false;
|
|
215962
|
+
const columnX = this.columnX();
|
|
215963
|
+
const columnY = this.columnY();
|
|
215964
|
+
const columnZ = this.columnZ();
|
|
215965
|
+
const toOtherColumnX = columnX.signedAngleTo(other.columnX(), columnZ);
|
|
215966
|
+
let testColumn = _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.createRotateVectorAroundVector(columnX, columnZ, toOtherColumnX);
|
|
215967
|
+
if (!testColumn)
|
|
215968
|
+
return false; // columnZ is zero length
|
|
215969
|
+
if (!other.isAlmostEqualColumnXYZ(0, testColumn.x, testColumn.y, testColumn.z, tol))
|
|
215970
|
+
return false; // columnX rotated around columnZ by angle doesn't end up at other.columnX
|
|
215971
|
+
testColumn = _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.createRotateVectorAroundVector(columnY, columnZ, toOtherColumnX);
|
|
215972
|
+
if (!testColumn)
|
|
215973
|
+
return false;
|
|
215974
|
+
if (!other.isAlmostEqualColumnXYZ(1, testColumn.x, testColumn.y, testColumn.z, tol))
|
|
215975
|
+
return false; // columnY rotated around columnZ by angle doesn't end up at other.columnY
|
|
215976
|
+
return true;
|
|
215926
215977
|
}
|
|
215927
215978
|
/** Test for exact (bitwise) equality with other. */
|
|
215928
215979
|
isExactEqual(other) {
|
|
@@ -216198,10 +216249,10 @@ class Matrix3d {
|
|
|
216198
216249
|
const b = a / scale;
|
|
216199
216250
|
// if vectorA is close to the Z axis
|
|
216200
216251
|
if (Math.abs(vectorA.x) < b && Math.abs(vectorA.y) < b) {
|
|
216201
|
-
return
|
|
216252
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.createCrossProduct(vectorA.x, vectorA.y, vectorA.z, 0, -1, 0, result);
|
|
216202
216253
|
}
|
|
216203
216254
|
// if vectorA is NOT close to the Z axis
|
|
216204
|
-
return
|
|
216255
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.createCrossProduct(0, 0, 1, vectorA.x, vectorA.y, vectorA.z, result);
|
|
216205
216256
|
}
|
|
216206
216257
|
/**
|
|
216207
216258
|
* Return a vector that is perpendicular to the input `vectorA`.
|
|
@@ -216422,7 +216473,7 @@ class Matrix3d {
|
|
|
216422
216473
|
let c = Math.sqrt(0.5);
|
|
216423
216474
|
let s = leftNoneRight < 0.0 ? -c : c;
|
|
216424
216475
|
if (Math.abs(leftNoneRight) !== 1.0) {
|
|
216425
|
-
const radians =
|
|
216476
|
+
const radians = _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.degreesToRadians(45.0 * leftNoneRight);
|
|
216426
216477
|
c = Math.cos(radians);
|
|
216427
216478
|
s = Math.sin(radians);
|
|
216428
216479
|
}
|
|
@@ -216516,7 +216567,7 @@ class Matrix3d {
|
|
|
216516
216567
|
const sij = lambda.at(i, j);
|
|
216517
216568
|
if (Math.abs(sij) < _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.smallFloatingPoint * (sii + sjj))
|
|
216518
216569
|
return 0.0;
|
|
216519
|
-
const jacobi =
|
|
216570
|
+
const jacobi = _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.trigValuesToHalfAngleTrigValues(sii - sjj, 2.0 * sij);
|
|
216520
216571
|
const c = jacobi.c;
|
|
216521
216572
|
const s = jacobi.s;
|
|
216522
216573
|
/**
|
|
@@ -216596,7 +216647,7 @@ class Matrix3d {
|
|
|
216596
216647
|
const sij = this.coffs[indexIJ];
|
|
216597
216648
|
if (Math.abs(sij) < _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.smallFloatingPoint * (sii + sjj))
|
|
216598
216649
|
return 0.0;
|
|
216599
|
-
const jacobi =
|
|
216650
|
+
const jacobi = _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.trigValuesToHalfAngleTrigValues(sii - sjj, 2.0 * sij);
|
|
216600
216651
|
const c = jacobi.c;
|
|
216601
216652
|
const s = jacobi.s;
|
|
216602
216653
|
const cc = c * c;
|
|
@@ -216660,12 +216711,12 @@ class Matrix3d {
|
|
|
216660
216711
|
const e = c * c + s * s - 1.0; // s^2 + c^2 = 1
|
|
216661
216712
|
// if s^2 + c^2 != 1 then we have a bad matrix so return false
|
|
216662
216713
|
if (Math.abs(e) > _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.smallAngleRadians) {
|
|
216663
|
-
return { axis:
|
|
216714
|
+
return { axis: _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(0, 0, 1), angle: _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.createRadians(0), ok: false };
|
|
216664
216715
|
}
|
|
216665
216716
|
// sin is close to 0 then we got to special cases (angle 0 or 180) which needs to be handled differently
|
|
216666
216717
|
if (Math.abs(s) < _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.smallAngleRadians) {
|
|
216667
216718
|
if (c > 0) // sin = 0 and cos = 1 so angle = 0 (i.e., no rotation)
|
|
216668
|
-
return { axis:
|
|
216719
|
+
return { axis: _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(0, 0, 1), angle: _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.createRadians(0), ok: true };
|
|
216669
216720
|
/**
|
|
216670
216721
|
* If sin = 0 and cos = -1 then angle = 180 (i.e., 180 degree rotation around some axis)
|
|
216671
216722
|
* then the rotation matrix becomes
|
|
@@ -216683,34 +216734,34 @@ class Matrix3d {
|
|
|
216683
216734
|
const azz = this.coffs[8];
|
|
216684
216735
|
// Look for a pair of "-1" entries on the diagonal (for rotation around the basis X,Y,Z axis)
|
|
216685
216736
|
if (_Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.isAlmostEqualNumber(-1.0, ayy) && _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.isAlmostEqualNumber(-1, azz)) {
|
|
216686
|
-
return { axis:
|
|
216737
|
+
return { axis: _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(1, 0, 0), angle: _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.createDegrees(180), ok: true };
|
|
216687
216738
|
}
|
|
216688
216739
|
else if (_Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.isAlmostEqualNumber(-1.0, axx) && _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.isAlmostEqualNumber(-1, azz)) {
|
|
216689
|
-
return { axis:
|
|
216740
|
+
return { axis: _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(0, 1, 0), angle: _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.createDegrees(180), ok: true };
|
|
216690
216741
|
}
|
|
216691
216742
|
else if (_Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.isAlmostEqualNumber(-1.0, axx) && _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.isAlmostEqualNumber(-1, ayy)) {
|
|
216692
|
-
return { axis:
|
|
216743
|
+
return { axis: _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(0, 0, 1), angle: _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.createDegrees(180), ok: true };
|
|
216693
216744
|
}
|
|
216694
216745
|
// Look for eigenvector with eigenvalue = 1
|
|
216695
216746
|
const eigenvectors = Matrix3d.createIdentity();
|
|
216696
|
-
const eigenvalues =
|
|
216747
|
+
const eigenvalues = _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(0, 0, 0);
|
|
216697
216748
|
if (this.fastSymmetricEigenvalues(eigenvectors, eigenvalues)) { // note: this matrix is "symmetric"
|
|
216698
216749
|
for (let axisIndex = 0; axisIndex < 2; axisIndex++) {
|
|
216699
216750
|
const lambda = eigenvalues.at(axisIndex);
|
|
216700
216751
|
if (_Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.isAlmostEqualNumber(1, lambda))
|
|
216701
|
-
return { axis: eigenvectors.getColumn(axisIndex), angle:
|
|
216752
|
+
return { axis: eigenvectors.getColumn(axisIndex), angle: _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.createDegrees(180), ok: true };
|
|
216702
216753
|
}
|
|
216703
216754
|
// if no eigenvalue = 1 was found return false
|
|
216704
|
-
return { axis:
|
|
216755
|
+
return { axis: _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(0, 0, 1), angle: _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.createRadians(0), ok: false };
|
|
216705
216756
|
}
|
|
216706
216757
|
// if no axis was found return false
|
|
216707
|
-
return { axis:
|
|
216758
|
+
return { axis: _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(0, 0, 1), angle: _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.createRadians(0), ok: false };
|
|
216708
216759
|
}
|
|
216709
216760
|
// good matrix and non-zero sine
|
|
216710
216761
|
const a = 1.0 / (2.0 * s);
|
|
216711
216762
|
const result = {
|
|
216712
|
-
axis:
|
|
216713
|
-
angle:
|
|
216763
|
+
axis: _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(skewYZ * a, skewZX * a, skewXY * a),
|
|
216764
|
+
angle: _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.createAtan2(s, c),
|
|
216714
216765
|
ok: true,
|
|
216715
216766
|
};
|
|
216716
216767
|
return result;
|
|
@@ -216734,7 +216785,7 @@ class Matrix3d {
|
|
|
216734
216785
|
const uDotV = this.coffs[i] * this.coffs[j]
|
|
216735
216786
|
+ this.coffs[i + 3] * this.coffs[j + 3]
|
|
216736
216787
|
+ this.coffs[i + 6] * this.coffs[j + 6];
|
|
216737
|
-
const jacobi =
|
|
216788
|
+
const jacobi = _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.trigValuesToHalfAngleTrigValues(uDotU - vDotV, 2.0 * uDotV);
|
|
216738
216789
|
const c = jacobi.c;
|
|
216739
216790
|
const s = jacobi.s;
|
|
216740
216791
|
if (Math.abs(s) < 2.0e-15)
|
|
@@ -216822,7 +216873,7 @@ class Matrix3d {
|
|
|
216822
216873
|
let upVector = vectorA.unitCrossProduct(vectorB);
|
|
216823
216874
|
// the usual case (both vectors and also their cross product is non-zero)
|
|
216824
216875
|
if (upVector) {
|
|
216825
|
-
return Matrix3d.createRotationAroundVector(upVector,
|
|
216876
|
+
return Matrix3d.createRotationAroundVector(upVector, _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.createRadians(fraction * vectorA.planarAngleTo(vectorB, upVector).radians));
|
|
216826
216877
|
}
|
|
216827
216878
|
// if either vector is zero
|
|
216828
216879
|
if (_Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.isSmallMetricDistance(vectorA.magnitude())
|
|
@@ -216833,7 +216884,7 @@ class Matrix3d {
|
|
|
216833
216884
|
return Matrix3d.createIdentity(result);
|
|
216834
216885
|
// opposing vectors (cross product = 0, dot product < 0)
|
|
216835
216886
|
upVector = Matrix3d.createPerpendicularVectorFavorPlaneContainingZ(vectorA, upVector);
|
|
216836
|
-
return Matrix3d.createRotationAroundVector(upVector,
|
|
216887
|
+
return Matrix3d.createRotationAroundVector(upVector, _Angle__WEBPACK_IMPORTED_MODULE_2__.Angle.createRadians(fraction * Math.PI));
|
|
216837
216888
|
}
|
|
216838
216889
|
/** Returns a matrix that rotates from vectorA to vectorB. */
|
|
216839
216890
|
static createRotationVectorToVector(vectorA, vectorB, result) {
|
|
@@ -216860,15 +216911,15 @@ class Matrix3d {
|
|
|
216860
216911
|
}
|
|
216861
216912
|
/** Return (a copy of) the X column */
|
|
216862
216913
|
columnX(result) {
|
|
216863
|
-
return
|
|
216914
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(this.coffs[0], this.coffs[3], this.coffs[6], result);
|
|
216864
216915
|
}
|
|
216865
216916
|
/** Return (a copy of) the Y column */
|
|
216866
216917
|
columnY(result) {
|
|
216867
|
-
return
|
|
216918
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(this.coffs[1], this.coffs[4], this.coffs[7], result);
|
|
216868
216919
|
}
|
|
216869
216920
|
/** Return (a copy of) the Z column */
|
|
216870
216921
|
columnZ(result) {
|
|
216871
|
-
return
|
|
216922
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(this.coffs[2], this.coffs[5], this.coffs[8], result);
|
|
216872
216923
|
}
|
|
216873
216924
|
/** Return the X column magnitude squared */
|
|
216874
216925
|
columnXMagnitudeSquared() {
|
|
@@ -216940,15 +216991,15 @@ class Matrix3d {
|
|
|
216940
216991
|
}
|
|
216941
216992
|
/** Return (a copy of) the X row */
|
|
216942
216993
|
rowX(result) {
|
|
216943
|
-
return
|
|
216994
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(this.coffs[0], this.coffs[1], this.coffs[2], result);
|
|
216944
216995
|
}
|
|
216945
216996
|
/** Return (a copy of) the Y row */
|
|
216946
216997
|
rowY(result) {
|
|
216947
|
-
return
|
|
216998
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(this.coffs[3], this.coffs[4], this.coffs[5], result);
|
|
216948
216999
|
}
|
|
216949
217000
|
/** Return (a copy of) the Z row */
|
|
216950
217001
|
rowZ(result) {
|
|
216951
|
-
return
|
|
217002
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(this.coffs[6], this.coffs[7], this.coffs[8], result);
|
|
216952
217003
|
}
|
|
216953
217004
|
/** Return the dot product of the vector parameter with the X column. */
|
|
216954
217005
|
dotColumnX(vector) {
|
|
@@ -217045,7 +217096,7 @@ class Matrix3d {
|
|
|
217045
217096
|
*/
|
|
217046
217097
|
getColumn(columnIndex, result) {
|
|
217047
217098
|
const index = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.cyclic3dAxis(columnIndex);
|
|
217048
|
-
return
|
|
217099
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(this.coffs[index], this.coffs[index + 3], this.coffs[index + 6], result);
|
|
217049
217100
|
}
|
|
217050
217101
|
/**
|
|
217051
217102
|
* Return a (copy of) a row of the matrix.
|
|
@@ -217054,7 +217105,7 @@ class Matrix3d {
|
|
|
217054
217105
|
*/
|
|
217055
217106
|
getRow(columnIndex, result) {
|
|
217056
217107
|
const index = 3 * _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.cyclic3dAxis(columnIndex);
|
|
217057
|
-
return
|
|
217108
|
+
return _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d.create(this.coffs[index], this.coffs[index + 1], this.coffs[index + 2], result);
|
|
217058
217109
|
}
|
|
217059
217110
|
/**
|
|
217060
217111
|
* Create a matrix from row vectors.
|
|
@@ -217136,7 +217187,7 @@ class Matrix3d {
|
|
|
217136
217187
|
const x = point.x;
|
|
217137
217188
|
const y = point.y;
|
|
217138
217189
|
const z = point.z;
|
|
217139
|
-
return
|
|
217190
|
+
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);
|
|
217140
217191
|
}
|
|
217141
217192
|
/**
|
|
217142
217193
|
* Multiply `matrix * vector`, treating the vector is a column vector on the right.
|
|
@@ -217150,7 +217201,7 @@ class Matrix3d {
|
|
|
217150
217201
|
const x = vectorU.x;
|
|
217151
217202
|
const y = vectorU.y;
|
|
217152
217203
|
const z = vectorU.z;
|
|
217153
|
-
return
|
|
217204
|
+
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);
|
|
217154
217205
|
}
|
|
217155
217206
|
/**
|
|
217156
217207
|
* Multiply `matrix * vector` in place for vector in the array, i.e. treating the vector is a column
|
|
@@ -217166,7 +217217,7 @@ class Matrix3d {
|
|
|
217166
217217
|
const x = vector.x;
|
|
217167
217218
|
const y = vector.y;
|
|
217168
217219
|
const z = vector.z;
|
|
217169
|
-
return
|
|
217220
|
+
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);
|
|
217170
217221
|
}
|
|
217171
217222
|
/** Compute `origin + matrix * vector` using only the xy parts of the inputs. */
|
|
217172
217223
|
static xyPlusMatrixTimesXY(origin, matrix, vector, result) {
|
|
@@ -217179,7 +217230,7 @@ class Matrix3d {
|
|
|
217179
217230
|
const x = vector.x;
|
|
217180
217231
|
const y = vector.y;
|
|
217181
217232
|
const z = vector.z;
|
|
217182
|
-
return
|
|
217233
|
+
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);
|
|
217183
217234
|
}
|
|
217184
217235
|
/** Updates vector to be `origin + matrix * vector` using all xyz parts of the inputs. */
|
|
217185
217236
|
static xyzPlusMatrixTimesXYZInPlace(origin, matrix, vector) {
|
|
@@ -217192,7 +217243,7 @@ class Matrix3d {
|
|
|
217192
217243
|
}
|
|
217193
217244
|
/** Compute `origin + matrix * vector` where the final vector is given as direct x,y,z coordinates */
|
|
217194
217245
|
static xyzPlusMatrixTimesCoordinates(origin, matrix, x, y, z, result) {
|
|
217195
|
-
return
|
|
217246
|
+
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);
|
|
217196
217247
|
}
|
|
217197
217248
|
/**
|
|
217198
217249
|
* Treat the 3x3 matrix and origin as upper 3x4 part of a 4x4 matrix, with 0001 as the final row.
|
|
@@ -217271,7 +217322,7 @@ class Matrix3d {
|
|
|
217271
217322
|
* @param result the vector result (optional)
|
|
217272
217323
|
*/
|
|
217273
217324
|
multiplyTransposeVector(vector, result) {
|
|
217274
|
-
result = result ? result : new
|
|
217325
|
+
result = result ? result : new _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d();
|
|
217275
217326
|
const x = vector.x;
|
|
217276
217327
|
const y = vector.y;
|
|
217277
217328
|
const z = vector.z;
|
|
@@ -217285,7 +217336,7 @@ class Matrix3d {
|
|
|
217285
217336
|
* @param result the vector result (optional)
|
|
217286
217337
|
*/
|
|
217287
217338
|
multiplyXYZ(x, y, z, result) {
|
|
217288
|
-
result = result ? result : new
|
|
217339
|
+
result = result ? result : new _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d();
|
|
217289
217340
|
result.x = this.coffs[0] * x + this.coffs[1] * y + this.coffs[2] * z;
|
|
217290
217341
|
result.y = this.coffs[3] * x + this.coffs[4] * y + this.coffs[5] * z;
|
|
217291
217342
|
result.z = this.coffs[6] * x + this.coffs[7] * y + this.coffs[8] * z;
|
|
@@ -217310,7 +217361,7 @@ class Matrix3d {
|
|
|
217310
217361
|
* @param result the vector result (optional)
|
|
217311
217362
|
*/
|
|
217312
217363
|
multiplyXY(x, y, result) {
|
|
217313
|
-
result = result ? result : new
|
|
217364
|
+
result = result ? result : new _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d();
|
|
217314
217365
|
result.x = this.coffs[0] * x + this.coffs[1] * y;
|
|
217315
217366
|
result.y = this.coffs[3] * x + this.coffs[4] * y;
|
|
217316
217367
|
result.z = this.coffs[6] * x + this.coffs[7] * y;
|
|
@@ -217321,7 +217372,7 @@ class Matrix3d {
|
|
|
217321
217372
|
* @param result the Point3d result (optional)
|
|
217322
217373
|
*/
|
|
217323
217374
|
originPlusMatrixTimesXY(origin, x, y, result) {
|
|
217324
|
-
return
|
|
217375
|
+
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);
|
|
217325
217376
|
}
|
|
217326
217377
|
/**
|
|
217327
217378
|
* Multiply the matrix * (x,y,z) in place, i.e. the vector (x,y,z) is a column vector on the right and
|
|
@@ -217364,7 +217415,7 @@ class Matrix3d {
|
|
|
217364
217415
|
* @param result the vector result (optional)
|
|
217365
217416
|
*/
|
|
217366
217417
|
multiplyTransposeXYZ(x, y, z, result) {
|
|
217367
|
-
result = result ? result : new
|
|
217418
|
+
result = result ? result : new _Point3dVector3d__WEBPACK_IMPORTED_MODULE_1__.Vector3d();
|
|
217368
217419
|
result.x = this.coffs[0] * x + this.coffs[3] * y + this.coffs[6] * z;
|
|
217369
217420
|
result.y = this.coffs[1] * x + this.coffs[4] * y + this.coffs[7] * z;
|
|
217370
217421
|
result.z = this.coffs[2] * x + this.coffs[5] * y + this.coffs[8] * z;
|
|
@@ -217381,7 +217432,7 @@ class Matrix3d {
|
|
|
217381
217432
|
const x = vector.x;
|
|
217382
217433
|
const y = vector.y;
|
|
217383
217434
|
const z = vector.z;
|
|
217384
|
-
return
|
|
217435
|
+
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);
|
|
217385
217436
|
}
|
|
217386
217437
|
return undefined;
|
|
217387
217438
|
}
|
|
@@ -217396,7 +217447,7 @@ class Matrix3d {
|
|
|
217396
217447
|
const x = vector.x;
|
|
217397
217448
|
const y = vector.y;
|
|
217398
217449
|
const z = vector.z;
|
|
217399
|
-
return
|
|
217450
|
+
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);
|
|
217400
217451
|
}
|
|
217401
217452
|
return undefined;
|
|
217402
217453
|
}
|
|
@@ -217409,7 +217460,7 @@ class Matrix3d {
|
|
|
217409
217460
|
multiplyInverseXYZAsVector3d(x, y, z, result) {
|
|
217410
217461
|
this.computeCachedInverse(true);
|
|
217411
217462
|
if (this.inverseCoffs) {
|
|
217412
|
-
return
|
|
217463
|
+
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);
|
|
217413
217464
|
}
|
|
217414
217465
|
return undefined;
|
|
217415
217466
|
}
|
|
@@ -217434,7 +217485,7 @@ class Matrix3d {
|
|
|
217434
217485
|
multiplyInverseXYZAsPoint3d(x, y, z, result) {
|
|
217435
217486
|
this.computeCachedInverse(true);
|
|
217436
217487
|
if (this.inverseCoffs) {
|
|
217437
|
-
return
|
|
217488
|
+
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);
|
|
217438
217489
|
}
|
|
217439
217490
|
return undefined;
|
|
217440
217491
|
}
|
|
@@ -224327,7 +224378,10 @@ class PolygonOps {
|
|
|
224327
224378
|
* * Compare to [[closestPoint]].
|
|
224328
224379
|
* @param polygon points of the polygon, closure point optional
|
|
224329
224380
|
* @param testPoint point p to project onto the polygon edges. Works best when p is in the plane of the polygon.
|
|
224330
|
-
* @param tolerance optional
|
|
224381
|
+
* @param tolerance optional tolerance(s) to determine point-vertex and point-edge coincidence. A single number
|
|
224382
|
+
* is interpreted as distance tolerance. If an array is given, the first number is interpreted as distance tolerance;
|
|
224383
|
+
* the second, as parametric tolerance. Default values are [[Geometry.smallMetricDistance]] for distance tolerance
|
|
224384
|
+
* and 0.0 for parameter tolerance.
|
|
224331
224385
|
* @param result optional pre-allocated object to fill and return
|
|
224332
224386
|
* @returns details d of the closest point `d.point`:
|
|
224333
224387
|
* * `d.isValid()` returns true if and only if the polygon is nontrivial.
|
|
@@ -224339,7 +224393,9 @@ class PolygonOps {
|
|
|
224339
224393
|
static closestPointOnBoundary(polygon, testPoint, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance, result) {
|
|
224340
224394
|
if (!(polygon instanceof _IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_5__.IndexedXYZCollection))
|
|
224341
224395
|
return this.closestPointOnBoundary(new _Point3dArrayCarrier__WEBPACK_IMPORTED_MODULE_4__.Point3dArrayCarrier(polygon), testPoint, tolerance, result);
|
|
224342
|
-
const
|
|
224396
|
+
const distTol = Array.isArray(tolerance) ? tolerance[0] : tolerance;
|
|
224397
|
+
const paramTol = Array.isArray(tolerance) ? Math.abs(tolerance[1]) : 0.0;
|
|
224398
|
+
const distTol2 = distTol * distTol;
|
|
224343
224399
|
let numPoints = polygon.length;
|
|
224344
224400
|
while (numPoints > 1) {
|
|
224345
224401
|
if (polygon.distanceSquaredIndexIndex(0, numPoints - 1) > distTol2)
|
|
@@ -224349,29 +224405,59 @@ class PolygonOps {
|
|
|
224349
224405
|
result = PolygonLocationDetail.create(result);
|
|
224350
224406
|
if (0 === numPoints)
|
|
224351
224407
|
return result; // invalid
|
|
224352
|
-
|
|
224353
|
-
polygon.getPoint3dAtUncheckedPointIndex(
|
|
224408
|
+
const constructSingletonPoint = (index) => {
|
|
224409
|
+
polygon.getPoint3dAtUncheckedPointIndex(index, result.point);
|
|
224354
224410
|
result.a = result.point.distance(testPoint);
|
|
224355
224411
|
result.v.setZero();
|
|
224356
224412
|
result.code = _Geometry__WEBPACK_IMPORTED_MODULE_2__.PolygonLocation.OnPolygonVertex;
|
|
224357
|
-
result.closestEdgeIndex =
|
|
224413
|
+
result.closestEdgeIndex = index;
|
|
224358
224414
|
result.closestEdgeParam = 0.0;
|
|
224359
224415
|
return result;
|
|
224360
|
-
}
|
|
224416
|
+
};
|
|
224417
|
+
if (1 === numPoints)
|
|
224418
|
+
return constructSingletonPoint(0);
|
|
224419
|
+
// lambda for computing edge parameter at which testPoint projects onto the edge starting at iEdgeStart
|
|
224420
|
+
const projectToEdge = (iEdgeStart) => {
|
|
224421
|
+
let isValid = false;
|
|
224422
|
+
let edgeParam = 0.0;
|
|
224423
|
+
let uDotU = 0.0;
|
|
224424
|
+
let vDotV = 0.0;
|
|
224425
|
+
if (iEdgeStart >= 0 && iEdgeStart < numPoints) {
|
|
224426
|
+
let iEdgeEnd = iEdgeStart + 1;
|
|
224427
|
+
if (iEdgeEnd === numPoints)
|
|
224428
|
+
iEdgeEnd = 0;
|
|
224429
|
+
uDotU = polygon.distanceSquaredIndexIndex(iEdgeStart, iEdgeEnd);
|
|
224430
|
+
if (uDotU > distTol2) { // nontrivial edge
|
|
224431
|
+
vDotV = polygon.distanceSquaredIndexXYAndZ(iEdgeStart, testPoint);
|
|
224432
|
+
const uDotV = polygon.dotProductIndexIndexXYAndZ(iEdgeStart, iEdgeEnd, testPoint);
|
|
224433
|
+
edgeParam = uDotV / uDotU; // param of projection of testPoint onto edge [iEdgeStart, iEdgeEnd]
|
|
224434
|
+
isValid = true;
|
|
224435
|
+
}
|
|
224436
|
+
}
|
|
224437
|
+
return { isValid, edgeParam, uDotU, vDotV };
|
|
224438
|
+
};
|
|
224439
|
+
// find the previous nontrivial edge's projection status before processing the first edge
|
|
224440
|
+
let projBeyondPrevEdge = false;
|
|
224361
224441
|
let iPrev = numPoints - 1;
|
|
224442
|
+
for (; iPrev > 0; --iPrev) {
|
|
224443
|
+
const projData = projectToEdge(iPrev);
|
|
224444
|
+
if (projData.isValid) {
|
|
224445
|
+
projBeyondPrevEdge = projData.edgeParam > 1.0 + paramTol;
|
|
224446
|
+
break;
|
|
224447
|
+
}
|
|
224448
|
+
}
|
|
224449
|
+
if (iPrev <= 0) // all segments trivial, so treat like single point case
|
|
224450
|
+
return constructSingletonPoint(0);
|
|
224362
224451
|
let minDist2 = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.largeCoordinateResult;
|
|
224363
224452
|
for (let iBase = 0; iBase < numPoints; ++iBase) {
|
|
224364
224453
|
let iNext = iBase + 1;
|
|
224365
224454
|
if (iNext === numPoints)
|
|
224366
224455
|
iNext = 0;
|
|
224367
|
-
const
|
|
224368
|
-
if (
|
|
224369
|
-
continue; // ignore trivial polygon edge (keep iPrev)
|
|
224370
|
-
|
|
224371
|
-
|
|
224372
|
-
const edgeParam = uDotV / uDotU; // param of projection of testPoint onto this edge
|
|
224373
|
-
if (edgeParam <= 0.0) { // testPoint projects to/before edge start
|
|
224374
|
-
const distToStart2 = vDotV;
|
|
224456
|
+
const projData = projectToEdge(iBase);
|
|
224457
|
+
if (!projData.isValid)
|
|
224458
|
+
continue; // ignore trivial polygon edge (keep iPrev, projBeyondPrevEdge)
|
|
224459
|
+
if (projData.edgeParam <= paramTol) { // testPoint projects to/before edge start
|
|
224460
|
+
const distToStart2 = projData.vDotV;
|
|
224375
224461
|
if (distToStart2 <= distTol2) {
|
|
224376
224462
|
// testPoint is at edge start; we are done
|
|
224377
224463
|
polygon.getPoint3dAtUncheckedPointIndex(iBase, result.point);
|
|
@@ -224382,25 +224468,25 @@ class PolygonOps {
|
|
|
224382
224468
|
result.closestEdgeParam = 0.0;
|
|
224383
224469
|
return result;
|
|
224384
224470
|
}
|
|
224385
|
-
if (distToStart2 < minDist2) {
|
|
224386
|
-
|
|
224387
|
-
|
|
224388
|
-
|
|
224389
|
-
|
|
224390
|
-
|
|
224391
|
-
|
|
224392
|
-
|
|
224393
|
-
|
|
224394
|
-
minDist2 = distToStart2;
|
|
224395
|
-
}
|
|
224471
|
+
if (distToStart2 < minDist2 && projBeyondPrevEdge) {
|
|
224472
|
+
// update candidate (to edge start) only if testPoint projected beyond previous edge end
|
|
224473
|
+
polygon.getPoint3dAtUncheckedPointIndex(iBase, result.point);
|
|
224474
|
+
result.a = Math.sqrt(distToStart2);
|
|
224475
|
+
polygon.crossProductIndexIndexIndex(iBase, iPrev, iNext, result.v);
|
|
224476
|
+
result.code = _Geometry__WEBPACK_IMPORTED_MODULE_2__.PolygonLocation.OnPolygonVertex;
|
|
224477
|
+
result.closestEdgeIndex = iBase;
|
|
224478
|
+
result.closestEdgeParam = 0.0;
|
|
224479
|
+
minDist2 = distToStart2;
|
|
224396
224480
|
}
|
|
224481
|
+
projBeyondPrevEdge = false;
|
|
224397
224482
|
}
|
|
224398
|
-
else if (edgeParam <= 1.0) { // testPoint projects inside edge, or to edge end
|
|
224399
|
-
|
|
224483
|
+
else if (projData.edgeParam <= 1.0 + paramTol) { // testPoint projects inside edge, or to edge end
|
|
224484
|
+
projData.edgeParam = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.clamp(projData.edgeParam, 0.0, 1.0);
|
|
224485
|
+
const projDist2 = projData.vDotV - projData.edgeParam * projData.edgeParam * projData.uDotU;
|
|
224400
224486
|
if (projDist2 <= distTol2) {
|
|
224401
224487
|
// testPoint is on edge; we are done
|
|
224402
|
-
const distToStart2 = vDotV;
|
|
224403
|
-
if (edgeParam <= 0.5 && distToStart2 <= distTol2) {
|
|
224488
|
+
const distToStart2 = projData.vDotV;
|
|
224489
|
+
if (projData.edgeParam <= 0.5 && distToStart2 <= distTol2) {
|
|
224404
224490
|
// testPoint is at edge start
|
|
224405
224491
|
polygon.getPoint3dAtUncheckedPointIndex(iBase, result.point);
|
|
224406
224492
|
result.a = Math.sqrt(distToStart2);
|
|
@@ -224410,8 +224496,8 @@ class PolygonOps {
|
|
|
224410
224496
|
result.closestEdgeParam = 0.0;
|
|
224411
224497
|
return result;
|
|
224412
224498
|
}
|
|
224413
|
-
const distToEnd2 = projDist2 + (1.0 - edgeParam) * (1.0 - edgeParam) * uDotU;
|
|
224414
|
-
if (edgeParam > 0.5 && distToEnd2 <= distTol2) {
|
|
224499
|
+
const distToEnd2 = projDist2 + (1.0 - projData.edgeParam) * (1.0 - projData.edgeParam) * projData.uDotU;
|
|
224500
|
+
if (projData.edgeParam > 0.5 && distToEnd2 <= distTol2) {
|
|
224415
224501
|
// testPoint is at edge end
|
|
224416
224502
|
polygon.getPoint3dAtUncheckedPointIndex(iNext, result.point);
|
|
224417
224503
|
result.a = Math.sqrt(distToEnd2);
|
|
@@ -224422,27 +224508,29 @@ class PolygonOps {
|
|
|
224422
224508
|
return result;
|
|
224423
224509
|
}
|
|
224424
224510
|
// testPoint is on edge interior
|
|
224425
|
-
polygon.interpolateIndexIndex(iBase, edgeParam, iNext, result.point);
|
|
224511
|
+
polygon.interpolateIndexIndex(iBase, projData.edgeParam, iNext, result.point);
|
|
224426
224512
|
result.a = Math.sqrt(projDist2);
|
|
224427
224513
|
result.v.setZero();
|
|
224428
224514
|
result.code = _Geometry__WEBPACK_IMPORTED_MODULE_2__.PolygonLocation.OnPolygonEdgeInterior;
|
|
224429
224515
|
result.closestEdgeIndex = iBase;
|
|
224430
|
-
result.closestEdgeParam = edgeParam;
|
|
224516
|
+
result.closestEdgeParam = projData.edgeParam;
|
|
224431
224517
|
return result;
|
|
224432
224518
|
}
|
|
224433
224519
|
if (projDist2 < minDist2) {
|
|
224434
|
-
// update candidate
|
|
224435
|
-
polygon.interpolateIndexIndex(iBase, edgeParam, iNext, result.point);
|
|
224520
|
+
// update candidate
|
|
224521
|
+
polygon.interpolateIndexIndex(iBase, projData.edgeParam, iNext, result.point);
|
|
224436
224522
|
result.a = Math.sqrt(projDist2);
|
|
224437
224523
|
polygon.crossProductIndexIndexXYAndZ(iBase, iNext, testPoint, result.v);
|
|
224438
|
-
result.code = _Geometry__WEBPACK_IMPORTED_MODULE_2__.PolygonLocation.OnPolygonEdgeInterior;
|
|
224524
|
+
result.code = projData.edgeParam < 1.0 ? _Geometry__WEBPACK_IMPORTED_MODULE_2__.PolygonLocation.OnPolygonEdgeInterior : _Geometry__WEBPACK_IMPORTED_MODULE_2__.PolygonLocation.OnPolygonVertex;
|
|
224525
|
+
;
|
|
224439
224526
|
result.closestEdgeIndex = iBase;
|
|
224440
|
-
result.closestEdgeParam = edgeParam;
|
|
224527
|
+
result.closestEdgeParam = projData.edgeParam;
|
|
224441
224528
|
minDist2 = projDist2;
|
|
224442
224529
|
}
|
|
224530
|
+
projBeyondPrevEdge = false;
|
|
224443
224531
|
}
|
|
224444
|
-
else {
|
|
224445
|
-
|
|
224532
|
+
else {
|
|
224533
|
+
projBeyondPrevEdge = true; // to be handled by next edge
|
|
224446
224534
|
}
|
|
224447
224535
|
iPrev = iBase;
|
|
224448
224536
|
}
|
|
@@ -224486,7 +224574,10 @@ class PolygonOps {
|
|
|
224486
224574
|
/** Compute the intersection of a line (parameterized as a ray) with the plane of this polygon.
|
|
224487
224575
|
* @param polygon points of the polygon, closure point optional
|
|
224488
224576
|
* @param ray infinite line to intersect, as a ray
|
|
224489
|
-
* @param tolerance optional
|
|
224577
|
+
* @param tolerance optional tolerance(s) to determine point-vertex and point-edge coincidence. A single number
|
|
224578
|
+
* is interpreted as distance tolerance. If an array is given, the first number is interpreted as distance tolerance;
|
|
224579
|
+
* the second, as parametric tolerance. Default values are [[Geometry.smallMetricDistance]] for distance tolerance
|
|
224580
|
+
* and 0.0 for parameter tolerance.
|
|
224490
224581
|
* @param result optional pre-allocated object to fill and return
|
|
224491
224582
|
* @returns details d of the line-plane intersection `d.point`:
|
|
224492
224583
|
* * `d.isValid()` returns true if and only if the line intersects the plane.
|
|
@@ -224513,11 +224604,18 @@ class PolygonOps {
|
|
|
224513
224604
|
// NOOP: intersectionPoint is on the polygon, so result.code already classifies it
|
|
224514
224605
|
}
|
|
224515
224606
|
else {
|
|
224516
|
-
// intersectionPoint is not on polygon, so result.code refers to the closest point
|
|
224517
|
-
|
|
224518
|
-
|
|
224519
|
-
|
|
224520
|
-
|
|
224607
|
+
// intersectionPoint is not on the polygon, so result.code refers to the closest point;
|
|
224608
|
+
// update it to refer to intersectionPoint.
|
|
224609
|
+
if (_Geometry__WEBPACK_IMPORTED_MODULE_2__.PolygonLocation.OnPolygonVertex === result.code) {
|
|
224610
|
+
result.code = (dot > 0.0)
|
|
224611
|
+
? _Geometry__WEBPACK_IMPORTED_MODULE_2__.PolygonLocation.InsidePolygonProjectsToVertex
|
|
224612
|
+
: _Geometry__WEBPACK_IMPORTED_MODULE_2__.PolygonLocation.OutsidePolygonProjectsToVertex;
|
|
224613
|
+
}
|
|
224614
|
+
else if (_Geometry__WEBPACK_IMPORTED_MODULE_2__.PolygonLocation.OnPolygonEdgeInterior === result.code) {
|
|
224615
|
+
result.code = (dot > 0.0)
|
|
224616
|
+
? _Geometry__WEBPACK_IMPORTED_MODULE_2__.PolygonLocation.InsidePolygonProjectsToEdgeInterior
|
|
224617
|
+
: _Geometry__WEBPACK_IMPORTED_MODULE_2__.PolygonLocation.OutsidePolygonProjectsToEdgeInterior;
|
|
224618
|
+
}
|
|
224521
224619
|
}
|
|
224522
224620
|
}
|
|
224523
224621
|
return result;
|
|
@@ -235836,11 +235934,11 @@ class AnalyticRoots {
|
|
|
235836
235934
|
* * -1 -- beta, gamma are zero, alpha is not.There is no line defined.There are no solutions.
|
|
235837
235935
|
* * 0 -- the line is well defined, but passes completely outside the unit circle.
|
|
235838
235936
|
* * In this case, (c1, s1) is the circle point closest to the line and(c2, s2) is the line point closest to the circle.
|
|
235839
|
-
*
|
|
235840
|
-
*
|
|
235841
|
-
*
|
|
235842
|
-
*
|
|
235843
|
-
*
|
|
235937
|
+
* * 1 -- the line is tangent to the unit circle.
|
|
235938
|
+
* * Tangency is determined by tolerances, which calls a "close approach" point a tangency.
|
|
235939
|
+
* * (c1, s1) is the closest circle point
|
|
235940
|
+
* * (c2, s2) is the line point.
|
|
235941
|
+
* * 2 -- two simple intersections.
|
|
235844
235942
|
* @param alpha constant coefficient on line
|
|
235845
235943
|
* @param beta x cosine coefficient on line
|
|
235846
235944
|
* @param gamma y sine coefficient on line
|
|
@@ -235972,7 +236070,7 @@ class TrigPolynomial {
|
|
|
235972
236070
|
degree--;
|
|
235973
236071
|
const roots = new _geometry3d_GrowableFloat64Array__WEBPACK_IMPORTED_MODULE_6__.GrowableFloat64Array();
|
|
235974
236072
|
if (degree === -1) {
|
|
235975
|
-
// do nothing
|
|
236073
|
+
// p(t) is identically zero (degenerate); do nothing.
|
|
235976
236074
|
}
|
|
235977
236075
|
else {
|
|
235978
236076
|
if (degree === 0) {
|
|
@@ -237851,8 +237949,8 @@ var AuxChannelDataType;
|
|
|
237851
237949
|
* When the host Polyface is transformed the displacements are rotated and scaled accordingly.
|
|
237852
237950
|
*/
|
|
237853
237951
|
AuxChannelDataType[AuxChannelDataType["Vector"] = 2] = "Vector";
|
|
237854
|
-
/** (X, Y, Z) normal vectors that replace the host [[Polyface]]'s own normals.
|
|
237855
|
-
* When the Polyface is transformed the normals are rotated accordingly.
|
|
237952
|
+
/** (X, Y, Z) unit normal vectors that replace the host [[Polyface]]'s own normals.
|
|
237953
|
+
* When the Polyface is transformed the normals are rotated and renormalized accordingly.
|
|
237856
237954
|
*/
|
|
237857
237955
|
AuxChannelDataType[AuxChannelDataType["Normal"] = 3] = "Normal";
|
|
237858
237956
|
})(AuxChannelDataType || (AuxChannelDataType = {}));
|
|
@@ -238041,7 +238139,15 @@ class PolyfaceAuxData {
|
|
|
238041
238139
|
inverseRot = inverseRot ?? rot.inverse();
|
|
238042
238140
|
if (!inverseRot)
|
|
238043
238141
|
return false;
|
|
238044
|
-
transformPoints(data.values, (point) =>
|
|
238142
|
+
transformPoints(data.values, (point) => {
|
|
238143
|
+
inverseRot.multiplyTransposeVectorInPlace(point);
|
|
238144
|
+
const dot = point.magnitudeSquared();
|
|
238145
|
+
const tol = 1.0e-15; // cf. GrowableXYZArray.multiplyAndRenormalizeMatrix3dInverseTransposeInPlace
|
|
238146
|
+
if (dot > tol && Math.abs(dot - 1.0) > tol) { // only renormalize if magnitude is not near 0 or 1
|
|
238147
|
+
const mag = 1.0 / Math.sqrt(dot);
|
|
238148
|
+
point.scaleInPlace(mag);
|
|
238149
|
+
}
|
|
238150
|
+
});
|
|
238045
238151
|
break;
|
|
238046
238152
|
}
|
|
238047
238153
|
case AuxChannelDataType.Vector: {
|
|
@@ -239890,20 +239996,14 @@ class IndexedPolyface extends Polyface {
|
|
|
239890
239996
|
}
|
|
239891
239997
|
/**
|
|
239892
239998
|
* Transform the mesh.
|
|
239893
|
-
* *
|
|
239894
|
-
* *
|
|
239895
|
-
*
|
|
239896
|
-
* * negate normals
|
|
239897
|
-
* * reverse index order around each facet.
|
|
239999
|
+
* * If `transform` is a mirror, also reverse the index order around each facet.
|
|
240000
|
+
* * Note that this method always returns true. If transforming the normals fails (due to singular matrix or zero
|
|
240001
|
+
* normal), the original normal(s) are left unchanged.
|
|
239898
240002
|
*/
|
|
239899
240003
|
tryTransformInPlace(transform) {
|
|
239900
|
-
|
|
239901
|
-
|
|
239902
|
-
const determinant = transform.matrix.determinant();
|
|
239903
|
-
if (determinant < 0) {
|
|
240004
|
+
this.data.tryTransformInPlace(transform);
|
|
240005
|
+
if (transform.matrix.determinant() < 0)
|
|
239904
240006
|
this.reverseIndices();
|
|
239905
|
-
this.reverseNormals();
|
|
239906
|
-
}
|
|
239907
240007
|
return true;
|
|
239908
240008
|
}
|
|
239909
240009
|
/** Reverse indices for a single facet. */
|
|
@@ -239912,8 +240012,7 @@ class IndexedPolyface extends Polyface {
|
|
|
239912
240012
|
}
|
|
239913
240013
|
/** Return a deep clone. */
|
|
239914
240014
|
clone() {
|
|
239915
|
-
|
|
239916
|
-
return result;
|
|
240015
|
+
return new IndexedPolyface(this.data.clone(), this._facetStart.slice(), this._facetToFaceData.slice());
|
|
239917
240016
|
}
|
|
239918
240017
|
/**
|
|
239919
240018
|
* Return a deep clone with transformed points and normals.
|
|
@@ -241494,17 +241593,28 @@ class PolyfaceBuilder extends _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODU
|
|
|
241494
241593
|
}
|
|
241495
241594
|
/** Construct facets for a rotational sweep. */
|
|
241496
241595
|
addRotationalSweep(surface) {
|
|
241497
|
-
const contour = surface.
|
|
241498
|
-
const section0 = _curve_Query_StrokeCountChain__WEBPACK_IMPORTED_MODULE_16__.StrokeCountSection.createForParityRegionOrChain(contour, this._options);
|
|
241596
|
+
const contour = surface.getSweepContourRef();
|
|
241597
|
+
const section0 = _curve_Query_StrokeCountChain__WEBPACK_IMPORTED_MODULE_16__.StrokeCountSection.createForParityRegionOrChain(contour.getCurves(), this._options);
|
|
241499
241598
|
const baseStrokes = section0.getStrokes();
|
|
241599
|
+
// ensure sweep is positive for buildRotationalNormalsInLineStrings
|
|
241500
241600
|
const axis = surface.cloneAxisRay();
|
|
241601
|
+
const sweepAngle = surface.getSweep();
|
|
241602
|
+
if (sweepAngle.radians < 0.0) {
|
|
241603
|
+
axis.direction.scaleInPlace(-1);
|
|
241604
|
+
sweepAngle.setRadians(-sweepAngle.radians);
|
|
241605
|
+
}
|
|
241606
|
+
// swingVector points in the direction of positive sweep
|
|
241501
241607
|
const perpendicularVector = _curve_Query_CylindricalRange__WEBPACK_IMPORTED_MODULE_17__.CylindricalRangeQuery.computeMaxVectorFromRay(axis, baseStrokes);
|
|
241502
241608
|
const swingVector = axis.direction.crossProduct(perpendicularVector);
|
|
241609
|
+
// ensure contour computed normal is aligned with swingVector for buildRotationalNormalsInLineStrings
|
|
241610
|
+
const contourNormalAgreesWithSwingDir = contour.localToWorld.matrix.dotColumnZ(swingVector) > 0;
|
|
241611
|
+
if (!contourNormalAgreesWithSwingDir)
|
|
241612
|
+
baseStrokes.reverseInPlace();
|
|
241503
241613
|
if (this._options.needNormals)
|
|
241504
241614
|
_curve_Query_CylindricalRange__WEBPACK_IMPORTED_MODULE_17__.CylindricalRangeQuery.buildRotationalNormalsInLineStrings(baseStrokes, axis, swingVector);
|
|
241505
241615
|
const maxDistance = perpendicularVector.magnitude();
|
|
241506
|
-
const maxPath = Math.abs(maxDistance *
|
|
241507
|
-
let numStep = _curve_StrokeOptions__WEBPACK_IMPORTED_MODULE_4__.StrokeOptions.applyAngleTol(this._options, 1,
|
|
241616
|
+
const maxPath = Math.abs(maxDistance * sweepAngle.radians);
|
|
241617
|
+
let numStep = _curve_StrokeOptions__WEBPACK_IMPORTED_MODULE_4__.StrokeOptions.applyAngleTol(this._options, 1, sweepAngle.radians, undefined);
|
|
241508
241618
|
numStep = _curve_StrokeOptions__WEBPACK_IMPORTED_MODULE_4__.StrokeOptions.applyMaxEdgeLength(this._options, numStep, maxPath);
|
|
241509
241619
|
for (let i = 1; i <= numStep; i++) {
|
|
241510
241620
|
const transformA = surface.getFractionalRotationTransform((i - 1) / numStep);
|
|
@@ -241512,11 +241622,10 @@ class PolyfaceBuilder extends _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODU
|
|
|
241512
241622
|
this.addBetweenRotatedStrokeSets(baseStrokes, transformA, i - 1, transformB, i);
|
|
241513
241623
|
}
|
|
241514
241624
|
if (surface.capped) {
|
|
241515
|
-
|
|
241516
|
-
|
|
241517
|
-
|
|
241518
|
-
|
|
241519
|
-
capContour.emitFacets(this, false, surface.getFractionalRotationTransform(1.0));
|
|
241625
|
+
contour.purgeFacets();
|
|
241626
|
+
const reverseNearCap = contourNormalAgreesWithSwingDir;
|
|
241627
|
+
contour.emitFacets(this, reverseNearCap, undefined);
|
|
241628
|
+
contour.emitFacets(this, !reverseNearCap, surface.getFractionalRotationTransform(1.0));
|
|
241520
241629
|
}
|
|
241521
241630
|
}
|
|
241522
241631
|
/** Construct facets for any planar region. */
|
|
@@ -241580,9 +241689,9 @@ class PolyfaceBuilder extends _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODU
|
|
|
241580
241689
|
const normalIndices = ls.ensureEmptyNormalIndices();
|
|
241581
241690
|
const normalIndex0 = this.findOrAddNormalInLineString(ls, 0, transform);
|
|
241582
241691
|
normalIndices.push(normalIndex0);
|
|
241583
|
-
let normalIndexA = normalIndex0;
|
|
241584
|
-
let normalIndexB;
|
|
241585
241692
|
if (n > 1) {
|
|
241693
|
+
let normalIndexA = normalIndex0;
|
|
241694
|
+
let normalIndexB;
|
|
241586
241695
|
for (let i = 1; i + 1 < n; i++) {
|
|
241587
241696
|
normalIndexB = this.findOrAddNormalInLineString(ls, i, transform, normalIndexA);
|
|
241588
241697
|
normalIndices.push(normalIndexB);
|
|
@@ -241597,9 +241706,9 @@ class PolyfaceBuilder extends _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODU
|
|
|
241597
241706
|
const uvIndices = ls.ensureEmptyUVIndices();
|
|
241598
241707
|
const uvIndex0 = this.findOrAddParamInLineString(ls, 0, vParam);
|
|
241599
241708
|
uvIndices.push(uvIndex0);
|
|
241600
|
-
let uvIndexA = uvIndex0;
|
|
241601
|
-
let uvIndexB;
|
|
241602
241709
|
if (n > 1) {
|
|
241710
|
+
let uvIndexA = uvIndex0;
|
|
241711
|
+
let uvIndexB;
|
|
241603
241712
|
for (let i = 1; i + 1 < n; i++) {
|
|
241604
241713
|
uvIndexB = this.findOrAddParamInLineString(ls, i, vParam, uvIndexA);
|
|
241605
241714
|
uvIndices.push(uvIndexB);
|
|
@@ -243528,15 +243637,32 @@ class PolyfaceData {
|
|
|
243528
243637
|
return result;
|
|
243529
243638
|
}
|
|
243530
243639
|
/**
|
|
243531
|
-
* Apply
|
|
243532
|
-
* *
|
|
243533
|
-
*
|
|
243640
|
+
* Apply a transform to the mesh data.
|
|
243641
|
+
* * Transform the data as follows:
|
|
243642
|
+
* * apply `transform` to points.
|
|
243643
|
+
* * apply inverse transpose of `transform` to normals and renormalize. This preserves normals perpendicular
|
|
243644
|
+
* to transformed facets, and keeps them pointing outward, e.g, if the mesh is closed. If the transform is not
|
|
243645
|
+
* invertible or a normal has zero length, the normal(s) are left unchanged, and this error is silently ignored.
|
|
243646
|
+
* * apply `transform` to auxData.
|
|
243647
|
+
* * scale faceData distances by the cube root of the absolute value of the determinant of `transform.matrix`.
|
|
243648
|
+
* * Note that if the transform is a mirror, this method does NOT reverse index order. This is the caller's
|
|
243649
|
+
* responsibility. This base class is just a data carrier: PolyfaceData does not know if the index order has
|
|
243650
|
+
* special meaning.
|
|
243651
|
+
* * Note that this method always returns true. If transforming normals fails (due to singular matrix or zero
|
|
243652
|
+
* normal), the original normal(s) are left unchanged.
|
|
243534
243653
|
*/
|
|
243535
243654
|
tryTransformInPlace(transform) {
|
|
243536
243655
|
this.point.multiplyTransformInPlace(transform);
|
|
243537
243656
|
if (this.normal && !transform.matrix.isIdentity)
|
|
243538
243657
|
this.normal.multiplyAndRenormalizeMatrix3dInverseTransposeInPlace(transform.matrix);
|
|
243539
|
-
|
|
243658
|
+
if (this.face.length > 0) {
|
|
243659
|
+
const distScale = Math.cbrt(Math.abs(transform.matrix.determinant()));
|
|
243660
|
+
for (const faceData of this.face)
|
|
243661
|
+
faceData.scaleDistances(distScale);
|
|
243662
|
+
}
|
|
243663
|
+
if (this.auxData)
|
|
243664
|
+
this.auxData.tryTransformInPlace(transform);
|
|
243665
|
+
return true;
|
|
243540
243666
|
}
|
|
243541
243667
|
/**
|
|
243542
243668
|
* Compress the instance by equating duplicate data.
|
|
@@ -245472,8 +245598,8 @@ class PolyfaceQuery {
|
|
|
245472
245598
|
/**
|
|
245473
245599
|
* Search facets for the first one that intersects the infinite line.
|
|
245474
245600
|
* * To process _all_ intersections, callers can supply an `options.acceptIntersection` callback that always
|
|
245475
|
-
* returns `false`.
|
|
245476
|
-
*
|
|
245601
|
+
* returns `false`. In this case, `intersectRay3d` will return `undefined`, but the callback will be invoked for
|
|
245602
|
+
* each intersection.
|
|
245477
245603
|
* * Example callback logic:
|
|
245478
245604
|
* * Accept the first found facet that intersects the half-line specified by the ray: `return detail.a >= 0.0;`
|
|
245479
245605
|
* * Collect all intersections: `myIntersections.push(detail.clone()); return false;` Then after `intersectRay3d`
|
|
@@ -245491,6 +245617,7 @@ class PolyfaceQuery {
|
|
|
245491
245617
|
if (visitor instanceof _Polyface__WEBPACK_IMPORTED_MODULE_7__.Polyface)
|
|
245492
245618
|
return PolyfaceQuery.intersectRay3d(visitor.createVisitor(0), ray, options);
|
|
245493
245619
|
let detail;
|
|
245620
|
+
const tol = options ? [options.distanceTolerance, options.parameterTolerance] : undefined;
|
|
245494
245621
|
visitor.setNumWrap(0);
|
|
245495
245622
|
while (visitor.moveToNextFacet()) {
|
|
245496
245623
|
const numEdges = visitor.pointCount; // #vertices = #edges since numWrap is zero
|
|
@@ -245502,7 +245629,7 @@ class PolyfaceQuery {
|
|
|
245502
245629
|
detail = this._workFacetDetail3 = _FacetLocationDetail__WEBPACK_IMPORTED_MODULE_37__.TriangularFacetLocationDetail.create(visitor.currentReadIndex(), detail3, this._workFacetDetail3);
|
|
245503
245630
|
}
|
|
245504
245631
|
else {
|
|
245505
|
-
const detailN = this._workPolyDetail = _geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_8__.PolygonOps.intersectRay3d(vertices, ray,
|
|
245632
|
+
const detailN = this._workPolyDetail = _geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_8__.PolygonOps.intersectRay3d(vertices, ray, tol, this._workPolyDetail);
|
|
245506
245633
|
if (_geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_8__.PolygonOps.isConvex(vertices))
|
|
245507
245634
|
detail = this._workFacetDetailC = _FacetLocationDetail__WEBPACK_IMPORTED_MODULE_37__.ConvexFacetLocationDetail.create(visitor.currentReadIndex(), numEdges, detailN, this._workFacetDetailC);
|
|
245508
245635
|
else
|
|
@@ -261165,8 +261292,10 @@ class Box extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimitive {
|
|
|
261165
261292
|
getConstructiveFrame() {
|
|
261166
261293
|
return this._localToWorld.cloneRigid();
|
|
261167
261294
|
}
|
|
261168
|
-
/**
|
|
261295
|
+
/**
|
|
261296
|
+
* Apply the transform to the box's `localToWorld` frame.
|
|
261169
261297
|
* * Note that this may make the frame nonrigid.
|
|
261298
|
+
* * This fails if the transformation is singular.
|
|
261170
261299
|
*/
|
|
261171
261300
|
tryTransformInPlace(transform) {
|
|
261172
261301
|
if (transform.matrix.isSingular())
|
|
@@ -261174,11 +261303,14 @@ class Box extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimitive {
|
|
|
261174
261303
|
transform.multiplyTransformTransform(this._localToWorld, this._localToWorld);
|
|
261175
261304
|
return true;
|
|
261176
261305
|
}
|
|
261177
|
-
/**
|
|
261306
|
+
/**
|
|
261307
|
+
* Clone the box and immediately apply `transform` to the local frame of the clone.
|
|
261308
|
+
* * Note that this may make the frame nonrigid.
|
|
261309
|
+
* * This fails if the transformation is singular.
|
|
261310
|
+
*/
|
|
261178
261311
|
cloneTransformed(transform) {
|
|
261179
261312
|
const result = this.clone();
|
|
261180
|
-
|
|
261181
|
-
return result;
|
|
261313
|
+
return result.tryTransformInPlace(transform) ? result : undefined;
|
|
261182
261314
|
}
|
|
261183
261315
|
/**
|
|
261184
261316
|
* Create a new box from vector and size daa.
|
|
@@ -261213,7 +261345,7 @@ class Box extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimitive {
|
|
|
261213
261345
|
}
|
|
261214
261346
|
/**
|
|
261215
261347
|
* Create an axis-aligned `Box` primitive for a range.
|
|
261216
|
-
* @param range range
|
|
261348
|
+
* @param range range low point is origin of base rectangle, range extents are box extents
|
|
261217
261349
|
* @param capped true to define top and bottom closure caps
|
|
261218
261350
|
*/
|
|
261219
261351
|
static createRange(range, capped) {
|
|
@@ -261421,7 +261553,7 @@ class Cone extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimitive {
|
|
|
261421
261553
|
getConstructiveFrame() {
|
|
261422
261554
|
return this._localToWorld.cloneRigid();
|
|
261423
261555
|
}
|
|
261424
|
-
/** Apply the transform to this cone's
|
|
261556
|
+
/** Apply the transform to this cone's local to world coordinates.
|
|
261425
261557
|
* * Note that the radii are not changed. Scaling is absorbed into the frame.
|
|
261426
261558
|
* * This fails if the transformation is singular.
|
|
261427
261559
|
*/
|
|
@@ -261433,11 +261565,11 @@ class Cone extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimitive {
|
|
|
261433
261565
|
}
|
|
261434
261566
|
/**
|
|
261435
261567
|
* Create a clone and immediately transform the clone.
|
|
261568
|
+
* * This fails if the transformation is singular.
|
|
261436
261569
|
*/
|
|
261437
261570
|
cloneTransformed(transform) {
|
|
261438
261571
|
const result = this.clone();
|
|
261439
|
-
|
|
261440
|
-
return result;
|
|
261572
|
+
return result.tryTransformInPlace(transform) ? result : undefined;
|
|
261441
261573
|
}
|
|
261442
261574
|
/** create a cylinder or cone from two endpoints and their radii. The circular cross sections are perpendicular to the axis line
|
|
261443
261575
|
* from start to end point.
|
|
@@ -261736,7 +261868,10 @@ class LinearSweep extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrim
|
|
|
261736
261868
|
clone() {
|
|
261737
261869
|
return new LinearSweep(this._contour.clone(), this._direction.clone(), this.capped);
|
|
261738
261870
|
}
|
|
261739
|
-
/**
|
|
261871
|
+
/**
|
|
261872
|
+
* Apply a transform to the curves and sweep vector
|
|
261873
|
+
* * This fails if the transformation is singular.
|
|
261874
|
+
*/
|
|
261740
261875
|
tryTransformInPlace(transform) {
|
|
261741
261876
|
if (transform.matrix.isSingular())
|
|
261742
261877
|
return false;
|
|
@@ -261754,11 +261889,13 @@ class LinearSweep extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrim
|
|
|
261754
261889
|
getConstructiveFrame() {
|
|
261755
261890
|
return this._contour.localToWorld.cloneRigid();
|
|
261756
261891
|
}
|
|
261757
|
-
/**
|
|
261892
|
+
/**
|
|
261893
|
+
* Return a transformed clone.
|
|
261894
|
+
* * This fails if the transformation is singular.
|
|
261895
|
+
*/
|
|
261758
261896
|
cloneTransformed(transform) {
|
|
261759
261897
|
const result = this.clone();
|
|
261760
|
-
result.tryTransformInPlace(transform);
|
|
261761
|
-
return result;
|
|
261898
|
+
return result.tryTransformInPlace(transform) ? result : undefined;
|
|
261762
261899
|
}
|
|
261763
261900
|
/** Test for near-equality of coordinates in `other` */
|
|
261764
261901
|
isAlmostEqual(other) {
|
|
@@ -261857,7 +261994,12 @@ class RotationalSweep extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.Solid
|
|
|
261857
261994
|
this.capped = capped;
|
|
261858
261995
|
this._sweepAngle = sweepAngle;
|
|
261859
261996
|
}
|
|
261860
|
-
/** Create a rotational sweep.
|
|
261997
|
+
/** Create a rotational sweep.
|
|
261998
|
+
* @param contour profile to sweep, coplanar with axis. CAPTURED
|
|
261999
|
+
* @param axis rotation axis
|
|
262000
|
+
* @param sweepAngle signed angular sweep
|
|
262001
|
+
* @param capped whether to cap the surface to make a solid
|
|
262002
|
+
*/
|
|
261861
262003
|
static create(contour, axis, sweepAngle, capped) {
|
|
261862
262004
|
if (!axis.direction.normalizeInPlace())
|
|
261863
262005
|
return undefined;
|
|
@@ -261902,20 +262044,28 @@ class RotationalSweep extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.Solid
|
|
|
261902
262044
|
clone() {
|
|
261903
262045
|
return new RotationalSweep(this._contour.clone(), this._normalizedAxis.clone(), this._sweepAngle.clone(), this.capped);
|
|
261904
262046
|
}
|
|
261905
|
-
/**
|
|
262047
|
+
/**
|
|
262048
|
+
* Transform the contour and axis.
|
|
262049
|
+
* * This fails if the transformation is singular.
|
|
262050
|
+
*/
|
|
261906
262051
|
tryTransformInPlace(transform) {
|
|
261907
|
-
if (
|
|
261908
|
-
|
|
262052
|
+
if (transform.matrix.isSingular())
|
|
262053
|
+
return false;
|
|
262054
|
+
if (this._contour.tryTransformInPlace(transform)) {
|
|
261909
262055
|
this._normalizedAxis.transformInPlace(transform);
|
|
262056
|
+
if (transform.matrix.determinant() < 0.0)
|
|
262057
|
+
this._sweepAngle.setRadians(-this._sweepAngle.radians);
|
|
261910
262058
|
return this._normalizedAxis.direction.normalizeInPlace();
|
|
261911
262059
|
}
|
|
261912
262060
|
return false;
|
|
261913
262061
|
}
|
|
261914
|
-
/**
|
|
262062
|
+
/**
|
|
262063
|
+
* Return a transformed clone.
|
|
262064
|
+
* * This fails if the transformation is singular.
|
|
262065
|
+
*/
|
|
261915
262066
|
cloneTransformed(transform) {
|
|
261916
262067
|
const result = this.clone();
|
|
261917
|
-
result.tryTransformInPlace(transform);
|
|
261918
|
-
return result;
|
|
262068
|
+
return result.tryTransformInPlace(transform) ? result : undefined;
|
|
261919
262069
|
}
|
|
261920
262070
|
/** Dispatch to strongly typed handler `handler.handleRotationalSweep(this)` */
|
|
261921
262071
|
dispatchToGeometryHandler(handler) {
|
|
@@ -262051,20 +262201,26 @@ class RuledSweep extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimi
|
|
|
262051
262201
|
clone() {
|
|
262052
262202
|
return new RuledSweep(this.cloneSweepContours(), this.capped);
|
|
262053
262203
|
}
|
|
262054
|
-
/**
|
|
262204
|
+
/**
|
|
262205
|
+
* Transform all contours in place.
|
|
262206
|
+
* * This fails if the transformation is singular.
|
|
262207
|
+
*/
|
|
262055
262208
|
tryTransformInPlace(transform) {
|
|
262056
262209
|
if (transform.matrix.isSingular())
|
|
262057
262210
|
return false;
|
|
262058
262211
|
for (const contour of this._contours) {
|
|
262059
|
-
contour.tryTransformInPlace(transform)
|
|
262212
|
+
if (!contour.tryTransformInPlace(transform))
|
|
262213
|
+
return false;
|
|
262060
262214
|
}
|
|
262061
262215
|
return true;
|
|
262062
262216
|
}
|
|
262063
|
-
/**
|
|
262217
|
+
/**
|
|
262218
|
+
* Return a transformed clone.
|
|
262219
|
+
* * This fails if the transformation is singular.
|
|
262220
|
+
*/
|
|
262064
262221
|
cloneTransformed(transform) {
|
|
262065
262222
|
const result = this.clone();
|
|
262066
|
-
result.tryTransformInPlace(transform);
|
|
262067
|
-
return result;
|
|
262223
|
+
return result.tryTransformInPlace(transform) ? result : undefined;
|
|
262068
262224
|
}
|
|
262069
262225
|
/** Return a coordinate frame (right handed unit vectors)
|
|
262070
262226
|
* * origin on base contour
|
|
@@ -262245,12 +262401,12 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
262245
262401
|
/* harmony import */ var _curve_Loop__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../curve/Loop */ "../../core/geometry/lib/esm/curve/Loop.js");
|
|
262246
262402
|
/* harmony import */ var _curve_StrokeOptions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../curve/StrokeOptions */ "../../core/geometry/lib/esm/curve/StrokeOptions.js");
|
|
262247
262403
|
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
262248
|
-
/* harmony import */ var
|
|
262249
|
-
/* harmony import */ var
|
|
262404
|
+
/* harmony import */ var _geometry3d_AngleSweep__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../geometry3d/AngleSweep */ "../../core/geometry/lib/esm/geometry3d/AngleSweep.js");
|
|
262405
|
+
/* harmony import */ var _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../geometry3d/Matrix3d */ "../../core/geometry/lib/esm/geometry3d/Matrix3d.js");
|
|
262250
262406
|
/* harmony import */ var _geometry3d_Plane3dByOriginAndVectors__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../geometry3d/Plane3dByOriginAndVectors */ "../../core/geometry/lib/esm/geometry3d/Plane3dByOriginAndVectors.js");
|
|
262251
262407
|
/* harmony import */ var _geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../geometry3d/Point2dVector2d */ "../../core/geometry/lib/esm/geometry3d/Point2dVector2d.js");
|
|
262252
262408
|
/* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
262253
|
-
/* harmony import */ var
|
|
262409
|
+
/* harmony import */ var _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../geometry3d/Transform */ "../../core/geometry/lib/esm/geometry3d/Transform.js");
|
|
262254
262410
|
/* harmony import */ var _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SolidPrimitive */ "../../core/geometry/lib/esm/solid/SolidPrimitive.js");
|
|
262255
262411
|
/*---------------------------------------------------------------------------------------------
|
|
262256
262412
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
@@ -262294,32 +262450,32 @@ class Sphere extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimitive
|
|
|
262294
262450
|
/** String name for schema properties */
|
|
262295
262451
|
this.solidPrimitiveType = "sphere";
|
|
262296
262452
|
this._localToWorld = localToWorld;
|
|
262297
|
-
this._latitudeSweep = latitudeSweep
|
|
262453
|
+
this._latitudeSweep = latitudeSweep;
|
|
262298
262454
|
this._latitudeSweep.capLatitudeInPlace();
|
|
262299
262455
|
}
|
|
262300
262456
|
/** return a deep clone */
|
|
262301
262457
|
clone() {
|
|
262302
262458
|
return new Sphere(this._localToWorld.clone(), this._latitudeSweep.clone(), this.capped);
|
|
262303
262459
|
}
|
|
262304
|
-
/**
|
|
262460
|
+
/**
|
|
262461
|
+
* Transform the sphere in place.
|
|
262305
262462
|
* * Fails if the transform is singular.
|
|
262306
262463
|
*/
|
|
262307
262464
|
tryTransformInPlace(transform) {
|
|
262308
262465
|
if (transform.matrix.isSingular())
|
|
262309
262466
|
return false;
|
|
262310
262467
|
transform.multiplyTransformTransform(this._localToWorld, this._localToWorld);
|
|
262468
|
+
if (transform.matrix.determinant() < 0.0)
|
|
262469
|
+
this._latitudeSweep.reverseInPlace();
|
|
262311
262470
|
return true;
|
|
262312
262471
|
}
|
|
262313
|
-
/**
|
|
262472
|
+
/**
|
|
262473
|
+
* Return a transformed clone.
|
|
262474
|
+
* * Fails if the transform is singular.
|
|
262475
|
+
*/
|
|
262314
262476
|
cloneTransformed(transform) {
|
|
262315
|
-
const
|
|
262316
|
-
|
|
262317
|
-
if (transform.matrix.determinant() < 0.0) {
|
|
262318
|
-
if (sphere1._latitudeSweep !== undefined) {
|
|
262319
|
-
sphere1._latitudeSweep.reverseInPlace();
|
|
262320
|
-
}
|
|
262321
|
-
}
|
|
262322
|
-
return sphere1;
|
|
262477
|
+
const result = this.clone();
|
|
262478
|
+
return result.tryTransformInPlace(transform) ? result : undefined;
|
|
262323
262479
|
}
|
|
262324
262480
|
/** Return a coordinate frame (right handed, unit axes)
|
|
262325
262481
|
* * origin at sphere center
|
|
@@ -262333,8 +262489,8 @@ class Sphere extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimitive
|
|
|
262333
262489
|
get latitudeSweepFraction() { return this._latitudeSweep.sweepRadians / Math.PI; }
|
|
262334
262490
|
/** Create from center and radius, with optional restricted latitudes. */
|
|
262335
262491
|
static createCenterRadius(center, radius, latitudeSweep) {
|
|
262336
|
-
const localToWorld =
|
|
262337
|
-
return new Sphere(localToWorld, latitudeSweep ? latitudeSweep.clone() :
|
|
262492
|
+
const localToWorld = _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_1__.Transform.createOriginAndMatrix(center, _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_2__.Matrix3d.createUniformScale(radius));
|
|
262493
|
+
return new Sphere(localToWorld, latitudeSweep ? latitudeSweep.clone() : _geometry3d_AngleSweep__WEBPACK_IMPORTED_MODULE_3__.AngleSweep.createFullLatitude(), false);
|
|
262338
262494
|
}
|
|
262339
262495
|
/** Create an ellipsoid which is a unit sphere mapped to position by an (arbitrary, possibly skewed and scaled) transform. */
|
|
262340
262496
|
static createEllipsoid(localToWorld, latitudeSweep, capped) {
|
|
@@ -262344,18 +262500,18 @@ class Sphere extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimitive
|
|
|
262344
262500
|
static createDgnSphere(center, vectorX, vectorZ, radiusXY, radiusZ, latitudeSweep, capped) {
|
|
262345
262501
|
const vectorY = vectorX.rotate90Around(vectorZ);
|
|
262346
262502
|
if (vectorY && !vectorX.isParallelTo(vectorZ)) {
|
|
262347
|
-
const matrix =
|
|
262503
|
+
const matrix = _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_2__.Matrix3d.createColumns(vectorX, vectorY, vectorZ);
|
|
262348
262504
|
matrix.scaleColumns(radiusXY, radiusXY, radiusZ, matrix);
|
|
262349
|
-
const frame =
|
|
262505
|
+
const frame = _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_1__.Transform.createOriginAndMatrix(center, matrix);
|
|
262350
262506
|
return new Sphere(frame, latitudeSweep.clone(), capped);
|
|
262351
262507
|
}
|
|
262352
262508
|
return undefined;
|
|
262353
262509
|
}
|
|
262354
262510
|
/** Create a sphere from the typical parameters of the Dgn file */
|
|
262355
262511
|
static createFromAxesAndScales(center, axes, radiusX, radiusY, radiusZ, latitudeSweep, capped) {
|
|
262356
|
-
const localToWorld =
|
|
262512
|
+
const localToWorld = _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_1__.Transform.createOriginAndMatrix(center, axes);
|
|
262357
262513
|
localToWorld.matrix.scaleColumnsInPlace(radiusX, radiusY, radiusZ);
|
|
262358
|
-
return new Sphere(localToWorld, latitudeSweep ? latitudeSweep.clone() :
|
|
262514
|
+
return new Sphere(localToWorld, latitudeSweep ? latitudeSweep.clone() : _geometry3d_AngleSweep__WEBPACK_IMPORTED_MODULE_3__.AngleSweep.createFullLatitude(), capped);
|
|
262359
262515
|
}
|
|
262360
262516
|
/** return (copy of) sphere center */
|
|
262361
262517
|
cloneCenter() { return this._localToWorld.getOrigin(); }
|
|
@@ -262401,10 +262557,16 @@ class Sphere extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimitive
|
|
|
262401
262557
|
return false;
|
|
262402
262558
|
}
|
|
262403
262559
|
/**
|
|
262404
|
-
*
|
|
262405
|
-
* *
|
|
262406
|
-
*
|
|
262407
|
-
*
|
|
262560
|
+
* Return strokes for the elliptical arc cross-section at latitude sweep fraction v.
|
|
262561
|
+
* * Optional inputs control the number of strokes along the cross-section:
|
|
262562
|
+
* * If `fixedStrokeCount` is supplied, it is taken as the cross-section stroke count.
|
|
262563
|
+
* * If `fixedStrokeCount` is undefined, stroke count is computed by applying `options` to the cross-section.
|
|
262564
|
+
* * If neither input is supplied, the stroke count default is 16.
|
|
262565
|
+
* * In any case, stroke count is clamped to the interval [4,64].
|
|
262566
|
+
* @param v fractional position along the sphere axis
|
|
262567
|
+
* @param fixedStrokeCount optional stroke count in u-direction
|
|
262568
|
+
* @param options optional stroke options in u-direction
|
|
262569
|
+
* @return strokes as line string
|
|
262408
262570
|
*/
|
|
262409
262571
|
strokeConstantVSection(v, fixedStrokeCount, options) {
|
|
262410
262572
|
let strokeCount = 16;
|
|
@@ -262420,7 +262582,7 @@ class Sphere extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimitive
|
|
|
262420
262582
|
const c1 = Math.cos(phi);
|
|
262421
262583
|
const s1 = Math.sin(phi);
|
|
262422
262584
|
let c0, s0;
|
|
262423
|
-
const result = _curve_LineString3d__WEBPACK_IMPORTED_MODULE_6__.LineString3d.createForStrokes(
|
|
262585
|
+
const result = _curve_LineString3d__WEBPACK_IMPORTED_MODULE_6__.LineString3d.createForStrokes(strokeCount, options);
|
|
262424
262586
|
const deltaRadians = Math.PI * 2.0 / strokeCount;
|
|
262425
262587
|
const fractions = result.fractions; // possibly undefined !!!
|
|
262426
262588
|
const derivatives = result.packedDerivatives; // possibly undefined !!!
|
|
@@ -262647,7 +262809,7 @@ class SweepContour {
|
|
|
262647
262809
|
return undefined;
|
|
262648
262810
|
}
|
|
262649
262811
|
/** Create for rotational sweep.
|
|
262650
|
-
* @param contour curve to sweep, CAPTURED. For best results, contour should be
|
|
262812
|
+
* @param contour curve to sweep, CAPTURED. For best results, contour should be coplanar with axis.
|
|
262651
262813
|
* @param axis rotation axis
|
|
262652
262814
|
*/
|
|
262653
262815
|
static createForRotation(contour, axis) {
|
|
@@ -262905,19 +263067,23 @@ class TorusPipe extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimit
|
|
|
262905
263067
|
result._isReversed = this._isReversed;
|
|
262906
263068
|
return result;
|
|
262907
263069
|
}
|
|
262908
|
-
/**
|
|
263070
|
+
/**
|
|
263071
|
+
* Apply `transform` to the local coordinate system.
|
|
263072
|
+
* * Fails if the transformation is singular.
|
|
263073
|
+
*/
|
|
262909
263074
|
tryTransformInPlace(transform) {
|
|
262910
263075
|
if (transform.matrix.isSingular())
|
|
262911
263076
|
return false;
|
|
262912
263077
|
transform.multiplyTransformTransform(this._localToWorld, this._localToWorld);
|
|
262913
263078
|
return true;
|
|
262914
263079
|
}
|
|
262915
|
-
/**
|
|
263080
|
+
/**
|
|
263081
|
+
* Clone this TorusPipe and transform the clone.
|
|
263082
|
+
* * Fails if the transformation is singular.
|
|
263083
|
+
*/
|
|
262916
263084
|
cloneTransformed(transform) {
|
|
262917
263085
|
const result = this.clone();
|
|
262918
|
-
|
|
262919
|
-
return undefined;
|
|
262920
|
-
return result;
|
|
263086
|
+
return result.tryTransformInPlace(transform) ? result : undefined;
|
|
262921
263087
|
}
|
|
262922
263088
|
/** Create a new `TorusPipe`
|
|
262923
263089
|
* @param frame local to world transformation. For best results, the matrix part should be a pure rotation.
|
|
@@ -290394,7 +290560,7 @@ exports.getRpcInterfaces = getRpcInterfaces;
|
|
|
290394
290560
|
*--------------------------------------------------------------------------------------------*/
|
|
290395
290561
|
const core_bentley_1 = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");
|
|
290396
290562
|
const core_common_1 = __webpack_require__(/*! @itwin/core-common */ "../../core/common/lib/esm/core-common.js");
|
|
290397
|
-
const ecschema_rpcinterface_common_1 = __webpack_require__(/*! @itwin/ecschema-rpcinterface-common */ "../../core/ecschema-rpc/common/lib/
|
|
290563
|
+
const ecschema_rpcinterface_common_1 = __webpack_require__(/*! @itwin/ecschema-rpcinterface-common */ "../../core/ecschema-rpc/common/lib/esm/ecschema-rpc-interface.js");
|
|
290398
290564
|
function getRpcInterfaces() {
|
|
290399
290565
|
const rpcInterfaces = [];
|
|
290400
290566
|
rpcInterfaces.push(core_common_1.IModelReadRpcInterface);
|
|
@@ -304646,7 +304812,7 @@ var loadLanguages = instance.loadLanguages;
|
|
|
304646
304812
|
/***/ ((module) => {
|
|
304647
304813
|
|
|
304648
304814
|
"use strict";
|
|
304649
|
-
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"5.0.0-dev.
|
|
304815
|
+
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"}}');
|
|
304650
304816
|
|
|
304651
304817
|
/***/ })
|
|
304652
304818
|
|
|
@@ -304955,7 +305121,7 @@ var exports = __webpack_exports__;
|
|
|
304955
305121
|
*--------------------------------------------------------------------------------------------*/
|
|
304956
305122
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
304957
305123
|
const chai_1 = __webpack_require__(/*! chai */ "../../common/temp/node_modules/.pnpm/chai@4.3.10/node_modules/chai/index.js");
|
|
304958
|
-
const ecschema_rpcinterface_common_1 = __webpack_require__(/*! @itwin/ecschema-rpcinterface-common */ "../../core/ecschema-rpc/common/lib/
|
|
305124
|
+
const ecschema_rpcinterface_common_1 = __webpack_require__(/*! @itwin/ecschema-rpcinterface-common */ "../../core/ecschema-rpc/common/lib/esm/ecschema-rpc-interface.js");
|
|
304959
305125
|
const TestContext_1 = __webpack_require__(/*! ./setup/TestContext */ "./lib/frontend/setup/TestContext.js");
|
|
304960
305126
|
const ecschema_metadata_1 = __webpack_require__(/*! @itwin/ecschema-metadata */ "../../core/ecschema-metadata/lib/esm/ecschema-metadata.js");
|
|
304961
305127
|
describe("Schema RPC Interface", () => {
|