@itwin/editor-frontend 4.0.0-dev.8 → 4.0.0-dev.81
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/CHANGELOG.md +44 -1
- package/lib/cjs/CreateElementTool.d.ts +100 -100
- package/lib/cjs/CreateElementTool.js +325 -327
- package/lib/cjs/CreateElementTool.js.map +1 -1
- package/lib/cjs/DeleteElementsTool.d.ts +13 -13
- package/lib/cjs/DeleteElementsTool.js +38 -38
- package/lib/cjs/DeleteElementsTool.js.map +1 -1
- package/lib/cjs/EditTool.d.ts +38 -38
- package/lib/cjs/EditTool.js +80 -81
- package/lib/cjs/EditTool.js.map +1 -1
- package/lib/cjs/EditToolIpc.d.ts +18 -18
- package/lib/cjs/EditToolIpc.js +28 -28
- package/lib/cjs/ElementGeometryTool.d.ts +147 -147
- package/lib/cjs/ElementGeometryTool.js +704 -709
- package/lib/cjs/ElementGeometryTool.js.map +1 -1
- package/lib/cjs/ModifyCurveTools.d.ts +139 -139
- package/lib/cjs/ModifyCurveTools.js +776 -784
- package/lib/cjs/ModifyCurveTools.js.map +1 -1
- package/lib/cjs/ModifyElementTool.d.ts +47 -47
- package/lib/cjs/ModifyElementTool.js +177 -177
- package/lib/cjs/ModifyElementTool.js.map +1 -1
- package/lib/cjs/ProjectLocation/ProjectExtentsDecoration.d.ts +135 -135
- package/lib/cjs/ProjectLocation/ProjectExtentsDecoration.js +822 -822
- package/lib/cjs/ProjectLocation/ProjectExtentsDecoration.js.map +1 -1
- package/lib/cjs/ProjectLocation/ProjectGeolocation.d.ts +135 -135
- package/lib/cjs/ProjectLocation/ProjectGeolocation.js +532 -532
- package/lib/cjs/ProjectLocation/ProjectGeolocation.js.map +1 -1
- package/lib/cjs/SketchTools.d.ts +304 -304
- package/lib/cjs/SketchTools.js +1704 -1705
- package/lib/cjs/SketchTools.js.map +1 -1
- package/lib/cjs/SolidModelingTools.d.ts +380 -380
- package/lib/cjs/SolidModelingTools.js +1452 -1462
- package/lib/cjs/SolidModelingTools.js.map +1 -1
- package/lib/cjs/SolidPrimitiveTools.d.ts +318 -318
- package/lib/cjs/SolidPrimitiveTools.js +1372 -1378
- package/lib/cjs/SolidPrimitiveTools.js.map +1 -1
- package/lib/cjs/TransformElementsTool.d.ts +164 -164
- package/lib/cjs/TransformElementsTool.js +652 -652
- package/lib/cjs/TransformElementsTool.js.map +1 -1
- package/lib/cjs/UndoRedoTool.d.ts +16 -16
- package/lib/cjs/UndoRedoTool.js +41 -42
- package/lib/cjs/UndoRedoTool.js.map +1 -1
- package/lib/cjs/editor-frontend.d.ts +17 -17
- package/lib/cjs/editor-frontend.js +37 -33
- package/lib/cjs/editor-frontend.js.map +1 -1
- package/lib/esm/CreateElementTool.d.ts +100 -100
- package/lib/esm/CreateElementTool.js +317 -319
- package/lib/esm/CreateElementTool.js.map +1 -1
- package/lib/esm/DeleteElementsTool.d.ts +13 -13
- package/lib/esm/DeleteElementsTool.js +35 -34
- package/lib/esm/DeleteElementsTool.js.map +1 -1
- package/lib/esm/EditTool.d.ts +38 -38
- package/lib/esm/EditTool.js +77 -77
- package/lib/esm/EditTool.js.map +1 -1
- package/lib/esm/EditToolIpc.d.ts +18 -18
- package/lib/esm/EditToolIpc.js +24 -24
- package/lib/esm/ElementGeometryTool.d.ts +147 -147
- package/lib/esm/ElementGeometryTool.js +696 -701
- package/lib/esm/ElementGeometryTool.js.map +1 -1
- package/lib/esm/ModifyCurveTools.d.ts +139 -139
- package/lib/esm/ModifyCurveTools.js +771 -775
- package/lib/esm/ModifyCurveTools.js.map +1 -1
- package/lib/esm/ModifyElementTool.d.ts +47 -47
- package/lib/esm/ModifyElementTool.js +172 -172
- package/lib/esm/ModifyElementTool.js.map +1 -1
- package/lib/esm/ProjectLocation/ProjectExtentsDecoration.d.ts +135 -135
- package/lib/esm/ProjectLocation/ProjectExtentsDecoration.js +818 -814
- package/lib/esm/ProjectLocation/ProjectExtentsDecoration.js.map +1 -1
- package/lib/esm/ProjectLocation/ProjectGeolocation.d.ts +135 -135
- package/lib/esm/ProjectLocation/ProjectGeolocation.js +529 -526
- package/lib/esm/ProjectLocation/ProjectGeolocation.js.map +1 -1
- package/lib/esm/SketchTools.d.ts +304 -304
- package/lib/esm/SketchTools.js +1700 -1695
- package/lib/esm/SketchTools.js.map +1 -1
- package/lib/esm/SolidModelingTools.d.ts +380 -380
- package/lib/esm/SolidModelingTools.js +1444 -1437
- package/lib/esm/SolidModelingTools.js.map +1 -1
- package/lib/esm/SolidPrimitiveTools.d.ts +318 -318
- package/lib/esm/SolidPrimitiveTools.js +1368 -1367
- package/lib/esm/SolidPrimitiveTools.js.map +1 -1
- package/lib/esm/TransformElementsTool.d.ts +164 -164
- package/lib/esm/TransformElementsTool.js +647 -644
- package/lib/esm/TransformElementsTool.js.map +1 -1
- package/lib/esm/UndoRedoTool.d.ts +16 -16
- package/lib/esm/UndoRedoTool.js +38 -36
- package/lib/esm/UndoRedoTool.js.map +1 -1
- package/lib/esm/editor-frontend.d.ts +17 -17
- package/lib/esm/editor-frontend.js +21 -21
- package/package.json +20 -20
package/lib/esm/SketchTools.d.ts
CHANGED
|
@@ -1,305 +1,305 @@
|
|
|
1
|
-
import { DialogItem, DialogProperty, DialogPropertySyncItem } from "@itwin/appui-abstract";
|
|
2
|
-
import { Id64String } from "@itwin/core-bentley";
|
|
3
|
-
import { ElementGeometryBuilderParams, ElementGeometryInfo, FlatBufferGeometryStream, GeometricElementProps, GeometryParams, GeometryStreamProps, JsonGeometryStream, PlacementProps } from "@itwin/core-common";
|
|
4
|
-
import { BeButtonEvent, BeModifierKeys, DecorateContext, DynamicsContext, EventHandled, HitDetail, SnapDetail, ToolAssistanceInstruction } from "@itwin/core-frontend";
|
|
5
|
-
import { CurvePrimitive, GeometryQuery, Matrix3d, Path, Point3d, Transform, Vector3d } from "@itwin/core-geometry";
|
|
6
|
-
import { CreateElementWithDynamicsTool } from "./CreateElementTool";
|
|
7
|
-
/** @alpha Values for [[CreateOrContinueTool.createCurvePhase] to support join and closure. */
|
|
8
|
-
export declare enum CreateCurvePhase {
|
|
9
|
-
/** Current tool phase changes CurvePrimitive startPoint.
|
|
10
|
-
* ex. Arc defined by center, start would return this when accepted length is 1.
|
|
11
|
-
*/
|
|
12
|
-
DefineStart = 0,
|
|
13
|
-
/** Current tool phase changes CurvePrimitive endPoint.
|
|
14
|
-
* ex. Arc defined by start, end, mid would return this when accepted length is 1.
|
|
15
|
-
*/
|
|
16
|
-
DefineEnd = 1,
|
|
17
|
-
/** Current tool phase does NOT change CurvePrimitive startPoint or endPoint.
|
|
18
|
-
* ex. When defining arc mid point, or start and end tangents for a bcurve return this.
|
|
19
|
-
*/
|
|
20
|
-
DefineOther = 2
|
|
21
|
-
}
|
|
22
|
-
/** @alpha Base class for creating open and closed paths. */
|
|
23
|
-
export declare abstract class CreateOrContinuePathTool extends CreateElementWithDynamicsTool {
|
|
24
|
-
protected _createCurvePhase: CreateCurvePhase;
|
|
25
|
-
protected readonly accepted: Point3d[];
|
|
26
|
-
protected current?: CurvePrimitive;
|
|
27
|
-
protected continuationData?: {
|
|
28
|
-
props: GeometricElementProps;
|
|
29
|
-
path: Path;
|
|
30
|
-
params: GeometryParams;
|
|
31
|
-
};
|
|
32
|
-
protected isClosed: boolean;
|
|
33
|
-
protected isConstruction: boolean;
|
|
34
|
-
protected _snapGeomId?: Id64String;
|
|
35
|
-
protected _startedCmd?: string;
|
|
36
|
-
protected startCommand(): Promise<string>;
|
|
37
|
-
protected get allowJoin(): boolean;
|
|
38
|
-
protected get allowClosure(): boolean;
|
|
39
|
-
protected get allowSimplify(): boolean;
|
|
40
|
-
protected get wantSmartRotation(): boolean;
|
|
41
|
-
protected get wantPickableDynamics(): boolean;
|
|
42
|
-
protected get wantJoin(): boolean;
|
|
43
|
-
protected get wantClosure(): boolean;
|
|
44
|
-
protected get wantSimplify(): boolean;
|
|
45
|
-
protected get showCurveConstructions(): boolean;
|
|
46
|
-
protected get showJoin(): boolean;
|
|
47
|
-
protected get showClosure(): boolean;
|
|
48
|
-
protected get createCurvePhase(): CreateCurvePhase;
|
|
49
|
-
/** Sub-classes should override unless they don't support join or closure. */
|
|
50
|
-
protected updateCurvePhase(): void;
|
|
51
|
-
/** Implemented by sub-classes to create the new curve or construction curve for placement dynamics.
|
|
52
|
-
* @param ev The current button event from a click or motion event.
|
|
53
|
-
* @param isDynamics true when called for dynamics and the point from ev should be included in the result curve.
|
|
54
|
-
* @internal
|
|
55
|
-
*/
|
|
56
|
-
protected abstract createNewCurvePrimitive(ev: BeButtonEvent, isDynamics: boolean): CurvePrimitive | undefined;
|
|
57
|
-
protected getCurrentRotation(ev: BeButtonEvent): Matrix3d;
|
|
58
|
-
protected getUpVector(ev: BeButtonEvent): Vector3d;
|
|
59
|
-
protected updateCurveAndContinuationData(ev: BeButtonEvent, isDynamics: boolean): Promise<void>;
|
|
60
|
-
protected updateElementData(ev: BeButtonEvent, isDynamics: boolean): Promise<void>;
|
|
61
|
-
protected updateDynamicData(ev: BeButtonEvent): Promise<boolean>;
|
|
62
|
-
protected get isContinueExistingPath(): boolean;
|
|
63
|
-
protected isValidForContinue(snap: SnapDetail): Promise<{
|
|
64
|
-
props: GeometricElementProps;
|
|
65
|
-
path: Path;
|
|
66
|
-
params: GeometryParams;
|
|
67
|
-
} | undefined>;
|
|
68
|
-
protected isValidForJoin(): Promise<boolean>;
|
|
69
|
-
protected isValidForClosure(): Promise<boolean>;
|
|
70
|
-
static isSingleOpenPath(info: ElementGeometryInfo): {
|
|
71
|
-
path: Path;
|
|
72
|
-
params: GeometryParams;
|
|
73
|
-
} | undefined;
|
|
74
|
-
static isPathEndPoint(curve: CurvePrimitive, path: Path): boolean;
|
|
75
|
-
static isPathClosurePoint(curve: CurvePrimitive, path?: Path): boolean;
|
|
76
|
-
protected addConstructionGraphics(curve: CurvePrimitive, showCurve: boolean, context: DynamicsContext): void;
|
|
77
|
-
protected showConstructionGraphics(_ev: BeButtonEvent, context: DynamicsContext): boolean;
|
|
78
|
-
onDynamicFrame(ev: BeButtonEvent, context: DynamicsContext): void;
|
|
79
|
-
protected showJoinIndicator(context: DecorateContext, pt: Point3d): void;
|
|
80
|
-
protected showClosureIndicator(context: DecorateContext, pt: Point3d): void;
|
|
81
|
-
testDecorationHit(id: Id64String): boolean;
|
|
82
|
-
getToolTip(hit: HitDetail): Promise<HTMLElement | string>;
|
|
83
|
-
protected getSnapGeometry(): GeometryQuery | undefined;
|
|
84
|
-
getDecorationGeometry(_hit: HitDetail): GeometryStreamProps | undefined;
|
|
85
|
-
protected addPickableGraphics(context: DecorateContext): void;
|
|
86
|
-
decorate(context: DecorateContext): void;
|
|
87
|
-
onModifierKeyTransition(_wentDown: boolean, modifier: BeModifierKeys, _event: KeyboardEvent): Promise<EventHandled>;
|
|
88
|
-
protected getPlacementProps(): PlacementProps | undefined;
|
|
89
|
-
protected createNewPath(placement: PlacementProps): JsonGeometryStream | FlatBufferGeometryStream | undefined;
|
|
90
|
-
protected continueExistingPath(placement: PlacementProps): JsonGeometryStream | FlatBufferGeometryStream | undefined;
|
|
91
|
-
protected getGeometryProps(placement: PlacementProps): JsonGeometryStream | FlatBufferGeometryStream | undefined;
|
|
92
|
-
protected getElementProps(placement: PlacementProps): GeometricElementProps | undefined;
|
|
93
|
-
protected doCreateElement(props: GeometricElementProps, data?: ElementGeometryBuilderParams): Promise<void>;
|
|
94
|
-
protected setupAccuDraw(): void;
|
|
95
|
-
onUndoPreviousStep(): Promise<boolean>;
|
|
96
|
-
onPostInstall(): Promise<void>;
|
|
97
|
-
}
|
|
98
|
-
/** @alpha Creates a line string or shape. Uses model and category from [[BriefcaseConnection.editorToolSettings]]. */
|
|
99
|
-
export declare class CreateLineStringTool extends CreateOrContinuePathTool {
|
|
100
|
-
static toolId: string;
|
|
101
|
-
static iconSpec: string;
|
|
102
|
-
protected get wantPickableDynamics(): boolean;
|
|
103
|
-
protected provideToolAssistance(_mainInstrText?: string, _additionalInstr?: ToolAssistanceInstruction[]): void;
|
|
104
|
-
protected get wantClosure(): boolean;
|
|
105
|
-
protected updateCurvePhase(): void;
|
|
106
|
-
protected isComplete(ev: BeButtonEvent): boolean;
|
|
107
|
-
protected createNewCurvePrimitive(ev: BeButtonEvent, isDynamics: boolean): CurvePrimitive | undefined;
|
|
108
|
-
protected cancelPoint(ev: BeButtonEvent): Promise<boolean>;
|
|
109
|
-
onRestartTool(): Promise<void>;
|
|
110
|
-
}
|
|
111
|
-
/** @alpha */
|
|
112
|
-
export declare enum ArcMethod {
|
|
113
|
-
CenterStart = 0,
|
|
114
|
-
StartCenter = 1,
|
|
115
|
-
StartMidEnd = 2,
|
|
116
|
-
StartEndMid = 3
|
|
117
|
-
}
|
|
118
|
-
/** @alpha Creates an arc. Uses model and category from [[BriefcaseConnection.editorToolSettings]]. */
|
|
119
|
-
export declare class CreateArcTool extends CreateOrContinuePathTool {
|
|
120
|
-
static toolId: string;
|
|
121
|
-
static iconSpec: string;
|
|
122
|
-
static get minArgs(): number;
|
|
123
|
-
static get maxArgs(): number;
|
|
124
|
-
protected get showCurveConstructions(): boolean;
|
|
125
|
-
protected provideToolAssistance(mainInstrText?: string, additionalInstr?: ToolAssistanceInstruction[]): void;
|
|
126
|
-
protected setupAccuDraw(): void;
|
|
127
|
-
private static methodMessage;
|
|
128
|
-
private static getMethodChoices;
|
|
129
|
-
private _methodProperty;
|
|
130
|
-
get methodProperty(): DialogProperty<number>;
|
|
131
|
-
get method(): ArcMethod;
|
|
132
|
-
set method(method: ArcMethod);
|
|
133
|
-
private _useRadiusProperty;
|
|
134
|
-
get useRadiusProperty(): DialogProperty<boolean>;
|
|
135
|
-
get useRadius(): boolean;
|
|
136
|
-
set useRadius(value: boolean);
|
|
137
|
-
private _radiusProperty;
|
|
138
|
-
get radiusProperty(): DialogProperty<number>;
|
|
139
|
-
get radius(): number;
|
|
140
|
-
set radius(value: number);
|
|
141
|
-
private _useSweepProperty;
|
|
142
|
-
get useSweepProperty(): DialogProperty<boolean>;
|
|
143
|
-
get useSweep(): boolean;
|
|
144
|
-
set useSweep(value: boolean);
|
|
145
|
-
private _sweepProperty;
|
|
146
|
-
get sweepProperty(): DialogProperty<number>;
|
|
147
|
-
get sweep(): number;
|
|
148
|
-
set sweep(value: number);
|
|
149
|
-
protected isComplete(_ev: BeButtonEvent): boolean;
|
|
150
|
-
protected updateCurvePhase(): void;
|
|
151
|
-
protected createConstructionCurve(ev: BeButtonEvent, isDynamics: boolean): CurvePrimitive | undefined;
|
|
152
|
-
protected createNewCurvePrimitive(ev: BeButtonEvent, isDynamics: boolean): CurvePrimitive | undefined;
|
|
153
|
-
private syncToolSettingsRadiusAndSweep;
|
|
154
|
-
protected getToolSettingPropertyLocked(property: DialogProperty<any>): DialogProperty<any> | undefined;
|
|
155
|
-
applyToolSettingPropertyChange(updatedValue: DialogPropertySyncItem): Promise<boolean>;
|
|
156
|
-
supplyToolSettingsProperties(): DialogItem[] | undefined;
|
|
157
|
-
onRestartTool(): Promise<void>;
|
|
158
|
-
onInstall(): Promise<boolean>;
|
|
159
|
-
/** The keyin takes the following arguments, all of which are optional:
|
|
160
|
-
* - `method=0|1|2|3` How arc will be defined. 0 for center/start, 1 for start/center, 2 for start/mid/end, and 3 for start/end/mid.
|
|
161
|
-
* - `radius=number` Arc radius for start/center or center/start, 0 to define by points.
|
|
162
|
-
* - `sweep=number` Arc sweep angle in degrees for start/center or center/start, 0 to define by points.
|
|
163
|
-
*/
|
|
164
|
-
parseAndRun(...inputArgs: string[]): Promise<boolean>;
|
|
165
|
-
}
|
|
166
|
-
/** @alpha */
|
|
167
|
-
export declare enum CircleMethod {
|
|
168
|
-
Center = 0,
|
|
169
|
-
Edge = 1
|
|
170
|
-
}
|
|
171
|
-
/** @alpha Creates a circle. Uses model and category from [[BriefcaseConnection.editorToolSettings]]. */
|
|
172
|
-
export declare class CreateCircleTool extends CreateOrContinuePathTool {
|
|
173
|
-
static toolId: string;
|
|
174
|
-
static iconSpec: string;
|
|
175
|
-
static get minArgs(): number;
|
|
176
|
-
static get maxArgs(): number;
|
|
177
|
-
protected get showCurveConstructions(): boolean;
|
|
178
|
-
protected provideToolAssistance(mainInstrText?: string, additionalInstr?: ToolAssistanceInstruction[]): void;
|
|
179
|
-
protected setupAccuDraw(): void;
|
|
180
|
-
private static methodMessage;
|
|
181
|
-
private static getMethodChoices;
|
|
182
|
-
private _methodProperty;
|
|
183
|
-
get methodProperty(): DialogProperty<number>;
|
|
184
|
-
get method(): CircleMethod;
|
|
185
|
-
set method(method: CircleMethod);
|
|
186
|
-
private _useRadiusProperty;
|
|
187
|
-
get useRadiusProperty(): DialogProperty<boolean>;
|
|
188
|
-
get useRadius(): boolean;
|
|
189
|
-
set useRadius(value: boolean);
|
|
190
|
-
private _radiusProperty;
|
|
191
|
-
get radiusProperty(): DialogProperty<number>;
|
|
192
|
-
get radius(): number;
|
|
193
|
-
set radius(value: number);
|
|
194
|
-
protected isComplete(_ev: BeButtonEvent): boolean;
|
|
195
|
-
protected createNewCurvePrimitive(ev: BeButtonEvent, isDynamics: boolean): CurvePrimitive | undefined;
|
|
196
|
-
protected cancelPoint(_ev: BeButtonEvent): Promise<boolean>;
|
|
197
|
-
protected getToolSettingPropertyLocked(property: DialogProperty<any>): DialogProperty<any> | undefined;
|
|
198
|
-
applyToolSettingPropertyChange(updatedValue: DialogPropertySyncItem): Promise<boolean>;
|
|
199
|
-
supplyToolSettingsProperties(): DialogItem[] | undefined;
|
|
200
|
-
onRestartTool(): Promise<void>;
|
|
201
|
-
onReinitialize(): Promise<void>;
|
|
202
|
-
onPostInstall(): Promise<void>;
|
|
203
|
-
onInstall(): Promise<boolean>;
|
|
204
|
-
/** The keyin takes the following arguments, all of which are optional:
|
|
205
|
-
* - `method=0|1` How circle will be defined. 0 for center, 1 for edge.
|
|
206
|
-
* - `radius=number` Circle radius, 0 to define by points.
|
|
207
|
-
*/
|
|
208
|
-
parseAndRun(...inputArgs: string[]): Promise<boolean>;
|
|
209
|
-
}
|
|
210
|
-
/** @alpha Creates an ellipse. Uses model and category from [[BriefcaseConnection.editorToolSettings]]. */
|
|
211
|
-
export declare class CreateEllipseTool extends CreateOrContinuePathTool {
|
|
212
|
-
static toolId: string;
|
|
213
|
-
static iconSpec: string;
|
|
214
|
-
protected isComplete(_ev: BeButtonEvent): boolean;
|
|
215
|
-
protected provideToolAssistance(mainInstrText?: string, additionalInstr?: ToolAssistanceInstruction[]): void;
|
|
216
|
-
protected setupAccuDraw(): void;
|
|
217
|
-
protected createNewCurvePrimitive(ev: BeButtonEvent, isDynamics: boolean): CurvePrimitive | undefined;
|
|
218
|
-
onRestartTool(): Promise<void>;
|
|
219
|
-
}
|
|
220
|
-
/** @alpha Creates a rectangle by corner points. Uses model and category from [[BriefcaseConnection.editorToolSettings]]. */
|
|
221
|
-
export declare class CreateRectangleTool extends CreateOrContinuePathTool {
|
|
222
|
-
static toolId: string;
|
|
223
|
-
static iconSpec: string;
|
|
224
|
-
protected localToWorld: Transform;
|
|
225
|
-
protected originLocal?: Point3d;
|
|
226
|
-
protected cornerLocal?: Point3d;
|
|
227
|
-
static get minArgs(): number;
|
|
228
|
-
static get maxArgs(): number;
|
|
229
|
-
protected provideToolAssistance(mainInstrText?: string, additionalInstr?: ToolAssistanceInstruction[]): void;
|
|
230
|
-
protected setupAccuDraw(): void;
|
|
231
|
-
private _useRadiusProperty;
|
|
232
|
-
get useRadiusProperty(): DialogProperty<boolean>;
|
|
233
|
-
get useRadius(): boolean;
|
|
234
|
-
set useRadius(value: boolean);
|
|
235
|
-
private _radiusProperty;
|
|
236
|
-
get radiusProperty(): DialogProperty<number>;
|
|
237
|
-
get radius(): number;
|
|
238
|
-
set radius(value: number);
|
|
239
|
-
protected isComplete(_ev: BeButtonEvent): boolean;
|
|
240
|
-
protected createNewCurvePrimitive(ev: BeButtonEvent, isDynamics: boolean): CurvePrimitive | undefined;
|
|
241
|
-
protected createNewPath(placement: PlacementProps): JsonGeometryStream | FlatBufferGeometryStream | undefined;
|
|
242
|
-
protected getToolSettingPropertyLocked(property: DialogProperty<any>): DialogProperty<any> | undefined;
|
|
243
|
-
applyToolSettingPropertyChange(updatedValue: DialogPropertySyncItem): Promise<boolean>;
|
|
244
|
-
supplyToolSettingsProperties(): DialogItem[] | undefined;
|
|
245
|
-
onRestartTool(): Promise<void>;
|
|
246
|
-
onInstall(): Promise<boolean>;
|
|
247
|
-
/** The keyin takes the following arguments, all of which are optional:
|
|
248
|
-
* - `radius=number` Corner radius, 0 for sharp corners.
|
|
249
|
-
*/
|
|
250
|
-
parseAndRun(...inputArgs: string[]): Promise<boolean>;
|
|
251
|
-
}
|
|
252
|
-
/** @alpha */
|
|
253
|
-
export declare enum BCurveMethod {
|
|
254
|
-
ControlPoints = 0,
|
|
255
|
-
ThroughPoints = 1
|
|
256
|
-
}
|
|
257
|
-
/** @alpha Creates a bspline curve by poles or through points. Uses model and category from [[BriefcaseConnection.editorToolSettings]]. */
|
|
258
|
-
export declare class CreateBCurveTool extends CreateOrContinuePathTool {
|
|
259
|
-
static toolId: string;
|
|
260
|
-
static iconSpec: string;
|
|
261
|
-
protected _isPhysicallyClosedOrComplete: boolean;
|
|
262
|
-
protected _tangentPhase: CreateCurvePhase;
|
|
263
|
-
static get minArgs(): number;
|
|
264
|
-
static get maxArgs(): number;
|
|
265
|
-
protected get wantPickableDynamics(): boolean;
|
|
266
|
-
protected get showCurveConstructions(): boolean;
|
|
267
|
-
protected provideToolAssistance(_mainInstrText?: string, _additionalInstr?: ToolAssistanceInstruction[]): void;
|
|
268
|
-
private static methodMessage;
|
|
269
|
-
private static getMethodChoices;
|
|
270
|
-
private _methodProperty;
|
|
271
|
-
get methodProperty(): DialogProperty<number>;
|
|
272
|
-
get method(): BCurveMethod;
|
|
273
|
-
set method(method: BCurveMethod);
|
|
274
|
-
private _orderProperty;
|
|
275
|
-
get orderProperty(): DialogProperty<number>;
|
|
276
|
-
get order(): number;
|
|
277
|
-
set order(value: number);
|
|
278
|
-
protected get minOrder(): number;
|
|
279
|
-
protected get maxOrder(): number;
|
|
280
|
-
private _tangentsProperty;
|
|
281
|
-
get tangentsProperty(): DialogProperty<boolean>;
|
|
282
|
-
get tangents(): boolean;
|
|
283
|
-
set tangents(value: boolean);
|
|
284
|
-
protected get wantClosure(): boolean;
|
|
285
|
-
protected get requiredPointCount(): number;
|
|
286
|
-
protected get createCurvePhase(): CreateCurvePhase;
|
|
287
|
-
protected updateCurvePhase(): void;
|
|
288
|
-
protected isComplete(ev: BeButtonEvent): boolean;
|
|
289
|
-
protected showConstructionGraphics(ev: BeButtonEvent, context: DynamicsContext): boolean;
|
|
290
|
-
protected createNewCurvePrimitive(ev: BeButtonEvent, isDynamics: boolean): CurvePrimitive | undefined;
|
|
291
|
-
protected getSnapGeometry(): GeometryQuery | undefined;
|
|
292
|
-
protected acceptPoint(ev: BeButtonEvent): Promise<boolean>;
|
|
293
|
-
protected cancelPoint(ev: BeButtonEvent): Promise<boolean>;
|
|
294
|
-
applyToolSettingPropertyChange(updatedValue: DialogPropertySyncItem): Promise<boolean>;
|
|
295
|
-
supplyToolSettingsProperties(): DialogItem[] | undefined;
|
|
296
|
-
onRestartTool(): Promise<void>;
|
|
297
|
-
onInstall(): Promise<boolean>;
|
|
298
|
-
/** The keyin takes the following arguments, all of which are optional:
|
|
299
|
-
* - `method=0|1` How bcurve will be defined. 0 for control points, 1 for through points.
|
|
300
|
-
* - `order=number` bcurve order from 2 to 16.
|
|
301
|
-
* - 'tangents=0|1 Whether to specify start/end tangents for through points construction.
|
|
302
|
-
*/
|
|
303
|
-
parseAndRun(...inputArgs: string[]): Promise<boolean>;
|
|
304
|
-
}
|
|
1
|
+
import { DialogItem, DialogProperty, DialogPropertySyncItem } from "@itwin/appui-abstract";
|
|
2
|
+
import { Id64String } from "@itwin/core-bentley";
|
|
3
|
+
import { ElementGeometryBuilderParams, ElementGeometryInfo, FlatBufferGeometryStream, GeometricElementProps, GeometryParams, GeometryStreamProps, JsonGeometryStream, PlacementProps } from "@itwin/core-common";
|
|
4
|
+
import { BeButtonEvent, BeModifierKeys, DecorateContext, DynamicsContext, EventHandled, HitDetail, SnapDetail, ToolAssistanceInstruction } from "@itwin/core-frontend";
|
|
5
|
+
import { CurvePrimitive, GeometryQuery, Matrix3d, Path, Point3d, Transform, Vector3d } from "@itwin/core-geometry";
|
|
6
|
+
import { CreateElementWithDynamicsTool } from "./CreateElementTool";
|
|
7
|
+
/** @alpha Values for [[CreateOrContinueTool.createCurvePhase] to support join and closure. */
|
|
8
|
+
export declare enum CreateCurvePhase {
|
|
9
|
+
/** Current tool phase changes CurvePrimitive startPoint.
|
|
10
|
+
* ex. Arc defined by center, start would return this when accepted length is 1.
|
|
11
|
+
*/
|
|
12
|
+
DefineStart = 0,
|
|
13
|
+
/** Current tool phase changes CurvePrimitive endPoint.
|
|
14
|
+
* ex. Arc defined by start, end, mid would return this when accepted length is 1.
|
|
15
|
+
*/
|
|
16
|
+
DefineEnd = 1,
|
|
17
|
+
/** Current tool phase does NOT change CurvePrimitive startPoint or endPoint.
|
|
18
|
+
* ex. When defining arc mid point, or start and end tangents for a bcurve return this.
|
|
19
|
+
*/
|
|
20
|
+
DefineOther = 2
|
|
21
|
+
}
|
|
22
|
+
/** @alpha Base class for creating open and closed paths. */
|
|
23
|
+
export declare abstract class CreateOrContinuePathTool extends CreateElementWithDynamicsTool {
|
|
24
|
+
protected _createCurvePhase: CreateCurvePhase;
|
|
25
|
+
protected readonly accepted: Point3d[];
|
|
26
|
+
protected current?: CurvePrimitive;
|
|
27
|
+
protected continuationData?: {
|
|
28
|
+
props: GeometricElementProps;
|
|
29
|
+
path: Path;
|
|
30
|
+
params: GeometryParams;
|
|
31
|
+
};
|
|
32
|
+
protected isClosed: boolean;
|
|
33
|
+
protected isConstruction: boolean;
|
|
34
|
+
protected _snapGeomId?: Id64String;
|
|
35
|
+
protected _startedCmd?: string;
|
|
36
|
+
protected startCommand(): Promise<string>;
|
|
37
|
+
protected get allowJoin(): boolean;
|
|
38
|
+
protected get allowClosure(): boolean;
|
|
39
|
+
protected get allowSimplify(): boolean;
|
|
40
|
+
protected get wantSmartRotation(): boolean;
|
|
41
|
+
protected get wantPickableDynamics(): boolean;
|
|
42
|
+
protected get wantJoin(): boolean;
|
|
43
|
+
protected get wantClosure(): boolean;
|
|
44
|
+
protected get wantSimplify(): boolean;
|
|
45
|
+
protected get showCurveConstructions(): boolean;
|
|
46
|
+
protected get showJoin(): boolean;
|
|
47
|
+
protected get showClosure(): boolean;
|
|
48
|
+
protected get createCurvePhase(): CreateCurvePhase;
|
|
49
|
+
/** Sub-classes should override unless they don't support join or closure. */
|
|
50
|
+
protected updateCurvePhase(): void;
|
|
51
|
+
/** Implemented by sub-classes to create the new curve or construction curve for placement dynamics.
|
|
52
|
+
* @param ev The current button event from a click or motion event.
|
|
53
|
+
* @param isDynamics true when called for dynamics and the point from ev should be included in the result curve.
|
|
54
|
+
* @internal
|
|
55
|
+
*/
|
|
56
|
+
protected abstract createNewCurvePrimitive(ev: BeButtonEvent, isDynamics: boolean): CurvePrimitive | undefined;
|
|
57
|
+
protected getCurrentRotation(ev: BeButtonEvent): Matrix3d;
|
|
58
|
+
protected getUpVector(ev: BeButtonEvent): Vector3d;
|
|
59
|
+
protected updateCurveAndContinuationData(ev: BeButtonEvent, isDynamics: boolean): Promise<void>;
|
|
60
|
+
protected updateElementData(ev: BeButtonEvent, isDynamics: boolean): Promise<void>;
|
|
61
|
+
protected updateDynamicData(ev: BeButtonEvent): Promise<boolean>;
|
|
62
|
+
protected get isContinueExistingPath(): boolean;
|
|
63
|
+
protected isValidForContinue(snap: SnapDetail): Promise<{
|
|
64
|
+
props: GeometricElementProps;
|
|
65
|
+
path: Path;
|
|
66
|
+
params: GeometryParams;
|
|
67
|
+
} | undefined>;
|
|
68
|
+
protected isValidForJoin(): Promise<boolean>;
|
|
69
|
+
protected isValidForClosure(): Promise<boolean>;
|
|
70
|
+
static isSingleOpenPath(info: ElementGeometryInfo): {
|
|
71
|
+
path: Path;
|
|
72
|
+
params: GeometryParams;
|
|
73
|
+
} | undefined;
|
|
74
|
+
static isPathEndPoint(curve: CurvePrimitive, path: Path): boolean;
|
|
75
|
+
static isPathClosurePoint(curve: CurvePrimitive, path?: Path): boolean;
|
|
76
|
+
protected addConstructionGraphics(curve: CurvePrimitive, showCurve: boolean, context: DynamicsContext): void;
|
|
77
|
+
protected showConstructionGraphics(_ev: BeButtonEvent, context: DynamicsContext): boolean;
|
|
78
|
+
onDynamicFrame(ev: BeButtonEvent, context: DynamicsContext): void;
|
|
79
|
+
protected showJoinIndicator(context: DecorateContext, pt: Point3d): void;
|
|
80
|
+
protected showClosureIndicator(context: DecorateContext, pt: Point3d): void;
|
|
81
|
+
testDecorationHit(id: Id64String): boolean;
|
|
82
|
+
getToolTip(hit: HitDetail): Promise<HTMLElement | string>;
|
|
83
|
+
protected getSnapGeometry(): GeometryQuery | undefined;
|
|
84
|
+
getDecorationGeometry(_hit: HitDetail): GeometryStreamProps | undefined;
|
|
85
|
+
protected addPickableGraphics(context: DecorateContext): void;
|
|
86
|
+
decorate(context: DecorateContext): void;
|
|
87
|
+
onModifierKeyTransition(_wentDown: boolean, modifier: BeModifierKeys, _event: KeyboardEvent): Promise<EventHandled>;
|
|
88
|
+
protected getPlacementProps(): PlacementProps | undefined;
|
|
89
|
+
protected createNewPath(placement: PlacementProps): JsonGeometryStream | FlatBufferGeometryStream | undefined;
|
|
90
|
+
protected continueExistingPath(placement: PlacementProps): JsonGeometryStream | FlatBufferGeometryStream | undefined;
|
|
91
|
+
protected getGeometryProps(placement: PlacementProps): JsonGeometryStream | FlatBufferGeometryStream | undefined;
|
|
92
|
+
protected getElementProps(placement: PlacementProps): GeometricElementProps | undefined;
|
|
93
|
+
protected doCreateElement(props: GeometricElementProps, data?: ElementGeometryBuilderParams): Promise<void>;
|
|
94
|
+
protected setupAccuDraw(): void;
|
|
95
|
+
onUndoPreviousStep(): Promise<boolean>;
|
|
96
|
+
onPostInstall(): Promise<void>;
|
|
97
|
+
}
|
|
98
|
+
/** @alpha Creates a line string or shape. Uses model and category from [[BriefcaseConnection.editorToolSettings]]. */
|
|
99
|
+
export declare class CreateLineStringTool extends CreateOrContinuePathTool {
|
|
100
|
+
static toolId: string;
|
|
101
|
+
static iconSpec: string;
|
|
102
|
+
protected get wantPickableDynamics(): boolean;
|
|
103
|
+
protected provideToolAssistance(_mainInstrText?: string, _additionalInstr?: ToolAssistanceInstruction[]): void;
|
|
104
|
+
protected get wantClosure(): boolean;
|
|
105
|
+
protected updateCurvePhase(): void;
|
|
106
|
+
protected isComplete(ev: BeButtonEvent): boolean;
|
|
107
|
+
protected createNewCurvePrimitive(ev: BeButtonEvent, isDynamics: boolean): CurvePrimitive | undefined;
|
|
108
|
+
protected cancelPoint(ev: BeButtonEvent): Promise<boolean>;
|
|
109
|
+
onRestartTool(): Promise<void>;
|
|
110
|
+
}
|
|
111
|
+
/** @alpha */
|
|
112
|
+
export declare enum ArcMethod {
|
|
113
|
+
CenterStart = 0,
|
|
114
|
+
StartCenter = 1,
|
|
115
|
+
StartMidEnd = 2,
|
|
116
|
+
StartEndMid = 3
|
|
117
|
+
}
|
|
118
|
+
/** @alpha Creates an arc. Uses model and category from [[BriefcaseConnection.editorToolSettings]]. */
|
|
119
|
+
export declare class CreateArcTool extends CreateOrContinuePathTool {
|
|
120
|
+
static toolId: string;
|
|
121
|
+
static iconSpec: string;
|
|
122
|
+
static get minArgs(): number;
|
|
123
|
+
static get maxArgs(): number;
|
|
124
|
+
protected get showCurveConstructions(): boolean;
|
|
125
|
+
protected provideToolAssistance(mainInstrText?: string, additionalInstr?: ToolAssistanceInstruction[]): void;
|
|
126
|
+
protected setupAccuDraw(): void;
|
|
127
|
+
private static methodMessage;
|
|
128
|
+
private static getMethodChoices;
|
|
129
|
+
private _methodProperty;
|
|
130
|
+
get methodProperty(): DialogProperty<number>;
|
|
131
|
+
get method(): ArcMethod;
|
|
132
|
+
set method(method: ArcMethod);
|
|
133
|
+
private _useRadiusProperty;
|
|
134
|
+
get useRadiusProperty(): DialogProperty<boolean>;
|
|
135
|
+
get useRadius(): boolean;
|
|
136
|
+
set useRadius(value: boolean);
|
|
137
|
+
private _radiusProperty;
|
|
138
|
+
get radiusProperty(): DialogProperty<number>;
|
|
139
|
+
get radius(): number;
|
|
140
|
+
set radius(value: number);
|
|
141
|
+
private _useSweepProperty;
|
|
142
|
+
get useSweepProperty(): DialogProperty<boolean>;
|
|
143
|
+
get useSweep(): boolean;
|
|
144
|
+
set useSweep(value: boolean);
|
|
145
|
+
private _sweepProperty;
|
|
146
|
+
get sweepProperty(): DialogProperty<number>;
|
|
147
|
+
get sweep(): number;
|
|
148
|
+
set sweep(value: number);
|
|
149
|
+
protected isComplete(_ev: BeButtonEvent): boolean;
|
|
150
|
+
protected updateCurvePhase(): void;
|
|
151
|
+
protected createConstructionCurve(ev: BeButtonEvent, isDynamics: boolean): CurvePrimitive | undefined;
|
|
152
|
+
protected createNewCurvePrimitive(ev: BeButtonEvent, isDynamics: boolean): CurvePrimitive | undefined;
|
|
153
|
+
private syncToolSettingsRadiusAndSweep;
|
|
154
|
+
protected getToolSettingPropertyLocked(property: DialogProperty<any>): DialogProperty<any> | undefined;
|
|
155
|
+
applyToolSettingPropertyChange(updatedValue: DialogPropertySyncItem): Promise<boolean>;
|
|
156
|
+
supplyToolSettingsProperties(): DialogItem[] | undefined;
|
|
157
|
+
onRestartTool(): Promise<void>;
|
|
158
|
+
onInstall(): Promise<boolean>;
|
|
159
|
+
/** The keyin takes the following arguments, all of which are optional:
|
|
160
|
+
* - `method=0|1|2|3` How arc will be defined. 0 for center/start, 1 for start/center, 2 for start/mid/end, and 3 for start/end/mid.
|
|
161
|
+
* - `radius=number` Arc radius for start/center or center/start, 0 to define by points.
|
|
162
|
+
* - `sweep=number` Arc sweep angle in degrees for start/center or center/start, 0 to define by points.
|
|
163
|
+
*/
|
|
164
|
+
parseAndRun(...inputArgs: string[]): Promise<boolean>;
|
|
165
|
+
}
|
|
166
|
+
/** @alpha */
|
|
167
|
+
export declare enum CircleMethod {
|
|
168
|
+
Center = 0,
|
|
169
|
+
Edge = 1
|
|
170
|
+
}
|
|
171
|
+
/** @alpha Creates a circle. Uses model and category from [[BriefcaseConnection.editorToolSettings]]. */
|
|
172
|
+
export declare class CreateCircleTool extends CreateOrContinuePathTool {
|
|
173
|
+
static toolId: string;
|
|
174
|
+
static iconSpec: string;
|
|
175
|
+
static get minArgs(): number;
|
|
176
|
+
static get maxArgs(): number;
|
|
177
|
+
protected get showCurveConstructions(): boolean;
|
|
178
|
+
protected provideToolAssistance(mainInstrText?: string, additionalInstr?: ToolAssistanceInstruction[]): void;
|
|
179
|
+
protected setupAccuDraw(): void;
|
|
180
|
+
private static methodMessage;
|
|
181
|
+
private static getMethodChoices;
|
|
182
|
+
private _methodProperty;
|
|
183
|
+
get methodProperty(): DialogProperty<number>;
|
|
184
|
+
get method(): CircleMethod;
|
|
185
|
+
set method(method: CircleMethod);
|
|
186
|
+
private _useRadiusProperty;
|
|
187
|
+
get useRadiusProperty(): DialogProperty<boolean>;
|
|
188
|
+
get useRadius(): boolean;
|
|
189
|
+
set useRadius(value: boolean);
|
|
190
|
+
private _radiusProperty;
|
|
191
|
+
get radiusProperty(): DialogProperty<number>;
|
|
192
|
+
get radius(): number;
|
|
193
|
+
set radius(value: number);
|
|
194
|
+
protected isComplete(_ev: BeButtonEvent): boolean;
|
|
195
|
+
protected createNewCurvePrimitive(ev: BeButtonEvent, isDynamics: boolean): CurvePrimitive | undefined;
|
|
196
|
+
protected cancelPoint(_ev: BeButtonEvent): Promise<boolean>;
|
|
197
|
+
protected getToolSettingPropertyLocked(property: DialogProperty<any>): DialogProperty<any> | undefined;
|
|
198
|
+
applyToolSettingPropertyChange(updatedValue: DialogPropertySyncItem): Promise<boolean>;
|
|
199
|
+
supplyToolSettingsProperties(): DialogItem[] | undefined;
|
|
200
|
+
onRestartTool(): Promise<void>;
|
|
201
|
+
onReinitialize(): Promise<void>;
|
|
202
|
+
onPostInstall(): Promise<void>;
|
|
203
|
+
onInstall(): Promise<boolean>;
|
|
204
|
+
/** The keyin takes the following arguments, all of which are optional:
|
|
205
|
+
* - `method=0|1` How circle will be defined. 0 for center, 1 for edge.
|
|
206
|
+
* - `radius=number` Circle radius, 0 to define by points.
|
|
207
|
+
*/
|
|
208
|
+
parseAndRun(...inputArgs: string[]): Promise<boolean>;
|
|
209
|
+
}
|
|
210
|
+
/** @alpha Creates an ellipse. Uses model and category from [[BriefcaseConnection.editorToolSettings]]. */
|
|
211
|
+
export declare class CreateEllipseTool extends CreateOrContinuePathTool {
|
|
212
|
+
static toolId: string;
|
|
213
|
+
static iconSpec: string;
|
|
214
|
+
protected isComplete(_ev: BeButtonEvent): boolean;
|
|
215
|
+
protected provideToolAssistance(mainInstrText?: string, additionalInstr?: ToolAssistanceInstruction[]): void;
|
|
216
|
+
protected setupAccuDraw(): void;
|
|
217
|
+
protected createNewCurvePrimitive(ev: BeButtonEvent, isDynamics: boolean): CurvePrimitive | undefined;
|
|
218
|
+
onRestartTool(): Promise<void>;
|
|
219
|
+
}
|
|
220
|
+
/** @alpha Creates a rectangle by corner points. Uses model and category from [[BriefcaseConnection.editorToolSettings]]. */
|
|
221
|
+
export declare class CreateRectangleTool extends CreateOrContinuePathTool {
|
|
222
|
+
static toolId: string;
|
|
223
|
+
static iconSpec: string;
|
|
224
|
+
protected localToWorld: Transform;
|
|
225
|
+
protected originLocal?: Point3d;
|
|
226
|
+
protected cornerLocal?: Point3d;
|
|
227
|
+
static get minArgs(): number;
|
|
228
|
+
static get maxArgs(): number;
|
|
229
|
+
protected provideToolAssistance(mainInstrText?: string, additionalInstr?: ToolAssistanceInstruction[]): void;
|
|
230
|
+
protected setupAccuDraw(): void;
|
|
231
|
+
private _useRadiusProperty;
|
|
232
|
+
get useRadiusProperty(): DialogProperty<boolean>;
|
|
233
|
+
get useRadius(): boolean;
|
|
234
|
+
set useRadius(value: boolean);
|
|
235
|
+
private _radiusProperty;
|
|
236
|
+
get radiusProperty(): DialogProperty<number>;
|
|
237
|
+
get radius(): number;
|
|
238
|
+
set radius(value: number);
|
|
239
|
+
protected isComplete(_ev: BeButtonEvent): boolean;
|
|
240
|
+
protected createNewCurvePrimitive(ev: BeButtonEvent, isDynamics: boolean): CurvePrimitive | undefined;
|
|
241
|
+
protected createNewPath(placement: PlacementProps): JsonGeometryStream | FlatBufferGeometryStream | undefined;
|
|
242
|
+
protected getToolSettingPropertyLocked(property: DialogProperty<any>): DialogProperty<any> | undefined;
|
|
243
|
+
applyToolSettingPropertyChange(updatedValue: DialogPropertySyncItem): Promise<boolean>;
|
|
244
|
+
supplyToolSettingsProperties(): DialogItem[] | undefined;
|
|
245
|
+
onRestartTool(): Promise<void>;
|
|
246
|
+
onInstall(): Promise<boolean>;
|
|
247
|
+
/** The keyin takes the following arguments, all of which are optional:
|
|
248
|
+
* - `radius=number` Corner radius, 0 for sharp corners.
|
|
249
|
+
*/
|
|
250
|
+
parseAndRun(...inputArgs: string[]): Promise<boolean>;
|
|
251
|
+
}
|
|
252
|
+
/** @alpha */
|
|
253
|
+
export declare enum BCurveMethod {
|
|
254
|
+
ControlPoints = 0,
|
|
255
|
+
ThroughPoints = 1
|
|
256
|
+
}
|
|
257
|
+
/** @alpha Creates a bspline curve by poles or through points. Uses model and category from [[BriefcaseConnection.editorToolSettings]]. */
|
|
258
|
+
export declare class CreateBCurveTool extends CreateOrContinuePathTool {
|
|
259
|
+
static toolId: string;
|
|
260
|
+
static iconSpec: string;
|
|
261
|
+
protected _isPhysicallyClosedOrComplete: boolean;
|
|
262
|
+
protected _tangentPhase: CreateCurvePhase;
|
|
263
|
+
static get minArgs(): number;
|
|
264
|
+
static get maxArgs(): number;
|
|
265
|
+
protected get wantPickableDynamics(): boolean;
|
|
266
|
+
protected get showCurveConstructions(): boolean;
|
|
267
|
+
protected provideToolAssistance(_mainInstrText?: string, _additionalInstr?: ToolAssistanceInstruction[]): void;
|
|
268
|
+
private static methodMessage;
|
|
269
|
+
private static getMethodChoices;
|
|
270
|
+
private _methodProperty;
|
|
271
|
+
get methodProperty(): DialogProperty<number>;
|
|
272
|
+
get method(): BCurveMethod;
|
|
273
|
+
set method(method: BCurveMethod);
|
|
274
|
+
private _orderProperty;
|
|
275
|
+
get orderProperty(): DialogProperty<number>;
|
|
276
|
+
get order(): number;
|
|
277
|
+
set order(value: number);
|
|
278
|
+
protected get minOrder(): number;
|
|
279
|
+
protected get maxOrder(): number;
|
|
280
|
+
private _tangentsProperty;
|
|
281
|
+
get tangentsProperty(): DialogProperty<boolean>;
|
|
282
|
+
get tangents(): boolean;
|
|
283
|
+
set tangents(value: boolean);
|
|
284
|
+
protected get wantClosure(): boolean;
|
|
285
|
+
protected get requiredPointCount(): number;
|
|
286
|
+
protected get createCurvePhase(): CreateCurvePhase;
|
|
287
|
+
protected updateCurvePhase(): void;
|
|
288
|
+
protected isComplete(ev: BeButtonEvent): boolean;
|
|
289
|
+
protected showConstructionGraphics(ev: BeButtonEvent, context: DynamicsContext): boolean;
|
|
290
|
+
protected createNewCurvePrimitive(ev: BeButtonEvent, isDynamics: boolean): CurvePrimitive | undefined;
|
|
291
|
+
protected getSnapGeometry(): GeometryQuery | undefined;
|
|
292
|
+
protected acceptPoint(ev: BeButtonEvent): Promise<boolean>;
|
|
293
|
+
protected cancelPoint(ev: BeButtonEvent): Promise<boolean>;
|
|
294
|
+
applyToolSettingPropertyChange(updatedValue: DialogPropertySyncItem): Promise<boolean>;
|
|
295
|
+
supplyToolSettingsProperties(): DialogItem[] | undefined;
|
|
296
|
+
onRestartTool(): Promise<void>;
|
|
297
|
+
onInstall(): Promise<boolean>;
|
|
298
|
+
/** The keyin takes the following arguments, all of which are optional:
|
|
299
|
+
* - `method=0|1` How bcurve will be defined. 0 for control points, 1 for through points.
|
|
300
|
+
* - `order=number` bcurve order from 2 to 16.
|
|
301
|
+
* - 'tangents=0|1 Whether to specify start/end tangents for through points construction.
|
|
302
|
+
*/
|
|
303
|
+
parseAndRun(...inputArgs: string[]): Promise<boolean>;
|
|
304
|
+
}
|
|
305
305
|
//# sourceMappingURL=SketchTools.d.ts.map
|