@itwin/editor-frontend 3.0.0-dev.139 → 3.0.0-dev.144
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/cjs/SketchTools.d.ts +18 -4
- package/lib/cjs/SketchTools.d.ts.map +1 -1
- package/lib/cjs/SketchTools.js +146 -24
- package/lib/cjs/SketchTools.js.map +1 -1
- package/lib/esm/SketchTools.d.ts +18 -4
- package/lib/esm/SketchTools.d.ts.map +1 -1
- package/lib/esm/SketchTools.js +147 -25
- package/lib/esm/SketchTools.js.map +1 -1
- package/lib/public/locales/en/Editor.json +2 -1
- package/package.json +12 -12
package/lib/esm/SketchTools.d.ts
CHANGED
|
@@ -98,7 +98,9 @@ export declare abstract class CreateOrContinuePathTool extends CreateElementTool
|
|
|
98
98
|
protected setupAccuDraw(): void;
|
|
99
99
|
protected setupAndPromptForNextAction(): void;
|
|
100
100
|
protected acceptPoint(ev: BeButtonEvent): Promise<boolean>;
|
|
101
|
+
protected cancelPoint(_ev: BeButtonEvent): Promise<boolean>;
|
|
101
102
|
onDataButtonDown(ev: BeButtonEvent): Promise<EventHandled>;
|
|
103
|
+
onResetButtonUp(ev: BeButtonEvent): Promise<EventHandled>;
|
|
102
104
|
onUndoPreviousStep(): Promise<boolean>;
|
|
103
105
|
onCleanup(): Promise<void>;
|
|
104
106
|
}
|
|
@@ -111,7 +113,7 @@ export declare class CreateLineStringTool extends CreateOrContinuePathTool {
|
|
|
111
113
|
protected get wantClosure(): boolean;
|
|
112
114
|
protected isComplete(ev: BeButtonEvent): boolean;
|
|
113
115
|
protected createNewCurvePrimitive(ev: BeButtonEvent, isDynamics: boolean): CurvePrimitive | undefined;
|
|
114
|
-
|
|
116
|
+
protected cancelPoint(ev: BeButtonEvent): Promise<boolean>;
|
|
115
117
|
onRestartTool(): Promise<void>;
|
|
116
118
|
}
|
|
117
119
|
/** @alpha */
|
|
@@ -201,7 +203,7 @@ export declare class CreateCircleTool extends CreateOrContinuePathTool {
|
|
|
201
203
|
set radius(value: number);
|
|
202
204
|
protected isComplete(_ev: BeButtonEvent): boolean;
|
|
203
205
|
protected createNewCurvePrimitive(ev: BeButtonEvent, isDynamics: boolean): CurvePrimitive | undefined;
|
|
204
|
-
|
|
206
|
+
protected cancelPoint(_ev: BeButtonEvent): Promise<boolean>;
|
|
205
207
|
private syncToolSettingsRadius;
|
|
206
208
|
private syncRadiusState;
|
|
207
209
|
applyToolSettingPropertyChange(updatedValue: DialogPropertySyncItem): Promise<boolean>;
|
|
@@ -269,6 +271,10 @@ export declare enum BCurveMethod {
|
|
|
269
271
|
export declare class CreateBCurveTool extends CreateOrContinuePathTool {
|
|
270
272
|
static toolId: string;
|
|
271
273
|
static iconSpec: string;
|
|
274
|
+
protected _isPhysicallyClosedOrComplete: boolean;
|
|
275
|
+
protected _tangentPhase: CreateCurvePhase;
|
|
276
|
+
static get minArgs(): number;
|
|
277
|
+
static get maxArgs(): number;
|
|
272
278
|
protected get wantPickableDynamics(): boolean;
|
|
273
279
|
protected get showCurveConstructions(): boolean;
|
|
274
280
|
protected provideToolAssistance(_mainInstrText?: string, _additionalInstr?: ToolAssistanceInstruction[]): void;
|
|
@@ -284,12 +290,19 @@ export declare class CreateBCurveTool extends CreateOrContinuePathTool {
|
|
|
284
290
|
set order(value: number);
|
|
285
291
|
protected get minOrder(): number;
|
|
286
292
|
protected get maxOrder(): number;
|
|
293
|
+
private _tangentsProperty;
|
|
294
|
+
get tangentsProperty(): DialogProperty<boolean>;
|
|
295
|
+
get tangents(): boolean;
|
|
296
|
+
set tangents(value: boolean);
|
|
287
297
|
protected get wantClosure(): boolean;
|
|
298
|
+
protected get requiredPointCount(): number;
|
|
299
|
+
protected get createCurvePhase(): CreateCurvePhase;
|
|
288
300
|
protected isComplete(ev: BeButtonEvent): boolean;
|
|
301
|
+
protected showConstructionGraphics(ev: BeButtonEvent, context: DynamicsContext): boolean;
|
|
289
302
|
protected createNewCurvePrimitive(ev: BeButtonEvent, isDynamics: boolean): CurvePrimitive | undefined;
|
|
290
|
-
protected addConstructionGraphics(curve: CurvePrimitive, showCurve: boolean, context: DynamicsContext): void;
|
|
291
303
|
protected getSnapGeometry(): GeometryQuery | undefined;
|
|
292
|
-
|
|
304
|
+
protected acceptPoint(ev: BeButtonEvent): Promise<boolean>;
|
|
305
|
+
protected cancelPoint(ev: BeButtonEvent): Promise<boolean>;
|
|
293
306
|
private syncOrderState;
|
|
294
307
|
applyToolSettingPropertyChange(updatedValue: DialogPropertySyncItem): Promise<boolean>;
|
|
295
308
|
supplyToolSettingsProperties(): DialogItem[] | undefined;
|
|
@@ -298,6 +311,7 @@ export declare class CreateBCurveTool extends CreateOrContinuePathTool {
|
|
|
298
311
|
/** The keyin takes the following arguments, all of which are optional:
|
|
299
312
|
* - `method=0|1` How bcurve will be defined. 0 for control points, 1 for through points.
|
|
300
313
|
* - `order=number` bcurve order from 2 to 16.
|
|
314
|
+
* - 'tangents=0|1 Whether to specify start/end tangents for through points construction.
|
|
301
315
|
*/
|
|
302
316
|
parseAndRun(...inputArgs: string[]): Promise<boolean>;
|
|
303
317
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SketchTools.d.ts","sourceRoot":"","sources":["../../src/SketchTools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SketchTools.d.ts","sourceRoot":"","sources":["../../src/SketchTools.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/SketchTools.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
4
|
*--------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { BentleyError } from "@itwin/core-bentley";
|
|
6
|
-
import { Angle, AngleSweep, Arc3d, BSplineCurve3d,
|
|
6
|
+
import { Angle, AngleSweep, Arc3d, BSplineCurve3d, CurveFactory, FrameBuilder, Geometry, IModelJson, InterpolationCurve3d, InterpolationCurve3dOptions, LineString3d, Loop, Matrix3d, Path, Plane3dByOriginAndUnitNormal, Point3d, PointString3d, Ray3d, RegionOps, Transform, Vector3d, YawPitchRollAngles } from "@itwin/core-geometry";
|
|
7
7
|
import { Code, ColorDef, ElementGeometry, isPlacement3dProps, LinePixels } from "@itwin/core-common";
|
|
8
8
|
import { AccuDrawHintBuilder, AngleDescription, BeButton, BeModifierKeys, CoreTools, EventHandled, GraphicType, IModelApp, LengthDescription, NotifyMessageDetails, OutputMessagePriority, TentativeOrAccuSnap, ToolAssistance, ToolAssistanceImage, ToolAssistanceInputMethod } from "@itwin/core-frontend";
|
|
9
9
|
import { editorBuiltInCmdIds } from "@itwin/editor-common";
|
|
@@ -233,6 +233,7 @@ export class CreateOrContinuePathTool extends CreateElementTool {
|
|
|
233
233
|
switch (curve.curvePrimitiveType) {
|
|
234
234
|
case "arc":
|
|
235
235
|
case "bsplineCurve":
|
|
236
|
+
case "interpolationCurve":
|
|
236
237
|
break;
|
|
237
238
|
default:
|
|
238
239
|
return;
|
|
@@ -267,6 +268,12 @@ export class CreateOrContinuePathTool extends CreateElementTool {
|
|
|
267
268
|
builder.addPointString(poles);
|
|
268
269
|
break;
|
|
269
270
|
}
|
|
271
|
+
case "interpolationCurve": {
|
|
272
|
+
const fitCurve = curve;
|
|
273
|
+
builder.setSymbology(context.viewport.getContrastToBackgroundColor(), ColorDef.black, 5);
|
|
274
|
+
builder.addPointString(fitCurve.options.fitPoints); // deep copy shoulnd't be necessary...
|
|
275
|
+
break;
|
|
276
|
+
}
|
|
270
277
|
default:
|
|
271
278
|
break;
|
|
272
279
|
}
|
|
@@ -554,11 +561,17 @@ export class CreateOrContinuePathTool extends CreateElementTool {
|
|
|
554
561
|
await this.updateCurveAndContinuationData(ev, false, phase);
|
|
555
562
|
return true;
|
|
556
563
|
}
|
|
564
|
+
async cancelPoint(_ev) { return true; }
|
|
557
565
|
async onDataButtonDown(ev) {
|
|
558
566
|
if (!await this.acceptPoint(ev))
|
|
559
567
|
return EventHandled.Yes;
|
|
560
568
|
return super.onDataButtonDown(ev);
|
|
561
569
|
}
|
|
570
|
+
async onResetButtonUp(ev) {
|
|
571
|
+
if (!await this.cancelPoint(ev))
|
|
572
|
+
return EventHandled.Yes;
|
|
573
|
+
return super.onResetButtonUp(ev);
|
|
574
|
+
}
|
|
562
575
|
async onUndoPreviousStep() {
|
|
563
576
|
if (0 === this.accepted.length)
|
|
564
577
|
return false;
|
|
@@ -617,13 +630,13 @@ export class CreateLineStringTool extends CreateOrContinuePathTool {
|
|
|
617
630
|
const pts = (isDynamics ? [...this.accepted, ev.point] : this.accepted);
|
|
618
631
|
return LineString3d.create(pts);
|
|
619
632
|
}
|
|
620
|
-
async
|
|
633
|
+
async cancelPoint(ev) {
|
|
621
634
|
// NOTE: Starting another tool will not create element...require reset or closure...
|
|
622
635
|
if (this.isComplete(ev)) {
|
|
623
636
|
await this.updateCurveAndContinuationData(ev, false, CreateCurvePhase.DefineEnd);
|
|
624
637
|
await this.createElement();
|
|
625
638
|
}
|
|
626
|
-
return
|
|
639
|
+
return true;
|
|
627
640
|
}
|
|
628
641
|
async onRestartTool() {
|
|
629
642
|
const tool = new CreateLineStringTool();
|
|
@@ -1189,13 +1202,13 @@ export class CreateCircleTool extends CreateOrContinuePathTool {
|
|
|
1189
1202
|
vector90.scaleToLength(radius, vector90);
|
|
1190
1203
|
return Arc3d.create(center, vector0, vector90);
|
|
1191
1204
|
}
|
|
1192
|
-
async
|
|
1205
|
+
async cancelPoint(_ev) {
|
|
1193
1206
|
if (CircleMethod.Center === this.method && this.useRadius) {
|
|
1194
1207
|
// Exit instead of restarting to avoid having circle "stuck" on cursor...
|
|
1195
1208
|
await this.exitTool();
|
|
1196
|
-
return
|
|
1209
|
+
return false;
|
|
1197
1210
|
}
|
|
1198
|
-
return
|
|
1211
|
+
return true;
|
|
1199
1212
|
}
|
|
1200
1213
|
syncToolSettingsRadius() {
|
|
1201
1214
|
if (this.useRadius)
|
|
@@ -1565,6 +1578,13 @@ export var BCurveMethod;
|
|
|
1565
1578
|
})(BCurveMethod || (BCurveMethod = {}));
|
|
1566
1579
|
/** @alpha Creates a bspline curve by poles or through points. Uses model and category from ToolAdmin.ActiveSettings. */
|
|
1567
1580
|
export class CreateBCurveTool extends CreateOrContinuePathTool {
|
|
1581
|
+
constructor() {
|
|
1582
|
+
super(...arguments);
|
|
1583
|
+
this._isPhysicallyClosedOrComplete = false;
|
|
1584
|
+
this._tangentPhase = CreateCurvePhase.DefineOther;
|
|
1585
|
+
}
|
|
1586
|
+
static get minArgs() { return 0; }
|
|
1587
|
+
static get maxArgs() { return 3; } // method, order, tangents...
|
|
1568
1588
|
get wantPickableDynamics() { return true; } // Allow snapping to control polygon or through points...
|
|
1569
1589
|
get showCurveConstructions() { return true; } // Display control polygon or through points...
|
|
1570
1590
|
provideToolAssistance(_mainInstrText, _additionalInstr) {
|
|
@@ -1603,43 +1623,93 @@ export class CreateBCurveTool extends CreateOrContinuePathTool {
|
|
|
1603
1623
|
set order(value) { this.orderProperty.value = value; }
|
|
1604
1624
|
get minOrder() { return 2; }
|
|
1605
1625
|
get maxOrder() { return 16; }
|
|
1626
|
+
get tangentsProperty() {
|
|
1627
|
+
if (!this._tangentsProperty)
|
|
1628
|
+
this._tangentsProperty = new DialogProperty(PropertyDescriptionHelper.buildToggleDescription("bcurveTangents", EditTools.translate("CreateBCurve.Label.Tangents")), false);
|
|
1629
|
+
return this._tangentsProperty;
|
|
1630
|
+
}
|
|
1631
|
+
get tangents() { return this.tangentsProperty.value; }
|
|
1632
|
+
set tangents(value) { this.tangentsProperty.value = value; }
|
|
1606
1633
|
get wantClosure() {
|
|
1607
1634
|
// A bcurve can support physical closure when creating a new path...
|
|
1608
1635
|
return this.allowClosure;
|
|
1609
1636
|
}
|
|
1637
|
+
get requiredPointCount() {
|
|
1638
|
+
if (BCurveMethod.ThroughPoints === this.method)
|
|
1639
|
+
return 3; // Interpolation curve is always order 4 with 3 point minimum...
|
|
1640
|
+
return this.order;
|
|
1641
|
+
}
|
|
1642
|
+
get createCurvePhase() {
|
|
1643
|
+
if (CreateCurvePhase.DefineOther !== this._tangentPhase)
|
|
1644
|
+
return CreateCurvePhase.DefineOther;
|
|
1645
|
+
return super.createCurvePhase;
|
|
1646
|
+
}
|
|
1610
1647
|
isComplete(ev) {
|
|
1611
1648
|
// Accept on reset with sufficient points...
|
|
1612
1649
|
if (BeButton.Reset === ev.button)
|
|
1613
|
-
return (this.accepted.length >= this.
|
|
1650
|
+
return (this.accepted.length >= this.requiredPointCount);
|
|
1614
1651
|
// Allow data to complete on physical closure...
|
|
1615
|
-
return this.isClosed;
|
|
1652
|
+
return this.isClosed || this._isPhysicallyClosedOrComplete;
|
|
1653
|
+
}
|
|
1654
|
+
showConstructionGraphics(ev, context) {
|
|
1655
|
+
if (CreateCurvePhase.DefineOther !== this._tangentPhase && this.current) {
|
|
1656
|
+
const fitCurve = this.current;
|
|
1657
|
+
const builder = context.createGraphic({ type: GraphicType.WorldOverlay });
|
|
1658
|
+
const color = context.viewport.getContrastToBackgroundColor();
|
|
1659
|
+
builder.setSymbology(color, ColorDef.black, 1, LinePixels.Code2);
|
|
1660
|
+
builder.addLineString([ev.point, fitCurve.options.fitPoints[CreateCurvePhase.DefineStart === this._tangentPhase ? 0 : fitCurve.options.fitPoints.length - 1]]);
|
|
1661
|
+
builder.setSymbology(color, ColorDef.black, 8);
|
|
1662
|
+
builder.addPointString([ev.point]);
|
|
1663
|
+
context.addGraphic(builder.finish());
|
|
1664
|
+
}
|
|
1665
|
+
return super.showConstructionGraphics(ev, context);
|
|
1616
1666
|
}
|
|
1617
1667
|
createNewCurvePrimitive(ev, isDynamics) {
|
|
1668
|
+
if (CreateCurvePhase.DefineOther !== this._tangentPhase && this.current) {
|
|
1669
|
+
const fitCurve = this.current;
|
|
1670
|
+
if (CreateCurvePhase.DefineStart === this._tangentPhase) {
|
|
1671
|
+
const tangentS = Vector3d.createStartEnd(ev.point, fitCurve.options.fitPoints[0]);
|
|
1672
|
+
if (tangentS.magnitude() > Geometry.smallMetricDistance)
|
|
1673
|
+
fitCurve.options.startTangent = tangentS;
|
|
1674
|
+
}
|
|
1675
|
+
else {
|
|
1676
|
+
const tangentE = Vector3d.createStartEnd(ev.point, fitCurve.options.fitPoints[fitCurve.options.fitPoints.length - 1]);
|
|
1677
|
+
if (tangentE.magnitude() > Geometry.smallMetricDistance)
|
|
1678
|
+
fitCurve.options.endTangent = tangentE;
|
|
1679
|
+
}
|
|
1680
|
+
return fitCurve;
|
|
1681
|
+
}
|
|
1618
1682
|
// Don't include current point if it's the same as the last accepted point, want dynamics to show an accurate preview of what reset will accept...
|
|
1619
1683
|
const includeCurrPt = (isDynamics && (0 === this.accepted.length || !ev.point.isAlmostEqual(this.accepted[this.accepted.length - 1])));
|
|
1620
1684
|
const pts = (includeCurrPt ? [...this.accepted, ev.point] : this.accepted);
|
|
1621
|
-
const numRequired = this.
|
|
1685
|
+
const numRequired = this.requiredPointCount;
|
|
1622
1686
|
if (pts.length < numRequired) {
|
|
1623
1687
|
// Create point/linestring construction geometry to support join...
|
|
1624
1688
|
this.isConstruction = true;
|
|
1625
1689
|
return LineString3d.create(1 === pts.length ? [pts[0], pts[0]] : pts);
|
|
1626
1690
|
}
|
|
1627
|
-
//
|
|
1691
|
+
// Create periodic-looking curve on physical closure with sufficient points even when not creating a loop/surface...
|
|
1692
|
+
this._isPhysicallyClosedOrComplete = (undefined === this.continuationData && pts[0].isAlmostEqual(pts[pts.length - 1]));
|
|
1693
|
+
// TODO: Support physical closure for pole construction...
|
|
1628
1694
|
if (BCurveMethod.ControlPoints === this.method)
|
|
1629
1695
|
return BSplineCurve3d.createUniformKnots(pts, this.order);
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1696
|
+
const interpProps = { fitPoints: pts, closed: this._isPhysicallyClosedOrComplete, isChordLenKnots: 1, isColinearTangents: 1 };
|
|
1697
|
+
// Create interpolation curve tangent to continuation curve...
|
|
1698
|
+
if (undefined !== this.continuationData && this.tangents) {
|
|
1699
|
+
const tangentS = this.continuationData.path.children[0].fractionToPointAndUnitTangent(0.0);
|
|
1700
|
+
const tangentE = this.continuationData.path.children[this.continuationData.path.children.length - 1].fractionToPointAndUnitTangent(1.0);
|
|
1701
|
+
if (pts[0].isAlmostEqual(tangentS.origin))
|
|
1702
|
+
interpProps.startTangent = tangentS.direction.scale(-1);
|
|
1703
|
+
else if (pts[0].isAlmostEqual(tangentE.origin))
|
|
1704
|
+
interpProps.startTangent = tangentE.direction;
|
|
1705
|
+
if (pts[pts.length - 1].isAlmostEqual(tangentS.origin))
|
|
1706
|
+
interpProps.endTangent = tangentS.direction.scale(-1);
|
|
1707
|
+
else if (pts[pts.length - 1].isAlmostEqual(tangentE.origin))
|
|
1708
|
+
interpProps.endTangent = tangentE.direction;
|
|
1709
|
+
this._isPhysicallyClosedOrComplete = (undefined !== interpProps.startTangent && undefined !== interpProps.endTangent);
|
|
1641
1710
|
}
|
|
1642
|
-
|
|
1711
|
+
const interpOpts = InterpolationCurve3dOptions.create(interpProps);
|
|
1712
|
+
return InterpolationCurve3d.createCapture(interpOpts);
|
|
1643
1713
|
}
|
|
1644
1714
|
getSnapGeometry() {
|
|
1645
1715
|
// Only snap to through points...
|
|
@@ -1647,13 +1717,46 @@ export class CreateBCurveTool extends CreateOrContinuePathTool {
|
|
|
1647
1717
|
return (this.accepted.length > 1 ? PointString3d.create(this.accepted) : undefined);
|
|
1648
1718
|
return super.getSnapGeometry();
|
|
1649
1719
|
}
|
|
1650
|
-
async
|
|
1720
|
+
async acceptPoint(ev) {
|
|
1721
|
+
switch (this._tangentPhase) {
|
|
1722
|
+
case CreateCurvePhase.DefineOther:
|
|
1723
|
+
return super.acceptPoint(ev);
|
|
1724
|
+
case CreateCurvePhase.DefineStart:
|
|
1725
|
+
this._tangentPhase = CreateCurvePhase.DefineEnd;
|
|
1726
|
+
break;
|
|
1727
|
+
case CreateCurvePhase.DefineEnd:
|
|
1728
|
+
this._isPhysicallyClosedOrComplete = true;
|
|
1729
|
+
break;
|
|
1730
|
+
}
|
|
1731
|
+
await this.updateCurveAndContinuationData(ev, false, CreateCurvePhase.DefineOther);
|
|
1732
|
+
return true;
|
|
1733
|
+
}
|
|
1734
|
+
async cancelPoint(ev) {
|
|
1651
1735
|
// NOTE: Starting another tool will not create element...require reset or closure...
|
|
1652
1736
|
if (this.isComplete(ev)) {
|
|
1737
|
+
if (BCurveMethod.ThroughPoints === this.method && this.tangents && this.current) {
|
|
1738
|
+
const fitCurve = this.current;
|
|
1739
|
+
switch (this._tangentPhase) {
|
|
1740
|
+
case CreateCurvePhase.DefineOther:
|
|
1741
|
+
await this.updateCurveAndContinuationData(ev, false, CreateCurvePhase.DefineEnd);
|
|
1742
|
+
this._tangentPhase = (undefined === fitCurve.options.startTangent ? CreateCurvePhase.DefineStart : CreateCurvePhase.DefineEnd);
|
|
1743
|
+
IModelApp.toolAdmin.updateDynamics();
|
|
1744
|
+
return false;
|
|
1745
|
+
case CreateCurvePhase.DefineStart:
|
|
1746
|
+
fitCurve.options.startTangent = undefined; // Not accepted, compute default start tangent...
|
|
1747
|
+
this._tangentPhase = CreateCurvePhase.DefineEnd;
|
|
1748
|
+
IModelApp.toolAdmin.updateDynamics();
|
|
1749
|
+
return false;
|
|
1750
|
+
case CreateCurvePhase.DefineEnd:
|
|
1751
|
+
fitCurve.options.endTangent = undefined; // Not accepted, compute default end tangent...
|
|
1752
|
+
await this.createElement();
|
|
1753
|
+
return true;
|
|
1754
|
+
}
|
|
1755
|
+
}
|
|
1653
1756
|
await this.updateCurveAndContinuationData(ev, false, CreateCurvePhase.DefineEnd);
|
|
1654
1757
|
await this.createElement();
|
|
1655
1758
|
}
|
|
1656
|
-
return
|
|
1759
|
+
return true;
|
|
1657
1760
|
}
|
|
1658
1761
|
syncOrderState() {
|
|
1659
1762
|
this.orderProperty.displayValue = this.orderProperty.description.format(this.order);
|
|
@@ -1675,12 +1778,20 @@ export class CreateBCurveTool extends CreateOrContinuePathTool {
|
|
|
1675
1778
|
IModelApp.toolAdmin.toolSettingsState.saveToolSettingProperty(this.toolId, this.orderProperty.item);
|
|
1676
1779
|
return true;
|
|
1677
1780
|
}
|
|
1781
|
+
else if (updatedValue.propertyName === this.tangentsProperty.name) {
|
|
1782
|
+
this.tangents = updatedValue.value.value;
|
|
1783
|
+
IModelApp.toolAdmin.toolSettingsState.saveToolSettingProperty(this.toolId, this.tangentsProperty.item);
|
|
1784
|
+
return true;
|
|
1785
|
+
}
|
|
1678
1786
|
return false;
|
|
1679
1787
|
}
|
|
1680
1788
|
supplyToolSettingsProperties() {
|
|
1681
1789
|
const toolSettings = new Array();
|
|
1682
1790
|
toolSettings.push(this.methodProperty.toDialogItem({ rowPriority: 1, columnIndex: 0 }));
|
|
1683
|
-
|
|
1791
|
+
if (BCurveMethod.ThroughPoints === this.method)
|
|
1792
|
+
toolSettings.push(this.tangentsProperty.toDialogItem({ rowPriority: 2, columnIndex: 0 }));
|
|
1793
|
+
else
|
|
1794
|
+
toolSettings.push(this.orderProperty.toDialogItem({ rowPriority: 2, columnIndex: 1 }));
|
|
1684
1795
|
return toolSettings;
|
|
1685
1796
|
}
|
|
1686
1797
|
async onRestartTool() {
|
|
@@ -1698,15 +1809,20 @@ export class CreateBCurveTool extends CreateOrContinuePathTool {
|
|
|
1698
1809
|
const orderValue = IModelApp.toolAdmin.toolSettingsState.getInitialToolSettingValue(this.toolId, this.orderProperty.name);
|
|
1699
1810
|
if (undefined !== orderValue)
|
|
1700
1811
|
this.orderProperty.dialogItemValue = orderValue;
|
|
1812
|
+
const tangentsValue = IModelApp.toolAdmin.toolSettingsState.getInitialToolSettingValue(this.toolId, this.tangentsProperty.name);
|
|
1813
|
+
if (undefined !== tangentsValue)
|
|
1814
|
+
this.tangentsProperty.dialogItemValue = tangentsValue;
|
|
1701
1815
|
return true;
|
|
1702
1816
|
}
|
|
1703
1817
|
/** The keyin takes the following arguments, all of which are optional:
|
|
1704
1818
|
* - `method=0|1` How bcurve will be defined. 0 for control points, 1 for through points.
|
|
1705
1819
|
* - `order=number` bcurve order from 2 to 16.
|
|
1820
|
+
* - 'tangents=0|1 Whether to specify start/end tangents for through points construction.
|
|
1706
1821
|
*/
|
|
1707
1822
|
async parseAndRun(...inputArgs) {
|
|
1708
1823
|
let bcurveMethod;
|
|
1709
1824
|
let bcurveOrder;
|
|
1825
|
+
let bcurveTangents;
|
|
1710
1826
|
for (const arg of inputArgs) {
|
|
1711
1827
|
const parts = arg.split("=");
|
|
1712
1828
|
if (2 !== parts.length)
|
|
@@ -1730,12 +1846,18 @@ export class CreateBCurveTool extends CreateOrContinuePathTool {
|
|
|
1730
1846
|
bcurveOrder = order;
|
|
1731
1847
|
}
|
|
1732
1848
|
}
|
|
1849
|
+
else if (parts[0].toLowerCase().startsWith("ta")) {
|
|
1850
|
+
const tangents = Number.parseInt(parts[1], 10);
|
|
1851
|
+
bcurveTangents = (0 !== tangents);
|
|
1852
|
+
}
|
|
1733
1853
|
}
|
|
1734
1854
|
// Update current session values so keyin args are picked up for tool settings/restart...
|
|
1735
1855
|
if (undefined !== bcurveMethod)
|
|
1736
1856
|
IModelApp.toolAdmin.toolSettingsState.saveToolSettingProperty(this.toolId, { propertyName: this.methodProperty.name, value: { value: bcurveMethod } });
|
|
1737
1857
|
if (undefined !== bcurveOrder)
|
|
1738
1858
|
IModelApp.toolAdmin.toolSettingsState.saveToolSettingProperty(this.toolId, { propertyName: this.orderProperty.name, value: { value: bcurveOrder } });
|
|
1859
|
+
if (undefined !== bcurveTangents)
|
|
1860
|
+
IModelApp.toolAdmin.toolSettingsState.saveToolSettingProperty(this.toolId, { propertyName: this.tangentsProperty.name, value: { value: bcurveTangents } });
|
|
1739
1861
|
return this.run();
|
|
1740
1862
|
}
|
|
1741
1863
|
}
|