@itwin/ecschema-rpcinterface-tests 4.3.0-dev.22 → 4.3.0-dev.24
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 +815 -575
- package/lib/dist/bundled-tests.js.map +1 -1
- package/lib/dist/core_frontend_lib_esm_ApproximateTerrainHeightsProps_js.bundled-tests.js.map +1 -1
- package/lib/dist/vendors-common_temp_node_modules_pnpm_loaders_gl_draco_3_4_14_node_modules_loaders_gl_draco_d-aa4ff5.bundled-tests.js.map +1 -1
- package/package.json +16 -16
|
@@ -28598,6 +28598,7 @@ var ChangesetType;
|
|
|
28598
28598
|
"use strict";
|
|
28599
28599
|
__webpack_require__.r(__webpack_exports__);
|
|
28600
28600
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
28601
|
+
/* harmony export */ ClipIntersectionStyle: () => (/* binding */ ClipIntersectionStyle),
|
|
28601
28602
|
/* harmony export */ ClipStyle: () => (/* binding */ ClipStyle),
|
|
28602
28603
|
/* harmony export */ CutStyle: () => (/* binding */ CutStyle)
|
|
28603
28604
|
/* harmony export */ });
|
|
@@ -28605,6 +28606,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
28605
28606
|
/* harmony import */ var _RgbColor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RgbColor */ "../../core/common/lib/esm/RgbColor.js");
|
|
28606
28607
|
/* harmony import */ var _HiddenLine__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./HiddenLine */ "../../core/common/lib/esm/HiddenLine.js");
|
|
28607
28608
|
/* harmony import */ var _FeatureSymbology__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./FeatureSymbology */ "../../core/common/lib/esm/FeatureSymbology.js");
|
|
28609
|
+
/* harmony import */ var _ColorDef__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ColorDef */ "../../core/common/lib/esm/ColorDef.js");
|
|
28608
28610
|
/*---------------------------------------------------------------------------------------------
|
|
28609
28611
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
28610
28612
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -28616,6 +28618,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
28616
28618
|
|
|
28617
28619
|
|
|
28618
28620
|
|
|
28621
|
+
|
|
28619
28622
|
/** As part of a [[ClipStyle]], describes how section-cut graphics should be displayed.
|
|
28620
28623
|
* @note Section-cut graphics are only produced if [[ClipStyle.produceCutGeometry]] is `true`.
|
|
28621
28624
|
* @public
|
|
@@ -28668,30 +28671,89 @@ class CutStyle {
|
|
|
28668
28671
|
/** The default CutStyle, configured to draw the section-cut graphics using the view's settings, with no overrides. */
|
|
28669
28672
|
CutStyle.defaults = new CutStyle();
|
|
28670
28673
|
|
|
28674
|
+
/** As part of a [[ClipStyle]], describes how to colorize geometry intersecting the clip planes.
|
|
28675
|
+
* @note Edges are highlighted only if [[ClipStyle.ClipIntersectionStyle]] is `true`.
|
|
28676
|
+
* @public
|
|
28677
|
+
* @extensions
|
|
28678
|
+
*/
|
|
28679
|
+
class ClipIntersectionStyle {
|
|
28680
|
+
constructor(color = _RgbColor__WEBPACK_IMPORTED_MODULE_1__.RgbColor.fromColorDef(_ColorDef__WEBPACK_IMPORTED_MODULE_4__.ColorDef.white), width = 1) {
|
|
28681
|
+
this.color = color;
|
|
28682
|
+
this.width = width;
|
|
28683
|
+
}
|
|
28684
|
+
/** Create a highlight from its components. */
|
|
28685
|
+
static create(color, width) {
|
|
28686
|
+
if (!color && !width)
|
|
28687
|
+
return this.defaults;
|
|
28688
|
+
return new ClipIntersectionStyle(color, width);
|
|
28689
|
+
}
|
|
28690
|
+
static fromJSON(props) {
|
|
28691
|
+
if (props === undefined) {
|
|
28692
|
+
return ClipIntersectionStyle.defaults;
|
|
28693
|
+
}
|
|
28694
|
+
const color = props.color ? _RgbColor__WEBPACK_IMPORTED_MODULE_1__.RgbColor.fromJSON(props.color) : _RgbColor__WEBPACK_IMPORTED_MODULE_1__.RgbColor.fromColorDef(_ColorDef__WEBPACK_IMPORTED_MODULE_4__.ColorDef.white);
|
|
28695
|
+
const width = props.width ? props.width : 1;
|
|
28696
|
+
return new ClipIntersectionStyle(color, width);
|
|
28697
|
+
}
|
|
28698
|
+
/** The JSON representation of this style. It is `undefined` if this style matches the defaults. */
|
|
28699
|
+
toJSON() {
|
|
28700
|
+
const props = {};
|
|
28701
|
+
if (this.matchesDefaults) {
|
|
28702
|
+
return undefined;
|
|
28703
|
+
}
|
|
28704
|
+
if (this.color)
|
|
28705
|
+
props.color = this.color.toJSON();
|
|
28706
|
+
if (this.width)
|
|
28707
|
+
props.width = this.width;
|
|
28708
|
+
return props;
|
|
28709
|
+
}
|
|
28710
|
+
get matchesDefaults() {
|
|
28711
|
+
if (this === ClipIntersectionStyle.defaults)
|
|
28712
|
+
return true;
|
|
28713
|
+
return !this.color && !this.width;
|
|
28714
|
+
}
|
|
28715
|
+
}
|
|
28716
|
+
ClipIntersectionStyle.defaults = new ClipIntersectionStyle();
|
|
28717
|
+
|
|
28671
28718
|
/** Describes symbology and behavior applied to a [ClipVector]($core-geometry) when applied to a [ViewState]($frontend) or [[ModelClipGroup]].
|
|
28672
28719
|
* @see [[DisplayStyleSettings.clipStyle]].
|
|
28673
28720
|
* @public
|
|
28674
28721
|
*/
|
|
28675
28722
|
class ClipStyle {
|
|
28676
|
-
constructor(produceCutGeometry, cutStyle, inside, outside) {
|
|
28723
|
+
constructor(produceCutGeometry, colorizeIntersection, cutStyle, inside, outside, intersectionStyle) {
|
|
28677
28724
|
this.produceCutGeometry = produceCutGeometry;
|
|
28725
|
+
this.colorizeIntersection = colorizeIntersection;
|
|
28678
28726
|
this.cutStyle = cutStyle;
|
|
28679
28727
|
this.insideColor = inside;
|
|
28680
28728
|
this.outsideColor = outside;
|
|
28729
|
+
this.intersectionStyle = intersectionStyle;
|
|
28681
28730
|
}
|
|
28682
|
-
/**
|
|
28683
|
-
static create(
|
|
28684
|
-
if (
|
|
28731
|
+
/** @internal */
|
|
28732
|
+
static create(styleOrProduceCutGeometry, cutStyle, insideColor, outsideColor) {
|
|
28733
|
+
if (typeof styleOrProduceCutGeometry === "boolean") {
|
|
28734
|
+
cutStyle = cutStyle === undefined ? CutStyle.defaults : cutStyle;
|
|
28735
|
+
if (!styleOrProduceCutGeometry && cutStyle.matchesDefaults && !insideColor && !outsideColor) {
|
|
28736
|
+
return this.defaults;
|
|
28737
|
+
}
|
|
28738
|
+
return new ClipStyle(styleOrProduceCutGeometry, false, cutStyle, insideColor, outsideColor, undefined);
|
|
28739
|
+
}
|
|
28740
|
+
const style = styleOrProduceCutGeometry;
|
|
28741
|
+
if (!style.produceCutGeometry && !style.colorizeIntersection && (!style.cutStyle || style.cutStyle.matchesDefaults) && !style.insideColor && !style.outsideColor && !style.intersectionStyle)
|
|
28685
28742
|
return this.defaults;
|
|
28686
|
-
|
|
28743
|
+
const produceCutGeometry = style.produceCutGeometry ? true : false;
|
|
28744
|
+
const colorizeIntersection = style.colorizeIntersection ? true : false;
|
|
28745
|
+
cutStyle = style.cutStyle === undefined ? CutStyle.defaults : style.cutStyle;
|
|
28746
|
+
return new ClipStyle(produceCutGeometry, colorizeIntersection, cutStyle, style.insideColor, style.outsideColor, style.intersectionStyle);
|
|
28687
28747
|
}
|
|
28688
28748
|
static fromJSON(props) {
|
|
28689
28749
|
if (_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.JsonUtils.isNonEmptyObject(props)) {
|
|
28690
28750
|
const produceCutGeometry = props.produceCutGeometry ?? false;
|
|
28751
|
+
const colorizeIntersection = props.colorizeIntersection ? true : false;
|
|
28691
28752
|
const cutStyle = CutStyle.fromJSON(props.cutStyle);
|
|
28692
|
-
const
|
|
28693
|
-
const
|
|
28694
|
-
|
|
28753
|
+
const insideColor = props.insideColor ? _RgbColor__WEBPACK_IMPORTED_MODULE_1__.RgbColor.fromJSON(props.insideColor) : undefined;
|
|
28754
|
+
const outsideColor = props.outsideColor ? _RgbColor__WEBPACK_IMPORTED_MODULE_1__.RgbColor.fromJSON(props.outsideColor) : undefined;
|
|
28755
|
+
const intersectionStyle = props.intersectionStyle ? ClipIntersectionStyle.fromJSON(props.intersectionStyle) : undefined;
|
|
28756
|
+
return this.create({ produceCutGeometry, colorizeIntersection, cutStyle, insideColor, outsideColor, intersectionStyle });
|
|
28695
28757
|
}
|
|
28696
28758
|
return this.defaults;
|
|
28697
28759
|
}
|
|
@@ -28702,6 +28764,8 @@ class ClipStyle {
|
|
|
28702
28764
|
const props = {};
|
|
28703
28765
|
if (this.produceCutGeometry)
|
|
28704
28766
|
props.produceCutGeometry = true;
|
|
28767
|
+
if (this.colorizeIntersection)
|
|
28768
|
+
props.colorizeIntersection = true;
|
|
28705
28769
|
const cutStyle = this.cutStyle.toJSON();
|
|
28706
28770
|
if (cutStyle) {
|
|
28707
28771
|
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(!this.cutStyle.matchesDefaults);
|
|
@@ -28711,17 +28775,19 @@ class ClipStyle {
|
|
|
28711
28775
|
props.insideColor = this.insideColor.toJSON();
|
|
28712
28776
|
if (this.outsideColor)
|
|
28713
28777
|
props.outsideColor = this.outsideColor.toJSON();
|
|
28778
|
+
if (this.intersectionStyle)
|
|
28779
|
+
props.intersectionStyle = this.intersectionStyle.toJSON();
|
|
28714
28780
|
return props;
|
|
28715
28781
|
}
|
|
28716
28782
|
/** Returns true if this style matches the [[ClipStyle.defaults]] - that is, it overrides no settings from the view. */
|
|
28717
28783
|
get matchesDefaults() {
|
|
28718
28784
|
if (this === ClipStyle.defaults)
|
|
28719
28785
|
return true;
|
|
28720
|
-
return !this.produceCutGeometry && !this.insideColor && !this.outsideColor && this.cutStyle.matchesDefaults;
|
|
28786
|
+
return !this.produceCutGeometry && !this.colorizeIntersection && !this.insideColor && !this.outsideColor && this.cutStyle.matchesDefaults && !this.intersectionStyle;
|
|
28721
28787
|
}
|
|
28722
28788
|
}
|
|
28723
28789
|
/** The default style, which overrides none of the view's settings. */
|
|
28724
|
-
ClipStyle.defaults = new ClipStyle(false, CutStyle.defaults, undefined, undefined);
|
|
28790
|
+
ClipStyle.defaults = new ClipStyle(false, false, CutStyle.defaults, undefined, undefined, undefined);
|
|
28725
28791
|
|
|
28726
28792
|
|
|
28727
28793
|
|
|
@@ -44245,6 +44311,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
44245
44311
|
/* harmony export */ ChangedValueState: () => (/* reexport safe */ _ECSqlTypes__WEBPACK_IMPORTED_MODULE_21__.ChangedValueState),
|
|
44246
44312
|
/* harmony export */ ChangesetType: () => (/* reexport safe */ _ChangesetProps__WEBPACK_IMPORTED_MODULE_11__.ChangesetType),
|
|
44247
44313
|
/* harmony export */ ChannelConstraintError: () => (/* reexport safe */ _IModelError__WEBPACK_IMPORTED_MODULE_62__.ChannelConstraintError),
|
|
44314
|
+
/* harmony export */ ClipIntersectionStyle: () => (/* reexport safe */ _ClipStyle__WEBPACK_IMPORTED_MODULE_12__.ClipIntersectionStyle),
|
|
44248
44315
|
/* harmony export */ ClipStyle: () => (/* reexport safe */ _ClipStyle__WEBPACK_IMPORTED_MODULE_12__.ClipStyle),
|
|
44249
44316
|
/* harmony export */ Code: () => (/* reexport safe */ _Code__WEBPACK_IMPORTED_MODULE_13__.Code),
|
|
44250
44317
|
/* harmony export */ CodeScopeSpec: () => (/* reexport safe */ _Code__WEBPACK_IMPORTED_MODULE_13__.CodeScopeSpec),
|
|
@@ -99873,6 +99940,7 @@ const extensionExports = {
|
|
|
99873
99940
|
ChangedValueState: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ChangedValueState,
|
|
99874
99941
|
ChangesetType: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ChangesetType,
|
|
99875
99942
|
ClipEventType: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.ClipEventType,
|
|
99943
|
+
ClipIntersectionStyle: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ClipIntersectionStyle,
|
|
99876
99944
|
Cluster: _core_frontend__WEBPACK_IMPORTED_MODULE_1__.Cluster,
|
|
99877
99945
|
ColorByName: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorByName,
|
|
99878
99946
|
ColorDef: _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.ColorDef,
|
|
@@ -110608,6 +110676,10 @@ class ClipStack {
|
|
|
110608
110676
|
this._outsideColor = _FloatRGBA__WEBPACK_IMPORTED_MODULE_3__.FloatRgba.from(0, 0, 0, 0);
|
|
110609
110677
|
/** For detecting whether the transform changed from one invocation of setViewClip to the next. */
|
|
110610
110678
|
this._prevTransform = _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Transform.createZero();
|
|
110679
|
+
/** True if we want to colorize geometry intersecting clip planes */
|
|
110680
|
+
this._colorizeIntersection = false;
|
|
110681
|
+
/** The style to colorize the geometry intersecting clip planes */
|
|
110682
|
+
this._intersectionStyle = _FloatRGBA__WEBPACK_IMPORTED_MODULE_3__.FloatRgba.from(0, 0, 0, 0);
|
|
110611
110683
|
this._getTransform = getTransform;
|
|
110612
110684
|
this._wantViewClip = wantViewClip;
|
|
110613
110685
|
this._numTotalRows = this._numRowsInUse = 0;
|
|
@@ -110623,6 +110695,15 @@ class ClipStack {
|
|
|
110623
110695
|
get hasOutsideColor() {
|
|
110624
110696
|
return this.outsideColor.alpha !== 0;
|
|
110625
110697
|
}
|
|
110698
|
+
get colorizeIntersection() {
|
|
110699
|
+
return this._colorizeIntersection;
|
|
110700
|
+
}
|
|
110701
|
+
set colorizeIntersection(b) {
|
|
110702
|
+
this._colorizeIntersection = b;
|
|
110703
|
+
}
|
|
110704
|
+
get intersectionStyle() {
|
|
110705
|
+
return this._intersectionStyle;
|
|
110706
|
+
}
|
|
110626
110707
|
get bytesUsed() {
|
|
110627
110708
|
return this._texture ? this._texture.bytesUsed : 0;
|
|
110628
110709
|
}
|
|
@@ -110630,6 +110711,7 @@ class ClipStack {
|
|
|
110630
110711
|
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(this._stack.length === 1);
|
|
110631
110712
|
this.updateColor(style.insideColor, this._insideColor);
|
|
110632
110713
|
this.updateColor(style.outsideColor, this._outsideColor);
|
|
110714
|
+
this.updateIntersectionStyle(style.colorizeIntersection, style.intersectionStyle, this._intersectionStyle);
|
|
110633
110715
|
const transform = this._getTransform();
|
|
110634
110716
|
if (!transform.isAlmostEqual(this._prevTransform)) {
|
|
110635
110717
|
transform.clone(this._prevTransform);
|
|
@@ -110766,6 +110848,15 @@ class ClipStack {
|
|
|
110766
110848
|
if (rgb)
|
|
110767
110849
|
rgba.setRgbColor(rgb);
|
|
110768
110850
|
}
|
|
110851
|
+
updateIntersectionStyle(colorizeIntersection, style, _thisStyle) {
|
|
110852
|
+
this._colorizeIntersection = colorizeIntersection === true ? true : false;
|
|
110853
|
+
if (style !== undefined) {
|
|
110854
|
+
if (style.color !== undefined)
|
|
110855
|
+
_thisStyle.setRgbColor(style.color);
|
|
110856
|
+
if (style.width !== undefined)
|
|
110857
|
+
_thisStyle.alpha = style.width;
|
|
110858
|
+
}
|
|
110859
|
+
}
|
|
110769
110860
|
}
|
|
110770
110861
|
|
|
110771
110862
|
|
|
@@ -121014,6 +121105,7 @@ var Convert;
|
|
|
121014
121105
|
case 8 /* VariableType.Sampler2D */: return "sampler2D";
|
|
121015
121106
|
case 9 /* VariableType.SamplerCube */: return "samplerCube";
|
|
121016
121107
|
case 10 /* VariableType.Uint */: return "uint";
|
|
121108
|
+
case 11 /* VariableType.BVec2 */: return "bvec2";
|
|
121017
121109
|
default:
|
|
121018
121110
|
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(false);
|
|
121019
121111
|
return "undefined";
|
|
@@ -121224,6 +121316,7 @@ class ShaderVariables {
|
|
|
121224
121316
|
variableSize = 1;
|
|
121225
121317
|
break;
|
|
121226
121318
|
case 3 /* VariableType.Vec2 */:
|
|
121319
|
+
case 11 /* VariableType.BVec2 */:
|
|
121227
121320
|
variableSize = 2;
|
|
121228
121321
|
break;
|
|
121229
121322
|
case 4 /* VariableType.Vec3 */:
|
|
@@ -121290,6 +121383,7 @@ class ShaderVariables {
|
|
|
121290
121383
|
variableSize = 1;
|
|
121291
121384
|
break;
|
|
121292
121385
|
case 3 /* VariableType.Vec2 */:
|
|
121386
|
+
case 11 /* VariableType.BVec2 */:
|
|
121293
121387
|
variableSize = 2;
|
|
121294
121388
|
break;
|
|
121295
121389
|
case 4 /* VariableType.Vec3 */:
|
|
@@ -121673,9 +121767,9 @@ class FragmentShaderBuilder extends ShaderBuilder {
|
|
|
121673
121767
|
const applyClipping = this.get(10 /* FragmentShaderComponent.ApplyClipping */);
|
|
121674
121768
|
if (undefined !== applyClipping) {
|
|
121675
121769
|
prelude.addline("vec3 g_clipColor;\n");
|
|
121676
|
-
prelude.addFunction("
|
|
121677
|
-
main.addline("
|
|
121678
|
-
main.addline(" if (
|
|
121770
|
+
prelude.addFunction("bvec2 applyClipping(vec4 baseColor)", applyClipping);
|
|
121771
|
+
main.addline(" g_hasClipColor = applyClipping(baseColor);");
|
|
121772
|
+
main.addline(" if (g_hasClipColor.x) { baseColor.rgb = g_clipColor; } else {");
|
|
121679
121773
|
clipIndent = " ";
|
|
121680
121774
|
}
|
|
121681
121775
|
const applyMaterialOverrides = this.get(2 /* FragmentShaderComponent.ApplyMaterialOverrides */);
|
|
@@ -121731,6 +121825,9 @@ class FragmentShaderBuilder extends ShaderBuilder {
|
|
|
121731
121825
|
prelude.addFunction("vec4 applyLighting(vec4 baseColor)", applyLighting);
|
|
121732
121826
|
main.addline(" baseColor = applyLighting(baseColor);");
|
|
121733
121827
|
}
|
|
121828
|
+
if (undefined !== applyClipping) {
|
|
121829
|
+
main.addline(" if (g_hasClipColor.y) { baseColor.rgba = vec4(g_clipColor, 1.0); } ");
|
|
121830
|
+
}
|
|
121734
121831
|
const reverseWoW = this.get(9 /* FragmentShaderComponent.ReverseWhiteOnWhite */);
|
|
121735
121832
|
if (undefined !== reverseWoW) {
|
|
121736
121833
|
prelude.addFunction("vec4 reverseWhiteOnWhite(vec4 baseColor)", reverseWoW);
|
|
@@ -129574,7 +129671,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
129574
129671
|
/* harmony import */ var _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");
|
|
129575
129672
|
/* harmony import */ var _RenderFlags__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../RenderFlags */ "../../core/frontend/lib/esm/render/webgl/RenderFlags.js");
|
|
129576
129673
|
/* harmony import */ var _Common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Common */ "../../core/frontend/lib/esm/render/webgl/glsl/Common.js");
|
|
129577
|
-
/* harmony import */ var
|
|
129674
|
+
/* harmony import */ var _FeatureSymbology__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./FeatureSymbology */ "../../core/frontend/lib/esm/render/webgl/glsl/FeatureSymbology.js");
|
|
129675
|
+
/* harmony import */ var _Translucency__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Translucency */ "../../core/frontend/lib/esm/render/webgl/glsl/Translucency.js");
|
|
129676
|
+
/* harmony import */ var _Vertex__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Vertex */ "../../core/frontend/lib/esm/render/webgl/glsl/Vertex.js");
|
|
129578
129677
|
/*---------------------------------------------------------------------------------------------
|
|
129579
129678
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
129580
129679
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -129586,11 +129685,11 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
129586
129685
|
|
|
129587
129686
|
|
|
129588
129687
|
|
|
129688
|
+
|
|
129689
|
+
|
|
129589
129690
|
const getClipPlaneFloat = `
|
|
129590
129691
|
vec4 getClipPlane(int index) {
|
|
129591
|
-
|
|
129592
|
-
float y = (float(index) + 0.5) / float(u_clipParams[2]);
|
|
129593
|
-
return TEXTURE(s_clipSampler, vec2(x, y));
|
|
129692
|
+
return texelFetch(s_clipSampler, ivec2(0, index), 0);
|
|
129594
129693
|
}
|
|
129595
129694
|
`;
|
|
129596
129695
|
const unpackFloat = `
|
|
@@ -129611,57 +129710,112 @@ float calcClipPlaneDist(vec3 camPos, vec4 plane) {
|
|
|
129611
129710
|
return dot(vec4(camPos, 1.0), plane);
|
|
129612
129711
|
}
|
|
129613
129712
|
`;
|
|
129713
|
+
const applyClipPlanesLoop = `
|
|
129714
|
+
for (int i = u_clipParams[0]; i < u_clipParams[1]; i++) {
|
|
129715
|
+
`;
|
|
129716
|
+
const applyClipPlanesLoopBody = `
|
|
129717
|
+
vec4 plane = getClipPlane(i);
|
|
129718
|
+
if (plane.x == 2.0) { // indicates start of new UnionOfConvexClipPlaneSets
|
|
129719
|
+
if (numSetsClippedBy + int(clippedByCurrentPlaneSet) == numPlaneSets)
|
|
129720
|
+
break;
|
|
129721
|
+
|
|
129722
|
+
numPlaneSets = 1;
|
|
129723
|
+
numSetsClippedBy = 0;
|
|
129724
|
+
clippedByCurrentPlaneSet = false;
|
|
129725
|
+
} else if (plane.xyz == vec3(0.0)) { // indicates start of new clip plane set
|
|
129726
|
+
numPlaneSets = numPlaneSets + 1;
|
|
129727
|
+
numSetsClippedBy += int(clippedByCurrentPlaneSet);
|
|
129728
|
+
clippedByCurrentPlaneSet = false;
|
|
129729
|
+
} else if (!clippedByCurrentPlaneSet && calcClipPlaneDist(v_eyeSpace, plane) < 0.0) {
|
|
129730
|
+
clippedByCurrentPlaneSet = true;
|
|
129731
|
+
}
|
|
129732
|
+
`;
|
|
129733
|
+
const applyClipPlanesIntersectionLoopBody = `
|
|
129734
|
+
if ((i <= u_clipParams[1] - 2) && (!clippedByCurrentPlaneSet)) {
|
|
129735
|
+
|
|
129736
|
+
//Obtaining closest point on plane to current frag in eyespace
|
|
129737
|
+
vec3 pointOnPlane = v_eyeSpace - (abs(calcClipPlaneDist(v_eyeSpace, plane)) * plane.xyz);
|
|
129738
|
+
|
|
129739
|
+
//determining whether to colorize
|
|
129740
|
+
if (distance(v_eyeSpace, pointOnPlane) <= (kFrustumType_Perspective == u_frustum.z ? -pointOnPlane.z * widthFactor : widthFactor)) {
|
|
129741
|
+
colorizeIntersection = true;
|
|
129742
|
+
}
|
|
129743
|
+
}
|
|
129744
|
+
}
|
|
129745
|
+
|
|
129746
|
+
//Need to pull this condition out of the loop for when there are multiple clip planes defined
|
|
129747
|
+
if (colorizeIntersection && !clippedByCurrentPlaneSet) {
|
|
129748
|
+
g_clipColor = u_clipIntersection.rgb;
|
|
129749
|
+
return bvec2(true, true);
|
|
129750
|
+
}
|
|
129751
|
+
`;
|
|
129614
129752
|
const applyClipPlanesPrelude = `
|
|
129615
129753
|
int numPlaneSets = 1;
|
|
129616
129754
|
int numSetsClippedBy = 0;
|
|
129617
129755
|
bool clippedByCurrentPlaneSet = false;
|
|
129618
|
-
|
|
129619
|
-
|
|
129620
|
-
|
|
129756
|
+
bool colorizeIntersection = false;
|
|
129757
|
+
if (u_colorizeIntersection) {
|
|
129758
|
+
float widthFactor = u_pixelWidthFactor * 2.0 * u_clipIntersection.a;
|
|
129759
|
+
${applyClipPlanesLoop}${applyClipPlanesLoopBody}${applyClipPlanesIntersectionLoopBody}
|
|
129760
|
+
} else {
|
|
129761
|
+
${applyClipPlanesLoop}${applyClipPlanesLoopBody} }\n
|
|
129762
|
+
}
|
|
129621
129763
|
`;
|
|
129622
129764
|
const applyClipPlanesPostlude = `
|
|
129623
|
-
vec4 plane = getClipPlane(i);
|
|
129624
|
-
if (plane.x == 2.0) { // indicates start of new UnionOfConvexClipPlaneSets
|
|
129625
|
-
if (numSetsClippedBy + int(clippedByCurrentPlaneSet) == numPlaneSets)
|
|
129626
|
-
break;
|
|
129627
|
-
|
|
129628
|
-
numPlaneSets = 1;
|
|
129629
|
-
numSetsClippedBy = 0;
|
|
129630
|
-
clippedByCurrentPlaneSet = false;
|
|
129631
|
-
} else if (plane.xyz == vec3(0.0)) { // indicates start of new clip plane set
|
|
129632
|
-
numPlaneSets = numPlaneSets + 1;
|
|
129633
|
-
numSetsClippedBy += int(clippedByCurrentPlaneSet);
|
|
129634
|
-
clippedByCurrentPlaneSet = false;
|
|
129635
|
-
} else if (!clippedByCurrentPlaneSet && calcClipPlaneDist(v_eyeSpace, plane) < 0.0) {
|
|
129636
|
-
clippedByCurrentPlaneSet = true;
|
|
129637
|
-
}
|
|
129638
|
-
}
|
|
129639
129765
|
|
|
129640
129766
|
numSetsClippedBy += int(clippedByCurrentPlaneSet);
|
|
129641
129767
|
if (numSetsClippedBy == numPlaneSets) {
|
|
129642
129768
|
if (u_outsideRgba.a > 0.0) {
|
|
129643
129769
|
g_clipColor = u_outsideRgba.rgb;
|
|
129644
|
-
return true;
|
|
129770
|
+
return bvec2(true,false);
|
|
129645
129771
|
} else {
|
|
129646
129772
|
discard;
|
|
129647
129773
|
}
|
|
129648
129774
|
} else if (u_insideRgba.a > 0.0) {
|
|
129649
129775
|
g_clipColor = u_insideRgba.rgb;
|
|
129650
|
-
return true;
|
|
129776
|
+
return bvec2(true,false);
|
|
129651
129777
|
}
|
|
129652
129778
|
|
|
129653
|
-
return false;
|
|
129779
|
+
return bvec2(false,false);
|
|
129654
129780
|
`;
|
|
129655
|
-
const
|
|
129781
|
+
const assignFragData = `
|
|
129782
|
+
if (g_hasClipColor.y) {
|
|
129783
|
+
vec4 output0 = vec4(g_clipColor, 1.0);
|
|
129784
|
+
vec4 output1 = vec4(1.0, 1.0, 0.0, 1.0);
|
|
129785
|
+
|
|
129786
|
+
FragColor0 = output0;
|
|
129787
|
+
FragColor1 = output1;
|
|
129788
|
+
} else {
|
|
129789
|
+
${_Translucency__WEBPACK_IMPORTED_MODULE_4__.computeOutputs}
|
|
129790
|
+
|
|
129791
|
+
FragColor0 = output0;
|
|
129792
|
+
FragColor1 = output1;
|
|
129793
|
+
}
|
|
129794
|
+
`;
|
|
129795
|
+
const applyClipPlanes = applyClipPlanesPrelude + applyClipPlanesPostlude;
|
|
129656
129796
|
const clipParams = new Int32Array(3);
|
|
129657
129797
|
/** @internal */
|
|
129658
129798
|
function addClipping(prog) {
|
|
129659
129799
|
const frag = prog.frag;
|
|
129660
129800
|
const vert = prog.vert;
|
|
129661
129801
|
(0,_Common__WEBPACK_IMPORTED_MODULE_2__.addEyeSpace)(prog);
|
|
129802
|
+
prog.addUniform("u_outsideRgba", 5 /* VariableType.Vec4 */, (program) => {
|
|
129803
|
+
program.addGraphicUniform("u_outsideRgba", (uniform, params) => {
|
|
129804
|
+
params.target.uniforms.branch.clipStack.outsideColor.bind(uniform);
|
|
129805
|
+
});
|
|
129806
|
+
});
|
|
129807
|
+
prog.addUniform("u_insideRgba", 5 /* VariableType.Vec4 */, (program) => {
|
|
129808
|
+
program.addGraphicUniform("u_insideRgba", (uniform, params) => {
|
|
129809
|
+
params.target.uniforms.branch.clipStack.insideColor.bind(uniform);
|
|
129810
|
+
});
|
|
129811
|
+
});
|
|
129812
|
+
(0,_Common__WEBPACK_IMPORTED_MODULE_2__.addFrustum)(prog);
|
|
129813
|
+
(0,_FeatureSymbology__WEBPACK_IMPORTED_MODULE_3__.addPixelWidthFactor)(frag);
|
|
129814
|
+
(0,_Vertex__WEBPACK_IMPORTED_MODULE_5__.addModelViewMatrix)(vert);
|
|
129662
129815
|
// [0] = index of first plane
|
|
129663
129816
|
// [1] = index of last plane (one past the end)
|
|
129664
129817
|
// [2] = texture height
|
|
129818
|
+
prog.frag.addGlobal("g_hasClipColor", 11 /* VariableType.BVec2 */);
|
|
129665
129819
|
prog.addUniformArray("u_clipParams", 1 /* VariableType.Int */, 3, (program) => {
|
|
129666
129820
|
program.addGraphicUniform("u_clipParams", (uniform, params) => {
|
|
129667
129821
|
// Set this to false to visualize pre-shader culling of geometry.
|
|
@@ -129674,17 +129828,16 @@ function addClipping(prog) {
|
|
|
129674
129828
|
uniform.setUniform1iv(clipParams);
|
|
129675
129829
|
});
|
|
129676
129830
|
});
|
|
129677
|
-
prog.addUniform("
|
|
129678
|
-
program.
|
|
129679
|
-
params.target.uniforms.branch.clipStack.
|
|
129831
|
+
prog.frag.addUniform("u_colorizeIntersection", 0 /* VariableType.Boolean */, (program) => {
|
|
129832
|
+
program.addProgramUniform("u_colorizeIntersection", (uniform, params) => {
|
|
129833
|
+
uniform.setUniform1i(params.target.uniforms.branch.clipStack.colorizeIntersection ? 1 : 0);
|
|
129680
129834
|
});
|
|
129681
129835
|
});
|
|
129682
|
-
prog.addUniform("
|
|
129683
|
-
program.addGraphicUniform("
|
|
129684
|
-
params.target.uniforms.branch.clipStack.
|
|
129836
|
+
prog.frag.addUniform("u_clipIntersection", 5 /* VariableType.Vec4 */, (program) => {
|
|
129837
|
+
program.addGraphicUniform("u_clipIntersection", (uniform, params) => {
|
|
129838
|
+
params.target.uniforms.branch.clipStack.intersectionStyle.bind(uniform);
|
|
129685
129839
|
});
|
|
129686
129840
|
});
|
|
129687
|
-
(0,_Vertex__WEBPACK_IMPORTED_MODULE_3__.addModelViewMatrix)(vert);
|
|
129688
129841
|
frag.addFunction(getClipPlaneFloat);
|
|
129689
129842
|
frag.addFunction(calcClipPlaneDist);
|
|
129690
129843
|
frag.addUniform("s_clipSampler", 8 /* VariableType.Sampler2D */, (program) => {
|
|
@@ -129696,6 +129849,9 @@ function addClipping(prog) {
|
|
|
129696
129849
|
});
|
|
129697
129850
|
}, 3 /* VariablePrecision.High */);
|
|
129698
129851
|
frag.set(10 /* FragmentShaderComponent.ApplyClipping */, applyClipPlanes);
|
|
129852
|
+
// modify translucent shaders
|
|
129853
|
+
if (frag.findFunction(_Translucency__WEBPACK_IMPORTED_MODULE_4__.computeAlphaWeight))
|
|
129854
|
+
frag.set(16 /* FragmentShaderComponent.AssignFragData */, assignFragData);
|
|
129699
129855
|
}
|
|
129700
129856
|
|
|
129701
129857
|
|
|
@@ -130162,10 +130318,10 @@ const computeTranslucentColor = `
|
|
|
130162
130318
|
vec4 computeColor() {
|
|
130163
130319
|
vec4 opaque = computeOpaqueColor();
|
|
130164
130320
|
vec4 accum = TEXTURE(u_accumulation, v_texCoord);
|
|
130165
|
-
|
|
130321
|
+
vec2 rg = TEXTURE(u_revealage, v_texCoord).rg;
|
|
130166
130322
|
|
|
130167
|
-
vec4 transparent = vec4(accum.rgb / clamp(r, 1e-4, 5e4), accum.a);
|
|
130168
|
-
vec4 col = (1.0 - transparent.a) * transparent + transparent.a * opaque;
|
|
130323
|
+
vec4 transparent = vec4(accum.rgb / clamp(rg.r, 1e-4, 5e4), accum.a);
|
|
130324
|
+
vec4 col = mix((1.0 - transparent.a) * transparent + transparent.a * opaque, vec4(u_clipIntersection.rgb, 1.0), rg.g);
|
|
130169
130325
|
return col;
|
|
130170
130326
|
}
|
|
130171
130327
|
`;
|
|
@@ -130213,6 +130369,11 @@ function createCompositeProgram(flags, context) {
|
|
|
130213
130369
|
_Texture__WEBPACK_IMPORTED_MODULE_2__.Texture2DHandle.bindSampler(uniform, params.geometry.reveal, _RenderFlags__WEBPACK_IMPORTED_MODULE_1__.TextureUnit.Two);
|
|
130214
130370
|
});
|
|
130215
130371
|
});
|
|
130372
|
+
builder.frag.addUniform("u_clipIntersection", 5 /* VariableType.Vec4 */, (program) => {
|
|
130373
|
+
program.addGraphicUniform("u_clipIntersection", (uniform, params) => {
|
|
130374
|
+
params.target.uniforms.branch.clipStack.intersectionStyle.bind(uniform);
|
|
130375
|
+
});
|
|
130376
|
+
});
|
|
130216
130377
|
frag.addFunction(computeTranslucentColor);
|
|
130217
130378
|
if (!wantHilite) {
|
|
130218
130379
|
frag.set(1 /* FragmentShaderComponent.ComputeBaseColor */, computeTranslucentBaseColor);
|
|
@@ -131355,6 +131516,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
131355
131516
|
/* harmony export */ addHiliter: () => (/* binding */ addHiliter),
|
|
131356
131517
|
/* harmony export */ addMaxAlpha: () => (/* binding */ addMaxAlpha),
|
|
131357
131518
|
/* harmony export */ addOvrFlagConstants: () => (/* binding */ addOvrFlagConstants),
|
|
131519
|
+
/* harmony export */ addPixelWidthFactor: () => (/* binding */ addPixelWidthFactor),
|
|
131358
131520
|
/* harmony export */ addRenderOrder: () => (/* binding */ addRenderOrder),
|
|
131359
131521
|
/* harmony export */ addRenderOrderConstants: () => (/* binding */ addRenderOrderConstants),
|
|
131360
131522
|
/* harmony export */ addSurfaceDiscard: () => (/* binding */ addSurfaceDiscard),
|
|
@@ -135819,7 +135981,9 @@ function addThematicDisplay(builder, isForPointClouds = false, isForTerrainMesh
|
|
|
135819
135981
|
"use strict";
|
|
135820
135982
|
__webpack_require__.r(__webpack_exports__);
|
|
135821
135983
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
135822
|
-
/* harmony export */ addTranslucency: () => (/* binding */ addTranslucency)
|
|
135984
|
+
/* harmony export */ addTranslucency: () => (/* binding */ addTranslucency),
|
|
135985
|
+
/* harmony export */ computeAlphaWeight: () => (/* binding */ computeAlphaWeight),
|
|
135986
|
+
/* harmony export */ computeOutputs: () => (/* binding */ computeOutputs)
|
|
135823
135987
|
/* harmony export */ });
|
|
135824
135988
|
/* harmony import */ var _Common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Common */ "../../core/frontend/lib/esm/render/webgl/glsl/Common.js");
|
|
135825
135989
|
/* harmony import */ var _Fragment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Fragment */ "../../core/frontend/lib/esm/render/webgl/glsl/Fragment.js");
|
|
@@ -135857,7 +136021,7 @@ const computeOutputs = `
|
|
|
135857
136021
|
float outputScale = (u_shaderFlags[kShaderBit_OITScaleOutput] ? 1.0 / 3001.040604 : 1.0);
|
|
135858
136022
|
|
|
135859
136023
|
vec4 output0 = vec4(Ci * wzi * outputScale, ai);
|
|
135860
|
-
vec4 output1 = vec4(ai * wzi * outputScale);
|
|
136024
|
+
vec4 output1 = vec4(ai * wzi * outputScale, 0.0, 0.0, ai * wzi * outputScale);
|
|
135861
136025
|
`;
|
|
135862
136026
|
const assignFragData = `${computeOutputs}
|
|
135863
136027
|
FragColor0 = output0;
|
|
@@ -170465,9 +170629,10 @@ class Geometry {
|
|
|
170465
170629
|
// (c0,s0) is the closest approach of the line to the circle center (origin)
|
|
170466
170630
|
const c0 = da2b2 * cosCoff; // -ad/(a^2+b^2)
|
|
170467
170631
|
const s0 = da2b2 * sinCoff; // -bd/(a^2+b^2)
|
|
170468
|
-
if (criterion <=
|
|
170469
|
-
// We observed criterion = -2.22e-16 in a rotated tangent system,
|
|
170470
|
-
//
|
|
170632
|
+
if (criterion <= Geometry.smallMetricDistanceSquared) { // nSolution = 1
|
|
170633
|
+
// We observed criterion = -2.22e-16 in a rotated tangent system, and criterion = 4.44e-16 in a
|
|
170634
|
+
// transverse line-arc intersectXYZ near-tangency, therefore for criteria near zero (on either side),
|
|
170635
|
+
// return the (near) tangency; any larger criteria fall through to return both solutions.
|
|
170471
170636
|
result = [_geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_1__.Vector2d.create(c0, s0)];
|
|
170472
170637
|
}
|
|
170473
170638
|
else { // nSolution = 2
|
|
@@ -181596,43 +181761,42 @@ class LineStringOffsetClipperContext {
|
|
|
181596
181761
|
"use strict";
|
|
181597
181762
|
__webpack_require__.r(__webpack_exports__);
|
|
181598
181763
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
181599
|
-
/* harmony export */
|
|
181600
|
-
/* harmony export */
|
|
181601
|
-
/* harmony export */
|
|
181602
|
-
/* harmony export */ AnalyticRoots: () => (/* reexport safe */ _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_56__.AnalyticRoots),
|
|
181764
|
+
/* harmony export */ AkimaCurve3d: () => (/* reexport safe */ _bspline_AkimaCurve3d__WEBPACK_IMPORTED_MODULE_97__.AkimaCurve3d),
|
|
181765
|
+
/* harmony export */ AkimaCurve3dOptions: () => (/* reexport safe */ _bspline_AkimaCurve3d__WEBPACK_IMPORTED_MODULE_97__.AkimaCurve3dOptions),
|
|
181766
|
+
/* harmony export */ AnalyticRoots: () => (/* reexport safe */ _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_55__.AnalyticRoots),
|
|
181603
181767
|
/* harmony export */ Angle: () => (/* reexport safe */ _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_0__.Angle),
|
|
181604
181768
|
/* harmony export */ AngleSweep: () => (/* reexport safe */ _geometry3d_AngleSweep__WEBPACK_IMPORTED_MODULE_1__.AngleSweep),
|
|
181605
|
-
/* harmony export */ AnnotatedLineString3d: () => (/* reexport safe */
|
|
181606
|
-
/* harmony export */ Arc3d: () => (/* reexport safe */
|
|
181607
|
-
/* harmony export */ AuxChannel: () => (/* reexport safe */
|
|
181608
|
-
/* harmony export */ AuxChannelData: () => (/* reexport safe */
|
|
181609
|
-
/* harmony export */ AuxChannelDataType: () => (/* reexport safe */
|
|
181769
|
+
/* harmony export */ AnnotatedLineString3d: () => (/* reexport safe */ _curve_LineString3d__WEBPACK_IMPORTED_MODULE_73__.AnnotatedLineString3d),
|
|
181770
|
+
/* harmony export */ Arc3d: () => (/* reexport safe */ _curve_Arc3d__WEBPACK_IMPORTED_MODULE_59__.Arc3d),
|
|
181771
|
+
/* harmony export */ AuxChannel: () => (/* reexport safe */ _polyface_AuxData__WEBPACK_IMPORTED_MODULE_109__.AuxChannel),
|
|
181772
|
+
/* harmony export */ AuxChannelData: () => (/* reexport safe */ _polyface_AuxData__WEBPACK_IMPORTED_MODULE_109__.AuxChannelData),
|
|
181773
|
+
/* harmony export */ AuxChannelDataType: () => (/* reexport safe */ _polyface_AuxData__WEBPACK_IMPORTED_MODULE_109__.AuxChannelDataType),
|
|
181610
181774
|
/* harmony export */ AxisIndex: () => (/* reexport safe */ _Geometry__WEBPACK_IMPORTED_MODULE_36__.AxisIndex),
|
|
181611
181775
|
/* harmony export */ AxisOrder: () => (/* reexport safe */ _Geometry__WEBPACK_IMPORTED_MODULE_36__.AxisOrder),
|
|
181612
181776
|
/* harmony export */ AxisScaleSelect: () => (/* reexport safe */ _Geometry__WEBPACK_IMPORTED_MODULE_36__.AxisScaleSelect),
|
|
181613
|
-
/* harmony export */ BSpline1dNd: () => (/* reexport safe */
|
|
181614
|
-
/* harmony export */ BSpline2dNd: () => (/* reexport safe */
|
|
181615
|
-
/* harmony export */ BSplineCurve3d: () => (/* reexport safe */
|
|
181616
|
-
/* harmony export */ BSplineCurve3dBase: () => (/* reexport safe */
|
|
181617
|
-
/* harmony export */ BSplineCurve3dH: () => (/* reexport safe */
|
|
181618
|
-
/* harmony export */ BSplineCurveOps: () => (/* reexport safe */
|
|
181619
|
-
/* harmony export */ BSplineSurface3d: () => (/* reexport safe */
|
|
181620
|
-
/* harmony export */ BSplineSurface3dH: () => (/* reexport safe */
|
|
181621
|
-
/* harmony export */ BSplineWrapMode: () => (/* reexport safe */
|
|
181622
|
-
/* harmony export */ BagOfCurves: () => (/* reexport safe */
|
|
181777
|
+
/* harmony export */ BSpline1dNd: () => (/* reexport safe */ _bspline_BSpline1dNd__WEBPACK_IMPORTED_MODULE_104__.BSpline1dNd),
|
|
181778
|
+
/* harmony export */ BSpline2dNd: () => (/* reexport safe */ _bspline_BSplineSurface__WEBPACK_IMPORTED_MODULE_106__.BSpline2dNd),
|
|
181779
|
+
/* harmony export */ BSplineCurve3d: () => (/* reexport safe */ _bspline_BSplineCurve__WEBPACK_IMPORTED_MODULE_102__.BSplineCurve3d),
|
|
181780
|
+
/* harmony export */ BSplineCurve3dBase: () => (/* reexport safe */ _bspline_BSplineCurve__WEBPACK_IMPORTED_MODULE_102__.BSplineCurve3dBase),
|
|
181781
|
+
/* harmony export */ BSplineCurve3dH: () => (/* reexport safe */ _bspline_BSplineCurve3dH__WEBPACK_IMPORTED_MODULE_105__.BSplineCurve3dH),
|
|
181782
|
+
/* harmony export */ BSplineCurveOps: () => (/* reexport safe */ _bspline_BSplineCurveOps__WEBPACK_IMPORTED_MODULE_103__.BSplineCurveOps),
|
|
181783
|
+
/* harmony export */ BSplineSurface3d: () => (/* reexport safe */ _bspline_BSplineSurface__WEBPACK_IMPORTED_MODULE_106__.BSplineSurface3d),
|
|
181784
|
+
/* harmony export */ BSplineSurface3dH: () => (/* reexport safe */ _bspline_BSplineSurface__WEBPACK_IMPORTED_MODULE_106__.BSplineSurface3dH),
|
|
181785
|
+
/* harmony export */ BSplineWrapMode: () => (/* reexport safe */ _bspline_KnotVector__WEBPACK_IMPORTED_MODULE_108__.BSplineWrapMode),
|
|
181786
|
+
/* harmony export */ BagOfCurves: () => (/* reexport safe */ _curve_CurveCollection__WEBPACK_IMPORTED_MODULE_64__.BagOfCurves),
|
|
181623
181787
|
/* harmony export */ BarycentricTriangle: () => (/* reexport safe */ _geometry3d_BarycentricTriangle__WEBPACK_IMPORTED_MODULE_3__.BarycentricTriangle),
|
|
181624
|
-
/* harmony export */ BentleyGeometryFlatBuffer: () => (/* reexport safe */
|
|
181625
|
-
/* harmony export */ Bezier1dNd: () => (/* reexport safe */
|
|
181788
|
+
/* harmony export */ BentleyGeometryFlatBuffer: () => (/* reexport safe */ _serialization_BentleyGeometryFlatBuffer__WEBPACK_IMPORTED_MODULE_128__.BentleyGeometryFlatBuffer),
|
|
181789
|
+
/* harmony export */ Bezier1dNd: () => (/* reexport safe */ _bspline_Bezier1dNd__WEBPACK_IMPORTED_MODULE_98__.Bezier1dNd),
|
|
181626
181790
|
/* harmony export */ BezierCoffs: () => (/* reexport safe */ _numerics_BezierPolynomials__WEBPACK_IMPORTED_MODULE_51__.BezierCoffs),
|
|
181627
|
-
/* harmony export */ BezierCurve3d: () => (/* reexport safe */
|
|
181628
|
-
/* harmony export */ BezierCurve3dH: () => (/* reexport safe */
|
|
181629
|
-
/* harmony export */ BezierCurveBase: () => (/* reexport safe */
|
|
181791
|
+
/* harmony export */ BezierCurve3d: () => (/* reexport safe */ _bspline_BezierCurve3d__WEBPACK_IMPORTED_MODULE_100__.BezierCurve3d),
|
|
181792
|
+
/* harmony export */ BezierCurve3dH: () => (/* reexport safe */ _bspline_BezierCurve3dH__WEBPACK_IMPORTED_MODULE_101__.BezierCurve3dH),
|
|
181793
|
+
/* harmony export */ BezierCurveBase: () => (/* reexport safe */ _bspline_BezierCurveBase__WEBPACK_IMPORTED_MODULE_99__.BezierCurveBase),
|
|
181630
181794
|
/* harmony export */ BezierPolynomialAlgebra: () => (/* reexport safe */ _numerics_BezierPolynomials__WEBPACK_IMPORTED_MODULE_51__.BezierPolynomialAlgebra),
|
|
181631
181795
|
/* harmony export */ BilinearPatch: () => (/* reexport safe */ _geometry3d_BilinearPatch__WEBPACK_IMPORTED_MODULE_4__.BilinearPatch),
|
|
181632
|
-
/* harmony export */ BilinearPolynomial: () => (/* reexport safe */
|
|
181796
|
+
/* harmony export */ BilinearPolynomial: () => (/* reexport safe */ _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_55__.BilinearPolynomial),
|
|
181633
181797
|
/* harmony export */ BooleanClipFactory: () => (/* reexport safe */ _clipping_BooleanClipFactory__WEBPACK_IMPORTED_MODULE_38__.BooleanClipFactory),
|
|
181634
|
-
/* harmony export */ Box: () => (/* reexport safe */
|
|
181635
|
-
/* harmony export */ BoxTopology: () => (/* reexport safe */
|
|
181798
|
+
/* harmony export */ Box: () => (/* reexport safe */ _solid_Box__WEBPACK_IMPORTED_MODULE_88__.Box),
|
|
181799
|
+
/* harmony export */ BoxTopology: () => (/* reexport safe */ _polyface_BoxTopology__WEBPACK_IMPORTED_MODULE_110__.BoxTopology),
|
|
181636
181800
|
/* harmony export */ ClipMaskXYZRangePlanes: () => (/* reexport safe */ _clipping_ClipPrimitive__WEBPACK_IMPORTED_MODULE_42__.ClipMaskXYZRangePlanes),
|
|
181637
181801
|
/* harmony export */ ClipPlane: () => (/* reexport safe */ _clipping_ClipPlane__WEBPACK_IMPORTED_MODULE_39__.ClipPlane),
|
|
181638
181802
|
/* harmony export */ ClipPlaneContainment: () => (/* reexport safe */ _clipping_ClipUtils__WEBPACK_IMPORTED_MODULE_44__.ClipPlaneContainment),
|
|
@@ -181642,109 +181806,103 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
181642
181806
|
/* harmony export */ ClipStepAction: () => (/* reexport safe */ _clipping_ClipUtils__WEBPACK_IMPORTED_MODULE_44__.ClipStepAction),
|
|
181643
181807
|
/* harmony export */ ClipUtilities: () => (/* reexport safe */ _clipping_ClipUtils__WEBPACK_IMPORTED_MODULE_44__.ClipUtilities),
|
|
181644
181808
|
/* harmony export */ ClipVector: () => (/* reexport safe */ _clipping_ClipVector__WEBPACK_IMPORTED_MODULE_43__.ClipVector),
|
|
181645
|
-
/* harmony export */ ClippedPolyfaceBuilders: () => (/* reexport safe */
|
|
181809
|
+
/* harmony export */ ClippedPolyfaceBuilders: () => (/* reexport safe */ _polyface_PolyfaceClip__WEBPACK_IMPORTED_MODULE_120__.ClippedPolyfaceBuilders),
|
|
181646
181810
|
/* harmony export */ ClusterableArray: () => (/* reexport safe */ _numerics_ClusterableArray__WEBPACK_IMPORTED_MODULE_52__.ClusterableArray),
|
|
181647
|
-
/* harmony export */ Complex: () => (/* reexport safe */
|
|
181648
|
-
/* harmony export */ Cone: () => (/* reexport safe */
|
|
181649
|
-
/* harmony export */ ConsolidateAdjacentCurvePrimitivesOptions: () => (/* reexport safe */
|
|
181811
|
+
/* harmony export */ Complex: () => (/* reexport safe */ _numerics_Complex__WEBPACK_IMPORTED_MODULE_53__.Complex),
|
|
181812
|
+
/* harmony export */ Cone: () => (/* reexport safe */ _solid_Cone__WEBPACK_IMPORTED_MODULE_89__.Cone),
|
|
181813
|
+
/* harmony export */ ConsolidateAdjacentCurvePrimitivesOptions: () => (/* reexport safe */ _curve_RegionOps__WEBPACK_IMPORTED_MODULE_79__.ConsolidateAdjacentCurvePrimitivesOptions),
|
|
181650
181814
|
/* harmony export */ Constant: () => (/* reexport safe */ _Constant__WEBPACK_IMPORTED_MODULE_37__.Constant),
|
|
181651
|
-
/* harmony export */ ConstructCurveBetweenCurves: () => (/* reexport safe */
|
|
181815
|
+
/* harmony export */ ConstructCurveBetweenCurves: () => (/* reexport safe */ _curve_ConstructCurveBetweenCurves__WEBPACK_IMPORTED_MODULE_60__.ConstructCurveBetweenCurves),
|
|
181652
181816
|
/* harmony export */ ConvexClipPlaneSet: () => (/* reexport safe */ _clipping_ConvexClipPlaneSet__WEBPACK_IMPORTED_MODULE_40__.ConvexClipPlaneSet),
|
|
181653
|
-
/* harmony export */ ConvexFacetLocationDetail: () => (/* reexport safe */
|
|
181817
|
+
/* harmony export */ ConvexFacetLocationDetail: () => (/* reexport safe */ _polyface_FacetLocationDetail__WEBPACK_IMPORTED_MODULE_113__.ConvexFacetLocationDetail),
|
|
181654
181818
|
/* harmony export */ ConvexPolygon2d: () => (/* reexport safe */ _numerics_ConvexPolygon2d__WEBPACK_IMPORTED_MODULE_45__.ConvexPolygon2d),
|
|
181655
|
-
/* harmony export */ CoordinateXYZ: () => (/* reexport safe */
|
|
181656
|
-
/* harmony export */ CurveChain: () => (/* reexport safe */
|
|
181657
|
-
/* harmony export */ CurveChainWithDistanceIndex: () => (/* reexport safe */
|
|
181658
|
-
/* harmony export */ CurveCollection: () => (/* reexport safe */
|
|
181659
|
-
/* harmony export */ CurveCurve: () => (/* reexport safe */
|
|
181660
|
-
/* harmony export */ CurveCurveApproachType: () => (/* reexport safe */
|
|
181661
|
-
/* harmony export */ CurveExtendMode: () => (/* reexport safe */
|
|
181662
|
-
/* harmony export */ CurveExtendOptions: () => (/* reexport safe */
|
|
181663
|
-
/* harmony export */ CurveFactory: () => (/* reexport safe */
|
|
181664
|
-
/* harmony export */ CurveIntervalRole: () => (/* reexport safe */
|
|
181665
|
-
/* harmony export */ CurveLocationDetail: () => (/* reexport safe */
|
|
181666
|
-
/* harmony export */ CurveLocationDetailArrayPair: () => (/* reexport safe */
|
|
181667
|
-
/* harmony export */ CurveLocationDetailPair: () => (/* reexport safe */
|
|
181668
|
-
/* harmony export */ CurveOps: () => (/* reexport safe */
|
|
181669
|
-
/* harmony export */ CurvePrimitive: () => (/* reexport safe */
|
|
181670
|
-
/* harmony export */ CurveSearchStatus: () => (/* reexport safe */
|
|
181819
|
+
/* harmony export */ CoordinateXYZ: () => (/* reexport safe */ _curve_CoordinateXYZ__WEBPACK_IMPORTED_MODULE_61__.CoordinateXYZ),
|
|
181820
|
+
/* harmony export */ CurveChain: () => (/* reexport safe */ _curve_CurveCollection__WEBPACK_IMPORTED_MODULE_64__.CurveChain),
|
|
181821
|
+
/* harmony export */ CurveChainWithDistanceIndex: () => (/* reexport safe */ _curve_CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_62__.CurveChainWithDistanceIndex),
|
|
181822
|
+
/* harmony export */ CurveCollection: () => (/* reexport safe */ _curve_CurveCollection__WEBPACK_IMPORTED_MODULE_64__.CurveCollection),
|
|
181823
|
+
/* harmony export */ CurveCurve: () => (/* reexport safe */ _curve_CurveCurve__WEBPACK_IMPORTED_MODULE_65__.CurveCurve),
|
|
181824
|
+
/* harmony export */ CurveCurveApproachType: () => (/* reexport safe */ _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_66__.CurveCurveApproachType),
|
|
181825
|
+
/* harmony export */ CurveExtendMode: () => (/* reexport safe */ _curve_CurveExtendMode__WEBPACK_IMPORTED_MODULE_63__.CurveExtendMode),
|
|
181826
|
+
/* harmony export */ CurveExtendOptions: () => (/* reexport safe */ _curve_CurveExtendMode__WEBPACK_IMPORTED_MODULE_63__.CurveExtendOptions),
|
|
181827
|
+
/* harmony export */ CurveFactory: () => (/* reexport safe */ _curve_CurveFactory__WEBPACK_IMPORTED_MODULE_67__.CurveFactory),
|
|
181828
|
+
/* harmony export */ CurveIntervalRole: () => (/* reexport safe */ _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_66__.CurveIntervalRole),
|
|
181829
|
+
/* harmony export */ CurveLocationDetail: () => (/* reexport safe */ _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_66__.CurveLocationDetail),
|
|
181830
|
+
/* harmony export */ CurveLocationDetailArrayPair: () => (/* reexport safe */ _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_66__.CurveLocationDetailArrayPair),
|
|
181831
|
+
/* harmony export */ CurveLocationDetailPair: () => (/* reexport safe */ _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_66__.CurveLocationDetailPair),
|
|
181832
|
+
/* harmony export */ CurveOps: () => (/* reexport safe */ _curve_CurveOps__WEBPACK_IMPORTED_MODULE_68__.CurveOps),
|
|
181833
|
+
/* harmony export */ CurvePrimitive: () => (/* reexport safe */ _curve_CurvePrimitive__WEBPACK_IMPORTED_MODULE_69__.CurvePrimitive),
|
|
181834
|
+
/* harmony export */ CurveSearchStatus: () => (/* reexport safe */ _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_66__.CurveSearchStatus),
|
|
181671
181835
|
/* harmony export */ CutLoop: () => (/* reexport safe */ _geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_27__.CutLoop),
|
|
181672
181836
|
/* harmony export */ CutLoopMergeContext: () => (/* reexport safe */ _geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_27__.CutLoopMergeContext),
|
|
181673
|
-
/* harmony export */ DeepCompare: () => (/* reexport safe */
|
|
181674
|
-
/* harmony export */ Degree2PowerPolynomial: () => (/* reexport safe */
|
|
181675
|
-
/* harmony export */ Degree3PowerPolynomial: () => (/* reexport safe */
|
|
181676
|
-
/* harmony export */ Degree4PowerPolynomial: () => (/* reexport safe */
|
|
181677
|
-
/* harmony export */ DirectSpiral3d: () => (/* reexport safe */
|
|
181678
|
-
/* harmony export */ DuplicateFacetClusterSelector: () => (/* reexport safe */
|
|
181837
|
+
/* harmony export */ DeepCompare: () => (/* reexport safe */ _serialization_DeepCompare__WEBPACK_IMPORTED_MODULE_126__.DeepCompare),
|
|
181838
|
+
/* harmony export */ Degree2PowerPolynomial: () => (/* reexport safe */ _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_55__.Degree2PowerPolynomial),
|
|
181839
|
+
/* harmony export */ Degree3PowerPolynomial: () => (/* reexport safe */ _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_55__.Degree3PowerPolynomial),
|
|
181840
|
+
/* harmony export */ Degree4PowerPolynomial: () => (/* reexport safe */ _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_55__.Degree4PowerPolynomial),
|
|
181841
|
+
/* harmony export */ DirectSpiral3d: () => (/* reexport safe */ _curve_spiral_DirectSpiral3d__WEBPACK_IMPORTED_MODULE_85__.DirectSpiral3d),
|
|
181842
|
+
/* harmony export */ DuplicateFacetClusterSelector: () => (/* reexport safe */ _polyface_PolyfaceQuery__WEBPACK_IMPORTED_MODULE_119__.DuplicateFacetClusterSelector),
|
|
181679
181843
|
/* harmony export */ Ellipsoid: () => (/* reexport safe */ _geometry3d_Ellipsoid__WEBPACK_IMPORTED_MODULE_5__.Ellipsoid),
|
|
181680
181844
|
/* harmony export */ EllipsoidPatch: () => (/* reexport safe */ _geometry3d_Ellipsoid__WEBPACK_IMPORTED_MODULE_5__.EllipsoidPatch),
|
|
181681
|
-
/* harmony export */ FacetFaceData: () => (/* reexport safe */
|
|
181682
|
-
/* harmony export */ FacetIntersectOptions: () => (/* reexport safe */
|
|
181845
|
+
/* harmony export */ FacetFaceData: () => (/* reexport safe */ _polyface_FacetFaceData__WEBPACK_IMPORTED_MODULE_111__.FacetFaceData),
|
|
181846
|
+
/* harmony export */ FacetIntersectOptions: () => (/* reexport safe */ _polyface_FacetLocationDetail__WEBPACK_IMPORTED_MODULE_113__.FacetIntersectOptions),
|
|
181683
181847
|
/* harmony export */ FrameBuilder: () => (/* reexport safe */ _geometry3d_FrameBuilder__WEBPACK_IMPORTED_MODULE_6__.FrameBuilder),
|
|
181684
|
-
/* harmony export */ GaussMapper: () => (/* reexport safe */
|
|
181848
|
+
/* harmony export */ GaussMapper: () => (/* reexport safe */ _numerics_Quadrature__WEBPACK_IMPORTED_MODULE_56__.GaussMapper),
|
|
181685
181849
|
/* harmony export */ GeodesicPathPoint: () => (/* reexport safe */ _geometry3d_Ellipsoid__WEBPACK_IMPORTED_MODULE_5__.GeodesicPathPoint),
|
|
181686
181850
|
/* harmony export */ GeodesicPathSolver: () => (/* reexport safe */ _geometry3d_Ellipsoid__WEBPACK_IMPORTED_MODULE_5__.GeodesicPathSolver),
|
|
181687
181851
|
/* harmony export */ Geometry: () => (/* reexport safe */ _Geometry__WEBPACK_IMPORTED_MODULE_36__.Geometry),
|
|
181688
181852
|
/* harmony export */ GeometryHandler: () => (/* reexport safe */ _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODULE_8__.GeometryHandler),
|
|
181689
|
-
/* harmony export */ GeometryQuery: () => (/* reexport safe */
|
|
181690
|
-
/* harmony export */ GriddedRaggedRange2dSet: () => (/* reexport safe */
|
|
181691
|
-
/* harmony export */ GriddedRaggedRange2dSetWithOverflow: () => (/* reexport safe */
|
|
181853
|
+
/* harmony export */ GeometryQuery: () => (/* reexport safe */ _curve_GeometryQuery__WEBPACK_IMPORTED_MODULE_71__.GeometryQuery),
|
|
181854
|
+
/* harmony export */ GriddedRaggedRange2dSet: () => (/* reexport safe */ _polyface_multiclip_GriddedRaggedRange2dSet__WEBPACK_IMPORTED_MODULE_115__.GriddedRaggedRange2dSet),
|
|
181855
|
+
/* harmony export */ GriddedRaggedRange2dSetWithOverflow: () => (/* reexport safe */ _polyface_multiclip_GriddedRaggedRange2dSetWithOverflow__WEBPACK_IMPORTED_MODULE_116__.GriddedRaggedRange2dSetWithOverflow),
|
|
181692
181856
|
/* harmony export */ GrowableBlockedArray: () => (/* reexport safe */ _geometry3d_GrowableBlockedArray__WEBPACK_IMPORTED_MODULE_9__.GrowableBlockedArray),
|
|
181693
181857
|
/* harmony export */ GrowableFloat64Array: () => (/* reexport safe */ _geometry3d_GrowableFloat64Array__WEBPACK_IMPORTED_MODULE_10__.GrowableFloat64Array),
|
|
181694
181858
|
/* harmony export */ GrowableXYArray: () => (/* reexport safe */ _geometry3d_GrowableXYArray__WEBPACK_IMPORTED_MODULE_11__.GrowableXYArray),
|
|
181695
181859
|
/* harmony export */ GrowableXYZArray: () => (/* reexport safe */ _geometry3d_GrowableXYZArray__WEBPACK_IMPORTED_MODULE_12__.GrowableXYZArray),
|
|
181696
|
-
/* harmony export */ HalfEdge: () => (/* reexport safe */
|
|
181697
|
-
/* harmony export */ HalfEdgeGraph: () => (/* reexport safe */
|
|
181698
|
-
/* harmony export */ HalfEdgeMask: () => (/* reexport safe */
|
|
181699
|
-
/* harmony export */ IModelJson: () => (/* reexport safe */
|
|
181700
|
-
/* harmony export */ ImplicitLineXY: () => (/* reexport safe */
|
|
181860
|
+
/* harmony export */ HalfEdge: () => (/* reexport safe */ _topology_Graph__WEBPACK_IMPORTED_MODULE_122__.HalfEdge),
|
|
181861
|
+
/* harmony export */ HalfEdgeGraph: () => (/* reexport safe */ _topology_Graph__WEBPACK_IMPORTED_MODULE_122__.HalfEdgeGraph),
|
|
181862
|
+
/* harmony export */ HalfEdgeMask: () => (/* reexport safe */ _topology_Graph__WEBPACK_IMPORTED_MODULE_122__.HalfEdgeMask),
|
|
181863
|
+
/* harmony export */ IModelJson: () => (/* reexport safe */ _serialization_IModelJsonSchema__WEBPACK_IMPORTED_MODULE_125__.IModelJson),
|
|
181864
|
+
/* harmony export */ ImplicitLineXY: () => (/* reexport safe */ _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_55__.ImplicitLineXY),
|
|
181701
181865
|
/* harmony export */ IndexedCollectionInterval: () => (/* reexport safe */ _geometry3d_IndexedCollectionInterval__WEBPACK_IMPORTED_MODULE_13__.IndexedCollectionInterval),
|
|
181702
|
-
/* harmony export */ IndexedPolyface: () => (/* reexport safe */
|
|
181703
|
-
/* harmony export */ IndexedPolyfaceSubsetVisitor: () => (/* reexport safe */
|
|
181704
|
-
/* harmony export */ IndexedPolyfaceVisitor: () => (/* reexport safe */
|
|
181866
|
+
/* harmony export */ IndexedPolyface: () => (/* reexport safe */ _polyface_Polyface__WEBPACK_IMPORTED_MODULE_112__.IndexedPolyface),
|
|
181867
|
+
/* harmony export */ IndexedPolyfaceSubsetVisitor: () => (/* reexport safe */ _polyface_IndexedPolyfaceVisitor__WEBPACK_IMPORTED_MODULE_114__.IndexedPolyfaceSubsetVisitor),
|
|
181868
|
+
/* harmony export */ IndexedPolyfaceVisitor: () => (/* reexport safe */ _polyface_IndexedPolyfaceVisitor__WEBPACK_IMPORTED_MODULE_114__.IndexedPolyfaceVisitor),
|
|
181705
181869
|
/* harmony export */ IndexedReadWriteXYZCollection: () => (/* reexport safe */ _geometry3d_IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_15__.IndexedReadWriteXYZCollection),
|
|
181706
181870
|
/* harmony export */ IndexedXYCollection: () => (/* reexport safe */ _geometry3d_IndexedXYCollection__WEBPACK_IMPORTED_MODULE_14__.IndexedXYCollection),
|
|
181707
181871
|
/* harmony export */ IndexedXYZCollection: () => (/* reexport safe */ _geometry3d_IndexedXYZCollection__WEBPACK_IMPORTED_MODULE_15__.IndexedXYZCollection),
|
|
181708
181872
|
/* harmony export */ IndexedXYZCollectionInterval: () => (/* reexport safe */ _geometry3d_IndexedCollectionInterval__WEBPACK_IMPORTED_MODULE_13__.IndexedXYZCollectionInterval),
|
|
181709
181873
|
/* harmony export */ IndexedXYZCollectionPolygonOps: () => (/* reexport safe */ _geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_27__.IndexedXYZCollectionPolygonOps),
|
|
181710
|
-
/* harmony export */ IntegratedSpiral3d: () => (/* reexport safe */
|
|
181711
|
-
/* harmony export */ InterpolationCurve3d: () => (/* reexport safe */
|
|
181712
|
-
/* harmony export */ InterpolationCurve3dOptions: () => (/* reexport safe */
|
|
181874
|
+
/* harmony export */ IntegratedSpiral3d: () => (/* reexport safe */ _curve_spiral_IntegratedSpiral3d__WEBPACK_IMPORTED_MODULE_84__.IntegratedSpiral3d),
|
|
181875
|
+
/* harmony export */ InterpolationCurve3d: () => (/* reexport safe */ _bspline_InterpolationCurve3d__WEBPACK_IMPORTED_MODULE_107__.InterpolationCurve3d),
|
|
181876
|
+
/* harmony export */ InterpolationCurve3dOptions: () => (/* reexport safe */ _bspline_InterpolationCurve3d__WEBPACK_IMPORTED_MODULE_107__.InterpolationCurve3dOptions),
|
|
181713
181877
|
/* harmony export */ InverseMatrixState: () => (/* reexport safe */ _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_16__.InverseMatrixState),
|
|
181714
|
-
/* harmony export */ JointOptions: () => (/* reexport safe */
|
|
181715
|
-
/* harmony export */ KnotVector: () => (/* reexport safe */
|
|
181716
|
-
/* harmony export */ LineSegment3d: () => (/* reexport safe */
|
|
181717
|
-
/* harmony export */ LineString3d: () => (/* reexport safe */
|
|
181718
|
-
/* harmony export */ LinearSweep: () => (/* reexport safe */
|
|
181878
|
+
/* harmony export */ JointOptions: () => (/* reexport safe */ _curve_OffsetOptions__WEBPACK_IMPORTED_MODULE_75__.JointOptions),
|
|
181879
|
+
/* harmony export */ KnotVector: () => (/* reexport safe */ _bspline_KnotVector__WEBPACK_IMPORTED_MODULE_108__.KnotVector),
|
|
181880
|
+
/* harmony export */ LineSegment3d: () => (/* reexport safe */ _curve_LineSegment3d__WEBPACK_IMPORTED_MODULE_72__.LineSegment3d),
|
|
181881
|
+
/* harmony export */ LineString3d: () => (/* reexport safe */ _curve_LineString3d__WEBPACK_IMPORTED_MODULE_73__.LineString3d),
|
|
181882
|
+
/* harmony export */ LinearSweep: () => (/* reexport safe */ _solid_LinearSweep__WEBPACK_IMPORTED_MODULE_90__.LinearSweep),
|
|
181719
181883
|
/* harmony export */ LongitudeLatitudeNumber: () => (/* reexport safe */ _geometry3d_LongitudeLatitudeAltitude__WEBPACK_IMPORTED_MODULE_2__.LongitudeLatitudeNumber),
|
|
181720
|
-
/* harmony export */ Loop: () => (/* reexport safe */
|
|
181721
|
-
/* harmony export */ LoopCurveLoopCurve: () => (/* reexport safe */
|
|
181884
|
+
/* harmony export */ Loop: () => (/* reexport safe */ _curve_Loop__WEBPACK_IMPORTED_MODULE_74__.Loop),
|
|
181885
|
+
/* harmony export */ LoopCurveLoopCurve: () => (/* reexport safe */ _curve_Loop__WEBPACK_IMPORTED_MODULE_74__.LoopCurveLoopCurve),
|
|
181722
181886
|
/* harmony export */ Map4d: () => (/* reexport safe */ _geometry4d_Map4d__WEBPACK_IMPORTED_MODULE_49__.Map4d),
|
|
181723
181887
|
/* harmony export */ Matrix3d: () => (/* reexport safe */ _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_16__.Matrix3d),
|
|
181724
181888
|
/* harmony export */ Matrix4d: () => (/* reexport safe */ _geometry4d_Matrix4d__WEBPACK_IMPORTED_MODULE_48__.Matrix4d),
|
|
181725
|
-
/* harmony export */ MiteredSweepOutputSelect: () => (/* reexport safe */
|
|
181889
|
+
/* harmony export */ MiteredSweepOutputSelect: () => (/* reexport safe */ _curve_CurveFactory__WEBPACK_IMPORTED_MODULE_67__.MiteredSweepOutputSelect),
|
|
181726
181890
|
/* harmony export */ MomentData: () => (/* reexport safe */ _geometry4d_MomentData__WEBPACK_IMPORTED_MODULE_50__.MomentData),
|
|
181727
|
-
/* harmony export */
|
|
181728
|
-
/* harmony export */ Newton1dUnboundedApproximateDerivative: () => (/* reexport safe */ _numerics_Newton__WEBPACK_IMPORTED_MODULE_53__.Newton1dUnboundedApproximateDerivative),
|
|
181729
|
-
/* harmony export */ Newton2dUnboundedWithDerivative: () => (/* reexport safe */ _numerics_Newton__WEBPACK_IMPORTED_MODULE_53__.Newton2dUnboundedWithDerivative),
|
|
181730
|
-
/* harmony export */ NewtonEvaluatorRRtoRRD: () => (/* reexport safe */ _numerics_Newton__WEBPACK_IMPORTED_MODULE_53__.NewtonEvaluatorRRtoRRD),
|
|
181731
|
-
/* harmony export */ NewtonEvaluatorRtoR: () => (/* reexport safe */ _numerics_Newton__WEBPACK_IMPORTED_MODULE_53__.NewtonEvaluatorRtoR),
|
|
181732
|
-
/* harmony export */ NewtonEvaluatorRtoRD: () => (/* reexport safe */ _numerics_Newton__WEBPACK_IMPORTED_MODULE_53__.NewtonEvaluatorRtoRD),
|
|
181733
|
-
/* harmony export */ NonConvexFacetLocationDetail: () => (/* reexport safe */ _polyface_FacetLocationDetail__WEBPACK_IMPORTED_MODULE_114__.NonConvexFacetLocationDetail),
|
|
181891
|
+
/* harmony export */ NonConvexFacetLocationDetail: () => (/* reexport safe */ _polyface_FacetLocationDetail__WEBPACK_IMPORTED_MODULE_113__.NonConvexFacetLocationDetail),
|
|
181734
181892
|
/* harmony export */ NullGeometryHandler: () => (/* reexport safe */ _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODULE_8__.NullGeometryHandler),
|
|
181735
181893
|
/* harmony export */ NumberArray: () => (/* reexport safe */ _geometry3d_PointHelpers__WEBPACK_IMPORTED_MODULE_24__.NumberArray),
|
|
181736
|
-
/* harmony export */ OffsetMeshOptions: () => (/* reexport safe */
|
|
181737
|
-
/* harmony export */ OffsetOptions: () => (/* reexport safe */
|
|
181894
|
+
/* harmony export */ OffsetMeshOptions: () => (/* reexport safe */ _polyface_PolyfaceQuery__WEBPACK_IMPORTED_MODULE_119__.OffsetMeshOptions),
|
|
181895
|
+
/* harmony export */ OffsetOptions: () => (/* reexport safe */ _curve_OffsetOptions__WEBPACK_IMPORTED_MODULE_75__.OffsetOptions),
|
|
181738
181896
|
/* harmony export */ Order2Bezier: () => (/* reexport safe */ _numerics_BezierPolynomials__WEBPACK_IMPORTED_MODULE_51__.Order2Bezier),
|
|
181739
181897
|
/* harmony export */ Order3Bezier: () => (/* reexport safe */ _numerics_BezierPolynomials__WEBPACK_IMPORTED_MODULE_51__.Order3Bezier),
|
|
181740
181898
|
/* harmony export */ Order4Bezier: () => (/* reexport safe */ _numerics_BezierPolynomials__WEBPACK_IMPORTED_MODULE_51__.Order4Bezier),
|
|
181741
181899
|
/* harmony export */ Order5Bezier: () => (/* reexport safe */ _numerics_BezierPolynomials__WEBPACK_IMPORTED_MODULE_51__.Order5Bezier),
|
|
181742
181900
|
/* harmony export */ OrderedRotationAngles: () => (/* reexport safe */ _geometry3d_OrderedRotationAngles__WEBPACK_IMPORTED_MODULE_17__.OrderedRotationAngles),
|
|
181743
181901
|
/* harmony export */ PackedMatrix3dOps: () => (/* reexport safe */ _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_16__.PackedMatrix3dOps),
|
|
181744
|
-
/* harmony export */ ParityRegion: () => (/* reexport safe */
|
|
181745
|
-
/* harmony export */ PascalCoefficients: () => (/* reexport safe */
|
|
181746
|
-
/* harmony export */ Path: () => (/* reexport safe */
|
|
181747
|
-
/* harmony export */ PathFragment: () => (/* reexport safe */
|
|
181902
|
+
/* harmony export */ ParityRegion: () => (/* reexport safe */ _curve_ParityRegion__WEBPACK_IMPORTED_MODULE_76__.ParityRegion),
|
|
181903
|
+
/* harmony export */ PascalCoefficients: () => (/* reexport safe */ _numerics_PascalCoefficients__WEBPACK_IMPORTED_MODULE_54__.PascalCoefficients),
|
|
181904
|
+
/* harmony export */ Path: () => (/* reexport safe */ _curve_Path__WEBPACK_IMPORTED_MODULE_77__.Path),
|
|
181905
|
+
/* harmony export */ PathFragment: () => (/* reexport safe */ _curve_CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_62__.PathFragment),
|
|
181748
181906
|
/* harmony export */ Plane3d: () => (/* reexport safe */ _geometry3d_Plane3d__WEBPACK_IMPORTED_MODULE_18__.Plane3d),
|
|
181749
181907
|
/* harmony export */ Plane3dByOriginAndUnitNormal: () => (/* reexport safe */ _geometry3d_Plane3dByOriginAndUnitNormal__WEBPACK_IMPORTED_MODULE_19__.Plane3dByOriginAndUnitNormal),
|
|
181750
181908
|
/* harmony export */ Plane3dByOriginAndVectors: () => (/* reexport safe */ _geometry3d_Plane3dByOriginAndVectors__WEBPACK_IMPORTED_MODULE_20__.Plane3dByOriginAndVectors),
|
|
@@ -181758,78 +181916,77 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
181758
181916
|
/* harmony export */ Point3dArrayPolygonOps: () => (/* reexport safe */ _geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_27__.Point3dArrayPolygonOps),
|
|
181759
181917
|
/* harmony export */ Point4d: () => (/* reexport safe */ _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_47__.Point4d),
|
|
181760
181918
|
/* harmony export */ Point4dArray: () => (/* reexport safe */ _geometry3d_PointHelpers__WEBPACK_IMPORTED_MODULE_24__.Point4dArray),
|
|
181761
|
-
/* harmony export */ PointString3d: () => (/* reexport safe */
|
|
181762
|
-
/* harmony export */ Polyface: () => (/* reexport safe */
|
|
181763
|
-
/* harmony export */ PolyfaceAuxData: () => (/* reexport safe */
|
|
181764
|
-
/* harmony export */ PolyfaceBuilder: () => (/* reexport safe */
|
|
181765
|
-
/* harmony export */ PolyfaceClip: () => (/* reexport safe */
|
|
181766
|
-
/* harmony export */ PolyfaceData: () => (/* reexport safe */
|
|
181767
|
-
/* harmony export */ PolyfaceQuery: () => (/* reexport safe */
|
|
181919
|
+
/* harmony export */ PointString3d: () => (/* reexport safe */ _curve_PointString3d__WEBPACK_IMPORTED_MODULE_80__.PointString3d),
|
|
181920
|
+
/* harmony export */ Polyface: () => (/* reexport safe */ _polyface_Polyface__WEBPACK_IMPORTED_MODULE_112__.Polyface),
|
|
181921
|
+
/* harmony export */ PolyfaceAuxData: () => (/* reexport safe */ _polyface_AuxData__WEBPACK_IMPORTED_MODULE_109__.PolyfaceAuxData),
|
|
181922
|
+
/* harmony export */ PolyfaceBuilder: () => (/* reexport safe */ _polyface_PolyfaceBuilder__WEBPACK_IMPORTED_MODULE_117__.PolyfaceBuilder),
|
|
181923
|
+
/* harmony export */ PolyfaceClip: () => (/* reexport safe */ _polyface_PolyfaceClip__WEBPACK_IMPORTED_MODULE_120__.PolyfaceClip),
|
|
181924
|
+
/* harmony export */ PolyfaceData: () => (/* reexport safe */ _polyface_PolyfaceData__WEBPACK_IMPORTED_MODULE_118__.PolyfaceData),
|
|
181925
|
+
/* harmony export */ PolyfaceQuery: () => (/* reexport safe */ _polyface_PolyfaceQuery__WEBPACK_IMPORTED_MODULE_119__.PolyfaceQuery),
|
|
181768
181926
|
/* harmony export */ PolygonLocation: () => (/* reexport safe */ _Geometry__WEBPACK_IMPORTED_MODULE_36__.PolygonLocation),
|
|
181769
181927
|
/* harmony export */ PolygonLocationDetail: () => (/* reexport safe */ _geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_27__.PolygonLocationDetail),
|
|
181770
181928
|
/* harmony export */ PolygonOps: () => (/* reexport safe */ _geometry3d_PolygonOps__WEBPACK_IMPORTED_MODULE_27__.PolygonOps),
|
|
181771
181929
|
/* harmony export */ PolylineOps: () => (/* reexport safe */ _geometry3d_PolylineOps__WEBPACK_IMPORTED_MODULE_26__.PolylineOps),
|
|
181772
|
-
/* harmony export */ PowerPolynomial: () => (/* reexport safe */
|
|
181773
|
-
/* harmony export */ ProxyCurve: () => (/* reexport safe */
|
|
181774
|
-
/* harmony export */ Quadrature: () => (/* reexport safe */
|
|
181930
|
+
/* harmony export */ PowerPolynomial: () => (/* reexport safe */ _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_55__.PowerPolynomial),
|
|
181931
|
+
/* harmony export */ ProxyCurve: () => (/* reexport safe */ _curve_ProxyCurve__WEBPACK_IMPORTED_MODULE_81__.ProxyCurve),
|
|
181932
|
+
/* harmony export */ Quadrature: () => (/* reexport safe */ _numerics_Quadrature__WEBPACK_IMPORTED_MODULE_56__.Quadrature),
|
|
181775
181933
|
/* harmony export */ Range1d: () => (/* reexport safe */ _geometry3d_Range__WEBPACK_IMPORTED_MODULE_28__.Range1d),
|
|
181776
|
-
/* harmony export */ Range1dArray: () => (/* reexport safe */
|
|
181934
|
+
/* harmony export */ Range1dArray: () => (/* reexport safe */ _numerics_Range1dArray__WEBPACK_IMPORTED_MODULE_57__.Range1dArray),
|
|
181777
181935
|
/* harmony export */ Range2d: () => (/* reexport safe */ _geometry3d_Range__WEBPACK_IMPORTED_MODULE_28__.Range2d),
|
|
181778
181936
|
/* harmony export */ Range3d: () => (/* reexport safe */ _geometry3d_Range__WEBPACK_IMPORTED_MODULE_28__.Range3d),
|
|
181779
181937
|
/* harmony export */ RangeBase: () => (/* reexport safe */ _geometry3d_Range__WEBPACK_IMPORTED_MODULE_28__.RangeBase),
|
|
181780
181938
|
/* harmony export */ Ray2d: () => (/* reexport safe */ _geometry3d_Ray2d__WEBPACK_IMPORTED_MODULE_29__.Ray2d),
|
|
181781
181939
|
/* harmony export */ Ray3d: () => (/* reexport safe */ _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_30__.Ray3d),
|
|
181782
181940
|
/* harmony export */ RecurseToCurvesGeometryHandler: () => (/* reexport safe */ _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODULE_8__.RecurseToCurvesGeometryHandler),
|
|
181783
|
-
/* harmony export */ RecursiveCurveProcessor: () => (/* reexport safe */
|
|
181784
|
-
/* harmony export */ RecursiveCurveProcessorWithStack: () => (/* reexport safe */
|
|
181785
|
-
/* harmony export */ RegionBinaryOpType: () => (/* reexport safe */
|
|
181786
|
-
/* harmony export */ RegionMomentsXY: () => (/* reexport safe */
|
|
181787
|
-
/* harmony export */ RegionOps: () => (/* reexport safe */
|
|
181788
|
-
/* harmony export */ RotationalSweep: () => (/* reexport safe */
|
|
181789
|
-
/* harmony export */ RuledSweep: () => (/* reexport safe */
|
|
181790
|
-
/* harmony export */ Sample: () => (/* reexport safe */
|
|
181941
|
+
/* harmony export */ RecursiveCurveProcessor: () => (/* reexport safe */ _curve_CurveProcessor__WEBPACK_IMPORTED_MODULE_70__.RecursiveCurveProcessor),
|
|
181942
|
+
/* harmony export */ RecursiveCurveProcessorWithStack: () => (/* reexport safe */ _curve_CurveProcessor__WEBPACK_IMPORTED_MODULE_70__.RecursiveCurveProcessorWithStack),
|
|
181943
|
+
/* harmony export */ RegionBinaryOpType: () => (/* reexport safe */ _curve_RegionOps__WEBPACK_IMPORTED_MODULE_79__.RegionBinaryOpType),
|
|
181944
|
+
/* harmony export */ RegionMomentsXY: () => (/* reexport safe */ _curve_RegionMomentsXY__WEBPACK_IMPORTED_MODULE_78__.RegionMomentsXY),
|
|
181945
|
+
/* harmony export */ RegionOps: () => (/* reexport safe */ _curve_RegionOps__WEBPACK_IMPORTED_MODULE_79__.RegionOps),
|
|
181946
|
+
/* harmony export */ RotationalSweep: () => (/* reexport safe */ _solid_RotationalSweep__WEBPACK_IMPORTED_MODULE_91__.RotationalSweep),
|
|
181947
|
+
/* harmony export */ RuledSweep: () => (/* reexport safe */ _solid_RuledSweep__WEBPACK_IMPORTED_MODULE_92__.RuledSweep),
|
|
181948
|
+
/* harmony export */ Sample: () => (/* reexport safe */ _serialization_GeometrySamples__WEBPACK_IMPORTED_MODULE_127__.Sample),
|
|
181791
181949
|
/* harmony export */ Segment1d: () => (/* reexport safe */ _geometry3d_Segment1d__WEBPACK_IMPORTED_MODULE_31__.Segment1d),
|
|
181792
|
-
/* harmony export */
|
|
181793
|
-
/* harmony export */
|
|
181794
|
-
/* harmony export */ SmallSystem: () => (/* reexport safe */ _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_56__.SmallSystem),
|
|
181950
|
+
/* harmony export */ SineCosinePolynomial: () => (/* reexport safe */ _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_55__.SineCosinePolynomial),
|
|
181951
|
+
/* harmony export */ SmallSystem: () => (/* reexport safe */ _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_55__.SmallSystem),
|
|
181795
181952
|
/* harmony export */ SmoothTransformBetweenFrusta: () => (/* reexport safe */ _geometry3d_FrustumAnimation__WEBPACK_IMPORTED_MODULE_7__.SmoothTransformBetweenFrusta),
|
|
181796
|
-
/* harmony export */ SolidPrimitive: () => (/* reexport safe */
|
|
181797
|
-
/* harmony export */ SpacePolygonTriangulation: () => (/* reexport safe */
|
|
181798
|
-
/* harmony export */ Sphere: () => (/* reexport safe */
|
|
181799
|
-
/* harmony export */ SphereImplicit: () => (/* reexport safe */
|
|
181953
|
+
/* harmony export */ SolidPrimitive: () => (/* reexport safe */ _solid_SolidPrimitive__WEBPACK_IMPORTED_MODULE_93__.SolidPrimitive),
|
|
181954
|
+
/* harmony export */ SpacePolygonTriangulation: () => (/* reexport safe */ _topology_SpaceTriangulation__WEBPACK_IMPORTED_MODULE_124__.SpacePolygonTriangulation),
|
|
181955
|
+
/* harmony export */ Sphere: () => (/* reexport safe */ _solid_Sphere__WEBPACK_IMPORTED_MODULE_94__.Sphere),
|
|
181956
|
+
/* harmony export */ SphereImplicit: () => (/* reexport safe */ _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_55__.SphereImplicit),
|
|
181800
181957
|
/* harmony export */ StandardViewIndex: () => (/* reexport safe */ _Geometry__WEBPACK_IMPORTED_MODULE_36__.StandardViewIndex),
|
|
181801
|
-
/* harmony export */ SteppedIndexFunctionFactory: () => (/* reexport safe */
|
|
181958
|
+
/* harmony export */ SteppedIndexFunctionFactory: () => (/* reexport safe */ _serialization_GeometrySamples__WEBPACK_IMPORTED_MODULE_127__.SteppedIndexFunctionFactory),
|
|
181802
181959
|
/* harmony export */ StringifiedClipVector: () => (/* reexport safe */ _clipping_ClipVector__WEBPACK_IMPORTED_MODULE_43__.StringifiedClipVector),
|
|
181803
|
-
/* harmony export */ StrokeCountMap: () => (/* reexport safe */
|
|
181804
|
-
/* harmony export */ StrokeOptions: () => (/* reexport safe */
|
|
181805
|
-
/* harmony export */ SweepContour: () => (/* reexport safe */
|
|
181806
|
-
/* harmony export */ SweepLineStringToFacetsOptions: () => (/* reexport safe */
|
|
181807
|
-
/* harmony export */ TaggedNumericConstants: () => (/* reexport safe */
|
|
181808
|
-
/* harmony export */ TaggedNumericData: () => (/* reexport safe */
|
|
181809
|
-
/* harmony export */ TorusImplicit: () => (/* reexport safe */
|
|
181810
|
-
/* harmony export */ TorusPipe: () => (/* reexport safe */
|
|
181960
|
+
/* harmony export */ StrokeCountMap: () => (/* reexport safe */ _curve_Query_StrokeCountMap__WEBPACK_IMPORTED_MODULE_87__.StrokeCountMap),
|
|
181961
|
+
/* harmony export */ StrokeOptions: () => (/* reexport safe */ _curve_StrokeOptions__WEBPACK_IMPORTED_MODULE_82__.StrokeOptions),
|
|
181962
|
+
/* harmony export */ SweepContour: () => (/* reexport safe */ _solid_SweepContour__WEBPACK_IMPORTED_MODULE_95__.SweepContour),
|
|
181963
|
+
/* harmony export */ SweepLineStringToFacetsOptions: () => (/* reexport safe */ _polyface_PolyfaceQuery__WEBPACK_IMPORTED_MODULE_119__.SweepLineStringToFacetsOptions),
|
|
181964
|
+
/* harmony export */ TaggedNumericConstants: () => (/* reexport safe */ _polyface_TaggedNumericData__WEBPACK_IMPORTED_MODULE_121__.TaggedNumericConstants),
|
|
181965
|
+
/* harmony export */ TaggedNumericData: () => (/* reexport safe */ _polyface_TaggedNumericData__WEBPACK_IMPORTED_MODULE_121__.TaggedNumericData),
|
|
181966
|
+
/* harmony export */ TorusImplicit: () => (/* reexport safe */ _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_55__.TorusImplicit),
|
|
181967
|
+
/* harmony export */ TorusPipe: () => (/* reexport safe */ _solid_TorusPipe__WEBPACK_IMPORTED_MODULE_96__.TorusPipe),
|
|
181811
181968
|
/* harmony export */ Transform: () => (/* reexport safe */ _geometry3d_Transform__WEBPACK_IMPORTED_MODULE_32__.Transform),
|
|
181812
|
-
/* harmony export */ TransitionSpiral3d: () => (/* reexport safe */
|
|
181813
|
-
/* harmony export */ TriDiagonalSystem: () => (/* reexport safe */
|
|
181969
|
+
/* harmony export */ TransitionSpiral3d: () => (/* reexport safe */ _curve_spiral_TransitionSpiral3d__WEBPACK_IMPORTED_MODULE_83__.TransitionSpiral3d),
|
|
181970
|
+
/* harmony export */ TriDiagonalSystem: () => (/* reexport safe */ _numerics_TriDiagonalSystem__WEBPACK_IMPORTED_MODULE_58__.TriDiagonalSystem),
|
|
181814
181971
|
/* harmony export */ TriangleLocationDetail: () => (/* reexport safe */ _geometry3d_BarycentricTriangle__WEBPACK_IMPORTED_MODULE_3__.TriangleLocationDetail),
|
|
181815
|
-
/* harmony export */ TriangularFacetLocationDetail: () => (/* reexport safe */
|
|
181816
|
-
/* harmony export */ Triangulator: () => (/* reexport safe */
|
|
181817
|
-
/* harmony export */ TrigPolynomial: () => (/* reexport safe */
|
|
181818
|
-
/* harmony export */ UVSelect: () => (/* reexport safe */
|
|
181972
|
+
/* harmony export */ TriangularFacetLocationDetail: () => (/* reexport safe */ _polyface_FacetLocationDetail__WEBPACK_IMPORTED_MODULE_113__.TriangularFacetLocationDetail),
|
|
181973
|
+
/* harmony export */ Triangulator: () => (/* reexport safe */ _topology_Triangulation__WEBPACK_IMPORTED_MODULE_123__.Triangulator),
|
|
181974
|
+
/* harmony export */ TrigPolynomial: () => (/* reexport safe */ _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_55__.TrigPolynomial),
|
|
181975
|
+
/* harmony export */ UVSelect: () => (/* reexport safe */ _bspline_BSplineSurface__WEBPACK_IMPORTED_MODULE_106__.UVSelect),
|
|
181819
181976
|
/* harmony export */ UVSurfaceOps: () => (/* reexport safe */ _geometry3d_UVSurfaceOps__WEBPACK_IMPORTED_MODULE_33__.UVSurfaceOps),
|
|
181820
181977
|
/* harmony export */ UnionOfConvexClipPlaneSets: () => (/* reexport safe */ _clipping_UnionOfConvexClipPlaneSets__WEBPACK_IMPORTED_MODULE_41__.UnionOfConvexClipPlaneSets),
|
|
181821
|
-
/* harmony export */ UnionRegion: () => (/* reexport safe */
|
|
181978
|
+
/* harmony export */ UnionRegion: () => (/* reexport safe */ _curve_UnionRegion__WEBPACK_IMPORTED_MODULE_86__.UnionRegion),
|
|
181822
181979
|
/* harmony export */ UnivariateBezier: () => (/* reexport safe */ _numerics_BezierPolynomials__WEBPACK_IMPORTED_MODULE_51__.UnivariateBezier),
|
|
181823
181980
|
/* harmony export */ Vector2d: () => (/* reexport safe */ _geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_22__.Vector2d),
|
|
181824
181981
|
/* harmony export */ Vector3d: () => (/* reexport safe */ _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_23__.Vector3d),
|
|
181825
181982
|
/* harmony export */ Vector3dArray: () => (/* reexport safe */ _geometry3d_PointHelpers__WEBPACK_IMPORTED_MODULE_24__.Vector3dArray),
|
|
181826
|
-
/* harmony export */ WeightStyle: () => (/* reexport safe */
|
|
181983
|
+
/* harmony export */ WeightStyle: () => (/* reexport safe */ _bspline_BSplineSurface__WEBPACK_IMPORTED_MODULE_106__.WeightStyle),
|
|
181827
181984
|
/* harmony export */ XY: () => (/* reexport safe */ _geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_22__.XY),
|
|
181828
181985
|
/* harmony export */ XYAndZ: () => (/* reexport safe */ _geometry3d_XYZProps__WEBPACK_IMPORTED_MODULE_34__.XYAndZ),
|
|
181829
181986
|
/* harmony export */ XYZ: () => (/* reexport safe */ _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_23__.XYZ),
|
|
181830
181987
|
/* harmony export */ YawPitchRollAngles: () => (/* reexport safe */ _geometry3d_YawPitchRollAngles__WEBPACK_IMPORTED_MODULE_35__.YawPitchRollAngles),
|
|
181831
|
-
/* harmony export */ compareRange1dLexicalLowHigh: () => (/* reexport safe */
|
|
181832
|
-
/* harmony export */ interpolateColor: () => (/* reexport safe */
|
|
181988
|
+
/* harmony export */ compareRange1dLexicalLowHigh: () => (/* reexport safe */ _numerics_Range1dArray__WEBPACK_IMPORTED_MODULE_57__.compareRange1dLexicalLowHigh),
|
|
181989
|
+
/* harmony export */ interpolateColor: () => (/* reexport safe */ _polyface_IndexedPolyfaceVisitor__WEBPACK_IMPORTED_MODULE_114__.interpolateColor)
|
|
181833
181990
|
/* harmony export */ });
|
|
181834
181991
|
/* harmony import */ var _geometry3d_Angle__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./geometry3d/Angle */ "../../core/geometry/lib/esm/geometry3d/Angle.js");
|
|
181835
181992
|
/* harmony import */ var _geometry3d_AngleSweep__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./geometry3d/AngleSweep */ "../../core/geometry/lib/esm/geometry3d/AngleSweep.js");
|
|
@@ -181884,83 +182041,82 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
181884
182041
|
/* harmony import */ var _geometry4d_MomentData__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./geometry4d/MomentData */ "../../core/geometry/lib/esm/geometry4d/MomentData.js");
|
|
181885
182042
|
/* harmony import */ var _numerics_BezierPolynomials__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./numerics/BezierPolynomials */ "../../core/geometry/lib/esm/numerics/BezierPolynomials.js");
|
|
181886
182043
|
/* harmony import */ var _numerics_ClusterableArray__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./numerics/ClusterableArray */ "../../core/geometry/lib/esm/numerics/ClusterableArray.js");
|
|
181887
|
-
/* harmony import */ var
|
|
181888
|
-
/* harmony import */ var
|
|
181889
|
-
/* harmony import */ var
|
|
181890
|
-
/* harmony import */ var
|
|
181891
|
-
/* harmony import */ var
|
|
181892
|
-
/* harmony import */ var
|
|
181893
|
-
/* harmony import */ var
|
|
181894
|
-
/* harmony import */ var
|
|
181895
|
-
/* harmony import */ var
|
|
181896
|
-
/* harmony import */ var
|
|
181897
|
-
/* harmony import */ var
|
|
181898
|
-
/* harmony import */ var
|
|
181899
|
-
/* harmony import */ var
|
|
181900
|
-
/* harmony import */ var
|
|
181901
|
-
/* harmony import */ var
|
|
181902
|
-
/* harmony import */ var
|
|
181903
|
-
/* harmony import */ var
|
|
181904
|
-
/* harmony import */ var
|
|
181905
|
-
/* harmony import */ var
|
|
181906
|
-
/* harmony import */ var
|
|
181907
|
-
/* harmony import */ var
|
|
181908
|
-
/* harmony import */ var
|
|
181909
|
-
/* harmony import */ var
|
|
181910
|
-
/* harmony import */ var
|
|
181911
|
-
/* harmony import */ var
|
|
181912
|
-
/* harmony import */ var
|
|
181913
|
-
/* harmony import */ var
|
|
181914
|
-
/* harmony import */ var
|
|
181915
|
-
/* harmony import */ var
|
|
181916
|
-
/* harmony import */ var
|
|
181917
|
-
/* harmony import */ var
|
|
181918
|
-
/* harmony import */ var
|
|
181919
|
-
/* harmony import */ var
|
|
181920
|
-
/* harmony import */ var
|
|
181921
|
-
/* harmony import */ var
|
|
181922
|
-
/* harmony import */ var
|
|
181923
|
-
/* harmony import */ var
|
|
181924
|
-
/* harmony import */ var
|
|
181925
|
-
/* harmony import */ var
|
|
181926
|
-
/* harmony import */ var
|
|
181927
|
-
/* harmony import */ var
|
|
181928
|
-
/* harmony import */ var
|
|
181929
|
-
/* harmony import */ var
|
|
181930
|
-
/* harmony import */ var
|
|
181931
|
-
/* harmony import */ var
|
|
181932
|
-
/* harmony import */ var
|
|
181933
|
-
/* harmony import */ var
|
|
181934
|
-
/* harmony import */ var
|
|
181935
|
-
/* harmony import */ var
|
|
181936
|
-
/* harmony import */ var
|
|
181937
|
-
/* harmony import */ var
|
|
181938
|
-
/* harmony import */ var
|
|
181939
|
-
/* harmony import */ var
|
|
181940
|
-
/* harmony import */ var
|
|
181941
|
-
/* harmony import */ var
|
|
181942
|
-
/* harmony import */ var
|
|
181943
|
-
/* harmony import */ var
|
|
181944
|
-
/* harmony import */ var
|
|
181945
|
-
/* harmony import */ var
|
|
181946
|
-
/* harmony import */ var
|
|
181947
|
-
/* harmony import */ var
|
|
181948
|
-
/* harmony import */ var
|
|
181949
|
-
/* harmony import */ var
|
|
181950
|
-
/* harmony import */ var
|
|
181951
|
-
/* harmony import */ var
|
|
181952
|
-
/* harmony import */ var
|
|
181953
|
-
/* harmony import */ var
|
|
181954
|
-
/* harmony import */ var
|
|
181955
|
-
/* harmony import */ var
|
|
181956
|
-
/* harmony import */ var
|
|
181957
|
-
/* harmony import */ var
|
|
181958
|
-
/* harmony import */ var
|
|
181959
|
-
/* harmony import */ var
|
|
181960
|
-
/* harmony import */ var
|
|
181961
|
-
/* harmony import */ var
|
|
181962
|
-
/* harmony import */ var
|
|
181963
|
-
/* harmony import */ var _serialization_BentleyGeometryFlatBuffer__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(/*! ./serialization/BentleyGeometryFlatBuffer */ "../../core/geometry/lib/esm/serialization/BentleyGeometryFlatBuffer.js");
|
|
182044
|
+
/* harmony import */ var _numerics_Complex__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./numerics/Complex */ "../../core/geometry/lib/esm/numerics/Complex.js");
|
|
182045
|
+
/* harmony import */ var _numerics_PascalCoefficients__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./numerics/PascalCoefficients */ "../../core/geometry/lib/esm/numerics/PascalCoefficients.js");
|
|
182046
|
+
/* harmony import */ var _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./numerics/Polynomials */ "../../core/geometry/lib/esm/numerics/Polynomials.js");
|
|
182047
|
+
/* harmony import */ var _numerics_Quadrature__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./numerics/Quadrature */ "../../core/geometry/lib/esm/numerics/Quadrature.js");
|
|
182048
|
+
/* harmony import */ var _numerics_Range1dArray__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ./numerics/Range1dArray */ "../../core/geometry/lib/esm/numerics/Range1dArray.js");
|
|
182049
|
+
/* harmony import */ var _numerics_TriDiagonalSystem__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ./numerics/TriDiagonalSystem */ "../../core/geometry/lib/esm/numerics/TriDiagonalSystem.js");
|
|
182050
|
+
/* harmony import */ var _curve_Arc3d__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ./curve/Arc3d */ "../../core/geometry/lib/esm/curve/Arc3d.js");
|
|
182051
|
+
/* harmony import */ var _curve_ConstructCurveBetweenCurves__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ./curve/ConstructCurveBetweenCurves */ "../../core/geometry/lib/esm/curve/ConstructCurveBetweenCurves.js");
|
|
182052
|
+
/* harmony import */ var _curve_CoordinateXYZ__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ./curve/CoordinateXYZ */ "../../core/geometry/lib/esm/curve/CoordinateXYZ.js");
|
|
182053
|
+
/* harmony import */ var _curve_CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ./curve/CurveChainWithDistanceIndex */ "../../core/geometry/lib/esm/curve/CurveChainWithDistanceIndex.js");
|
|
182054
|
+
/* harmony import */ var _curve_CurveExtendMode__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ./curve/CurveExtendMode */ "../../core/geometry/lib/esm/curve/CurveExtendMode.js");
|
|
182055
|
+
/* harmony import */ var _curve_CurveCollection__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ./curve/CurveCollection */ "../../core/geometry/lib/esm/curve/CurveCollection.js");
|
|
182056
|
+
/* harmony import */ var _curve_CurveCurve__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ./curve/CurveCurve */ "../../core/geometry/lib/esm/curve/CurveCurve.js");
|
|
182057
|
+
/* harmony import */ var _curve_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ./curve/CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
|
|
182058
|
+
/* harmony import */ var _curve_CurveFactory__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ./curve/CurveFactory */ "../../core/geometry/lib/esm/curve/CurveFactory.js");
|
|
182059
|
+
/* harmony import */ var _curve_CurveOps__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ./curve/CurveOps */ "../../core/geometry/lib/esm/curve/CurveOps.js");
|
|
182060
|
+
/* harmony import */ var _curve_CurvePrimitive__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ./curve/CurvePrimitive */ "../../core/geometry/lib/esm/curve/CurvePrimitive.js");
|
|
182061
|
+
/* harmony import */ var _curve_CurveProcessor__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! ./curve/CurveProcessor */ "../../core/geometry/lib/esm/curve/CurveProcessor.js");
|
|
182062
|
+
/* harmony import */ var _curve_GeometryQuery__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! ./curve/GeometryQuery */ "../../core/geometry/lib/esm/curve/GeometryQuery.js");
|
|
182063
|
+
/* harmony import */ var _curve_LineSegment3d__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! ./curve/LineSegment3d */ "../../core/geometry/lib/esm/curve/LineSegment3d.js");
|
|
182064
|
+
/* harmony import */ var _curve_LineString3d__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! ./curve/LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
|
|
182065
|
+
/* harmony import */ var _curve_Loop__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ./curve/Loop */ "../../core/geometry/lib/esm/curve/Loop.js");
|
|
182066
|
+
/* harmony import */ var _curve_OffsetOptions__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ./curve/OffsetOptions */ "../../core/geometry/lib/esm/curve/OffsetOptions.js");
|
|
182067
|
+
/* harmony import */ var _curve_ParityRegion__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! ./curve/ParityRegion */ "../../core/geometry/lib/esm/curve/ParityRegion.js");
|
|
182068
|
+
/* harmony import */ var _curve_Path__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(/*! ./curve/Path */ "../../core/geometry/lib/esm/curve/Path.js");
|
|
182069
|
+
/* harmony import */ var _curve_RegionMomentsXY__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(/*! ./curve/RegionMomentsXY */ "../../core/geometry/lib/esm/curve/RegionMomentsXY.js");
|
|
182070
|
+
/* harmony import */ var _curve_RegionOps__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(/*! ./curve/RegionOps */ "../../core/geometry/lib/esm/curve/RegionOps.js");
|
|
182071
|
+
/* harmony import */ var _curve_PointString3d__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(/*! ./curve/PointString3d */ "../../core/geometry/lib/esm/curve/PointString3d.js");
|
|
182072
|
+
/* harmony import */ var _curve_ProxyCurve__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(/*! ./curve/ProxyCurve */ "../../core/geometry/lib/esm/curve/ProxyCurve.js");
|
|
182073
|
+
/* harmony import */ var _curve_StrokeOptions__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(/*! ./curve/StrokeOptions */ "../../core/geometry/lib/esm/curve/StrokeOptions.js");
|
|
182074
|
+
/* harmony import */ var _curve_spiral_TransitionSpiral3d__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(/*! ./curve/spiral/TransitionSpiral3d */ "../../core/geometry/lib/esm/curve/spiral/TransitionSpiral3d.js");
|
|
182075
|
+
/* harmony import */ var _curve_spiral_IntegratedSpiral3d__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(/*! ./curve/spiral/IntegratedSpiral3d */ "../../core/geometry/lib/esm/curve/spiral/IntegratedSpiral3d.js");
|
|
182076
|
+
/* harmony import */ var _curve_spiral_DirectSpiral3d__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(/*! ./curve/spiral/DirectSpiral3d */ "../../core/geometry/lib/esm/curve/spiral/DirectSpiral3d.js");
|
|
182077
|
+
/* harmony import */ var _curve_UnionRegion__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(/*! ./curve/UnionRegion */ "../../core/geometry/lib/esm/curve/UnionRegion.js");
|
|
182078
|
+
/* harmony import */ var _curve_Query_StrokeCountMap__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(/*! ./curve/Query/StrokeCountMap */ "../../core/geometry/lib/esm/curve/Query/StrokeCountMap.js");
|
|
182079
|
+
/* harmony import */ var _solid_Box__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(/*! ./solid/Box */ "../../core/geometry/lib/esm/solid/Box.js");
|
|
182080
|
+
/* harmony import */ var _solid_Cone__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(/*! ./solid/Cone */ "../../core/geometry/lib/esm/solid/Cone.js");
|
|
182081
|
+
/* harmony import */ var _solid_LinearSweep__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(/*! ./solid/LinearSweep */ "../../core/geometry/lib/esm/solid/LinearSweep.js");
|
|
182082
|
+
/* harmony import */ var _solid_RotationalSweep__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(/*! ./solid/RotationalSweep */ "../../core/geometry/lib/esm/solid/RotationalSweep.js");
|
|
182083
|
+
/* harmony import */ var _solid_RuledSweep__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(/*! ./solid/RuledSweep */ "../../core/geometry/lib/esm/solid/RuledSweep.js");
|
|
182084
|
+
/* harmony import */ var _solid_SolidPrimitive__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(/*! ./solid/SolidPrimitive */ "../../core/geometry/lib/esm/solid/SolidPrimitive.js");
|
|
182085
|
+
/* harmony import */ var _solid_Sphere__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(/*! ./solid/Sphere */ "../../core/geometry/lib/esm/solid/Sphere.js");
|
|
182086
|
+
/* harmony import */ var _solid_SweepContour__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(/*! ./solid/SweepContour */ "../../core/geometry/lib/esm/solid/SweepContour.js");
|
|
182087
|
+
/* harmony import */ var _solid_TorusPipe__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(/*! ./solid/TorusPipe */ "../../core/geometry/lib/esm/solid/TorusPipe.js");
|
|
182088
|
+
/* harmony import */ var _bspline_AkimaCurve3d__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(/*! ./bspline/AkimaCurve3d */ "../../core/geometry/lib/esm/bspline/AkimaCurve3d.js");
|
|
182089
|
+
/* harmony import */ var _bspline_Bezier1dNd__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(/*! ./bspline/Bezier1dNd */ "../../core/geometry/lib/esm/bspline/Bezier1dNd.js");
|
|
182090
|
+
/* harmony import */ var _bspline_BezierCurveBase__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(/*! ./bspline/BezierCurveBase */ "../../core/geometry/lib/esm/bspline/BezierCurveBase.js");
|
|
182091
|
+
/* harmony import */ var _bspline_BezierCurve3d__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(/*! ./bspline/BezierCurve3d */ "../../core/geometry/lib/esm/bspline/BezierCurve3d.js");
|
|
182092
|
+
/* harmony import */ var _bspline_BezierCurve3dH__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(/*! ./bspline/BezierCurve3dH */ "../../core/geometry/lib/esm/bspline/BezierCurve3dH.js");
|
|
182093
|
+
/* harmony import */ var _bspline_BSplineCurve__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(/*! ./bspline/BSplineCurve */ "../../core/geometry/lib/esm/bspline/BSplineCurve.js");
|
|
182094
|
+
/* harmony import */ var _bspline_BSplineCurveOps__WEBPACK_IMPORTED_MODULE_103__ = __webpack_require__(/*! ./bspline/BSplineCurveOps */ "../../core/geometry/lib/esm/bspline/BSplineCurveOps.js");
|
|
182095
|
+
/* harmony import */ var _bspline_BSpline1dNd__WEBPACK_IMPORTED_MODULE_104__ = __webpack_require__(/*! ./bspline/BSpline1dNd */ "../../core/geometry/lib/esm/bspline/BSpline1dNd.js");
|
|
182096
|
+
/* harmony import */ var _bspline_BSplineCurve3dH__WEBPACK_IMPORTED_MODULE_105__ = __webpack_require__(/*! ./bspline/BSplineCurve3dH */ "../../core/geometry/lib/esm/bspline/BSplineCurve3dH.js");
|
|
182097
|
+
/* harmony import */ var _bspline_BSplineSurface__WEBPACK_IMPORTED_MODULE_106__ = __webpack_require__(/*! ./bspline/BSplineSurface */ "../../core/geometry/lib/esm/bspline/BSplineSurface.js");
|
|
182098
|
+
/* harmony import */ var _bspline_InterpolationCurve3d__WEBPACK_IMPORTED_MODULE_107__ = __webpack_require__(/*! ./bspline/InterpolationCurve3d */ "../../core/geometry/lib/esm/bspline/InterpolationCurve3d.js");
|
|
182099
|
+
/* harmony import */ var _bspline_KnotVector__WEBPACK_IMPORTED_MODULE_108__ = __webpack_require__(/*! ./bspline/KnotVector */ "../../core/geometry/lib/esm/bspline/KnotVector.js");
|
|
182100
|
+
/* harmony import */ var _polyface_AuxData__WEBPACK_IMPORTED_MODULE_109__ = __webpack_require__(/*! ./polyface/AuxData */ "../../core/geometry/lib/esm/polyface/AuxData.js");
|
|
182101
|
+
/* harmony import */ var _polyface_BoxTopology__WEBPACK_IMPORTED_MODULE_110__ = __webpack_require__(/*! ./polyface/BoxTopology */ "../../core/geometry/lib/esm/polyface/BoxTopology.js");
|
|
182102
|
+
/* harmony import */ var _polyface_FacetFaceData__WEBPACK_IMPORTED_MODULE_111__ = __webpack_require__(/*! ./polyface/FacetFaceData */ "../../core/geometry/lib/esm/polyface/FacetFaceData.js");
|
|
182103
|
+
/* harmony import */ var _polyface_Polyface__WEBPACK_IMPORTED_MODULE_112__ = __webpack_require__(/*! ./polyface/Polyface */ "../../core/geometry/lib/esm/polyface/Polyface.js");
|
|
182104
|
+
/* harmony import */ var _polyface_FacetLocationDetail__WEBPACK_IMPORTED_MODULE_113__ = __webpack_require__(/*! ./polyface/FacetLocationDetail */ "../../core/geometry/lib/esm/polyface/FacetLocationDetail.js");
|
|
182105
|
+
/* harmony import */ var _polyface_IndexedPolyfaceVisitor__WEBPACK_IMPORTED_MODULE_114__ = __webpack_require__(/*! ./polyface/IndexedPolyfaceVisitor */ "../../core/geometry/lib/esm/polyface/IndexedPolyfaceVisitor.js");
|
|
182106
|
+
/* harmony import */ var _polyface_multiclip_GriddedRaggedRange2dSet__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(/*! ./polyface/multiclip/GriddedRaggedRange2dSet */ "../../core/geometry/lib/esm/polyface/multiclip/GriddedRaggedRange2dSet.js");
|
|
182107
|
+
/* harmony import */ var _polyface_multiclip_GriddedRaggedRange2dSetWithOverflow__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(/*! ./polyface/multiclip/GriddedRaggedRange2dSetWithOverflow */ "../../core/geometry/lib/esm/polyface/multiclip/GriddedRaggedRange2dSetWithOverflow.js");
|
|
182108
|
+
/* harmony import */ var _polyface_PolyfaceBuilder__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(/*! ./polyface/PolyfaceBuilder */ "../../core/geometry/lib/esm/polyface/PolyfaceBuilder.js");
|
|
182109
|
+
/* harmony import */ var _polyface_PolyfaceData__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(/*! ./polyface/PolyfaceData */ "../../core/geometry/lib/esm/polyface/PolyfaceData.js");
|
|
182110
|
+
/* harmony import */ var _polyface_PolyfaceQuery__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(/*! ./polyface/PolyfaceQuery */ "../../core/geometry/lib/esm/polyface/PolyfaceQuery.js");
|
|
182111
|
+
/* harmony import */ var _polyface_PolyfaceClip__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(/*! ./polyface/PolyfaceClip */ "../../core/geometry/lib/esm/polyface/PolyfaceClip.js");
|
|
182112
|
+
/* harmony import */ var _polyface_TaggedNumericData__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(/*! ./polyface/TaggedNumericData */ "../../core/geometry/lib/esm/polyface/TaggedNumericData.js");
|
|
182113
|
+
/* harmony import */ var _topology_Graph__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(/*! ./topology/Graph */ "../../core/geometry/lib/esm/topology/Graph.js");
|
|
182114
|
+
/* harmony import */ var _topology_Triangulation__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(/*! ./topology/Triangulation */ "../../core/geometry/lib/esm/topology/Triangulation.js");
|
|
182115
|
+
/* harmony import */ var _topology_SpaceTriangulation__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(/*! ./topology/SpaceTriangulation */ "../../core/geometry/lib/esm/topology/SpaceTriangulation.js");
|
|
182116
|
+
/* harmony import */ var _serialization_IModelJsonSchema__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(/*! ./serialization/IModelJsonSchema */ "../../core/geometry/lib/esm/serialization/IModelJsonSchema.js");
|
|
182117
|
+
/* harmony import */ var _serialization_DeepCompare__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(/*! ./serialization/DeepCompare */ "../../core/geometry/lib/esm/serialization/DeepCompare.js");
|
|
182118
|
+
/* harmony import */ var _serialization_GeometrySamples__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(/*! ./serialization/GeometrySamples */ "../../core/geometry/lib/esm/serialization/GeometrySamples.js");
|
|
182119
|
+
/* harmony import */ var _serialization_BentleyGeometryFlatBuffer__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(/*! ./serialization/BentleyGeometryFlatBuffer */ "../../core/geometry/lib/esm/serialization/BentleyGeometryFlatBuffer.js");
|
|
181964
182120
|
/*---------------------------------------------------------------------------------------------
|
|
181965
182121
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
181966
182122
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -182210,8 +182366,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
182210
182366
|
|
|
182211
182367
|
|
|
182212
182368
|
|
|
182213
|
-
|
|
182214
|
-
|
|
182215
182369
|
|
|
182216
182370
|
|
|
182217
182371
|
|
|
@@ -182461,13 +182615,13 @@ class Arc3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__.CurvePrimitive
|
|
|
182461
182615
|
static createCircularStartMiddleEnd(pointA, pointB, pointC, result) {
|
|
182462
182616
|
const vectorAB = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_3__.Vector3d.createStartEnd(pointA, pointB);
|
|
182463
182617
|
const vectorAC = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_3__.Vector3d.createStartEnd(pointA, pointC);
|
|
182464
|
-
const
|
|
182465
|
-
const
|
|
182466
|
-
const normal = vectorAB.sizedCrossProduct(vectorAC, Math.sqrt(
|
|
182618
|
+
const ab2 = vectorAB.magnitudeSquared();
|
|
182619
|
+
const ac2 = vectorAC.magnitudeSquared();
|
|
182620
|
+
const normal = vectorAB.sizedCrossProduct(vectorAC, Math.sqrt(Math.sqrt(ab2 * ac2)));
|
|
182467
182621
|
if (normal) {
|
|
182468
182622
|
const vectorToCenter = _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_5__.SmallSystem.linearSystem3d(normal.x, normal.y, normal.z, vectorAB.x, vectorAB.y, vectorAB.z, vectorAC.x, vectorAC.y, vectorAC.z, 0, // vectorToCenter DOT normal = 0
|
|
182469
|
-
0.5 *
|
|
182470
|
-
0.5 *
|
|
182623
|
+
0.5 * ab2, // vectorToCenter DOT vectorAB = 0.5 * vectorAB DOT vectorAB (Rayleigh quotient)
|
|
182624
|
+
0.5 * ac2);
|
|
182471
182625
|
if (vectorToCenter) {
|
|
182472
182626
|
const center = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_3__.Point3d.create(pointA.x, pointA.y, pointA.z).plus(vectorToCenter);
|
|
182473
182627
|
const vectorX = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_3__.Vector3d.createStartEnd(center, pointA);
|
|
@@ -188114,6 +188268,7 @@ class LineString3d extends _CurvePrimitive__WEBPACK_IMPORTED_MODULE_0__.CurvePri
|
|
|
188114
188268
|
/**
|
|
188115
188269
|
* Evaluate a point a fractional position and derivative with respect to fraction along this linestring.
|
|
188116
188270
|
* * See `LineString3d` class comments for description of how fraction relates to the linestring points.
|
|
188271
|
+
* * At interior corners and the end point, the left derivative is returned; at the start point, the right derivative is returned.
|
|
188117
188272
|
* @param fraction fractional position
|
|
188118
188273
|
* @param result optional result
|
|
188119
188274
|
*/
|
|
@@ -194168,16 +194323,17 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
194168
194323
|
/* harmony import */ var _bspline_BSplineCurve__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../bspline/BSplineCurve */ "../../core/geometry/lib/esm/bspline/BSplineCurve.js");
|
|
194169
194324
|
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
194170
194325
|
/* harmony import */ var _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../geometry3d/GeometryHandler */ "../../core/geometry/lib/esm/geometry3d/GeometryHandler.js");
|
|
194171
|
-
/* harmony import */ var
|
|
194172
|
-
/* harmony import */ var
|
|
194326
|
+
/* harmony import */ var _geometry3d_GrowableFloat64Array__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../geometry3d/GrowableFloat64Array */ "../../core/geometry/lib/esm/geometry3d/GrowableFloat64Array.js");
|
|
194327
|
+
/* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
194173
194328
|
/* harmony import */ var _geometry3d_Range__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../geometry3d/Range */ "../../core/geometry/lib/esm/geometry3d/Range.js");
|
|
194174
|
-
/* harmony import */ var
|
|
194329
|
+
/* harmony import */ var _numerics_Newton__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../numerics/Newton */ "../../core/geometry/lib/esm/numerics/Newton.js");
|
|
194330
|
+
/* harmony import */ var _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../numerics/Polynomials */ "../../core/geometry/lib/esm/numerics/Polynomials.js");
|
|
194175
194331
|
/* harmony import */ var _Arc3d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Arc3d */ "../../core/geometry/lib/esm/curve/Arc3d.js");
|
|
194176
|
-
/* harmony import */ var
|
|
194177
|
-
/* harmony import */ var
|
|
194332
|
+
/* harmony import */ var _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../CurveChainWithDistanceIndex */ "../../core/geometry/lib/esm/curve/CurveChainWithDistanceIndex.js");
|
|
194333
|
+
/* harmony import */ var _CurveCollection__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../CurveCollection */ "../../core/geometry/lib/esm/curve/CurveCollection.js");
|
|
194178
194334
|
/* harmony import */ var _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
|
|
194179
|
-
/* harmony import */ var
|
|
194180
|
-
/* harmony import */ var
|
|
194335
|
+
/* harmony import */ var _LineSegment3d__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../LineSegment3d */ "../../core/geometry/lib/esm/curve/LineSegment3d.js");
|
|
194336
|
+
/* harmony import */ var _LineString3d__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
|
|
194181
194337
|
/*---------------------------------------------------------------------------------------------
|
|
194182
194338
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
194183
194339
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -194199,7 +194355,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
194199
194355
|
|
|
194200
194356
|
|
|
194201
194357
|
|
|
194202
|
-
|
|
194358
|
+
|
|
194359
|
+
// cspell:word XYRR currentdFdX
|
|
194203
194360
|
/**
|
|
194204
194361
|
* Handler class for XY close approach between _geometryB and another geometry.
|
|
194205
194362
|
* * Approach means the XY distance (z is ignored) between _geometryB and another geometry.
|
|
@@ -194534,10 +194691,44 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
194534
194691
|
this.testAndRecordProjection(cpB, fB1, pointB1, cpA, fA0, fA1, !reversed);
|
|
194535
194692
|
}
|
|
194536
194693
|
}
|
|
194694
|
+
/**
|
|
194695
|
+
* Return XY closest approach between a curve primitive and a point.
|
|
194696
|
+
* Currently, this function only supports Arc3d and LineSegment.
|
|
194697
|
+
* Note that this function doesn't handle endpoints.
|
|
194698
|
+
*/
|
|
194699
|
+
getPointCurveClosestApproachXYNewton(curveP, pointQ) {
|
|
194700
|
+
if (!(curveP instanceof _Arc3d__WEBPACK_IMPORTED_MODULE_2__.Arc3d) && !(curveP instanceof _LineSegment3d__WEBPACK_IMPORTED_MODULE_5__.LineSegment3d)) {
|
|
194701
|
+
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(!!"getPointCurveClosestApproachXYNewton only supports Arc3d and LineSegment");
|
|
194702
|
+
return undefined;
|
|
194703
|
+
}
|
|
194704
|
+
const seeds = [0.2, 0.4, 0.6, 0.8]; // HEURISTIC: arcs have up to 4 perpendiculars; lines have only 1
|
|
194705
|
+
const newtonEvaluator = new _numerics_Newton__WEBPACK_IMPORTED_MODULE_6__.CurvePointCloseApproachXYRtoRD(curveP, pointQ);
|
|
194706
|
+
const newtonSearcher = new _numerics_Newton__WEBPACK_IMPORTED_MODULE_6__.Newton1dUnbounded(newtonEvaluator);
|
|
194707
|
+
let minCloseApproachLength = _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.largeCoordinateResult;
|
|
194708
|
+
let minCurvePFraction;
|
|
194709
|
+
let minPointP;
|
|
194710
|
+
for (const seed of seeds) {
|
|
194711
|
+
newtonSearcher.setX(seed);
|
|
194712
|
+
if (newtonSearcher.runIterations()) {
|
|
194713
|
+
const curvePFraction = newtonSearcher.getX();
|
|
194714
|
+
if (this.acceptFraction(curvePFraction)) {
|
|
194715
|
+
const pointP = curveP.fractionToPoint(curvePFraction);
|
|
194716
|
+
const closeApproachLength = pointP.distanceSquaredXY(pointQ);
|
|
194717
|
+
if (closeApproachLength < minCloseApproachLength) {
|
|
194718
|
+
minCloseApproachLength = closeApproachLength;
|
|
194719
|
+
minCurvePFraction = curvePFraction;
|
|
194720
|
+
minPointP = pointP;
|
|
194721
|
+
}
|
|
194722
|
+
}
|
|
194723
|
+
}
|
|
194724
|
+
}
|
|
194725
|
+
if (minCurvePFraction && minPointP)
|
|
194726
|
+
return _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetail.createCurveFractionPoint(curveP, minCurvePFraction, minPointP);
|
|
194727
|
+
return undefined;
|
|
194728
|
+
}
|
|
194537
194729
|
/** Find the closest approach between pointA and cpB. Add the approach if it's within fB0 and fB1. */
|
|
194538
194730
|
testAndRecordProjection(cpA, fA, pointA, cpB, fB0, fB1, reversed) {
|
|
194539
|
-
|
|
194540
|
-
const detail = cpB.closestPoint(pointA, false);
|
|
194731
|
+
const detail = this.getPointCurveClosestApproachXYNewton(cpB, pointA);
|
|
194541
194732
|
if (detail) {
|
|
194542
194733
|
const fB = _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.restrictToInterval(detail.fraction, fB0, fB1);
|
|
194543
194734
|
if (fB === detail.fraction) { // if fraction is within fB0 and fB1
|
|
@@ -194566,13 +194757,13 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
194566
194757
|
this.computeSegmentSegment3D(cpA, pointA0, fractionA0, pointA1, fractionA1, cpB, pointB0, fractionB0, pointB1, fractionB1, reversed);
|
|
194567
194758
|
}
|
|
194568
194759
|
/**
|
|
194569
|
-
* Low level dispatch of segment with arc.
|
|
194760
|
+
* Low level dispatch of line segment with arc.
|
|
194570
194761
|
* Find close approaches within maxDistance between a line segments (pointA0, pointA1) and an arc.
|
|
194571
194762
|
* To consider:
|
|
194572
194763
|
* 1) intersection between arc and segment.
|
|
194573
|
-
* 2)
|
|
194574
|
-
* 3)
|
|
194575
|
-
* @param cpA curve A (line segment or line string)
|
|
194764
|
+
* 2) endpoints to endpoints or endpoints projection to the other curve.
|
|
194765
|
+
* 3) arc tangent parallel to line segment (or line string).
|
|
194766
|
+
* @param cpA curve A (line segment or line string; if it is a line string, then the fractions must specify a segment)
|
|
194576
194767
|
* @param pointA0 start point of the segment
|
|
194577
194768
|
* @param fractionA0 fraction of the start of the segment
|
|
194578
194769
|
* @param pointA1 end point of the segment
|
|
@@ -194581,7 +194772,7 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
194581
194772
|
* @param reversed whether to reverse the details in the pair (e.g., so that detailB refers to geometryB).
|
|
194582
194773
|
*/
|
|
194583
194774
|
dispatchSegmentArc(cpA, pointA0, fractionA0, pointA1, fractionA1, arc, reversed) {
|
|
194584
|
-
// 1) intersection between arc and segment
|
|
194775
|
+
// 1) intersection between arc and line segment (or string).
|
|
194585
194776
|
// Suppose:
|
|
194586
194777
|
// Arc: X = C + cU + sV where c = cos(theta) and s = sin(theta)
|
|
194587
194778
|
// Line: contains points A0 and A1
|
|
@@ -194597,15 +194788,15 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
194597
194788
|
const alpha = _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.tripleProductXYW(pointA0Local, 1, pointA1Local, 1, data.center, 1); // det(A0, A1, C)
|
|
194598
194789
|
const beta = _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.tripleProductXYW(pointA0Local, 1, pointA1Local, 1, data.vector0, 0); // det(A0, A1, U)
|
|
194599
194790
|
const gamma = _Geometry__WEBPACK_IMPORTED_MODULE_3__.Geometry.tripleProductXYW(pointA0Local, 1, pointA1Local, 1, data.vector90, 0); // det(A0, A1, V)
|
|
194600
|
-
const cosines = new
|
|
194601
|
-
const sines = new
|
|
194602
|
-
const radians = new
|
|
194603
|
-
const numRoots =
|
|
194791
|
+
const cosines = new _geometry3d_GrowableFloat64Array__WEBPACK_IMPORTED_MODULE_7__.GrowableFloat64Array(2);
|
|
194792
|
+
const sines = new _geometry3d_GrowableFloat64Array__WEBPACK_IMPORTED_MODULE_7__.GrowableFloat64Array(2);
|
|
194793
|
+
const radians = new _geometry3d_GrowableFloat64Array__WEBPACK_IMPORTED_MODULE_7__.GrowableFloat64Array(2);
|
|
194794
|
+
const numRoots = _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_8__.AnalyticRoots.appendImplicitLineUnitCircleIntersections(// solve the equation
|
|
194604
194795
|
alpha, beta, gamma, cosines, sines, radians);
|
|
194605
194796
|
for (let i = 0; i < numRoots; i++) {
|
|
194606
194797
|
const arcPoint = data.center.plus2Scaled(data.vector0, cosines.atUncheckedIndex(i), data.vector90, sines.atUncheckedIndex(i));
|
|
194607
194798
|
const arcFraction = data.sweep.radiansToSignedPeriodicFraction(radians.atUncheckedIndex(i));
|
|
194608
|
-
const lineFraction =
|
|
194799
|
+
const lineFraction = _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_8__.SmallSystem.lineSegment3dXYClosestPointUnbounded(pointA0Local, pointA1Local, arcPoint);
|
|
194609
194800
|
// only add if the point is within the start and end fractions of both line segment and arc
|
|
194610
194801
|
if (lineFraction !== undefined && this.acceptFraction(lineFraction) && this.acceptFraction(arcFraction)) {
|
|
194611
194802
|
this.recordPointWithLocalFractions(lineFraction, cpA, fractionA0, fractionA1, arcFraction, arc, 0, 1, reversed);
|
|
@@ -194614,9 +194805,9 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
194614
194805
|
}
|
|
194615
194806
|
if (intersectionFound)
|
|
194616
194807
|
return;
|
|
194617
|
-
// 2) endpoints to endpoints or endpoints projection to the other curve
|
|
194618
|
-
this.testAndRecordFractionalPairApproach(cpA, fractionA0, fractionA1, true, arc, 0, 1,
|
|
194619
|
-
// 3)
|
|
194808
|
+
// 2) endpoints to endpoints or endpoints projection to the other curve.
|
|
194809
|
+
this.testAndRecordFractionalPairApproach(cpA, fractionA0, fractionA1, true, arc, 0, 1, true, reversed);
|
|
194810
|
+
// 3) arc tangent parallel to line segment (or string).
|
|
194620
194811
|
// If line does not intersect the arc, then the closest (and/or the furthest) point on arc to the line is a
|
|
194621
194812
|
// point where the tangent line on arc at that point is parallel to the line.
|
|
194622
194813
|
const dotUT = data.vector0.crossProductStartEndXY(pointA0, pointA1);
|
|
@@ -194625,94 +194816,71 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
194625
194816
|
for (const radians1 of [parallelRadians, parallelRadians + Math.PI]) {
|
|
194626
194817
|
const arcPoint = data.center.plus2Scaled(data.vector0, Math.cos(radians1), data.vector90, Math.sin(radians1));
|
|
194627
194818
|
const arcFraction = data.sweep.radiansToSignedPeriodicFraction(radians1);
|
|
194628
|
-
const lineFraction =
|
|
194819
|
+
const lineFraction = _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_8__.SmallSystem.lineSegment3dXYClosestPointUnbounded(pointA0Local, pointA1Local, arcPoint);
|
|
194629
194820
|
// only add if the point is within the start and end fractions of both line segment and arc
|
|
194630
194821
|
if (lineFraction !== undefined && this.acceptFraction(lineFraction) && this.acceptFraction(arcFraction)) {
|
|
194631
194822
|
this.recordPointWithLocalFractions(lineFraction, cpA, fractionA0, fractionA1, arcFraction, arc, 0, 1, reversed);
|
|
194632
194823
|
}
|
|
194633
194824
|
}
|
|
194634
194825
|
}
|
|
194635
|
-
/**
|
|
194636
|
-
|
|
194637
|
-
const
|
|
194638
|
-
const
|
|
194639
|
-
|
|
194640
|
-
|
|
194641
|
-
|
|
194642
|
-
|
|
194643
|
-
|
|
194644
|
-
|
|
194645
|
-
|
|
194646
|
-
|
|
194647
|
-
|
|
194648
|
-
for (const rA of [-radiusA, radiusA]) {
|
|
194649
|
-
for (const rB of [-radiusB, radiusB]) {
|
|
194650
|
-
const tangentDistance = c - rA + rB;
|
|
194651
|
-
if (tangentDistance < e) {
|
|
194652
|
-
const detailA = this.resolveDirectionToArcXYFraction(cpA, vectorAB, rA);
|
|
194653
|
-
if (detailA) {
|
|
194654
|
-
const detailB = this.resolveDirectionToArcXYFraction(cpB, vectorAB, rB);
|
|
194655
|
-
if (detailB)
|
|
194656
|
-
this.captureDetailPair(detailA, detailB, reversed);
|
|
194657
|
-
}
|
|
194826
|
+
/** Solve Newton for 2 arcs and the given newtonEvaluator. */
|
|
194827
|
+
solveArcArcNewton(curveP, curveQ, reversed, newtonEvaluator) {
|
|
194828
|
+
const seedsU = [0.2, 0.4, 0.6, 0.8]; // HEURISTIC: 2 arcs have up to 4 perpendiculars/intersections
|
|
194829
|
+
const seedsV = [0.2, 0.4, 0.6, 0.8];
|
|
194830
|
+
const newtonSearcher = new _numerics_Newton__WEBPACK_IMPORTED_MODULE_6__.Newton2dUnboundedWithDerivative(newtonEvaluator);
|
|
194831
|
+
for (const seedU of seedsU) {
|
|
194832
|
+
for (const seedV of seedsV) {
|
|
194833
|
+
newtonSearcher.setUV(seedU, seedV);
|
|
194834
|
+
if (newtonSearcher.runIterations()) {
|
|
194835
|
+
const curvePFraction = newtonSearcher.getU();
|
|
194836
|
+
const curveQFraction = newtonSearcher.getV();
|
|
194837
|
+
if (this.acceptFraction(curvePFraction) && this.acceptFraction(curveQFraction)) {
|
|
194838
|
+
this.recordPointWithLocalFractions(curvePFraction, curveP, 0, 1, curveQFraction, curveQ, 0, 1, reversed);
|
|
194658
194839
|
}
|
|
194659
194840
|
}
|
|
194660
194841
|
}
|
|
194661
194842
|
}
|
|
194662
194843
|
}
|
|
194663
|
-
/** Find
|
|
194664
|
-
|
|
194665
|
-
|
|
194666
|
-
|
|
194667
|
-
const s = scale * arc.matrixRef.columnDotXYZ(1, radialVector.x, radialVector.y, 0);
|
|
194668
|
-
const radians = Math.atan2(s, c);
|
|
194669
|
-
const fraction = arc.sweep.radiansToPositivePeriodicFraction(radians, 0);
|
|
194670
|
-
if (fraction < 1.0)
|
|
194671
|
-
return _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetail.createCurveEvaluatedFraction(arc, fraction);
|
|
194672
|
-
return undefined;
|
|
194844
|
+
/** Find and store perpendicular line between 2 arcs. */
|
|
194845
|
+
findPerpLineXYArcArcNewton(curveP, curveQ, reversed) {
|
|
194846
|
+
const newtonEvaluator = new _numerics_Newton__WEBPACK_IMPORTED_MODULE_6__.CurveCurveCloseApproachXYRRtoRRD(curveP, curveQ);
|
|
194847
|
+
this.solveArcArcNewton(curveP, curveQ, reversed, newtonEvaluator);
|
|
194673
194848
|
}
|
|
194674
|
-
/** Low level dispatch of arc with
|
|
194849
|
+
/** Low level dispatch of arc with Arc3d. */
|
|
194675
194850
|
dispatchArcArc(cpA, cpB, reversed) {
|
|
194676
194851
|
const rangeA = cpA.range();
|
|
194677
194852
|
const rangeB = cpB.range();
|
|
194678
194853
|
rangeA.expandInPlace(this._maxDistanceToAccept);
|
|
194679
194854
|
if (!rangeB.intersectsRangeXY(rangeA))
|
|
194680
194855
|
return;
|
|
194681
|
-
|
|
194682
|
-
|
|
194683
|
-
|
|
194684
|
-
|
|
194685
|
-
if (radiusA >= radiusB)
|
|
194686
|
-
this.dispatchCircularCircularOrdered(cpA, radiusA, cpB, radiusB, reversed);
|
|
194687
|
-
else
|
|
194688
|
-
this.dispatchCircularCircularOrdered(cpB, radiusB, cpA, radiusA, !reversed);
|
|
194689
|
-
return;
|
|
194690
|
-
}
|
|
194691
|
-
}
|
|
194856
|
+
// 1) endpoints to endpoints or endpoints projection to the other curve
|
|
194857
|
+
this.testAndRecordFractionalPairApproach(cpA, 0, 1, true, cpB, 0, 1, true, reversed);
|
|
194858
|
+
// 2) perpendicular line between 2 arcs (includes intersections)
|
|
194859
|
+
this.findPerpLineXYArcArcNewton(cpA, cpB, reversed);
|
|
194692
194860
|
}
|
|
194693
194861
|
/** Low level dispatch of arc with (beziers of) a bspline curve */
|
|
194694
194862
|
dispatchArcBsplineCurve3d(cpA, cpB, reversed) {
|
|
194695
|
-
const ls =
|
|
194863
|
+
const ls = _LineString3d__WEBPACK_IMPORTED_MODULE_9__.LineString3d.create();
|
|
194696
194864
|
cpB.emitStrokes(ls);
|
|
194697
194865
|
this.computeArcLineString(cpA, ls, reversed);
|
|
194698
194866
|
}
|
|
194699
194867
|
/** Low level dispatch of (beziers of) a bspline curve with (beziers of) a bspline curve */
|
|
194700
194868
|
dispatchBSplineCurve3dBSplineCurve3d(bcurveA, bcurveB, reversed) {
|
|
194701
|
-
const lsA =
|
|
194869
|
+
const lsA = _LineString3d__WEBPACK_IMPORTED_MODULE_9__.LineString3d.create();
|
|
194702
194870
|
bcurveA.emitStrokes(lsA);
|
|
194703
|
-
const lsB =
|
|
194871
|
+
const lsB = _LineString3d__WEBPACK_IMPORTED_MODULE_9__.LineString3d.create();
|
|
194704
194872
|
bcurveB.emitStrokes(lsB);
|
|
194705
194873
|
this.computeLineStringLineString(lsA, lsB, reversed);
|
|
194706
194874
|
}
|
|
194707
194875
|
/** Low level dispatch of linestring with (beziers of) a bspline curve */
|
|
194708
194876
|
dispatchLineStringBSplineCurve(lsA, curveB, reversed) {
|
|
194709
|
-
const lsB =
|
|
194877
|
+
const lsB = _LineString3d__WEBPACK_IMPORTED_MODULE_9__.LineString3d.create();
|
|
194710
194878
|
curveB.emitStrokes(lsB);
|
|
194711
194879
|
this.computeLineStringLineString(lsA, lsB, reversed);
|
|
194712
194880
|
}
|
|
194713
194881
|
/** Low level dispatch of segment with (beziers of) a bspline curve */
|
|
194714
194882
|
dispatchSegmentBsplineCurve(segA, curveB, reversed) {
|
|
194715
|
-
const lsB =
|
|
194883
|
+
const lsB = _LineString3d__WEBPACK_IMPORTED_MODULE_9__.LineString3d.create();
|
|
194716
194884
|
curveB.emitStrokes(lsB);
|
|
194717
194885
|
this.computeSegmentLineString(segA, lsB, reversed);
|
|
194718
194886
|
}
|
|
@@ -194759,7 +194927,7 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
194759
194927
|
/** Low level dispatch of curve collection. */
|
|
194760
194928
|
dispatchCurveCollection(geomA, geomAHandler) {
|
|
194761
194929
|
const geomB = this._geometryB; // save
|
|
194762
|
-
if (!geomB || !geomB.children || !(geomB instanceof
|
|
194930
|
+
if (!geomB || !geomB.children || !(geomB instanceof _CurveCollection__WEBPACK_IMPORTED_MODULE_10__.CurveCollection))
|
|
194763
194931
|
return;
|
|
194764
194932
|
for (const child of geomB.children) {
|
|
194765
194933
|
this.resetGeometry(child);
|
|
@@ -194769,9 +194937,9 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
194769
194937
|
}
|
|
194770
194938
|
/** Low level dispatch to geomA given a CurveChainWithDistanceIndex in geometryB. */
|
|
194771
194939
|
dispatchCurveChainWithDistanceIndex(geomA, geomAHandler) {
|
|
194772
|
-
if (!this._geometryB || !(this._geometryB instanceof
|
|
194940
|
+
if (!this._geometryB || !(this._geometryB instanceof _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_11__.CurveChainWithDistanceIndex))
|
|
194773
194941
|
return;
|
|
194774
|
-
if (geomA instanceof
|
|
194942
|
+
if (geomA instanceof _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_11__.CurveChainWithDistanceIndex) {
|
|
194775
194943
|
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(!!"call handleCurveChainWithDistanceIndex(geomA) instead");
|
|
194776
194944
|
return;
|
|
194777
194945
|
}
|
|
@@ -194782,15 +194950,15 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
194782
194950
|
geomAHandler(geomA);
|
|
194783
194951
|
}
|
|
194784
194952
|
this.resetGeometry(geomB); // restore
|
|
194785
|
-
this._results =
|
|
194953
|
+
this._results = _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_11__.CurveChainWithDistanceIndex.convertChildDetailToChainDetail(this._results, index0, undefined, geomB, true);
|
|
194786
194954
|
}
|
|
194787
194955
|
/** Double dispatch handler for strongly typed segment. */
|
|
194788
194956
|
handleLineSegment3d(segmentA) {
|
|
194789
|
-
if (this._geometryB instanceof
|
|
194957
|
+
if (this._geometryB instanceof _LineSegment3d__WEBPACK_IMPORTED_MODULE_5__.LineSegment3d) {
|
|
194790
194958
|
const segmentB = this._geometryB;
|
|
194791
194959
|
this.dispatchSegmentSegment(segmentA, segmentA.point0Ref, 0.0, segmentA.point1Ref, 1.0, segmentB, segmentB.point0Ref, 0.0, segmentB.point1Ref, 1.0, false);
|
|
194792
194960
|
}
|
|
194793
|
-
else if (this._geometryB instanceof
|
|
194961
|
+
else if (this._geometryB instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_9__.LineString3d) {
|
|
194794
194962
|
this.computeSegmentLineString(segmentA, this._geometryB, false);
|
|
194795
194963
|
}
|
|
194796
194964
|
else if (this._geometryB instanceof _Arc3d__WEBPACK_IMPORTED_MODULE_2__.Arc3d) {
|
|
@@ -194799,10 +194967,10 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
194799
194967
|
else if (this._geometryB instanceof _bspline_BSplineCurve__WEBPACK_IMPORTED_MODULE_12__.BSplineCurve3d) {
|
|
194800
194968
|
this.dispatchSegmentBsplineCurve(segmentA, this._geometryB, false);
|
|
194801
194969
|
}
|
|
194802
|
-
else if (this._geometryB instanceof
|
|
194970
|
+
else if (this._geometryB instanceof _CurveCollection__WEBPACK_IMPORTED_MODULE_10__.CurveCollection) {
|
|
194803
194971
|
this.dispatchCurveCollection(segmentA, this.handleLineSegment3d.bind(this));
|
|
194804
194972
|
}
|
|
194805
|
-
else if (this._geometryB instanceof
|
|
194973
|
+
else if (this._geometryB instanceof _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_11__.CurveChainWithDistanceIndex) {
|
|
194806
194974
|
this.dispatchCurveChainWithDistanceIndex(segmentA, this.handleLineSegment3d.bind(this));
|
|
194807
194975
|
}
|
|
194808
194976
|
return undefined;
|
|
@@ -194885,11 +195053,11 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
194885
195053
|
}
|
|
194886
195054
|
/** Double dispatch handler for strongly typed linestring. */
|
|
194887
195055
|
handleLineString3d(lsA) {
|
|
194888
|
-
if (this._geometryB instanceof
|
|
195056
|
+
if (this._geometryB instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_9__.LineString3d) {
|
|
194889
195057
|
const lsB = this._geometryB;
|
|
194890
195058
|
this.computeLineStringLineString(lsA, lsB, false);
|
|
194891
195059
|
}
|
|
194892
|
-
else if (this._geometryB instanceof
|
|
195060
|
+
else if (this._geometryB instanceof _LineSegment3d__WEBPACK_IMPORTED_MODULE_5__.LineSegment3d) {
|
|
194893
195061
|
this.computeSegmentLineString(this._geometryB, lsA, true);
|
|
194894
195062
|
}
|
|
194895
195063
|
else if (this._geometryB instanceof _Arc3d__WEBPACK_IMPORTED_MODULE_2__.Arc3d) {
|
|
@@ -194898,20 +195066,20 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
194898
195066
|
else if (this._geometryB instanceof _bspline_BSplineCurve__WEBPACK_IMPORTED_MODULE_12__.BSplineCurve3d) {
|
|
194899
195067
|
this.dispatchLineStringBSplineCurve(lsA, this._geometryB, false);
|
|
194900
195068
|
}
|
|
194901
|
-
else if (this._geometryB instanceof
|
|
195069
|
+
else if (this._geometryB instanceof _CurveCollection__WEBPACK_IMPORTED_MODULE_10__.CurveCollection) {
|
|
194902
195070
|
this.dispatchCurveCollection(lsA, this.handleLineString3d.bind(this));
|
|
194903
195071
|
}
|
|
194904
|
-
else if (this._geometryB instanceof
|
|
195072
|
+
else if (this._geometryB instanceof _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_11__.CurveChainWithDistanceIndex) {
|
|
194905
195073
|
this.dispatchCurveChainWithDistanceIndex(lsA, this.handleLineString3d.bind(this));
|
|
194906
195074
|
}
|
|
194907
195075
|
return undefined;
|
|
194908
195076
|
}
|
|
194909
195077
|
/** Double dispatch handler for strongly typed arc. */
|
|
194910
195078
|
handleArc3d(arc0) {
|
|
194911
|
-
if (this._geometryB instanceof
|
|
195079
|
+
if (this._geometryB instanceof _LineSegment3d__WEBPACK_IMPORTED_MODULE_5__.LineSegment3d) {
|
|
194912
195080
|
this.dispatchSegmentArc(this._geometryB, this._geometryB.point0Ref, 0.0, this._geometryB.point1Ref, 1.0, arc0, true);
|
|
194913
195081
|
}
|
|
194914
|
-
else if (this._geometryB instanceof
|
|
195082
|
+
else if (this._geometryB instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_9__.LineString3d) {
|
|
194915
195083
|
this.computeArcLineString(arc0, this._geometryB, false);
|
|
194916
195084
|
}
|
|
194917
195085
|
else if (this._geometryB instanceof _Arc3d__WEBPACK_IMPORTED_MODULE_2__.Arc3d) {
|
|
@@ -194920,20 +195088,20 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
194920
195088
|
else if (this._geometryB instanceof _bspline_BSplineCurve__WEBPACK_IMPORTED_MODULE_12__.BSplineCurve3d) {
|
|
194921
195089
|
this.dispatchArcBsplineCurve3d(arc0, this._geometryB, false);
|
|
194922
195090
|
}
|
|
194923
|
-
else if (this._geometryB instanceof
|
|
195091
|
+
else if (this._geometryB instanceof _CurveCollection__WEBPACK_IMPORTED_MODULE_10__.CurveCollection) {
|
|
194924
195092
|
this.dispatchCurveCollection(arc0, this.handleArc3d.bind(this));
|
|
194925
195093
|
}
|
|
194926
|
-
else if (this._geometryB instanceof
|
|
195094
|
+
else if (this._geometryB instanceof _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_11__.CurveChainWithDistanceIndex) {
|
|
194927
195095
|
this.dispatchCurveChainWithDistanceIndex(arc0, this.handleArc3d.bind(this));
|
|
194928
195096
|
}
|
|
194929
195097
|
return undefined;
|
|
194930
195098
|
}
|
|
194931
195099
|
/** Double dispatch handler for strongly typed bspline curve. */
|
|
194932
195100
|
handleBSplineCurve3d(curve) {
|
|
194933
|
-
if (this._geometryB instanceof
|
|
195101
|
+
if (this._geometryB instanceof _LineSegment3d__WEBPACK_IMPORTED_MODULE_5__.LineSegment3d) {
|
|
194934
195102
|
this.dispatchSegmentBsplineCurve(this._geometryB, curve, true);
|
|
194935
195103
|
}
|
|
194936
|
-
else if (this._geometryB instanceof
|
|
195104
|
+
else if (this._geometryB instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_9__.LineString3d) {
|
|
194937
195105
|
this.dispatchLineStringBSplineCurve(this._geometryB, curve, true);
|
|
194938
195106
|
}
|
|
194939
195107
|
else if (this._geometryB instanceof _Arc3d__WEBPACK_IMPORTED_MODULE_2__.Arc3d) {
|
|
@@ -194942,10 +195110,10 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
194942
195110
|
else if (this._geometryB instanceof _bspline_BSplineCurve__WEBPACK_IMPORTED_MODULE_12__.BSplineCurve3dBase) {
|
|
194943
195111
|
this.dispatchBSplineCurve3dBSplineCurve3d(curve, this._geometryB, false);
|
|
194944
195112
|
}
|
|
194945
|
-
else if (this._geometryB instanceof
|
|
195113
|
+
else if (this._geometryB instanceof _CurveCollection__WEBPACK_IMPORTED_MODULE_10__.CurveCollection) {
|
|
194946
195114
|
this.dispatchCurveCollection(curve, this.handleBSplineCurve3d.bind(this));
|
|
194947
195115
|
}
|
|
194948
|
-
else if (this._geometryB instanceof
|
|
195116
|
+
else if (this._geometryB instanceof _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_11__.CurveChainWithDistanceIndex) {
|
|
194949
195117
|
this.dispatchCurveChainWithDistanceIndex(curve, this.handleBSplineCurve3d.bind(this));
|
|
194950
195118
|
}
|
|
194951
195119
|
return undefined;
|
|
@@ -194954,7 +195122,7 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
194954
195122
|
handleCurveChainWithDistanceIndex(chain) {
|
|
194955
195123
|
super.handleCurveChainWithDistanceIndex(chain);
|
|
194956
195124
|
// if _geometryB is also a CurveChainWithDistanceIndex, it will already have been converted by dispatchCurveChainWithDistanceIndex
|
|
194957
|
-
this._results =
|
|
195125
|
+
this._results = _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_11__.CurveChainWithDistanceIndex.convertChildDetailToChainDetail(this._results, 0, chain, undefined, true);
|
|
194958
195126
|
}
|
|
194959
195127
|
/** Double dispatch handler for strongly typed homogeneous bspline curve .. */
|
|
194960
195128
|
handleBSplineCurve3dH(_curve) {
|
|
@@ -194974,11 +195142,11 @@ class CurveCurveCloseApproachXY extends _geometry3d_GeometryHandler__WEBPACK_IMP
|
|
|
194974
195142
|
return undefined;
|
|
194975
195143
|
}
|
|
194976
195144
|
}
|
|
194977
|
-
CurveCurveCloseApproachXY._workPointAA0 =
|
|
194978
|
-
CurveCurveCloseApproachXY._workPointAA1 =
|
|
194979
|
-
CurveCurveCloseApproachXY._workPointBB0 =
|
|
194980
|
-
CurveCurveCloseApproachXY._workPointBB1 =
|
|
194981
|
-
CurveCurveCloseApproachXY._workPointB =
|
|
195145
|
+
CurveCurveCloseApproachXY._workPointAA0 = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_14__.Point3d.create();
|
|
195146
|
+
CurveCurveCloseApproachXY._workPointAA1 = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_14__.Point3d.create();
|
|
195147
|
+
CurveCurveCloseApproachXY._workPointBB0 = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_14__.Point3d.create();
|
|
195148
|
+
CurveCurveCloseApproachXY._workPointBB1 = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_14__.Point3d.create();
|
|
195149
|
+
CurveCurveCloseApproachXY._workPointB = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_14__.Point3d.create();
|
|
194982
195150
|
|
|
194983
195151
|
|
|
194984
195152
|
|
|
@@ -194993,29 +195161,27 @@ CurveCurveCloseApproachXY._workPointB = _geometry3d_Point3dVector3d__WEBPACK_IMP
|
|
|
194993
195161
|
"use strict";
|
|
194994
195162
|
__webpack_require__.r(__webpack_exports__);
|
|
194995
195163
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
194996
|
-
/* harmony export */ BezierBezierIntersectionXYRRToRRD: () => (/* binding */ BezierBezierIntersectionXYRRToRRD),
|
|
194997
195164
|
/* harmony export */ CurveCurveIntersectXY: () => (/* binding */ CurveCurveIntersectXY)
|
|
194998
195165
|
/* harmony export */ });
|
|
194999
195166
|
/* harmony import */ var _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @itwin/core-bentley */ "../../core/bentley/lib/esm/core-bentley.js");
|
|
195000
|
-
/* harmony import */ var
|
|
195001
|
-
/* harmony import */ var
|
|
195002
|
-
/* harmony import */ var
|
|
195003
|
-
/* harmony import */ var
|
|
195004
|
-
/* harmony import */ var
|
|
195005
|
-
/* harmony import */ var
|
|
195006
|
-
/* harmony import */ var
|
|
195007
|
-
/* harmony import */ var
|
|
195008
|
-
/* harmony import */ var
|
|
195009
|
-
/* harmony import */ var
|
|
195010
|
-
/* harmony import */ var
|
|
195011
|
-
/* harmony import */ var
|
|
195012
|
-
/* harmony import */ var
|
|
195013
|
-
/* harmony import */ var
|
|
195014
|
-
/* harmony import */ var
|
|
195015
|
-
/* harmony import */ var
|
|
195016
|
-
/* harmony import */ var
|
|
195017
|
-
/* harmony import */ var
|
|
195018
|
-
/* harmony import */ var _LineString3d__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
|
|
195167
|
+
/* harmony import */ var _bspline_BSplineCurve__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../bspline/BSplineCurve */ "../../core/geometry/lib/esm/bspline/BSplineCurve.js");
|
|
195168
|
+
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
195169
|
+
/* harmony import */ var _geometry3d_CoincidentGeometryOps__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../geometry3d/CoincidentGeometryOps */ "../../core/geometry/lib/esm/geometry3d/CoincidentGeometryOps.js");
|
|
195170
|
+
/* harmony import */ var _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../geometry3d/GeometryHandler */ "../../core/geometry/lib/esm/geometry3d/GeometryHandler.js");
|
|
195171
|
+
/* harmony import */ var _geometry3d_GrowableFloat64Array__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../geometry3d/GrowableFloat64Array */ "../../core/geometry/lib/esm/geometry3d/GrowableFloat64Array.js");
|
|
195172
|
+
/* harmony import */ var _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../geometry3d/Matrix3d */ "../../core/geometry/lib/esm/geometry3d/Matrix3d.js");
|
|
195173
|
+
/* harmony import */ var _geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../geometry3d/Point2dVector2d */ "../../core/geometry/lib/esm/geometry3d/Point2dVector2d.js");
|
|
195174
|
+
/* harmony import */ var _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../geometry3d/Point3dVector3d */ "../../core/geometry/lib/esm/geometry3d/Point3dVector3d.js");
|
|
195175
|
+
/* harmony import */ var _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../geometry4d/Point4d */ "../../core/geometry/lib/esm/geometry4d/Point4d.js");
|
|
195176
|
+
/* harmony import */ var _numerics_BezierPolynomials__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../numerics/BezierPolynomials */ "../../core/geometry/lib/esm/numerics/BezierPolynomials.js");
|
|
195177
|
+
/* harmony import */ var _numerics_Newton__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../numerics/Newton */ "../../core/geometry/lib/esm/numerics/Newton.js");
|
|
195178
|
+
/* harmony import */ var _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../numerics/Polynomials */ "../../core/geometry/lib/esm/numerics/Polynomials.js");
|
|
195179
|
+
/* harmony import */ var _Arc3d__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../Arc3d */ "../../core/geometry/lib/esm/curve/Arc3d.js");
|
|
195180
|
+
/* harmony import */ var _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../CurveChainWithDistanceIndex */ "../../core/geometry/lib/esm/curve/CurveChainWithDistanceIndex.js");
|
|
195181
|
+
/* harmony import */ var _CurveCollection__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../CurveCollection */ "../../core/geometry/lib/esm/curve/CurveCollection.js");
|
|
195182
|
+
/* harmony import */ var _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../CurveLocationDetail */ "../../core/geometry/lib/esm/curve/CurveLocationDetail.js");
|
|
195183
|
+
/* harmony import */ var _LineSegment3d__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../LineSegment3d */ "../../core/geometry/lib/esm/curve/LineSegment3d.js");
|
|
195184
|
+
/* harmony import */ var _LineString3d__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../LineString3d */ "../../core/geometry/lib/esm/curve/LineString3d.js");
|
|
195019
195185
|
/*---------------------------------------------------------------------------------------------
|
|
195020
195186
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
195021
195187
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -195042,35 +195208,14 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
195042
195208
|
|
|
195043
195209
|
|
|
195044
195210
|
|
|
195045
|
-
|
|
195046
195211
|
// cspell:word XYRR
|
|
195047
|
-
/**
|
|
195048
|
-
* Private class for refining bezier-bezier intersections.
|
|
195049
|
-
* * The inputs are assumed pre-transformed so that the target condition is to match x and y coordinates.
|
|
195050
|
-
* @internal
|
|
195051
|
-
*/
|
|
195052
|
-
class BezierBezierIntersectionXYRRToRRD extends _numerics_Newton__WEBPACK_IMPORTED_MODULE_1__.NewtonEvaluatorRRtoRRD {
|
|
195053
|
-
constructor(curveA, curveB) {
|
|
195054
|
-
super();
|
|
195055
|
-
this._curveA = curveA;
|
|
195056
|
-
this._curveB = curveB;
|
|
195057
|
-
this._rayA = _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_2__.Ray3d.createZero();
|
|
195058
|
-
this._rayB = _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_2__.Ray3d.createZero();
|
|
195059
|
-
}
|
|
195060
|
-
evaluate(fractionA, fractionB) {
|
|
195061
|
-
this._curveA.fractionToPointAndDerivative(fractionA, this._rayA);
|
|
195062
|
-
this._curveB.fractionToPointAndDerivative(fractionB, this._rayB);
|
|
195063
|
-
this.currentF.setOriginAndVectorsXYZ(this._rayB.origin.x - this._rayA.origin.x, this._rayB.origin.y - this._rayA.origin.y, 0.0, -this._rayA.direction.x, -this._rayA.direction.y, 0.0, this._rayB.direction.x, this._rayB.direction.y, 0.0);
|
|
195064
|
-
return true;
|
|
195065
|
-
}
|
|
195066
|
-
}
|
|
195067
195212
|
/**
|
|
195068
195213
|
* Handler class for XY intersections between _geometryB and another geometry.
|
|
195069
195214
|
* * Instances are initialized and called from CurveCurve.
|
|
195070
195215
|
* * geometryB is saved for later reference.
|
|
195071
195216
|
* @internal
|
|
195072
195217
|
*/
|
|
195073
|
-
class CurveCurveIntersectXY extends
|
|
195218
|
+
class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTED_MODULE_1__.RecurseToCurvesGeometryHandler {
|
|
195074
195219
|
/**
|
|
195075
195220
|
* The constructor.
|
|
195076
195221
|
* @param worldToLocal optional transform (possibly perspective) to project to xy plane for intersection.
|
|
@@ -195079,7 +195224,7 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195079
195224
|
* @param extendB flag for extension of geometryB.
|
|
195080
195225
|
* @param tolerance optional distance tolerance for coincidence.
|
|
195081
195226
|
*/
|
|
195082
|
-
constructor(worldToLocal, extendA, geometryB, extendB, tolerance =
|
|
195227
|
+
constructor(worldToLocal, extendA, geometryB, extendB, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance) {
|
|
195083
195228
|
super();
|
|
195084
195229
|
this._extendA = extendA;
|
|
195085
195230
|
this._geometryB = geometryB;
|
|
@@ -195091,7 +195236,7 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195091
195236
|
if (!this._worldToLocalAffine)
|
|
195092
195237
|
this._worldToLocalPerspective = worldToLocal.clone();
|
|
195093
195238
|
}
|
|
195094
|
-
this._coincidentGeometryContext =
|
|
195239
|
+
this._coincidentGeometryContext = _geometry3d_CoincidentGeometryOps__WEBPACK_IMPORTED_MODULE_3__.CoincidentGeometryQuery.create(tolerance);
|
|
195095
195240
|
this._results = [];
|
|
195096
195241
|
}
|
|
195097
195242
|
/** Reset the geometry, leaving all other parts unchanged (and preserving accumulated intersections). */
|
|
@@ -195106,12 +195251,12 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195106
195251
|
return true;
|
|
195107
195252
|
}
|
|
195108
195253
|
/** Test the fraction by strict parameter, but allow toleranced distance test at ends. */
|
|
195109
|
-
acceptFractionOnLine(extend0, fraction, extend1, pointA, pointB, tolerance =
|
|
195254
|
+
acceptFractionOnLine(extend0, fraction, extend1, pointA, pointB, tolerance = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.smallMetricDistance) {
|
|
195110
195255
|
if (!extend0 && fraction < 0) {
|
|
195111
|
-
return
|
|
195256
|
+
return _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isDistanceWithinTol(fraction * pointA.distanceXY(pointB), tolerance);
|
|
195112
195257
|
}
|
|
195113
195258
|
else if (!extend1 && fraction > 1.0)
|
|
195114
|
-
return
|
|
195259
|
+
return _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isDistanceWithinTol((fraction - 1.0) * pointA.distanceXY(pointB), tolerance);
|
|
195115
195260
|
return true;
|
|
195116
195261
|
}
|
|
195117
195262
|
/**
|
|
@@ -195144,14 +195289,14 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195144
195289
|
intervalDetails.detailA.hasFraction1 &&
|
|
195145
195290
|
intervalDetails.detailB.hasFraction1;
|
|
195146
195291
|
if (isInterval) {
|
|
195147
|
-
globalFractionA =
|
|
195148
|
-
globalFractionB =
|
|
195149
|
-
globalFractionA1 =
|
|
195150
|
-
globalFractionB1 =
|
|
195292
|
+
globalFractionA = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.interpolate(fractionA0, intervalDetails.detailA.fraction, fractionA1);
|
|
195293
|
+
globalFractionB = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.interpolate(fractionB0, intervalDetails.detailB.fraction, fractionB1);
|
|
195294
|
+
globalFractionA1 = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.interpolate(fractionA0, intervalDetails.detailA.fraction1, fractionA1);
|
|
195295
|
+
globalFractionB1 = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.interpolate(fractionB0, intervalDetails.detailB.fraction1, fractionB1);
|
|
195151
195296
|
}
|
|
195152
195297
|
else {
|
|
195153
|
-
globalFractionA = globalFractionA1 =
|
|
195154
|
-
globalFractionB = globalFractionB1 =
|
|
195298
|
+
globalFractionA = globalFractionA1 = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.interpolate(fractionA0, localFractionA, fractionA1);
|
|
195299
|
+
globalFractionB = globalFractionB1 = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.interpolate(fractionB0, localFractionB, fractionB1);
|
|
195155
195300
|
}
|
|
195156
195301
|
// ignore duplicate of most recent pair
|
|
195157
195302
|
const numPrevious = this._results.length;
|
|
@@ -195169,21 +195314,21 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195169
195314
|
return;
|
|
195170
195315
|
}
|
|
195171
195316
|
}
|
|
195172
|
-
const detailA =
|
|
195173
|
-
const detailB =
|
|
195317
|
+
const detailA = _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetail.createCurveFractionPoint(cpA, globalFractionA, cpA.fractionToPoint(globalFractionA));
|
|
195318
|
+
const detailB = _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetail.createCurveFractionPoint(cpB, globalFractionB, cpB.fractionToPoint(globalFractionB));
|
|
195174
195319
|
if (isInterval) {
|
|
195175
195320
|
detailA.captureFraction1Point1(globalFractionA1, cpA.fractionToPoint(globalFractionA1));
|
|
195176
195321
|
detailB.captureFraction1Point1(globalFractionB1, cpB.fractionToPoint(globalFractionB1));
|
|
195177
195322
|
}
|
|
195178
195323
|
else {
|
|
195179
|
-
detailA.setIntervalRole(
|
|
195180
|
-
detailB.setIntervalRole(
|
|
195324
|
+
detailA.setIntervalRole(_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveIntervalRole.isolated);
|
|
195325
|
+
detailB.setIntervalRole(_CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveIntervalRole.isolated);
|
|
195181
195326
|
}
|
|
195182
195327
|
if (reversed) {
|
|
195183
|
-
this._results.push(new
|
|
195328
|
+
this._results.push(new _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetailPair(detailB, detailA));
|
|
195184
195329
|
}
|
|
195185
195330
|
else {
|
|
195186
|
-
this._results.push(new
|
|
195331
|
+
this._results.push(new _CurveLocationDetail__WEBPACK_IMPORTED_MODULE_4__.CurveLocationDetailPair(detailA, detailB));
|
|
195187
195332
|
}
|
|
195188
195333
|
}
|
|
195189
195334
|
/**
|
|
@@ -195213,7 +195358,7 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195213
195358
|
this.recordPointWithLocalFractions(overlap.detailA.fraction, cpA, fractionA0, fractionA1, overlap.detailB.fraction, cpB, fractionB0, fractionB1, reversed, overlap);
|
|
195214
195359
|
}
|
|
195215
195360
|
}
|
|
195216
|
-
else if (
|
|
195361
|
+
else if (_numerics_Polynomials__WEBPACK_IMPORTED_MODULE_5__.SmallSystem.lineSegment3dXYTransverseIntersectionUnbounded(pointA0, pointA1, pointB0, pointB1, uv)) {
|
|
195217
195362
|
if (this.acceptFractionOnLine(extendA0, uv.x, extendA1, pointA0, pointA1, this._coincidentGeometryContext.tolerance) &&
|
|
195218
195363
|
this.acceptFractionOnLine(extendB0, uv.y, extendB1, pointB0, pointB1, this._coincidentGeometryContext.tolerance)) {
|
|
195219
195364
|
this.recordPointWithLocalFractions(uv.x, cpA, fractionA0, fractionA1, uv.y, cpB, fractionB0, fractionB1, reversed);
|
|
@@ -195233,7 +195378,7 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195233
195378
|
this._worldToLocalPerspective.multiplyPoint3d(pointA1, 1, hA1);
|
|
195234
195379
|
this._worldToLocalPerspective.multiplyPoint3d(pointB0, 1, hB0);
|
|
195235
195380
|
this._worldToLocalPerspective.multiplyPoint3d(pointB1, 1, hB1);
|
|
195236
|
-
const fractionAB =
|
|
195381
|
+
const fractionAB = _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_5__.SmallSystem.lineSegment3dHXYTransverseIntersectionUnbounded(hA0, hA1, hB0, hB1);
|
|
195237
195382
|
if (fractionAB !== undefined) {
|
|
195238
195383
|
const fractionA = fractionAB.x;
|
|
195239
195384
|
const fractionB = fractionAB.y;
|
|
@@ -195276,17 +195421,17 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195276
195421
|
const data = arc.toTransformedPoint4d(this._worldToLocalPerspective);
|
|
195277
195422
|
const pointA0H = this._worldToLocalPerspective.multiplyPoint3d(pointA0, 1);
|
|
195278
195423
|
const pointA1H = this._worldToLocalPerspective.multiplyPoint3d(pointA1, 1);
|
|
195279
|
-
const alpha =
|
|
195280
|
-
const beta =
|
|
195281
|
-
const gamma =
|
|
195282
|
-
const cosines = new
|
|
195283
|
-
const sines = new
|
|
195284
|
-
const radians = new
|
|
195285
|
-
const numRoots =
|
|
195424
|
+
const alpha = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.tripleProductPoint4dXYW(pointA0H, pointA1H, data.center);
|
|
195425
|
+
const beta = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.tripleProductPoint4dXYW(pointA0H, pointA1H, data.vector0);
|
|
195426
|
+
const gamma = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.tripleProductPoint4dXYW(pointA0H, pointA1H, data.vector90);
|
|
195427
|
+
const cosines = new _geometry3d_GrowableFloat64Array__WEBPACK_IMPORTED_MODULE_6__.GrowableFloat64Array(2);
|
|
195428
|
+
const sines = new _geometry3d_GrowableFloat64Array__WEBPACK_IMPORTED_MODULE_6__.GrowableFloat64Array(2);
|
|
195429
|
+
const radians = new _geometry3d_GrowableFloat64Array__WEBPACK_IMPORTED_MODULE_6__.GrowableFloat64Array(2);
|
|
195430
|
+
const numRoots = _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_5__.AnalyticRoots.appendImplicitLineUnitCircleIntersections(alpha, beta, gamma, cosines, sines, radians);
|
|
195286
195431
|
for (let i = 0; i < numRoots; i++) {
|
|
195287
195432
|
const arcPoint = data.center.plus2Scaled(data.vector0, cosines.atUncheckedIndex(i), data.vector90, sines.atUncheckedIndex(i));
|
|
195288
195433
|
const arcFraction = data.sweep.radiansToSignedPeriodicFraction(radians.atUncheckedIndex(i));
|
|
195289
|
-
const lineFraction =
|
|
195434
|
+
const lineFraction = _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_5__.SmallSystem.lineSegment3dHXYClosestPointUnbounded(pointA0H, pointA1H, arcPoint);
|
|
195290
195435
|
if (lineFraction !== undefined &&
|
|
195291
195436
|
this.acceptFraction(extendA0, lineFraction, extendA1) &&
|
|
195292
195437
|
this.acceptFraction(extendB0, arcFraction, extendB1)) {
|
|
@@ -195302,19 +195447,19 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195302
195447
|
pointA0Local = this._worldToLocalAffine.multiplyPoint3d(pointA0);
|
|
195303
195448
|
pointA1Local = this._worldToLocalAffine.multiplyPoint3d(pointA1);
|
|
195304
195449
|
}
|
|
195305
|
-
const alpha =
|
|
195306
|
-
const beta =
|
|
195307
|
-
const gamma =
|
|
195308
|
-
const cosines = new
|
|
195309
|
-
const sines = new
|
|
195310
|
-
const radians = new
|
|
195311
|
-
const numRoots =
|
|
195450
|
+
const alpha = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.tripleProductXYW(pointA0Local, 1, pointA1Local, 1, data.center, 1);
|
|
195451
|
+
const beta = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.tripleProductXYW(pointA0Local, 1, pointA1Local, 1, data.vector0, 0);
|
|
195452
|
+
const gamma = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.tripleProductXYW(pointA0Local, 1, pointA1Local, 1, data.vector90, 0);
|
|
195453
|
+
const cosines = new _geometry3d_GrowableFloat64Array__WEBPACK_IMPORTED_MODULE_6__.GrowableFloat64Array(2);
|
|
195454
|
+
const sines = new _geometry3d_GrowableFloat64Array__WEBPACK_IMPORTED_MODULE_6__.GrowableFloat64Array(2);
|
|
195455
|
+
const radians = new _geometry3d_GrowableFloat64Array__WEBPACK_IMPORTED_MODULE_6__.GrowableFloat64Array(2);
|
|
195456
|
+
const numRoots = _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_5__.AnalyticRoots.appendImplicitLineUnitCircleIntersections(alpha, beta, gamma, cosines, sines, radians);
|
|
195312
195457
|
const lineFractionTol = 1.0e-10;
|
|
195313
195458
|
const arcFractionTol = 1.0e-7;
|
|
195314
195459
|
for (let i = 0; i < numRoots; i++) {
|
|
195315
195460
|
const arcPoint = data.center.plus2Scaled(data.vector0, cosines.atUncheckedIndex(i), data.vector90, sines.atUncheckedIndex(i));
|
|
195316
195461
|
const arcFraction = data.sweep.radiansToSignedPeriodicFraction(radians.atUncheckedIndex(i));
|
|
195317
|
-
const lineFraction =
|
|
195462
|
+
const lineFraction = _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_5__.SmallSystem.lineSegment3dXYClosestPointUnbounded(pointA0Local, pointA1Local, arcPoint);
|
|
195318
195463
|
if (lineFraction !== undefined &&
|
|
195319
195464
|
this.acceptFraction(extendA0, lineFraction, extendA1, lineFractionTol) &&
|
|
195320
195465
|
this.acceptFraction(extendB0, arcFraction, extendB1, arcFractionTol)) {
|
|
@@ -195323,65 +195468,66 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195323
195468
|
}
|
|
195324
195469
|
}
|
|
195325
195470
|
}
|
|
195326
|
-
|
|
195327
|
-
|
|
195328
|
-
|
|
195329
|
-
|
|
195330
|
-
|
|
195331
|
-
|
|
195332
|
-
extendB, reversed) {
|
|
195471
|
+
/**
|
|
195472
|
+
* Compute the intersection of two xy-arcs.
|
|
195473
|
+
* * Each matrix has [U V C] in (x,y,w) form from homogeneous projection (local to world).
|
|
195474
|
+
* * Arcs are ordered so that matrixA is better conditioned.
|
|
195475
|
+
*/
|
|
195476
|
+
dispatchArcArcThisOrder(cpA, // arc closer to being circular
|
|
195477
|
+
matrixA, extendA, cpB, matrixB, extendB, reversed) {
|
|
195478
|
+
// inverseA transforms arcA to its local coordinates, where it is the unit xy-circle.
|
|
195333
195479
|
const inverseA = matrixA.inverse();
|
|
195334
195480
|
if (inverseA) {
|
|
195335
|
-
|
|
195481
|
+
// localB defines the arc formed by transforming arcB into the local coordinates of arcA
|
|
195482
|
+
const localB = inverseA.multiplyMatrixMatrix(matrixB);
|
|
195336
195483
|
const ellipseRadians = [];
|
|
195337
195484
|
const circleRadians = [];
|
|
195338
|
-
|
|
195485
|
+
// find the intersection of the transformed arcs
|
|
195486
|
+
_numerics_Polynomials__WEBPACK_IMPORTED_MODULE_5__.TrigPolynomial.solveUnitCircleHomogeneousEllipseIntersection(localB.coffs[2], localB.coffs[5], localB.coffs[8], // center xyw
|
|
195339
195487
|
localB.coffs[0], localB.coffs[3], localB.coffs[6], // vector0 xyw
|
|
195340
195488
|
localB.coffs[1], localB.coffs[4], localB.coffs[7], // vector90 xyw
|
|
195341
195489
|
ellipseRadians, circleRadians);
|
|
195490
|
+
// the intersections are transform-invariant, so the solution angles apply directly to the input arcs
|
|
195342
195491
|
for (let i = 0; i < ellipseRadians.length; i++) {
|
|
195343
195492
|
const fractionA = cpA.sweep.radiansToSignedPeriodicFraction(circleRadians[i]);
|
|
195344
195493
|
const fractionB = cpB.sweep.radiansToSignedPeriodicFraction(ellipseRadians[i]);
|
|
195345
|
-
// hm .. do we really need to check the fractions? We know they are internal to the beziers
|
|
195346
195494
|
if (this.acceptFraction(extendA, fractionA, extendA) && this.acceptFraction(extendB, fractionB, extendB)) {
|
|
195347
195495
|
this.recordPointWithLocalFractions(fractionA, cpA, 0, 1, fractionB, cpB, 0, 1, reversed);
|
|
195348
195496
|
}
|
|
195349
195497
|
}
|
|
195350
195498
|
}
|
|
195351
195499
|
}
|
|
195352
|
-
|
|
195353
|
-
|
|
195354
|
-
|
|
195500
|
+
/**
|
|
195501
|
+
* We have 2 xy-arcs.
|
|
195502
|
+
* 1- We pick the arc that is closest to circular (larger condition number is closer to circular).
|
|
195503
|
+
* 2- Transform it to local coords, where it becomes the unit xy-circle.
|
|
195504
|
+
* 3- Use the same map to transform the other arc.
|
|
195505
|
+
* 4- Find the intersection of arc and unit circle.
|
|
195506
|
+
* 5- Convert intersection angles to fractions and record intersections.
|
|
195507
|
+
*/
|
|
195355
195508
|
dispatchArcArc(cpA, extendA, cpB, extendB, reversed) {
|
|
195356
|
-
// Arc: X = C + cU + sV
|
|
195357
|
-
// Line: contains points A0,A1
|
|
195358
|
-
// Arc point colinear with line if det (A0, A1, X) = 0
|
|
195359
|
-
// with homogeneous xyw points and vectors.
|
|
195360
|
-
// With equational X: det (A0, A1, C) + c det (A0, A1, U) + s det (A0, A1, V) = 0.
|
|
195361
|
-
// solve for theta.
|
|
195362
|
-
// evaluate points.
|
|
195363
|
-
// project back to line.
|
|
195364
195509
|
let matrixA;
|
|
195365
195510
|
let matrixB;
|
|
195366
195511
|
if (this._worldToLocalPerspective) {
|
|
195367
195512
|
const dataA = cpA.toTransformedPoint4d(this._worldToLocalPerspective);
|
|
195368
195513
|
const dataB = cpB.toTransformedPoint4d(this._worldToLocalPerspective);
|
|
195369
|
-
matrixA =
|
|
195370
|
-
matrixB =
|
|
195514
|
+
matrixA = _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_7__.Matrix3d.createColumnsXYW(dataA.vector0, dataA.vector0.w, dataA.vector90, dataA.vector90.w, dataA.center, dataA.center.w);
|
|
195515
|
+
matrixB = _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_7__.Matrix3d.createColumnsXYW(dataB.vector0, dataB.vector0.w, dataB.vector90, dataA.vector90.w, dataB.center, dataB.center.w);
|
|
195371
195516
|
}
|
|
195372
195517
|
else {
|
|
195373
195518
|
const dataA = cpA.toTransformedVectors(this._worldToLocalAffine);
|
|
195374
195519
|
const dataB = cpB.toTransformedVectors(this._worldToLocalAffine);
|
|
195375
|
-
matrixA =
|
|
195376
|
-
matrixB =
|
|
195520
|
+
matrixA = _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_7__.Matrix3d.createColumnsXYW(dataA.vector0, 0, dataA.vector90, 0, dataA.center, 1);
|
|
195521
|
+
matrixB = _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_7__.Matrix3d.createColumnsXYW(dataB.vector0, 0, dataB.vector90, 0, dataB.center, 1);
|
|
195377
195522
|
}
|
|
195378
195523
|
const conditionA = matrixA.conditionNumber();
|
|
195379
195524
|
const conditionB = matrixB.conditionNumber();
|
|
195525
|
+
// pick the arc that is closest to circular.
|
|
195380
195526
|
if (conditionA > conditionB)
|
|
195381
195527
|
this.dispatchArcArcThisOrder(cpA, matrixA, extendA, cpB, matrixB, extendB, reversed);
|
|
195382
195528
|
else
|
|
195383
195529
|
this.dispatchArcArcThisOrder(cpB, matrixB, extendB, cpA, matrixA, extendA, !reversed);
|
|
195384
|
-
// overlap handling
|
|
195530
|
+
// overlap handling. perspective is not handled.
|
|
195385
195531
|
if (!this._coincidentGeometryContext) {
|
|
195386
195532
|
// do nothing
|
|
195387
195533
|
}
|
|
@@ -195403,11 +195549,11 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195403
195549
|
let matrixA;
|
|
195404
195550
|
if (this._worldToLocalPerspective) {
|
|
195405
195551
|
const dataA = cpA.toTransformedPoint4d(this._worldToLocalPerspective);
|
|
195406
|
-
matrixA =
|
|
195552
|
+
matrixA = _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_7__.Matrix3d.createColumnsXYW(dataA.vector0, dataA.vector0.w, dataA.vector90, dataA.vector90.w, dataA.center, dataA.center.w);
|
|
195407
195553
|
}
|
|
195408
195554
|
else {
|
|
195409
195555
|
const dataA = cpA.toTransformedVectors(this._worldToLocalAffine);
|
|
195410
|
-
matrixA =
|
|
195556
|
+
matrixA = _geometry3d_Matrix3d__WEBPACK_IMPORTED_MODULE_7__.Matrix3d.createColumnsXYW(dataA.vector0, 0, dataA.vector90, 0, dataA.center, 1);
|
|
195411
195557
|
}
|
|
195412
195558
|
// The worldToLocal has moved the arc vectors into local space.
|
|
195413
195559
|
// matrixA captures the xyw parts (ignoring z)
|
|
@@ -195418,7 +195564,7 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195418
195564
|
const orderF = cpB.order; // order of the beziers for simple coordinates
|
|
195419
195565
|
const orderG = 2 * orderF - 1; // order of the (single) bezier for squared coordinates.
|
|
195420
195566
|
const coffF = new Float64Array(orderF);
|
|
195421
|
-
const univariateBezierG = new
|
|
195567
|
+
const univariateBezierG = new _numerics_BezierPolynomials__WEBPACK_IMPORTED_MODULE_8__.UnivariateBezier(orderG);
|
|
195422
195568
|
const axx = matrixAInverse.at(0, 0);
|
|
195423
195569
|
const axy = matrixAInverse.at(0, 1);
|
|
195424
195570
|
const axz = 0.0;
|
|
@@ -195489,13 +195635,13 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195489
195635
|
dispatchBezierBezierStrokeFirst(bezierA, bcurveA, strokeCountA, bezierB, bcurveB, _strokeCountB, univariateBezierB, // caller-allocated for univariate coefficients.
|
|
195490
195636
|
reversed) {
|
|
195491
195637
|
if (!this._xyzwA0)
|
|
195492
|
-
this._xyzwA0 =
|
|
195638
|
+
this._xyzwA0 = _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_9__.Point4d.create();
|
|
195493
195639
|
if (!this._xyzwA1)
|
|
195494
|
-
this._xyzwA1 =
|
|
195640
|
+
this._xyzwA1 = _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_9__.Point4d.create();
|
|
195495
195641
|
if (!this._xyzwPlane)
|
|
195496
|
-
this._xyzwPlane =
|
|
195642
|
+
this._xyzwPlane = _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_9__.Point4d.create();
|
|
195497
195643
|
if (!this._xyzwB)
|
|
195498
|
-
this._xyzwB =
|
|
195644
|
+
this._xyzwB = _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_9__.Point4d.create();
|
|
195499
195645
|
/*
|
|
195500
195646
|
const roots = univariateBezierG.roots(0.0, true);
|
|
195501
195647
|
if (roots) {
|
|
@@ -195521,7 +195667,7 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195521
195667
|
for (let i = 1; i <= strokeCountA; i++, f0 = f1, this._xyzwA0.setFrom(this._xyzwA1)) {
|
|
195522
195668
|
f1 = i * df;
|
|
195523
195669
|
bezierA.fractionToPoint4d(f1, this._xyzwA1);
|
|
195524
|
-
|
|
195670
|
+
_geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_9__.Point4d.createPlanePointPointZ(this._xyzwA0, this._xyzwA1, this._xyzwPlane);
|
|
195525
195671
|
bezierB.poleProductsXYZW(univariateBezierB.coffs, this._xyzwPlane.x, this._xyzwPlane.y, this._xyzwPlane.z, this._xyzwPlane.w);
|
|
195526
195672
|
let errors = 0;
|
|
195527
195673
|
const roots = univariateBezierB.roots(0.0, true);
|
|
@@ -195529,35 +195675,22 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195529
195675
|
for (const r of roots) {
|
|
195530
195676
|
let bezierBFraction = r;
|
|
195531
195677
|
bezierB.fractionToPoint4d(bezierBFraction, this._xyzwB);
|
|
195532
|
-
const segmentAFraction =
|
|
195533
|
-
if (segmentAFraction &&
|
|
195534
|
-
let bezierAFraction =
|
|
195535
|
-
|
|
195536
|
-
|
|
195678
|
+
const segmentAFraction = _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_5__.SmallSystem.lineSegment3dHXYClosestPointUnbounded(this._xyzwA0, this._xyzwA1, this._xyzwB);
|
|
195679
|
+
if (segmentAFraction && _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.isIn01WithTolerance(segmentAFraction, intervalTolerance)) {
|
|
195680
|
+
let bezierAFraction = _Geometry__WEBPACK_IMPORTED_MODULE_2__.Geometry.interpolate(f0, segmentAFraction, f1);
|
|
195681
|
+
// We have a near intersection at fractions on the two beziers
|
|
195682
|
+
// Iterate on the curves for a true intersection
|
|
195683
|
+
const xyMatchingFunction = new _numerics_Newton__WEBPACK_IMPORTED_MODULE_10__.CurveCurveIntersectionXYRRToRRD(bezierA, bezierB);
|
|
195684
|
+
const newtonSearcher = new _numerics_Newton__WEBPACK_IMPORTED_MODULE_10__.Newton2dUnboundedWithDerivative(xyMatchingFunction);
|
|
195537
195685
|
newtonSearcher.setUV(bezierAFraction, bezierBFraction);
|
|
195538
195686
|
if (newtonSearcher.runIterations()) {
|
|
195539
195687
|
bezierAFraction = newtonSearcher.getU();
|
|
195540
195688
|
bezierBFraction = newtonSearcher.getV();
|
|
195541
195689
|
}
|
|
195542
|
-
// We have a near intersection at fractions on the two beziers !!!
|
|
195543
|
-
// Iterate on the curves for a true intersection ....
|
|
195544
|
-
// NEEDS WORK -- just accept . . .
|
|
195545
195690
|
const bcurveAFraction = bezierA.fractionToParentFraction(bezierAFraction);
|
|
195546
195691
|
const bcurveBFraction = bezierB.fractionToParentFraction(bezierBFraction);
|
|
195547
|
-
|
|
195548
|
-
|
|
195549
|
-
const xyzB0 = bezierB.fractionToPoint(bezierBFraction);
|
|
195550
|
-
const xyzB1 = bcurveB.fractionToPoint(bcurveBFraction);
|
|
195551
|
-
if (!xyzA0.isAlmostEqualXY(xyzA1))
|
|
195552
|
-
errors++;
|
|
195553
|
-
if (!xyzB0.isAlmostEqualXY(xyzB1))
|
|
195554
|
-
errors++;
|
|
195555
|
-
if (errors > 0 && !xyzA0.isAlmostEqual(xyzB0))
|
|
195556
|
-
errors++;
|
|
195557
|
-
if (errors > 0 && !xyzA1.isAlmostEqual(xyzB1))
|
|
195558
|
-
errors++;
|
|
195559
|
-
if (this.acceptFraction(false, bcurveAFraction, false) &&
|
|
195560
|
-
this.acceptFraction(false, bcurveBFraction, false)) {
|
|
195692
|
+
if (false) {}
|
|
195693
|
+
if (this.acceptFraction(false, bcurveAFraction, false) && this.acceptFraction(false, bcurveBFraction, false)) {
|
|
195561
195694
|
this.recordPointWithLocalFractions(bcurveAFraction, bcurveA, 0, 1, bcurveBFraction, bcurveB, 0, 1, reversed);
|
|
195562
195695
|
}
|
|
195563
195696
|
}
|
|
@@ -195576,8 +195709,8 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195576
195709
|
const rangeB = this.getRanges(bezierSpanB);
|
|
195577
195710
|
const orderA = bcurveA.order;
|
|
195578
195711
|
const orderB = bcurveB.order;
|
|
195579
|
-
const univariateCoffsA = new
|
|
195580
|
-
const univariateCoffsB = new
|
|
195712
|
+
const univariateCoffsA = new _numerics_BezierPolynomials__WEBPACK_IMPORTED_MODULE_8__.UnivariateBezier(orderA);
|
|
195713
|
+
const univariateCoffsB = new _numerics_BezierPolynomials__WEBPACK_IMPORTED_MODULE_8__.UnivariateBezier(orderB);
|
|
195581
195714
|
for (let a = 0; a < numA; a++) {
|
|
195582
195715
|
for (let b = 0; b < numB; b++) {
|
|
195583
195716
|
if (rangeA[a].intersectsRangeXY(rangeB[b])) {
|
|
@@ -195601,7 +195734,7 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195601
195734
|
return this._worldToLocalPerspective.multiplyPoint3d(xyz, w);
|
|
195602
195735
|
if (this._worldToLocalAffine)
|
|
195603
195736
|
return this._worldToLocalAffine.multiplyXYZW(xyz.x, xyz.y, xyz.z, w);
|
|
195604
|
-
return
|
|
195737
|
+
return _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_9__.Point4d.createFromPointAndWeight(xyz, w);
|
|
195605
195738
|
}
|
|
195606
195739
|
mapNPCPlaneToWorld(npcPlane, worldPlane) {
|
|
195607
195740
|
// for NPC pointY, Y^ * H = 0 is "on" plane H. (Hat is transpose)
|
|
@@ -195625,7 +195758,7 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195625
195758
|
dispatchSegmentBsplineCurve(cpA, extendA0, pointA0, fractionA0, pointA1, fractionA1, extendA1, bcurve, extendB, reversed) {
|
|
195626
195759
|
const pointA0H = this.projectPoint(pointA0);
|
|
195627
195760
|
const pointA1H = this.projectPoint(pointA1);
|
|
195628
|
-
const planeCoffs =
|
|
195761
|
+
const planeCoffs = _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_9__.Point4d.createPlanePointPointZ(pointA0H, pointA1H);
|
|
195629
195762
|
this.mapNPCPlaneToWorld(planeCoffs, planeCoffs);
|
|
195630
195763
|
// NOW .. we have a plane in world space. Intersect it with the bspline:
|
|
195631
195764
|
const intersections = [];
|
|
@@ -195637,7 +195770,7 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195637
195770
|
const fractionB = detail.fraction;
|
|
195638
195771
|
const curvePoint = detail.point;
|
|
195639
195772
|
const curvePointH = this.projectPoint(curvePoint);
|
|
195640
|
-
const lineFraction =
|
|
195773
|
+
const lineFraction = _numerics_Polynomials__WEBPACK_IMPORTED_MODULE_5__.SmallSystem.lineSegment3dHXYClosestPointUnbounded(pointA0H, pointA1H, curvePointH);
|
|
195641
195774
|
if (lineFraction !== undefined) {
|
|
195642
195775
|
if (this.acceptFraction(extendA0, lineFraction, extendA1) && this.acceptFraction(extendB, fractionB, extendB)) {
|
|
195643
195776
|
this.recordPointWithLocalFractions(lineFraction, cpA, fractionA0, fractionA1, fractionB, bcurve, 0, 1, reversed);
|
|
@@ -195745,7 +195878,7 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195745
195878
|
/** Low level dispatch of curve collection. */
|
|
195746
195879
|
dispatchCurveCollection(geomA, geomAHandler) {
|
|
195747
195880
|
const geomB = this._geometryB; // save
|
|
195748
|
-
if (!geomB || !geomB.children || !(geomB instanceof
|
|
195881
|
+
if (!geomB || !geomB.children || !(geomB instanceof _CurveCollection__WEBPACK_IMPORTED_MODULE_11__.CurveCollection))
|
|
195749
195882
|
return;
|
|
195750
195883
|
for (const child of geomB.children) {
|
|
195751
195884
|
this.resetGeometry(child);
|
|
@@ -195753,11 +195886,11 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195753
195886
|
}
|
|
195754
195887
|
this._geometryB = geomB; // restore
|
|
195755
195888
|
}
|
|
195756
|
-
/** Low level dispatch
|
|
195889
|
+
/** Low level dispatch of CurveChainWithDistanceIndex. */
|
|
195757
195890
|
dispatchCurveChainWithDistanceIndex(geomA, geomAHandler) {
|
|
195758
|
-
if (!this._geometryB || !(this._geometryB instanceof
|
|
195891
|
+
if (!this._geometryB || !(this._geometryB instanceof _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_12__.CurveChainWithDistanceIndex))
|
|
195759
195892
|
return;
|
|
195760
|
-
if (geomA instanceof
|
|
195893
|
+
if (geomA instanceof _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_12__.CurveChainWithDistanceIndex) {
|
|
195761
195894
|
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(!!"call handleCurveChainWithDistanceIndex(geomA) instead");
|
|
195762
195895
|
return;
|
|
195763
195896
|
}
|
|
@@ -195768,94 +195901,94 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195768
195901
|
geomAHandler(geomA);
|
|
195769
195902
|
}
|
|
195770
195903
|
this.resetGeometry(geomB); // restore
|
|
195771
|
-
this._results =
|
|
195904
|
+
this._results = _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_12__.CurveChainWithDistanceIndex.convertChildDetailToChainDetail(this._results, index0, undefined, geomB, true);
|
|
195772
195905
|
}
|
|
195773
195906
|
/** Double dispatch handler for strongly typed segment. */
|
|
195774
195907
|
handleLineSegment3d(segmentA) {
|
|
195775
|
-
if (this._geometryB instanceof
|
|
195908
|
+
if (this._geometryB instanceof _LineSegment3d__WEBPACK_IMPORTED_MODULE_13__.LineSegment3d) {
|
|
195776
195909
|
const segmentB = this._geometryB;
|
|
195777
195910
|
this.dispatchSegmentSegment(segmentA, this._extendA, segmentA.point0Ref, 0.0, segmentA.point1Ref, 1.0, this._extendA, segmentB, this._extendB, segmentB.point0Ref, 0.0, segmentB.point1Ref, 1.0, this._extendB, false);
|
|
195778
195911
|
}
|
|
195779
|
-
else if (this._geometryB instanceof
|
|
195912
|
+
else if (this._geometryB instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_14__.LineString3d) {
|
|
195780
195913
|
this.computeSegmentLineString(segmentA, this._extendA, this._geometryB, this._extendB, false);
|
|
195781
195914
|
}
|
|
195782
|
-
else if (this._geometryB instanceof
|
|
195915
|
+
else if (this._geometryB instanceof _Arc3d__WEBPACK_IMPORTED_MODULE_15__.Arc3d) {
|
|
195783
195916
|
this.dispatchSegmentArc(segmentA, this._extendA, segmentA.point0Ref, 0.0, segmentA.point1Ref, 1.0, this._extendA, this._geometryB, this._extendB, this._extendB, false);
|
|
195784
195917
|
}
|
|
195785
|
-
else if (this._geometryB instanceof
|
|
195918
|
+
else if (this._geometryB instanceof _bspline_BSplineCurve__WEBPACK_IMPORTED_MODULE_16__.BSplineCurve3d) {
|
|
195786
195919
|
this.dispatchSegmentBsplineCurve(segmentA, this._extendA, segmentA.point0Ref, 0.0, segmentA.point1Ref, 1.0, this._extendA, this._geometryB, this._extendB, false);
|
|
195787
195920
|
}
|
|
195788
|
-
else if (this._geometryB instanceof
|
|
195921
|
+
else if (this._geometryB instanceof _CurveCollection__WEBPACK_IMPORTED_MODULE_11__.CurveCollection) {
|
|
195789
195922
|
this.dispatchCurveCollection(segmentA, this.handleLineSegment3d.bind(this));
|
|
195790
195923
|
}
|
|
195791
|
-
else if (this._geometryB instanceof
|
|
195924
|
+
else if (this._geometryB instanceof _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_12__.CurveChainWithDistanceIndex) {
|
|
195792
195925
|
this.dispatchCurveChainWithDistanceIndex(segmentA, this.handleLineSegment3d.bind(this));
|
|
195793
195926
|
}
|
|
195794
195927
|
return undefined;
|
|
195795
195928
|
}
|
|
195796
195929
|
/** Double dispatch handler for strongly typed linestring. */
|
|
195797
195930
|
handleLineString3d(lsA) {
|
|
195798
|
-
if (this._geometryB instanceof
|
|
195931
|
+
if (this._geometryB instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_14__.LineString3d) {
|
|
195799
195932
|
const lsB = this._geometryB;
|
|
195800
195933
|
this.computeLineStringLineString(lsA, lsB, false);
|
|
195801
195934
|
}
|
|
195802
|
-
else if (this._geometryB instanceof
|
|
195935
|
+
else if (this._geometryB instanceof _LineSegment3d__WEBPACK_IMPORTED_MODULE_13__.LineSegment3d) {
|
|
195803
195936
|
this.computeSegmentLineString(this._geometryB, this._extendB, lsA, this._extendA, true);
|
|
195804
195937
|
}
|
|
195805
|
-
else if (this._geometryB instanceof
|
|
195938
|
+
else if (this._geometryB instanceof _Arc3d__WEBPACK_IMPORTED_MODULE_15__.Arc3d) {
|
|
195806
195939
|
this.computeArcLineString(this._geometryB, this._extendB, lsA, this._extendA, true);
|
|
195807
195940
|
}
|
|
195808
|
-
else if (this._geometryB instanceof
|
|
195941
|
+
else if (this._geometryB instanceof _bspline_BSplineCurve__WEBPACK_IMPORTED_MODULE_16__.BSplineCurve3d) {
|
|
195809
195942
|
this.dispatchLineStringBSplineCurve(lsA, this._extendA, this._geometryB, this._extendB, false);
|
|
195810
195943
|
}
|
|
195811
|
-
else if (this._geometryB instanceof
|
|
195944
|
+
else if (this._geometryB instanceof _CurveCollection__WEBPACK_IMPORTED_MODULE_11__.CurveCollection) {
|
|
195812
195945
|
this.dispatchCurveCollection(lsA, this.handleLineString3d.bind(this));
|
|
195813
195946
|
}
|
|
195814
|
-
else if (this._geometryB instanceof
|
|
195947
|
+
else if (this._geometryB instanceof _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_12__.CurveChainWithDistanceIndex) {
|
|
195815
195948
|
this.dispatchCurveChainWithDistanceIndex(lsA, this.handleLineString3d.bind(this));
|
|
195816
195949
|
}
|
|
195817
195950
|
return undefined;
|
|
195818
195951
|
}
|
|
195819
195952
|
/** Double dispatch handler for strongly typed arc. */
|
|
195820
195953
|
handleArc3d(arc0) {
|
|
195821
|
-
if (this._geometryB instanceof
|
|
195954
|
+
if (this._geometryB instanceof _LineSegment3d__WEBPACK_IMPORTED_MODULE_13__.LineSegment3d) {
|
|
195822
195955
|
this.dispatchSegmentArc(this._geometryB, this._extendB, this._geometryB.point0Ref, 0.0, this._geometryB.point1Ref, 1.0, this._extendB, arc0, this._extendA, this._extendA, true);
|
|
195823
195956
|
}
|
|
195824
|
-
else if (this._geometryB instanceof
|
|
195957
|
+
else if (this._geometryB instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_14__.LineString3d) {
|
|
195825
195958
|
this.computeArcLineString(arc0, this._extendA, this._geometryB, this._extendB, false);
|
|
195826
195959
|
}
|
|
195827
|
-
else if (this._geometryB instanceof
|
|
195960
|
+
else if (this._geometryB instanceof _Arc3d__WEBPACK_IMPORTED_MODULE_15__.Arc3d) {
|
|
195828
195961
|
this.dispatchArcArc(arc0, this._extendA, this._geometryB, this._extendB, false);
|
|
195829
195962
|
}
|
|
195830
|
-
else if (this._geometryB instanceof
|
|
195963
|
+
else if (this._geometryB instanceof _bspline_BSplineCurve__WEBPACK_IMPORTED_MODULE_16__.BSplineCurve3d) {
|
|
195831
195964
|
this.dispatchArcBsplineCurve3d(arc0, this._extendA, this._geometryB, this._extendB, false);
|
|
195832
195965
|
}
|
|
195833
|
-
else if (this._geometryB instanceof
|
|
195966
|
+
else if (this._geometryB instanceof _CurveCollection__WEBPACK_IMPORTED_MODULE_11__.CurveCollection) {
|
|
195834
195967
|
this.dispatchCurveCollection(arc0, this.handleArc3d.bind(this));
|
|
195835
195968
|
}
|
|
195836
|
-
else if (this._geometryB instanceof
|
|
195969
|
+
else if (this._geometryB instanceof _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_12__.CurveChainWithDistanceIndex) {
|
|
195837
195970
|
this.dispatchCurveChainWithDistanceIndex(arc0, this.handleArc3d.bind(this));
|
|
195838
195971
|
}
|
|
195839
195972
|
return undefined;
|
|
195840
195973
|
}
|
|
195841
195974
|
/** Double dispatch handler for strongly typed bspline curve. */
|
|
195842
195975
|
handleBSplineCurve3d(curve) {
|
|
195843
|
-
if (this._geometryB instanceof
|
|
195976
|
+
if (this._geometryB instanceof _LineSegment3d__WEBPACK_IMPORTED_MODULE_13__.LineSegment3d) {
|
|
195844
195977
|
this.dispatchSegmentBsplineCurve(this._geometryB, this._extendB, this._geometryB.point0Ref, 0.0, this._geometryB.point1Ref, 1.0, this._extendB, curve, this._extendA, true);
|
|
195845
195978
|
}
|
|
195846
|
-
else if (this._geometryB instanceof
|
|
195979
|
+
else if (this._geometryB instanceof _LineString3d__WEBPACK_IMPORTED_MODULE_14__.LineString3d) {
|
|
195847
195980
|
this.dispatchLineStringBSplineCurve(this._geometryB, this._extendB, curve, this._extendA, true);
|
|
195848
195981
|
}
|
|
195849
|
-
else if (this._geometryB instanceof
|
|
195982
|
+
else if (this._geometryB instanceof _Arc3d__WEBPACK_IMPORTED_MODULE_15__.Arc3d) {
|
|
195850
195983
|
this.dispatchArcBsplineCurve3d(this._geometryB, this._extendB, curve, this._extendA, true);
|
|
195851
195984
|
}
|
|
195852
|
-
else if (this._geometryB instanceof
|
|
195985
|
+
else if (this._geometryB instanceof _bspline_BSplineCurve__WEBPACK_IMPORTED_MODULE_16__.BSplineCurve3dBase) {
|
|
195853
195986
|
this.dispatchBSplineCurve3dBSplineCurve3d(curve, this._geometryB, false);
|
|
195854
195987
|
}
|
|
195855
|
-
else if (this._geometryB instanceof
|
|
195988
|
+
else if (this._geometryB instanceof _CurveCollection__WEBPACK_IMPORTED_MODULE_11__.CurveCollection) {
|
|
195856
195989
|
this.dispatchCurveCollection(curve, this.handleBSplineCurve3d.bind(this));
|
|
195857
195990
|
}
|
|
195858
|
-
else if (this._geometryB instanceof
|
|
195991
|
+
else if (this._geometryB instanceof _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_12__.CurveChainWithDistanceIndex) {
|
|
195859
195992
|
this.dispatchCurveChainWithDistanceIndex(curve, this.handleBSplineCurve3d.bind(this));
|
|
195860
195993
|
}
|
|
195861
195994
|
return undefined;
|
|
@@ -195864,7 +195997,7 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195864
195997
|
handleCurveChainWithDistanceIndex(chain) {
|
|
195865
195998
|
super.handleCurveChainWithDistanceIndex(chain);
|
|
195866
195999
|
// if _geometryB is also a CurveChainWithDistanceIndex, it will already have been converted by dispatchCurveChainWithDistanceIndex
|
|
195867
|
-
this._results =
|
|
196000
|
+
this._results = _CurveChainWithDistanceIndex__WEBPACK_IMPORTED_MODULE_12__.CurveChainWithDistanceIndex.convertChildDetailToChainDetail(this._results, 0, chain, undefined, true);
|
|
195868
196001
|
}
|
|
195869
196002
|
/** Double dispatch handler for strongly typed homogeneous bspline curve .. */
|
|
195870
196003
|
handleBSplineCurve3dH(_curve) {
|
|
@@ -195884,19 +196017,19 @@ class CurveCurveIntersectXY extends _geometry3d_GeometryHandler__WEBPACK_IMPORTE
|
|
|
195884
196017
|
return undefined;
|
|
195885
196018
|
}
|
|
195886
196019
|
}
|
|
195887
|
-
CurveCurveIntersectXY._workVector2dA =
|
|
195888
|
-
CurveCurveIntersectXY._workPointA0H =
|
|
195889
|
-
CurveCurveIntersectXY._workPointA1H =
|
|
195890
|
-
CurveCurveIntersectXY._workPointB0H =
|
|
195891
|
-
CurveCurveIntersectXY._workPointB1H =
|
|
195892
|
-
CurveCurveIntersectXY._workPointAA0 =
|
|
195893
|
-
CurveCurveIntersectXY._workPointAA1 =
|
|
195894
|
-
CurveCurveIntersectXY._workPointBB0 =
|
|
195895
|
-
CurveCurveIntersectXY._workPointBB1 =
|
|
195896
|
-
CurveCurveIntersectXY._workPointA0 =
|
|
195897
|
-
CurveCurveIntersectXY._workPointA1 =
|
|
195898
|
-
CurveCurveIntersectXY._workPointB0 =
|
|
195899
|
-
CurveCurveIntersectXY._workPointB1 =
|
|
196020
|
+
CurveCurveIntersectXY._workVector2dA = _geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_17__.Vector2d.create();
|
|
196021
|
+
CurveCurveIntersectXY._workPointA0H = _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_9__.Point4d.create();
|
|
196022
|
+
CurveCurveIntersectXY._workPointA1H = _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_9__.Point4d.create();
|
|
196023
|
+
CurveCurveIntersectXY._workPointB0H = _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_9__.Point4d.create();
|
|
196024
|
+
CurveCurveIntersectXY._workPointB1H = _geometry4d_Point4d__WEBPACK_IMPORTED_MODULE_9__.Point4d.create();
|
|
196025
|
+
CurveCurveIntersectXY._workPointAA0 = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_18__.Point3d.create();
|
|
196026
|
+
CurveCurveIntersectXY._workPointAA1 = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_18__.Point3d.create();
|
|
196027
|
+
CurveCurveIntersectXY._workPointBB0 = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_18__.Point3d.create();
|
|
196028
|
+
CurveCurveIntersectXY._workPointBB1 = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_18__.Point3d.create();
|
|
196029
|
+
CurveCurveIntersectXY._workPointA0 = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_18__.Point3d.create();
|
|
196030
|
+
CurveCurveIntersectXY._workPointA1 = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_18__.Point3d.create();
|
|
196031
|
+
CurveCurveIntersectXY._workPointB0 = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_18__.Point3d.create();
|
|
196032
|
+
CurveCurveIntersectXY._workPointB1 = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_18__.Point3d.create();
|
|
195900
196033
|
|
|
195901
196034
|
|
|
195902
196035
|
|
|
@@ -196075,11 +196208,12 @@ class CurveCurveIntersectXYZ extends _geometry3d_GeometryHandler__WEBPACK_IMPORT
|
|
|
196075
196208
|
return undefined;
|
|
196076
196209
|
}
|
|
196077
196210
|
// Caller accesses data from a linestring or segment and passes it here.
|
|
196078
|
-
// The line
|
|
196211
|
+
// The line in question might be (a) a full line segment or (b) a fragment within a linestring.
|
|
196079
196212
|
// The fraction and extend parameters allow all combinations to be passed in.
|
|
196080
196213
|
dispatchSegmentArc(cpA, extendA0, pointA0, fractionA0, pointA1, fractionA1, extendA1, arc, extendB0, extendB1, reversed) {
|
|
196081
196214
|
const lineVector = _geometry3d_Point3dVector3d__WEBPACK_IMPORTED_MODULE_6__.Vector3d.createStartEnd(pointA0, pointA1);
|
|
196082
|
-
const
|
|
196215
|
+
const cosValue = 0.94; // cosine of 20 degrees
|
|
196216
|
+
const plane = this.createPlaneWithPreferredPerpendicular(pointA0, lineVector, cosValue, arc.perpendicularVector, arc.vector0);
|
|
196083
196217
|
if (plane !== undefined) {
|
|
196084
196218
|
const candidates = [];
|
|
196085
196219
|
arc.appendPlaneIntersectionPoints(plane, candidates);
|
|
@@ -226045,6 +226179,9 @@ class ConvexPolygon2d {
|
|
|
226045
226179
|
__webpack_require__.r(__webpack_exports__);
|
|
226046
226180
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
226047
226181
|
/* harmony export */ AbstractNewtonIterator: () => (/* binding */ AbstractNewtonIterator),
|
|
226182
|
+
/* harmony export */ CurveCurveCloseApproachXYRRtoRRD: () => (/* binding */ CurveCurveCloseApproachXYRRtoRRD),
|
|
226183
|
+
/* harmony export */ CurveCurveIntersectionXYRRToRRD: () => (/* binding */ CurveCurveIntersectionXYRRToRRD),
|
|
226184
|
+
/* harmony export */ CurvePointCloseApproachXYRtoRD: () => (/* binding */ CurvePointCloseApproachXYRtoRD),
|
|
226048
226185
|
/* harmony export */ Newton1dUnbounded: () => (/* binding */ Newton1dUnbounded),
|
|
226049
226186
|
/* harmony export */ Newton1dUnboundedApproximateDerivative: () => (/* binding */ Newton1dUnboundedApproximateDerivative),
|
|
226050
226187
|
/* harmony export */ Newton2dUnboundedWithDerivative: () => (/* binding */ Newton2dUnboundedWithDerivative),
|
|
@@ -226056,6 +226193,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
226056
226193
|
/* harmony import */ var _Geometry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Geometry */ "../../core/geometry/lib/esm/Geometry.js");
|
|
226057
226194
|
/* harmony import */ var _geometry3d_Plane3dByOriginAndVectors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../geometry3d/Plane3dByOriginAndVectors */ "../../core/geometry/lib/esm/geometry3d/Plane3dByOriginAndVectors.js");
|
|
226058
226195
|
/* harmony import */ var _geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../geometry3d/Point2dVector2d */ "../../core/geometry/lib/esm/geometry3d/Point2dVector2d.js");
|
|
226196
|
+
/* harmony import */ var _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../geometry3d/Ray3d */ "../../core/geometry/lib/esm/geometry3d/Ray3d.js");
|
|
226059
226197
|
/* harmony import */ var _Polynomials__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Polynomials */ "../../core/geometry/lib/esm/numerics/Polynomials.js");
|
|
226060
226198
|
/*---------------------------------------------------------------------------------------------
|
|
226061
226199
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
@@ -226068,7 +226206,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
226068
226206
|
|
|
226069
226207
|
|
|
226070
226208
|
|
|
226071
|
-
|
|
226209
|
+
|
|
226210
|
+
// cspell:word currentdFdX XYRR
|
|
226072
226211
|
/**
|
|
226073
226212
|
* Base class for Newton iterations in various dimensions.
|
|
226074
226213
|
* Dimension-specific classes carry all dimension-related data and answer generalized queries from this base class.
|
|
@@ -226122,6 +226261,7 @@ class AbstractNewtonIterator {
|
|
|
226122
226261
|
this.numIterations = 0;
|
|
226123
226262
|
while (this.numIterations++ < this._maxIterations && this.computeStep()) {
|
|
226124
226263
|
if (this.testConvergence(this.currentStepSize()) && this.applyCurrentStep(true)) {
|
|
226264
|
+
// console.log("iter: " + this.numIterations); // print number of Newton iterations for debug
|
|
226125
226265
|
return true;
|
|
226126
226266
|
}
|
|
226127
226267
|
this.applyCurrentStep(false);
|
|
@@ -226171,7 +226311,7 @@ class Newton1dUnbounded extends AbstractNewtonIterator {
|
|
|
226171
226311
|
// console.log(this._currentX - this._currentStep); // print approximations for debug
|
|
226172
226312
|
return this.setX(this._currentX - this._currentStep);
|
|
226173
226313
|
}
|
|
226174
|
-
/** Compute the univariate newton step. */
|
|
226314
|
+
/** Compute the univariate newton step dx. */
|
|
226175
226315
|
computeStep() {
|
|
226176
226316
|
if (this._func.evaluate(this._currentX)) {
|
|
226177
226317
|
const dx = _Geometry__WEBPACK_IMPORTED_MODULE_0__.Geometry.conditionalDivideFraction(this._func.currentF - this._target, this._func.currentdFdX);
|
|
@@ -226224,7 +226364,7 @@ class Newton1dUnboundedApproximateDerivative extends AbstractNewtonIterator {
|
|
|
226224
226364
|
// console.log(this._currentX - this._currentStep); // print approximations for debug
|
|
226225
226365
|
return this.setX(this._currentX - this._currentStep);
|
|
226226
226366
|
}
|
|
226227
|
-
/** Univariate newton step computed with approximate derivative. */
|
|
226367
|
+
/** Univariate newton step dx, computed with approximate derivative. */
|
|
226228
226368
|
computeStep() {
|
|
226229
226369
|
if (this._func.evaluate(this._currentX)) {
|
|
226230
226370
|
const fA = this._func.currentF; // f(x_n)
|
|
@@ -226262,7 +226402,7 @@ class NewtonEvaluatorRRtoRRD {
|
|
|
226262
226402
|
* * Suppose we want to find the roots of `F(u,v) := (x(u,v), y(u,v))`. Writing `X := (u,v)` and `F(X)` as column vectors,
|
|
226263
226403
|
* the 2D Newton's iteration to find a root of `F` is given by:
|
|
226264
226404
|
* `X_{n+1} = X_n - dX = X_n - JInv(X_n)F(X_n)`, where `JInv` is the inverse of the Jacobian matrix `J`, and `J` is
|
|
226265
|
-
* defined
|
|
226405
|
+
* defined by the partial derivatives of the component functions of F:
|
|
226266
226406
|
*
|
|
226267
226407
|
* `[dx/du dx/dv]`
|
|
226268
226408
|
*
|
|
@@ -226275,7 +226415,8 @@ class Newton2dUnboundedWithDerivative extends AbstractNewtonIterator {
|
|
|
226275
226415
|
* @param func function that returns both function value and derivative.
|
|
226276
226416
|
*/
|
|
226277
226417
|
constructor(func) {
|
|
226278
|
-
|
|
226418
|
+
const maxIterations = 100; // Was default (15). We observed 49 iters to achieve 1e-11 tol with tangent geometry.
|
|
226419
|
+
super(undefined, undefined, maxIterations);
|
|
226279
226420
|
this._func = func;
|
|
226280
226421
|
this._currentStep = _geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_2__.Vector2d.createZero();
|
|
226281
226422
|
this._currentUV = _geometry3d_Point2dVector2d__WEBPACK_IMPORTED_MODULE_2__.Point2d.createZero();
|
|
@@ -226307,7 +226448,10 @@ class Newton2dUnboundedWithDerivative extends AbstractNewtonIterator {
|
|
|
226307
226448
|
if (this._func.evaluate(this._currentUV.x, this._currentUV.y)) {
|
|
226308
226449
|
const fA = this._func.currentF;
|
|
226309
226450
|
if ( // Given X_{n+1} = X_n - dX = X_n - JInv(X_n) F(X_n), we solve J(X_n) dX = F(X_n) for dX:
|
|
226310
|
-
_Polynomials__WEBPACK_IMPORTED_MODULE_3__.SmallSystem.linearSystem2d(fA.vectorU.x, fA.vectorV.x,
|
|
226451
|
+
_Polynomials__WEBPACK_IMPORTED_MODULE_3__.SmallSystem.linearSystem2d(fA.vectorU.x, fA.vectorV.x, // x_u(X_n), x_v(X_n): 1st row of J evaluated at X_n
|
|
226452
|
+
fA.vectorU.y, fA.vectorV.y, // y_u(X_n), y_v(X_n): 2nd row of J evaluated at X_n
|
|
226453
|
+
fA.origin.x, fA.origin.y, // F(X_n) := (x(X_n), y(X_n))
|
|
226454
|
+
this._currentStep))
|
|
226311
226455
|
return true;
|
|
226312
226456
|
}
|
|
226313
226457
|
return false;
|
|
@@ -226361,6 +226505,106 @@ class SimpleNewton {
|
|
|
226361
226505
|
return undefined;
|
|
226362
226506
|
}
|
|
226363
226507
|
}
|
|
226508
|
+
/**
|
|
226509
|
+
* Class to evaluate XY intersection between 2 curve primitives using the Newton method.
|
|
226510
|
+
* @internal
|
|
226511
|
+
*/
|
|
226512
|
+
class CurveCurveIntersectionXYRRToRRD extends NewtonEvaluatorRRtoRRD {
|
|
226513
|
+
constructor(curveP, curveQ) {
|
|
226514
|
+
super();
|
|
226515
|
+
this._curveP = curveP;
|
|
226516
|
+
this._curveQ = curveQ;
|
|
226517
|
+
this._rayP = _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_4__.Ray3d.createZero();
|
|
226518
|
+
this._rayQ = _geometry3d_Ray3d__WEBPACK_IMPORTED_MODULE_4__.Ray3d.createZero();
|
|
226519
|
+
}
|
|
226520
|
+
evaluate(fractionU, fractionV) {
|
|
226521
|
+
/**
|
|
226522
|
+
* To find an intersection between xy-curves P(u) = (x_p(u), y_p(u)) and Q(v) = (x_q(v), y_q(v)) we should solve
|
|
226523
|
+
* F(u,v) := P(u) - Q(v) = (0,0)
|
|
226524
|
+
* Using the Newton method we can find the fractions u and v at the intersection via
|
|
226525
|
+
* [u_{n+1}] [u_n] [x_p'(u_n) -x_q'(v_n)] [x_p(u_n) - x_q(v_n)]
|
|
226526
|
+
* = - Inv( )
|
|
226527
|
+
* [v_{n+1}] [v_n] [y_p'(u_n) -y_q'(v_n)] [y_p(u_n) - y_q(v_n)]
|
|
226528
|
+
* Note that this is xy intersection so we can ignore z.
|
|
226529
|
+
*/
|
|
226530
|
+
this._curveP.fractionToPointAndDerivative(fractionU, this._rayP);
|
|
226531
|
+
this._curveQ.fractionToPointAndDerivative(fractionV, this._rayQ);
|
|
226532
|
+
this.currentF.setOriginAndVectorsXYZ(this._rayP.origin.x - this._rayQ.origin.x, this._rayP.origin.y - this._rayQ.origin.y, 0.0, this._rayP.direction.x, this._rayP.direction.y, 0.0, -this._rayQ.direction.x, -this._rayQ.direction.y, 0.0);
|
|
226533
|
+
return true;
|
|
226534
|
+
}
|
|
226535
|
+
}
|
|
226536
|
+
/**
|
|
226537
|
+
* Class to evaluate XY close approach between a curve primitive and a point using the Newton method.
|
|
226538
|
+
* @internal
|
|
226539
|
+
*/
|
|
226540
|
+
class CurvePointCloseApproachXYRtoRD extends NewtonEvaluatorRtoRD {
|
|
226541
|
+
constructor(curveP, pointQ) {
|
|
226542
|
+
super();
|
|
226543
|
+
this._curveP = curveP;
|
|
226544
|
+
this._pointQ = pointQ;
|
|
226545
|
+
this._planeP = _geometry3d_Plane3dByOriginAndVectors__WEBPACK_IMPORTED_MODULE_1__.Plane3dByOriginAndVectors.createXYPlane();
|
|
226546
|
+
}
|
|
226547
|
+
evaluate(fractionU) {
|
|
226548
|
+
/**
|
|
226549
|
+
* To find a close approach between xy-curve P(u) and xy-point q we should solve
|
|
226550
|
+
* F(u) := P'(u).(P(u) - q) = 0
|
|
226551
|
+
* For a solution u, the segment S(u) := P(u) - q is perpendicular to the curve tangent P'(u), which means S(u) is a close approach.
|
|
226552
|
+
* Using the Newton method we can find the fractions u at the close approach location via
|
|
226553
|
+
* u_{n+1} = u_n + F(u_n)/F'(u_n) = u_n + [ P'(u_n).S(u_n) ]/[ P''(u_n).S(u_n) + P'(u_n).P'(u_n) ]
|
|
226554
|
+
* Note that this is xy close approach so we can ignore z.
|
|
226555
|
+
*/
|
|
226556
|
+
this._curveP.fractionToPointAnd2Derivatives(fractionU, this._planeP);
|
|
226557
|
+
const segX = this._planeP.origin.x - this._pointQ.x;
|
|
226558
|
+
const segY = this._planeP.origin.y - this._pointQ.y;
|
|
226559
|
+
const pDerivX = this._planeP.vectorU.x;
|
|
226560
|
+
const pDerivY = this._planeP.vectorU.y;
|
|
226561
|
+
const p2DerivX = this._planeP.vectorV.x;
|
|
226562
|
+
const p2DerivY = this._planeP.vectorV.y;
|
|
226563
|
+
this.currentF = pDerivX * segX + pDerivY * segY;
|
|
226564
|
+
this.currentdFdX = p2DerivX * segX + pDerivX * pDerivX + p2DerivY * segY + pDerivY * pDerivY;
|
|
226565
|
+
return true;
|
|
226566
|
+
}
|
|
226567
|
+
}
|
|
226568
|
+
/**
|
|
226569
|
+
* Class to evaluate XY close approach between 2 curve primitives using the Newton method.
|
|
226570
|
+
* @internal
|
|
226571
|
+
*/
|
|
226572
|
+
class CurveCurveCloseApproachXYRRtoRRD extends NewtonEvaluatorRRtoRRD {
|
|
226573
|
+
constructor(curveP, curveQ) {
|
|
226574
|
+
super();
|
|
226575
|
+
this._curveP = curveP;
|
|
226576
|
+
this._curveQ = curveQ;
|
|
226577
|
+
this._planeP = _geometry3d_Plane3dByOriginAndVectors__WEBPACK_IMPORTED_MODULE_1__.Plane3dByOriginAndVectors.createXYPlane();
|
|
226578
|
+
this._planeQ = _geometry3d_Plane3dByOriginAndVectors__WEBPACK_IMPORTED_MODULE_1__.Plane3dByOriginAndVectors.createXYPlane();
|
|
226579
|
+
}
|
|
226580
|
+
evaluate(fractionU, fractionV) {
|
|
226581
|
+
/**
|
|
226582
|
+
* To find a close approach between xy-curves P(u) and Q(v) we should solve
|
|
226583
|
+
* F(u,v) := (P'(u).(P(u) - Q(v)), Q'(v).(P(u) - Q(v))) = (0,0)
|
|
226584
|
+
* For a solution (u,v), the segment S(u,v) := P(u) - Q(v) is perpendicular to the curve tangents P'(u) and Q'(v),
|
|
226585
|
+
* which means S(u,v) is a close approach.
|
|
226586
|
+
* Using the Newton method we can find the fractions u and v at the close approach location via
|
|
226587
|
+
* [u_{n+1}] [u_n] [P''(u_n).S(u_n,v_n) + P'(u_n).P'(u_n) -P'(u_n).Q'(v_n)] [P'(u_n).S(u_n,v_n)]
|
|
226588
|
+
* = - Inv( )
|
|
226589
|
+
* [v_{n+1}] [v_n] [Q'(v_n).P'(u_n) Q''(v_n).S(u_n,v_n) - Q'(v_n).Q'(v_n)] [Q'(v_n).S(u_n,v_n)]
|
|
226590
|
+
* Note that this is xy close approach so we can ignore z.
|
|
226591
|
+
*/
|
|
226592
|
+
this._curveP.fractionToPointAnd2Derivatives(fractionU, this._planeP);
|
|
226593
|
+
this._curveQ.fractionToPointAnd2Derivatives(fractionV, this._planeQ);
|
|
226594
|
+
const segX = this._planeP.origin.x - this._planeQ.origin.x;
|
|
226595
|
+
const segY = this._planeP.origin.y - this._planeQ.origin.y;
|
|
226596
|
+
const pDerivX = this._planeP.vectorU.x;
|
|
226597
|
+
const pDerivY = this._planeP.vectorU.y;
|
|
226598
|
+
const qDerivX = this._planeQ.vectorU.x;
|
|
226599
|
+
const qDerivY = this._planeQ.vectorU.y;
|
|
226600
|
+
const p2DerivX = this._planeP.vectorV.x;
|
|
226601
|
+
const p2DerivY = this._planeP.vectorV.y;
|
|
226602
|
+
const q2DerivX = this._planeQ.vectorV.x;
|
|
226603
|
+
const q2DerivY = this._planeQ.vectorV.y;
|
|
226604
|
+
this.currentF.setOriginAndVectorsXYZ(pDerivX * segX + pDerivY * segY, qDerivX * segX + qDerivY * segY, 0.0, p2DerivX * segX + p2DerivY * segY + pDerivX * pDerivX + pDerivY * pDerivY, qDerivX * pDerivX + qDerivY * pDerivY, 0.0, -(pDerivX * qDerivX + pDerivY * qDerivY), q2DerivX * segX + q2DerivY * segY - qDerivX * qDerivX - qDerivY * qDerivY, 0.0);
|
|
226605
|
+
return true;
|
|
226606
|
+
}
|
|
226607
|
+
}
|
|
226364
226608
|
|
|
226365
226609
|
|
|
226366
226610
|
/***/ }),
|
|
@@ -227549,10 +227793,8 @@ class TrigPolynomial {
|
|
|
227549
227793
|
* @param referenceCoefficient A number which represents the size of coefficients
|
|
227550
227794
|
* at various stages of computation. A small fraction of this will be used as a zero
|
|
227551
227795
|
* tolerance
|
|
227552
|
-
* @param
|
|
227553
|
-
* @
|
|
227554
|
-
* one to pass-by-reference)
|
|
227555
|
-
* Returns false if equation is all zeros. This usually means any angle is a solution.
|
|
227796
|
+
* @param radians Roots are placed here
|
|
227797
|
+
* @return false if equation is all zeros. This usually means any angle is a solution.
|
|
227556
227798
|
*/
|
|
227557
227799
|
static solveAngles(coff, nominalDegree, referenceCoefficient, radians) {
|
|
227558
227800
|
let maxCoff = Math.abs(referenceCoefficient);
|
|
@@ -227630,7 +227872,6 @@ class TrigPolynomial {
|
|
|
227630
227872
|
* @param ay Coefficient of y
|
|
227631
227873
|
* @param a1 Constant coefficient
|
|
227632
227874
|
* @param radians solution angles
|
|
227633
|
-
* @param numAngle number of solution angles(Passed as array to make changes to reference)
|
|
227634
227875
|
*/
|
|
227635
227876
|
static solveUnitCircleImplicitQuadricIntersection(axx, axy, ayy, ax, ay, a1, radians) {
|
|
227636
227877
|
const Coffs = new Float64Array(5);
|
|
@@ -227696,9 +227937,8 @@ class TrigPolynomial {
|
|
|
227696
227937
|
return status;
|
|
227697
227938
|
}
|
|
227698
227939
|
/**
|
|
227699
|
-
* Compute intersections of unit circle x^2 + y^2 = w^2 with the ellipse
|
|
227700
|
-
*
|
|
227701
|
-
* Solutions are returned as angles in the ellipse space.
|
|
227940
|
+
* Compute intersections of unit circle `x^2 + y^2 = w^2` with the ellipse
|
|
227941
|
+
* `F(t) = (cx + ux cos(t) + vx sin(t), cy + uy cos(t) + vy sin(t)) / (cw + uw cos(t) + vw sin(t))`.
|
|
227702
227942
|
* @param cx center x
|
|
227703
227943
|
* @param cy center y
|
|
227704
227944
|
* @param cw center w
|
|
@@ -289597,7 +289837,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
|
|
|
289597
289837
|
/***/ ((module) => {
|
|
289598
289838
|
|
|
289599
289839
|
"use strict";
|
|
289600
|
-
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.3.0-dev.
|
|
289840
|
+
module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.3.0-dev.24","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 --includes=../../generated-docs/extract --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 -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run -s webpackTests && certa -r chrome","cover":"npm -s test","test:debug":"certa -r chrome --debug","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:^4.3.0-dev.24","@itwin/core-bentley":"workspace:^4.3.0-dev.24","@itwin/core-common":"workspace:^4.3.0-dev.24","@itwin/core-geometry":"workspace:^4.3.0-dev.24","@itwin/core-orbitgt":"workspace:^4.3.0-dev.24","@itwin/core-quantity":"workspace:^4.3.0-dev.24"},"//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/certa":"workspace:*","@itwin/eslint-plugin":"4.0.0-dev.44","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/mocha":"^8.2.2","@types/node":"18.16.1","@types/sinon":"^10.0.15","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.3.10","chai-as-promised":"^7","cpx2":"^3.0.0","eslint":"^8.44.0","glob":"^7.1.2","mocha":"^10.0.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^15.0.4","source-map-loader":"^4.0.0","typescript":"~5.0.2","typemoq":"^2.1.0","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.1.0","@itwin/object-storage-core":"^2.1.0","@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","wms-capabilities":"0.4.0"},"nyc":{"extends":"./node_modules/@itwin/build-tools/.nycrc"}}');
|
|
289601
289841
|
|
|
289602
289842
|
/***/ })
|
|
289603
289843
|
|