@inweb/viewer-visualize 25.9.8 → 25.11.0
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/README.md +1 -1
- package/dist/viewer-visualize.js +252 -163
- package/dist/viewer-visualize.js.map +1 -1
- package/dist/viewer-visualize.min.js +1 -1
- package/dist/viewer-visualize.module.js +211 -89
- package/dist/viewer-visualize.module.js.map +1 -1
- package/lib/Viewer/Commands/index.d.ts +1 -1
- package/lib/Viewer/Draggers/Actions/PanAction.d.ts +2 -2
- package/lib/Viewer/Draggers/Actions/ZoomAction.d.ts +1 -1
- package/lib/Viewer/Draggers/Common/OdBaseDragger.d.ts +1 -1
- package/lib/Viewer/Draggers/MeasureLineDragger/index.d.ts +4 -0
- package/lib/Viewer/Draggers/OdOrbitDragger.d.ts +1 -1
- package/lib/Viewer/Draggers/OdPanDragger.d.ts +2 -2
- package/lib/Viewer/Draggers/OdZoomDragger.d.ts +5 -2
- package/lib/Viewer/Draggers/OdZoomWindowDragger/index.d.ts +1 -1
- package/lib/Viewer/Draggers/OrbitAroundBuildingDragger.d.ts +1 -1
- package/lib/Viewer/Viewer.d.ts +25 -67
- package/package.json +6 -6
- package/src/Viewer/Commands/{Unselect.ts → ClearSelected.ts} +4 -3
- package/src/Viewer/Commands/Explode.ts +1 -1
- package/src/Viewer/Commands/HideSelected.ts +2 -1
- package/src/Viewer/Commands/IsolateSelected.ts +1 -1
- package/src/Viewer/Commands/ResetView.ts +1 -1
- package/src/Viewer/Commands/ShowAll.ts +1 -1
- package/src/Viewer/Commands/index.ts +1 -1
- package/src/Viewer/Draggers/Actions/PanAction.ts +8 -8
- package/src/Viewer/Draggers/Actions/ZoomAction.ts +3 -1
- package/src/Viewer/Draggers/Common/GestureManager.ts +3 -3
- package/src/Viewer/Draggers/Common/OdBaseDragger.ts +3 -3
- package/src/Viewer/Draggers/MeasureLineDragger/MeasureLineItem.ts +6 -1
- package/src/Viewer/Draggers/MeasureLineDragger/index.ts +81 -3
- package/src/Viewer/Draggers/OdOrbitDragger.ts +1 -1
- package/src/Viewer/Draggers/OdPanDragger.ts +4 -4
- package/src/Viewer/Draggers/OdZoomDragger.ts +13 -4
- package/src/Viewer/Draggers/OdZoomWheelDragger.ts +3 -1
- package/src/Viewer/Draggers/OdZoomWindowDragger/index.ts +1 -1
- package/src/Viewer/Draggers/OrbitAroundBuildingDragger.ts +1 -1
- package/src/Viewer/Markup/Visualize/VisualizeMarkup.ts +1 -0
- package/src/Viewer/Viewer.ts +61 -77
- /package/lib/{ConvetMath.d.ts → ConvertMath.d.ts} +0 -0
- /package/lib/Viewer/Commands/{Unselect.d.ts → ClearSelected.d.ts} +0 -0
- /package/src/{ConvetMath.ts → ConvertMath.ts} +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import "./ApplyModelTransform";
|
|
2
2
|
import "./ClearMarkup";
|
|
3
|
+
import "./ClearSelected";
|
|
3
4
|
import "./ClearSlices";
|
|
4
5
|
import "./CreatePreview";
|
|
5
6
|
import "./Explode";
|
|
@@ -16,7 +17,6 @@ import "./SetDefaultViewPosition";
|
|
|
16
17
|
import "./SetMarkupColor";
|
|
17
18
|
import "./SetSelected";
|
|
18
19
|
import "./ShowAll";
|
|
19
|
-
import "./Unselect";
|
|
20
20
|
import "./ZoomToExtents";
|
|
21
21
|
import "./ZoomToObjects";
|
|
22
22
|
import "./ZoomToSelected";
|
|
@@ -10,8 +10,8 @@ export declare class PanAction {
|
|
|
10
10
|
private _getViewParams;
|
|
11
11
|
private _setViewParams;
|
|
12
12
|
constructor(m_module: any, subject: Viewer, beginInteractivity: () => void, endInteractivity: () => void, getViewParams: () => ViewParams, setViewParams: (params: ViewParams) => void);
|
|
13
|
-
beginAction(x: number, y: number): void;
|
|
14
|
-
action(x: number, y: number): void;
|
|
13
|
+
beginAction(x: number, y: number, absoluteX: number, absoluteY: number): void;
|
|
14
|
+
action(x: number, y: number, absoluteX: number, absoluteY: number): void;
|
|
15
15
|
endAction(): void;
|
|
16
16
|
private screenToWorld;
|
|
17
17
|
}
|
|
@@ -3,5 +3,5 @@ export declare class ZoomAction {
|
|
|
3
3
|
private _m_module;
|
|
4
4
|
private _subject;
|
|
5
5
|
constructor(m_module: any, subject: Viewer);
|
|
6
|
-
action(x: number, y: number, zoomFactor: number): void;
|
|
6
|
+
action(x: number, y: number, zoomFactor: number, absoluteX: number, absoluteY: number): void;
|
|
7
7
|
}
|
|
@@ -23,7 +23,7 @@ export declare class OdBaseDragger extends OdaGeAction {
|
|
|
23
23
|
protected dblclick(ev: MouseEvent): void;
|
|
24
24
|
protected start(x: number, y: number, absoluteX?: number, absoluteY?: number): void;
|
|
25
25
|
protected drag(x: number, y: number, absoluteX?: number, absoluteY?: number): void;
|
|
26
|
-
protected end(x: number, y: number): void;
|
|
26
|
+
protected end(x: number, y: number, absoluteX?: number, absoluteY?: number): void;
|
|
27
27
|
protected beginInteractivity: () => void;
|
|
28
28
|
protected endInteractivity: () => void;
|
|
29
29
|
protected getActiveMarkupEntity(entityName: string): any;
|
|
@@ -10,6 +10,8 @@ export declare class MeasureLineDragger extends OdBaseDragger {
|
|
|
10
10
|
protected items: MeasureLineItem[];
|
|
11
11
|
protected m_overlayElement: HTMLElement;
|
|
12
12
|
protected previewMeasureLine: MeasureLineItem;
|
|
13
|
+
protected conversionFactor: number;
|
|
14
|
+
protected oldRulerUnit: string;
|
|
13
15
|
constructor(subject: Viewer);
|
|
14
16
|
initialize(): void;
|
|
15
17
|
dispose(): void;
|
|
@@ -21,4 +23,6 @@ export declare class MeasureLineDragger extends OdBaseDragger {
|
|
|
21
23
|
end(): void;
|
|
22
24
|
createNewMeasureIfNeed(): void;
|
|
23
25
|
createMeasureLine(): MeasureLineItem;
|
|
26
|
+
optionsChange(event: any): void;
|
|
27
|
+
getKUnitByName(unitName: string): any;
|
|
24
28
|
}
|
|
@@ -9,6 +9,6 @@ export declare class OdOrbitDragger extends OdBaseDragger {
|
|
|
9
9
|
constructor(subject: Viewer);
|
|
10
10
|
start(x: number, y: number): void;
|
|
11
11
|
setDefaultViewParams(): void;
|
|
12
|
-
drag(x: number, y: number
|
|
12
|
+
drag(x: number, y: number): void;
|
|
13
13
|
end(): void;
|
|
14
14
|
}
|
|
@@ -5,7 +5,7 @@ export declare class OdPanDragger extends OdBaseDragger {
|
|
|
5
5
|
private _panAction;
|
|
6
6
|
protected m_start: Point3d;
|
|
7
7
|
constructor(subject: Viewer);
|
|
8
|
-
start(x: number, y: number): void;
|
|
9
|
-
drag(x: number, y: number,
|
|
8
|
+
start(x: number, y: number, absoluteX: number, absoluteY: number): void;
|
|
9
|
+
drag(x: number, y: number, absoluteX: number, absoluteY: number): void;
|
|
10
10
|
end(x: number, y: number): void;
|
|
11
11
|
}
|
|
@@ -4,8 +4,11 @@ export declare class OdZoomDragger extends OdBaseDragger {
|
|
|
4
4
|
private _zoomAction;
|
|
5
5
|
protected pressX: number;
|
|
6
6
|
protected pressY: number;
|
|
7
|
+
protected absoluteX: number;
|
|
8
|
+
protected absoluteY: number;
|
|
9
|
+
protected prevY: number;
|
|
7
10
|
constructor(subject: Viewer);
|
|
8
|
-
start(x: number, y: number): void;
|
|
9
|
-
drag(x: number, y: number
|
|
11
|
+
start(x: number, y: number, absoluteX?: number, absoluteY?: number): void;
|
|
12
|
+
drag(x: number, y: number): void;
|
|
10
13
|
end(): void;
|
|
11
14
|
}
|
|
@@ -8,6 +8,6 @@ export declare class OdZoomWindowDragger extends OdBaseDragger {
|
|
|
8
8
|
protected m_maxY: number;
|
|
9
9
|
constructor(subject: Viewer);
|
|
10
10
|
start(x: number, y: number): void;
|
|
11
|
-
drag(x: number, y: number
|
|
11
|
+
drag(x: number, y: number): void;
|
|
12
12
|
end(x: number, y: number): void;
|
|
13
13
|
}
|
|
@@ -12,7 +12,7 @@ export declare class OrbitAroundBuildingDragger extends OdBaseDragger {
|
|
|
12
12
|
constructor(viewer: Viewer);
|
|
13
13
|
start(x: number, y: number): void;
|
|
14
14
|
setDefaultViewParams(): void;
|
|
15
|
-
drag(x: number, y: number
|
|
15
|
+
drag(x: number, y: number): void;
|
|
16
16
|
end(): void;
|
|
17
17
|
getCenter(): any;
|
|
18
18
|
}
|
package/lib/Viewer/Viewer.d.ts
CHANGED
|
@@ -82,6 +82,7 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
|
|
|
82
82
|
*
|
|
83
83
|
* Fires:
|
|
84
84
|
*
|
|
85
|
+
* - {@link InitializeEvent | initialize}
|
|
85
86
|
* - {@link InitializeProgressEvent | initializeprogress}
|
|
86
87
|
*
|
|
87
88
|
* @param canvas -
|
|
@@ -91,10 +92,6 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
|
|
|
91
92
|
* of the `VisualizeJS` library.
|
|
92
93
|
*/
|
|
93
94
|
initialize(canvas: HTMLCanvasElement, onProgress?: (event: ProgressEvent) => void): Promise<this>;
|
|
94
|
-
/**
|
|
95
|
-
* Unloads an open file, clears the canvas and markups, and releases resources allocated by
|
|
96
|
-
* this viewer instance. Call this method before release the `Viewer` instance.
|
|
97
|
-
*/
|
|
98
95
|
dispose(): this;
|
|
99
96
|
/**
|
|
100
97
|
* Returns `true` if `VisualizeJS` module has been loaded and initialized.
|
|
@@ -181,25 +178,8 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
|
|
|
181
178
|
* @param dragger - Dragger class.
|
|
182
179
|
*/
|
|
183
180
|
registerDragger(name: string, dragger: typeof Dragger): void;
|
|
184
|
-
/**
|
|
185
|
-
* Returns the active dragger instance, or `null` if there is no active dragger.
|
|
186
|
-
*/
|
|
187
181
|
activeDragger(): IDragger | null;
|
|
188
|
-
|
|
189
|
-
* Changes the active dragger. Viewer must be initialized before enable dragger or exception is thrown.
|
|
190
|
-
*
|
|
191
|
-
* Fires:
|
|
192
|
-
*
|
|
193
|
-
* - {@link ChangeActiveDraggerEvent | changeactivedragger}
|
|
194
|
-
*
|
|
195
|
-
* @param name - Dragger name. Can be one of the {@link draggers} list.
|
|
196
|
-
* @returns Returns the new active dragger instance or `null` if there is no dragger with the
|
|
197
|
-
* given name.
|
|
198
|
-
*/
|
|
199
|
-
setActiveDragger(name: string): IDragger | null;
|
|
200
|
-
/**
|
|
201
|
-
* Resets the state of the active dragger.
|
|
202
|
-
*/
|
|
182
|
+
setActiveDragger(name?: string): IDragger | null;
|
|
203
183
|
resetActiveDragger(): void;
|
|
204
184
|
/**
|
|
205
185
|
* Removes all cutting planes.
|
|
@@ -213,9 +193,6 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
|
|
|
213
193
|
* Creates an overlay view. Overlay view is used to draw cutting planes and `Visualize` markups.
|
|
214
194
|
*/
|
|
215
195
|
syncOverlay(): any;
|
|
216
|
-
/**
|
|
217
|
-
* Returns `true` if current opened model is 3D model.
|
|
218
|
-
*/
|
|
219
196
|
is3D(): boolean;
|
|
220
197
|
screenToWorld(position: {
|
|
221
198
|
x: number;
|
|
@@ -238,20 +215,14 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
|
|
|
238
215
|
y: number;
|
|
239
216
|
z: number;
|
|
240
217
|
};
|
|
241
|
-
/**
|
|
242
|
-
* Returns a list of original handles for the selected objects.
|
|
243
|
-
*/
|
|
244
218
|
getSelected(): string[];
|
|
245
|
-
/**
|
|
246
|
-
* Selects the model objects by original handles that are obtained using `File.searchProperties()`.
|
|
247
|
-
*
|
|
248
|
-
* Fires:
|
|
249
|
-
*
|
|
250
|
-
* - {@link SelectEvent | select}
|
|
251
|
-
*
|
|
252
|
-
* @param handles - The list of original handles.
|
|
253
|
-
*/
|
|
254
219
|
setSelected(handles?: string[]): void;
|
|
220
|
+
clearSelected(): void;
|
|
221
|
+
hideSelected(): void;
|
|
222
|
+
isolateSelected(): void;
|
|
223
|
+
showAll(): void;
|
|
224
|
+
explode(index?: number): void;
|
|
225
|
+
collect(): void;
|
|
255
226
|
loadReferences(model: Model | File | Assembly): Promise<this>;
|
|
256
227
|
applyModelTransformMatrix(model: Model | Assembly): void;
|
|
257
228
|
applySceneGraphSettings(options?: IOptions): void;
|
|
@@ -260,6 +231,9 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
|
|
|
260
231
|
*
|
|
261
232
|
* The file geometry data on the server must be converted to `VSFX` format.
|
|
262
233
|
*
|
|
234
|
+
* To open a large file, enable {@link IOptions.enablePartialMode | partial streaming} mode
|
|
235
|
+
* before opening (see example below).
|
|
236
|
+
*
|
|
263
237
|
* This method requires a `Client` instance to be specified when creating the viewer to load
|
|
264
238
|
* model reference files from the Open Cloud Server. For a standalone viewer instance use
|
|
265
239
|
* {@link openVsfFile | openVsfFile()} or {@link openVsfxFile | openVsfxFile()}.
|
|
@@ -274,6 +248,11 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
|
|
|
274
248
|
* - {@link GeometryEndEvent | geometryend}
|
|
275
249
|
* - {@link GeometryErrorEvent | geometryerror}
|
|
276
250
|
*
|
|
251
|
+
* @example <caption>Using partial streaming mode to open a large file from a server.</caption>
|
|
252
|
+
* viewer.options.enableStreamingMode = true;
|
|
253
|
+
* viewer.options.enablePartialMode = true;
|
|
254
|
+
* await viewer.open(file);
|
|
255
|
+
*
|
|
277
256
|
* @param file - File, assembly or specific model to load. If a `File` instance with multiple
|
|
278
257
|
* models is specified, the default model will be loaded. If there is no default model,
|
|
279
258
|
* first availiable model will be loaded.
|
|
@@ -283,7 +262,7 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
|
|
|
283
262
|
* Loads a `VSF` file into the viewer.
|
|
284
263
|
*
|
|
285
264
|
* This method does not support {@link IOptions.enableStreamingMode | streaming} or
|
|
286
|
-
* {@link IOptions.enablePartialMode | partial
|
|
265
|
+
* {@link IOptions.enablePartialMode | partial streaming} mode.
|
|
287
266
|
*
|
|
288
267
|
* Fires:
|
|
289
268
|
*
|
|
@@ -301,7 +280,7 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
|
|
|
301
280
|
* Loads a `VSFX` file into the viewer.
|
|
302
281
|
*
|
|
303
282
|
* This method does not support {@link IOptions.enableStreamingMode | streaming} or
|
|
304
|
-
* {@link IOptions.enablePartialMode | partial
|
|
283
|
+
* {@link IOptions.enablePartialMode | partial streaming} mode.
|
|
305
284
|
*
|
|
306
285
|
* Fires:
|
|
307
286
|
*
|
|
@@ -315,16 +294,10 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
|
|
|
315
294
|
* @param buffer - Binary data buffer to load.
|
|
316
295
|
*/
|
|
317
296
|
openVsfxFile(buffer: Uint8Array | ArrayBuffer): this;
|
|
318
|
-
/**
|
|
319
|
-
* Cancels asynchronous file loading started by {@link open | open()}.
|
|
320
|
-
*/
|
|
321
297
|
cancel(): this;
|
|
322
|
-
/**
|
|
323
|
-
* Unloads an open file and clears the canvas and markups.
|
|
324
|
-
*/
|
|
325
298
|
clear(): this;
|
|
326
299
|
/**
|
|
327
|
-
*
|
|
300
|
+
* Deprecated since `25.11`. Use {@link IMarkup.getMarkupColor | markup.getMarkupColor()} instead.
|
|
328
301
|
*/
|
|
329
302
|
getMarkupColor(): {
|
|
330
303
|
r: number;
|
|
@@ -332,31 +305,16 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
|
|
|
332
305
|
b: number;
|
|
333
306
|
};
|
|
334
307
|
/**
|
|
335
|
-
*
|
|
336
|
-
*
|
|
337
|
-
* Fires:
|
|
338
|
-
*
|
|
339
|
-
* - {@link ChangeMarkupColorEvent | changemarkupcolor}
|
|
340
|
-
*
|
|
341
|
-
* @param r - The `red` component of the color, as a number between 0 and 255.
|
|
342
|
-
* @param g - The `green` component of the color, as a number between 0 and 255.
|
|
343
|
-
* @param b - The `blue` component of the color, as a number between 0 and 255.
|
|
308
|
+
* Deprecated since `25.11`. Use {@link IMarkup.setMarkupColor | markup.setMarkupColor()} instead.
|
|
344
309
|
*/
|
|
345
310
|
setMarkupColor(r?: number, g?: number, b?: number): void;
|
|
346
311
|
/**
|
|
347
|
-
*
|
|
348
|
-
*
|
|
349
|
-
* @param r - The `red` component of the color, as a number between 0 and 255.
|
|
350
|
-
* @param g - The `green` component of the color, as a number between 0 and 255.
|
|
351
|
-
* @param b - The `blue` component of the color, as a number between 0 and 255.
|
|
312
|
+
* Deprecated since `25.11`. Use {@link IMarkup.colorizeAllMarkup | markup.colorizeAllMarkup()} instead.
|
|
352
313
|
*/
|
|
353
314
|
colorizeAllMarkup(r?: number, g?: number, b?: number): void;
|
|
354
315
|
/**
|
|
355
|
-
*
|
|
356
|
-
*
|
|
357
|
-
* @param r - `Red` part of color.
|
|
358
|
-
* @param g - `Green` part of color.
|
|
359
|
-
* @param b - `Blue` part of color.
|
|
316
|
+
* Deprecated since `25.11`. Use
|
|
317
|
+
* {@link IMarkup.colorizeSelectedMarkups | markup.colorizeSelectedMarkups()} instead.
|
|
360
318
|
*/
|
|
361
319
|
colorizeSelectedMarkups(r?: number, g?: number, b?: number): void;
|
|
362
320
|
/**
|
|
@@ -388,11 +346,12 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
|
|
|
388
346
|
* Executes the command denoted by the given command. If the command is not found, tries to
|
|
389
347
|
* set active dragger with the specified name.
|
|
390
348
|
*
|
|
391
|
-
* The following commands are
|
|
349
|
+
* The following commands are available by default:
|
|
392
350
|
*
|
|
393
351
|
* - `applyModelTransform`
|
|
394
352
|
* - `autoTransformAllModelsToCentralPoint`
|
|
395
353
|
* - `clearMarkup`
|
|
354
|
+
* - `clearSelected`
|
|
396
355
|
* - `clearSlices`
|
|
397
356
|
* - `createPreview`
|
|
398
357
|
* - `explode`
|
|
@@ -409,7 +368,6 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
|
|
|
409
368
|
* - `setMarkupColor`
|
|
410
369
|
* - `setSelected`
|
|
411
370
|
* - `showAll`
|
|
412
|
-
* - `unselect`
|
|
413
371
|
* - `zoomToExtents`
|
|
414
372
|
* - `zoomToObjects`
|
|
415
373
|
* - `zoomToSelected`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inweb/viewer-visualize",
|
|
3
|
-
"version": "25.
|
|
3
|
+
"version": "25.11.0",
|
|
4
4
|
"description": "3D viewer powered by VisualizeJS",
|
|
5
5
|
"homepage": "https://cloud.opendesign.com/docs/index.html",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|
|
@@ -29,10 +29,10 @@
|
|
|
29
29
|
"docs": "typedoc"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@inweb/client": "~25.
|
|
33
|
-
"@inweb/eventemitter2": "~25.
|
|
34
|
-
"@inweb/markup": "~25.
|
|
35
|
-
"@inweb/viewer-core": "~25.
|
|
32
|
+
"@inweb/client": "~25.11.0",
|
|
33
|
+
"@inweb/eventemitter2": "~25.11.0",
|
|
34
|
+
"@inweb/markup": "~25.11.0",
|
|
35
|
+
"@inweb/viewer-core": "~25.11.0"
|
|
36
36
|
},
|
|
37
|
-
"visualizeJS": "https://
|
|
37
|
+
"visualizeJS": "https://public-fhemb7e3embacwec.z02.azurefd.net/libs/visualizejs/master/Visualize.js"
|
|
38
38
|
}
|
|
@@ -24,14 +24,15 @@
|
|
|
24
24
|
import { commands } from "@inweb/viewer-core";
|
|
25
25
|
import { Viewer } from "../Viewer";
|
|
26
26
|
|
|
27
|
-
function
|
|
27
|
+
function clearSelected(viewer: Viewer): void {
|
|
28
28
|
if (!viewer.visualizeJs) return;
|
|
29
29
|
|
|
30
30
|
const visViewer = viewer.visViewer();
|
|
31
31
|
visViewer.unselect();
|
|
32
32
|
|
|
33
33
|
viewer.update();
|
|
34
|
-
viewer.emitEvent({ type: "select", data:
|
|
34
|
+
viewer.emitEvent({ type: "select", data: undefined, handles: [] });
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
commands("VisualizeJS").registerCommand("
|
|
37
|
+
commands("VisualizeJS").registerCommand("clearSelected", clearSelected);
|
|
38
|
+
commands("VisualizeJS").registerCommandAlias("clearSelected", "unselect");
|
|
@@ -31,7 +31,7 @@ function explode(viewer: Viewer, index = 0): void {
|
|
|
31
31
|
visViewer.explode(index);
|
|
32
32
|
|
|
33
33
|
viewer.update();
|
|
34
|
-
viewer.
|
|
34
|
+
viewer.emitEvent({ type: "explode", data: index });
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
commands("VisualizeJS").registerCommand("explode", explode);
|
|
@@ -31,7 +31,8 @@ function hideSelected(viewer: Viewer): void {
|
|
|
31
31
|
visViewer.hideSelectedObjects(false);
|
|
32
32
|
|
|
33
33
|
viewer.update();
|
|
34
|
-
viewer.
|
|
34
|
+
viewer.emitEvent({ type: "hide" });
|
|
35
|
+
viewer.emitEvent({ type: "select", data: undefined, handles: [] });
|
|
35
36
|
}
|
|
36
37
|
|
|
37
38
|
commands("VisualizeJS").registerCommand("hideSelected", hideSelected);
|
|
@@ -31,7 +31,7 @@ function isolateSelected(viewer: Viewer): void {
|
|
|
31
31
|
visViewer.isolateSelectedObjects(false);
|
|
32
32
|
|
|
33
33
|
viewer.update();
|
|
34
|
-
viewer.
|
|
34
|
+
viewer.emitEvent({ type: "isolate" });
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
commands("VisualizeJS").registerCommand("isolateSelected", isolateSelected);
|
|
@@ -31,7 +31,7 @@ function resetView(viewer: Viewer): void {
|
|
|
31
31
|
viewer.executeCommand("clearSlices");
|
|
32
32
|
viewer.executeCommand("clearOverlay");
|
|
33
33
|
viewer.executeCommand("setMarkupColor");
|
|
34
|
-
viewer.executeCommand("
|
|
34
|
+
viewer.executeCommand("clearSelected");
|
|
35
35
|
viewer.executeCommand("showAll");
|
|
36
36
|
viewer.executeCommand("explode", 0);
|
|
37
37
|
viewer.executeCommand("zoomToExtents", true);
|
|
@@ -31,7 +31,7 @@ function showAll(viewer: Viewer): void {
|
|
|
31
31
|
visViewer.unisolateSelectedObjects(false);
|
|
32
32
|
|
|
33
33
|
viewer.update();
|
|
34
|
-
viewer.
|
|
34
|
+
viewer.emitEvent({ type: "showall" });
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
commands("VisualizeJS").registerCommand("showAll", showAll);
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
|
|
24
24
|
import "./ApplyModelTransform";
|
|
25
25
|
import "./ClearMarkup";
|
|
26
|
+
import "./ClearSelected";
|
|
26
27
|
import "./ClearSlices";
|
|
27
28
|
import "./CreatePreview";
|
|
28
29
|
import "./Explode";
|
|
@@ -39,7 +40,6 @@ import "./SetDefaultViewPosition";
|
|
|
39
40
|
import "./SetMarkupColor";
|
|
40
41
|
import "./SetSelected";
|
|
41
42
|
import "./ShowAll";
|
|
42
|
-
import "./Unselect";
|
|
43
43
|
import "./ZoomToExtents";
|
|
44
44
|
import "./ZoomToObjects";
|
|
45
45
|
import "./ZoomToSelected";
|
|
@@ -51,13 +51,13 @@ export class PanAction {
|
|
|
51
51
|
this._setViewParams = setViewParams;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
public beginAction(x: number, y: number) {
|
|
54
|
+
public beginAction(x: number, y: number, absoluteX: number, absoluteY: number) {
|
|
55
55
|
this._m_start = this.screenToWorld(x, y);
|
|
56
|
-
this._deltaScreenPosition = { x, y };
|
|
56
|
+
this._deltaScreenPosition = { x: absoluteX, y: absoluteY };
|
|
57
57
|
this._beginInteractivity();
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
public action(x: number, y: number) {
|
|
60
|
+
public action(x: number, y: number, absoluteX: number, absoluteY: number) {
|
|
61
61
|
const { Vector3d } = this._m_module;
|
|
62
62
|
const params = this._getViewParams();
|
|
63
63
|
const pt = this.screenToWorld(x, y);
|
|
@@ -83,13 +83,13 @@ export class PanAction {
|
|
|
83
83
|
this._subject.activeDragger()?.updatePreview();
|
|
84
84
|
this._subject.emitEvent({
|
|
85
85
|
type: "pan",
|
|
86
|
-
x,
|
|
87
|
-
y,
|
|
88
|
-
dX:
|
|
89
|
-
dY:
|
|
86
|
+
x: absoluteX,
|
|
87
|
+
y: absoluteY,
|
|
88
|
+
dX: absoluteX - this._deltaScreenPosition.x,
|
|
89
|
+
dY: absoluteY - this._deltaScreenPosition.y,
|
|
90
90
|
});
|
|
91
91
|
|
|
92
|
-
this._deltaScreenPosition = { x, y };
|
|
92
|
+
this._deltaScreenPosition = { x: absoluteX, y: absoluteY };
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
public endAction() {
|
|
@@ -32,7 +32,7 @@ export class ZoomAction {
|
|
|
32
32
|
this._subject = subject;
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
public action(x: number, y: number, zoomFactor: number) {
|
|
35
|
+
public action(x: number, y: number, zoomFactor: number, absoluteX: number, absoluteY: number) {
|
|
36
36
|
const viewer = this._m_module.getViewer();
|
|
37
37
|
viewer.zoomAt(zoomFactor, x, y);
|
|
38
38
|
|
|
@@ -41,6 +41,8 @@ export class ZoomAction {
|
|
|
41
41
|
this._subject.emitEvent({
|
|
42
42
|
type: "zoomat",
|
|
43
43
|
data: zoomFactor,
|
|
44
|
+
x: absoluteX,
|
|
45
|
+
y: absoluteY,
|
|
44
46
|
});
|
|
45
47
|
}
|
|
46
48
|
}
|
|
@@ -167,7 +167,7 @@ export class GestureManager extends OdBaseDragger {
|
|
|
167
167
|
const zoomSpeed = (currentDistance - previousDistance) / 700;
|
|
168
168
|
const zoomFactor = 1 + zoomSpeed;
|
|
169
169
|
const middlePoint = this.getMiddlePoint(this._currentEvents);
|
|
170
|
-
this._zoomAction.action(middlePoint.x, middlePoint.y, zoomFactor);
|
|
170
|
+
this._zoomAction.action(middlePoint.x, middlePoint.y, zoomFactor, middlePoint.x, middlePoint.y);
|
|
171
171
|
this.subject.update();
|
|
172
172
|
}
|
|
173
173
|
|
|
@@ -177,10 +177,10 @@ export class GestureManager extends OdBaseDragger {
|
|
|
177
177
|
this._lastGestureAction = GestureAction.Pan;
|
|
178
178
|
OdBaseDragger.isGestureActive = true;
|
|
179
179
|
|
|
180
|
-
this._panAction.beginAction(currentPoint.x, currentPoint.y);
|
|
180
|
+
this._panAction.beginAction(currentPoint.x, currentPoint.y, currentPoint.x, currentPoint.y);
|
|
181
181
|
}
|
|
182
182
|
|
|
183
|
-
this._panAction.action(currentPoint.x, currentPoint.y);
|
|
183
|
+
this._panAction.action(currentPoint.x, currentPoint.y, currentPoint.x, currentPoint.y);
|
|
184
184
|
this.subject.update();
|
|
185
185
|
}
|
|
186
186
|
|
|
@@ -96,7 +96,7 @@ export class OdBaseDragger extends OdaGeAction {
|
|
|
96
96
|
(ev.target as HTMLElement).releasePointerCapture(ev.pointerId);
|
|
97
97
|
|
|
98
98
|
const relCoord = this.relativeCoords(ev);
|
|
99
|
-
this.end(relCoord.x, relCoord.y);
|
|
99
|
+
this.end(relCoord.x, relCoord.y, ev.clientX, ev.clientY);
|
|
100
100
|
this.isDragging = false;
|
|
101
101
|
this.subject.update();
|
|
102
102
|
}
|
|
@@ -115,7 +115,7 @@ export class OdBaseDragger extends OdaGeAction {
|
|
|
115
115
|
}
|
|
116
116
|
|
|
117
117
|
const relCoord = this.relativeCoords(ev);
|
|
118
|
-
this.drag(relCoord.x, relCoord.y, ev.
|
|
118
|
+
this.drag(relCoord.x, relCoord.y, ev.clientX, ev.clientY);
|
|
119
119
|
if (this.isDragging) {
|
|
120
120
|
this.subject.update();
|
|
121
121
|
}
|
|
@@ -177,7 +177,7 @@ export class OdBaseDragger extends OdaGeAction {
|
|
|
177
177
|
|
|
178
178
|
protected drag(x: number, y: number, absoluteX = 0, absoluteY = 0): void {}
|
|
179
179
|
|
|
180
|
-
protected end(x: number, y: number): void {}
|
|
180
|
+
protected end(x: number, y: number, absoluteX = 0, absoluteY = 0): void {}
|
|
181
181
|
|
|
182
182
|
protected beginInteractivity = () => {
|
|
183
183
|
const viewer = this.getViewer();
|
|
@@ -186,7 +186,12 @@ export class MeasureLineItem {
|
|
|
186
186
|
}
|
|
187
187
|
|
|
188
188
|
getDistance(): number {
|
|
189
|
-
|
|
189
|
+
let distance = utils.getDistance(this.startPoint, this.endPoint, this.moduleInstance);
|
|
190
|
+
if (Math.abs(this.scale - 1.0) > 10e-5) {
|
|
191
|
+
distance = (distance / this.scale).toFixed(2);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
return distance;
|
|
190
195
|
}
|
|
191
196
|
|
|
192
197
|
setStartPoint(gePoint: number[]): void {
|