@inweb/viewer-visualize 27.1.5 → 27.1.7
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/dist/viewer-visualize.js +330 -317
- package/dist/viewer-visualize.js.map +1 -1
- package/dist/viewer-visualize.min.js +1 -1
- package/dist/viewer-visualize.module.js +210 -295
- package/dist/viewer-visualize.module.js.map +1 -1
- package/lib/Viewer/Components/GestureManagerComponent.d.ts +0 -1
- package/lib/Viewer/Components/ZoomWheelComponent.d.ts +0 -1
- package/lib/Viewer/Draggers/Common/GestureManager.d.ts +1 -0
- package/lib/Viewer/Draggers/Common/OdBaseDragger.d.ts +0 -4
- package/lib/Viewer/Draggers/MeasureLineDragger/index.d.ts +0 -1
- package/lib/Viewer/Draggers/OdZoomWheelDragger.d.ts +7 -1
- package/lib/Viewer/Draggers/OdaFlyDragger.d.ts +0 -1
- package/lib/Viewer/Draggers/OdaWalkDragger.d.ts +0 -1
- package/lib/Viewer/Viewer.d.ts +5 -42
- package/package.json +5 -5
- package/src/Viewer/Components/GestureManagerComponent.ts +0 -3
- package/src/Viewer/Components/ZoomWheelComponent.ts +0 -3
- package/src/Viewer/Draggers/Actions/OrbitAction.ts +1 -1
- package/src/Viewer/Draggers/Actions/PanAction.ts +1 -1
- package/src/Viewer/Draggers/Actions/ZoomAction.ts +1 -1
- package/src/Viewer/Draggers/Common/GestureManager.ts +9 -0
- package/src/Viewer/Draggers/Common/OdBaseDragger.ts +33 -30
- package/src/Viewer/Draggers/MeasureLineDragger/index.ts +9 -6
- package/src/Viewer/Draggers/OdZoomWheelDragger.ts +29 -21
- package/src/Viewer/Draggers/OdaFlyDragger.ts +0 -4
- package/src/Viewer/Draggers/OdaWalkDragger.ts +0 -4
- package/src/Viewer/Draggers/index.ts +4 -0
- package/src/Viewer/Markup/Visualize/VisualizeMarkup.ts +13 -7
- package/src/Viewer/Viewer.ts +16 -168
|
@@ -19,6 +19,7 @@ export declare class GestureManager extends OdBaseDragger {
|
|
|
19
19
|
get isSingleTouchEnabled(): boolean;
|
|
20
20
|
set isSingleTouchEnabled(value: boolean);
|
|
21
21
|
constructor(subject: Viewer);
|
|
22
|
+
dispose(): void;
|
|
22
23
|
private getMiddlePoint;
|
|
23
24
|
private getFirstPoint;
|
|
24
25
|
private getDistance;
|
|
@@ -6,13 +6,10 @@ export declare class OdBaseDragger extends OdaGeAction {
|
|
|
6
6
|
protected needInputText: boolean;
|
|
7
7
|
protected mouseDownPosition: Point2d;
|
|
8
8
|
protected autoSelect: boolean;
|
|
9
|
-
protected onmessage: (event: any) => boolean;
|
|
10
|
-
protected canvasEvents: string[];
|
|
11
9
|
protected isDragging: boolean;
|
|
12
10
|
protected press: boolean;
|
|
13
11
|
name: string;
|
|
14
12
|
constructor(subject: Viewer);
|
|
15
|
-
initialize(): void;
|
|
16
13
|
dispose(): void;
|
|
17
14
|
protected relativeCoords(event: MouseEvent): Point2d;
|
|
18
15
|
protected pointerdown(ev: PointerEvent): void;
|
|
@@ -29,7 +26,6 @@ export declare class OdBaseDragger extends OdaGeAction {
|
|
|
29
26
|
protected getActiveMarkupEntity(entityName: string): any;
|
|
30
27
|
private syncOverlayView;
|
|
31
28
|
protected deleteAll(objects: any): void;
|
|
32
|
-
updatePreview(): void;
|
|
33
29
|
private static _isGestureActive;
|
|
34
30
|
protected static set isGestureActive(value: boolean);
|
|
35
31
|
protected static get isGestureActive(): boolean;
|
|
@@ -5,6 +5,12 @@ export declare class OdZoomWheelDragger extends OdBaseDragger {
|
|
|
5
5
|
private _endInteractivityTimeOutId;
|
|
6
6
|
private _isEnableInteractivityMode;
|
|
7
7
|
constructor(subject: Viewer);
|
|
8
|
-
wheel(event: any): void;
|
|
9
8
|
dispose(): void;
|
|
9
|
+
pointerdown(): void;
|
|
10
|
+
pointerup(): void;
|
|
11
|
+
pointercancel(): void;
|
|
12
|
+
pointermove(): void;
|
|
13
|
+
click(): void;
|
|
14
|
+
dblclick(): void;
|
|
15
|
+
wheel(event: any): void;
|
|
10
16
|
}
|
|
@@ -24,7 +24,6 @@ export declare class OdaFlyDragger extends OdBaseDragger {
|
|
|
24
24
|
protected joyStickOverlayElement: HTMLDivElement;
|
|
25
25
|
protected joyStickDragger: OdJoyStickDragger;
|
|
26
26
|
constructor(subject: Viewer);
|
|
27
|
-
initialize(): void;
|
|
28
27
|
dispose(): void;
|
|
29
28
|
keydown(ev: any): void;
|
|
30
29
|
keyup(ev: any): void;
|
|
@@ -23,7 +23,6 @@ export declare class OdaWalkDragger extends OdBaseDragger {
|
|
|
23
23
|
protected isJoyStickMoving: boolean;
|
|
24
24
|
protected lastJoyStickCoord: Point2d;
|
|
25
25
|
constructor(subject: Viewer);
|
|
26
|
-
initialize(): void;
|
|
27
26
|
dispose(): void;
|
|
28
27
|
keydown(ev: KeyboardEvent): void;
|
|
29
28
|
keyup(ev: KeyboardEvent): void;
|
package/lib/Viewer/Viewer.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EventEmitter2 } from "@inweb/eventemitter2";
|
|
2
2
|
import { Assembly, Client, File, Model } from "@inweb/client";
|
|
3
|
-
import { CanvasEventMap,
|
|
3
|
+
import { CanvasEventMap, FileSource, IComponent, IDragger, IInfo, ILoader, IOptions, IViewer, IViewpoint, OptionsEventMap, ViewerEventMap } from "@inweb/viewer-core";
|
|
4
4
|
import { IMarkup, IWorldTransform } from "@inweb/markup";
|
|
5
5
|
import { IModelImpl } from "./Models/IModelImpl";
|
|
6
6
|
import { MarkupType } from "./Markup/MarkupFactory";
|
|
@@ -27,7 +27,7 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
|
|
|
27
27
|
private _renderNeeded;
|
|
28
28
|
private _renderTime;
|
|
29
29
|
private _enableAutoUpdate;
|
|
30
|
-
private
|
|
30
|
+
private _maxRegenTime;
|
|
31
31
|
_abortControllerForReferences: AbortController | undefined;
|
|
32
32
|
private _markup;
|
|
33
33
|
/**
|
|
@@ -45,8 +45,7 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
|
|
|
45
45
|
* @param params.enableAutoUpdate - Enable auto-update of the viewer after any changes. If the
|
|
46
46
|
* auto-update is disabled, you need to register an `update` event handler and update the
|
|
47
47
|
* `VisualizeJS` viewer and active dragger manually. Default is `true`.
|
|
48
|
-
* @param params.markupType - The type of the markup core: `Visualize`
|
|
49
|
-
* is `Konva`.
|
|
48
|
+
* @param params.markupType - The type of the markup core: `Visualize` or `Konva`. Default is `Konva`.
|
|
50
49
|
*/
|
|
51
50
|
constructor(client?: Client, params?: {
|
|
52
51
|
visualizeJsUrl?: string;
|
|
@@ -122,7 +121,6 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
|
|
|
122
121
|
*/
|
|
123
122
|
isInitialized(): boolean;
|
|
124
123
|
setSize(width: number, height: number, updateStyle?: boolean): void;
|
|
125
|
-
resize(): this;
|
|
126
124
|
/**
|
|
127
125
|
* Updates the viewer.
|
|
128
126
|
*
|
|
@@ -132,6 +130,7 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
|
|
|
132
130
|
* Fires:
|
|
133
131
|
*
|
|
134
132
|
* - {@link UpdateEvent | update}
|
|
133
|
+
* - {@link RenderEvent | render}
|
|
135
134
|
*
|
|
136
135
|
* @param force - If `true` updates the viewer immidietly. Otherwise updates on next animation frame.
|
|
137
136
|
* Default is `false`.
|
|
@@ -213,18 +212,6 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
|
|
|
213
212
|
requestHeader?: HeadersInit;
|
|
214
213
|
withCredentials?: boolean;
|
|
215
214
|
}): Promise<this>;
|
|
216
|
-
/**
|
|
217
|
-
* Deprecated since `26.4`. Use {@link open | open()} instead.
|
|
218
|
-
*
|
|
219
|
-
* @deprecated
|
|
220
|
-
*/
|
|
221
|
-
openVsfFile(buffer: Uint8Array | ArrayBuffer): this;
|
|
222
|
-
/**
|
|
223
|
-
* Deprecated since `26.4`. Use {@link open | open()} instead.
|
|
224
|
-
*
|
|
225
|
-
* @deprecated
|
|
226
|
-
*/
|
|
227
|
-
openVsfxFile(buffer: Uint8Array | ArrayBuffer): this;
|
|
228
215
|
cancel(): this;
|
|
229
216
|
clear(): this;
|
|
230
217
|
is3D(): boolean;
|
|
@@ -242,10 +229,6 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
|
|
|
242
229
|
showAll(): void;
|
|
243
230
|
explode(index?: number): void;
|
|
244
231
|
collect(): void;
|
|
245
|
-
/**
|
|
246
|
-
* Deprecated since `25.12`. Use {@link draggers.registerDragger} instead.
|
|
247
|
-
*/
|
|
248
|
-
registerDragger(name: string, dragger: typeof Dragger): void;
|
|
249
232
|
activeDragger(): IDragger | null;
|
|
250
233
|
setActiveDragger(name?: string): IDragger | null;
|
|
251
234
|
resetActiveDragger(): void;
|
|
@@ -316,27 +299,6 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
|
|
|
316
299
|
* Adds an empty `Visualize` markup entity to the VisualizeJS overlay.
|
|
317
300
|
*/
|
|
318
301
|
addMarkupEntity(entityName: string): any;
|
|
319
|
-
/**
|
|
320
|
-
* Deprecated since `25.11`. Use {@link IMarkup.getMarkupColor | markup.getMarkupColor()} instead.
|
|
321
|
-
*/
|
|
322
|
-
getMarkupColor(): {
|
|
323
|
-
r: number;
|
|
324
|
-
g: number;
|
|
325
|
-
b: number;
|
|
326
|
-
};
|
|
327
|
-
/**
|
|
328
|
-
* Deprecated since `25.11`. Use {@link IMarkup.setMarkupColor | markup.setMarkupColor()} instead.
|
|
329
|
-
*/
|
|
330
|
-
setMarkupColor(r?: number, g?: number, b?: number): void;
|
|
331
|
-
/**
|
|
332
|
-
* Deprecated since `25.11`. Use {@link IMarkup.colorizeAllMarkup | markup.colorizeAllMarkup()} instead.
|
|
333
|
-
*/
|
|
334
|
-
colorizeAllMarkup(r?: number, g?: number, b?: number): void;
|
|
335
|
-
/**
|
|
336
|
-
* Deprecated since `25.11`. Use
|
|
337
|
-
* {@link IMarkup.colorizeSelectedMarkups | markup.colorizeSelectedMarkups()} instead.
|
|
338
|
-
*/
|
|
339
|
-
colorizeSelectedMarkups(r?: number, g?: number, b?: number): void;
|
|
340
302
|
private scheduleUpdateAsync;
|
|
341
303
|
/**
|
|
342
304
|
* Updates the viewer asynchronously without locking the user interface. Used to update the viewer
|
|
@@ -348,6 +310,7 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
|
|
|
348
310
|
* Fires:
|
|
349
311
|
*
|
|
350
312
|
* - {@link UpdateEvent | update}
|
|
313
|
+
* - {@link RenderEvent | render}
|
|
351
314
|
*
|
|
352
315
|
* @param maxScheduleUpdateTimeInMs - Maximum time for one update, default 30 ms.
|
|
353
316
|
* @param maxScheduleUpdateCount - Maximum count of scheduled updates.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inweb/viewer-visualize",
|
|
3
|
-
"version": "27.1.
|
|
3
|
+
"version": "27.1.7",
|
|
4
4
|
"description": "JavaScript library for rendering CAD and BIM files in a browser using 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": "~27.1.
|
|
33
|
-
"@inweb/eventemitter2": "~27.1.
|
|
34
|
-
"@inweb/markup": "~27.1.
|
|
35
|
-
"@inweb/viewer-core": "~27.1.
|
|
32
|
+
"@inweb/client": "~27.1.7",
|
|
33
|
+
"@inweb/eventemitter2": "~27.1.7",
|
|
34
|
+
"@inweb/markup": "~27.1.7",
|
|
35
|
+
"@inweb/viewer-core": "~27.1.7"
|
|
36
36
|
},
|
|
37
37
|
"visualizeJS": "https://public-fhemb7e3embacwec.z02.azurefd.net/libs/visualizejs/master/Visualize.js"
|
|
38
38
|
}
|
|
@@ -26,13 +26,10 @@ import type { Viewer } from "../Viewer";
|
|
|
26
26
|
import { GestureManager } from "../Draggers/Common/GestureManager";
|
|
27
27
|
|
|
28
28
|
export class GestureManagerComponent implements IComponent {
|
|
29
|
-
protected viewer: Viewer;
|
|
30
29
|
private gestureManager: GestureManager;
|
|
31
30
|
|
|
32
31
|
constructor(viewer: Viewer) {
|
|
33
|
-
this.viewer = viewer;
|
|
34
32
|
this.gestureManager = new GestureManager(viewer);
|
|
35
|
-
this.gestureManager.initialize();
|
|
36
33
|
}
|
|
37
34
|
|
|
38
35
|
dispose() {
|
|
@@ -26,14 +26,11 @@ import type { Viewer } from "../Viewer";
|
|
|
26
26
|
import { OdZoomWheelDragger } from "../Draggers/OdZoomWheelDragger";
|
|
27
27
|
|
|
28
28
|
export class ZoomWheelComponent implements IComponent {
|
|
29
|
-
protected viewer: Viewer;
|
|
30
29
|
private zoomWheelDragger: OdZoomWheelDragger;
|
|
31
30
|
|
|
32
31
|
constructor(viewer: Viewer) {
|
|
33
|
-
this.viewer = viewer;
|
|
34
32
|
this.zoomWheelDragger = new OdZoomWheelDragger(viewer);
|
|
35
33
|
this.zoomWheelDragger.name = "ZoomWheel";
|
|
36
|
-
this.zoomWheelDragger.initialize();
|
|
37
34
|
}
|
|
38
35
|
|
|
39
36
|
dispose() {
|
|
@@ -69,6 +69,15 @@ export class GestureManager extends OdBaseDragger {
|
|
|
69
69
|
this.setViewParams
|
|
70
70
|
);
|
|
71
71
|
this._zoomAction = new ZoomAction(this.m_module, this.subject);
|
|
72
|
+
|
|
73
|
+
// Subscribe to pointerleave event (not handled by base class)
|
|
74
|
+
this.pointerleave = this.pointerleave.bind(this);
|
|
75
|
+
this.subject.addEventListener("pointerleave", this.pointerleave);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
override dispose(): void {
|
|
79
|
+
super.dispose();
|
|
80
|
+
this.subject.removeEventListener("pointerleave", this.pointerleave);
|
|
72
81
|
}
|
|
73
82
|
|
|
74
83
|
private getMiddlePoint(events: Map<number, PointerEvent>): Point2d {
|
|
@@ -21,7 +21,6 @@
|
|
|
21
21
|
// acknowledge and accept the above terms.
|
|
22
22
|
///////////////////////////////////////////////////////////////////////////////
|
|
23
23
|
|
|
24
|
-
import { CANVAS_EVENTS } from "@inweb/viewer-core";
|
|
25
24
|
import { Viewer } from "../../Viewer";
|
|
26
25
|
import { Point2d } from "./Geometry";
|
|
27
26
|
import { OdaGeAction } from "./OdaGeAction";
|
|
@@ -35,8 +34,6 @@ export class OdBaseDragger extends OdaGeAction {
|
|
|
35
34
|
protected needInputText: boolean;
|
|
36
35
|
protected mouseDownPosition: Point2d;
|
|
37
36
|
protected autoSelect: boolean;
|
|
38
|
-
protected onmessage: (event: any) => boolean;
|
|
39
|
-
protected canvasEvents: string[];
|
|
40
37
|
protected isDragging: boolean;
|
|
41
38
|
protected press: boolean;
|
|
42
39
|
|
|
@@ -49,20 +46,30 @@ export class OdBaseDragger extends OdaGeAction {
|
|
|
49
46
|
this.mouseDownPosition = { x: 0, y: 0 };
|
|
50
47
|
this.autoSelect = false;
|
|
51
48
|
|
|
52
|
-
this.
|
|
53
|
-
this.
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
this.
|
|
58
|
-
|
|
59
|
-
this.
|
|
60
|
-
|
|
61
|
-
this.
|
|
49
|
+
this.pointerdown = this.pointerdown.bind(this);
|
|
50
|
+
this.pointerup = this.pointerup.bind(this);
|
|
51
|
+
this.pointercancel = this.pointercancel.bind(this);
|
|
52
|
+
this.pointermove = this.pointermove.bind(this);
|
|
53
|
+
this.click = this.click.bind(this);
|
|
54
|
+
this.dblclick = this.dblclick.bind(this);
|
|
55
|
+
|
|
56
|
+
this.subject.addEventListener("pointerdown", this.pointerdown);
|
|
57
|
+
this.subject.addEventListener("pointerup", this.pointerup);
|
|
58
|
+
this.subject.addEventListener("pointercancel", this.pointercancel);
|
|
59
|
+
this.subject.addEventListener("pointermove", this.pointermove);
|
|
60
|
+
this.subject.addEventListener("click", this.click);
|
|
61
|
+
this.subject.addEventListener("dblclick", this.dblclick);
|
|
62
|
+
|
|
63
|
+
this.getViewer().setEnableAutoSelect(false);
|
|
62
64
|
}
|
|
63
65
|
|
|
64
66
|
public dispose(): void {
|
|
65
|
-
this.
|
|
67
|
+
this.subject.removeEventListener("pointerdown", this.pointerdown);
|
|
68
|
+
this.subject.removeEventListener("pointerup", this.pointerup);
|
|
69
|
+
this.subject.removeEventListener("pointercancel", this.pointercancel);
|
|
70
|
+
this.subject.removeEventListener("pointermove", this.pointermove);
|
|
71
|
+
this.subject.removeEventListener("click", this.click);
|
|
72
|
+
this.subject.removeEventListener("dblclick", this.dblclick);
|
|
66
73
|
}
|
|
67
74
|
|
|
68
75
|
protected relativeCoords(event: MouseEvent): Point2d {
|
|
@@ -129,15 +136,15 @@ export class OdBaseDragger extends OdaGeAction {
|
|
|
129
136
|
const isNotDragging =
|
|
130
137
|
Math.abs(x - this.mouseDownPosition.x) < CLICK_DELTA && Math.abs(y - this.mouseDownPosition.y) < CLICK_DELTA;
|
|
131
138
|
|
|
132
|
-
if (
|
|
139
|
+
if (this.autoSelect && isNotDragging) {
|
|
133
140
|
viewer.unselect();
|
|
134
141
|
viewer.select(x, y, x, y);
|
|
135
142
|
this.subject.update();
|
|
136
143
|
|
|
137
144
|
const selectionSet = viewer.getSelected();
|
|
138
145
|
|
|
139
|
-
this.
|
|
140
|
-
this.
|
|
146
|
+
this.subject.emitEvent({ type: "select", data: selectionSet, handles: this.subject.getSelected() });
|
|
147
|
+
this.subject.emitEvent({ type: "select2", data: selectionSet, handles: this.subject.getSelected2() });
|
|
141
148
|
}
|
|
142
149
|
}
|
|
143
150
|
|
|
@@ -153,20 +160,18 @@ export class OdBaseDragger extends OdaGeAction {
|
|
|
153
160
|
viewer.activeView = clickView;
|
|
154
161
|
clickView.delete();
|
|
155
162
|
this.subject.update();
|
|
156
|
-
} else {
|
|
157
|
-
|
|
158
|
-
const pSelected = viewer.getSelected();
|
|
163
|
+
} else if (this.autoSelect) {
|
|
164
|
+
const pSelected = viewer.getSelected();
|
|
159
165
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
166
|
+
if (!pSelected.isNull() && pSelected.numItems() !== 0) {
|
|
167
|
+
const itr = pSelected.getIterator();
|
|
168
|
+
const entity = itr.getEntity();
|
|
169
|
+
viewer.zoomToEntity(entity);
|
|
164
170
|
|
|
165
|
-
|
|
166
|
-
|
|
171
|
+
this.subject.emitEvent({ type: "zoomtoentity", data: entity });
|
|
172
|
+
this.subject.update();
|
|
167
173
|
|
|
168
|
-
|
|
169
|
-
}
|
|
174
|
+
this.deleteAll([itr, entity]);
|
|
170
175
|
}
|
|
171
176
|
}
|
|
172
177
|
|
|
@@ -218,8 +223,6 @@ export class OdBaseDragger extends OdaGeAction {
|
|
|
218
223
|
}
|
|
219
224
|
}
|
|
220
225
|
|
|
221
|
-
public updatePreview(): void {}
|
|
222
|
-
|
|
223
226
|
private static _isGestureActive = false;
|
|
224
227
|
|
|
225
228
|
protected static set isGestureActive(value: boolean) {
|
|
@@ -70,11 +70,6 @@ export class MeasureLineDragger extends OdBaseDragger {
|
|
|
70
70
|
this.rulerPrecision = subject.options.rulerPrecision ?? "Default";
|
|
71
71
|
|
|
72
72
|
this.items = [];
|
|
73
|
-
this.canvasEvents.push("resize", "optionsChange");
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
override initialize(): void {
|
|
77
|
-
super.initialize();
|
|
78
73
|
|
|
79
74
|
this.m_overlayElement = document.createElement("div");
|
|
80
75
|
this.m_overlayElement.style.background = "rgba(0,0,0,0)";
|
|
@@ -82,18 +77,26 @@ export class MeasureLineDragger extends OdBaseDragger {
|
|
|
82
77
|
this.m_overlayElement.style.zIndex = "1";
|
|
83
78
|
this.m_overlayElement.style.pointerEvents = "none";
|
|
84
79
|
document.body.appendChild(this.m_overlayElement);
|
|
80
|
+
|
|
81
|
+
this.optionsChange = this.optionsChange.bind(this);
|
|
82
|
+
this.updatePreview = this.updatePreview.bind(this);
|
|
83
|
+
|
|
85
84
|
this.subject.addEventListener("optionschange", this.optionsChange);
|
|
85
|
+
this.subject.addEventListener("render", this.updatePreview);
|
|
86
86
|
|
|
87
87
|
this.resize();
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
override dispose(): void {
|
|
91
91
|
super.dispose();
|
|
92
|
+
|
|
92
93
|
this.m_overlayElement.remove();
|
|
94
|
+
|
|
93
95
|
this.subject.removeEventListener("optionschange", this.optionsChange);
|
|
96
|
+
this.subject.removeEventListener("render", this.updatePreview);
|
|
94
97
|
}
|
|
95
98
|
|
|
96
|
-
|
|
99
|
+
updatePreview(): void {
|
|
97
100
|
this.items.forEach((item) => item.update());
|
|
98
101
|
}
|
|
99
102
|
|
|
@@ -29,21 +29,46 @@ const INTERACTIVITY_TIME_OUT = 100;
|
|
|
29
29
|
|
|
30
30
|
export class OdZoomWheelDragger extends OdBaseDragger {
|
|
31
31
|
private _zoomAction: ZoomAction;
|
|
32
|
-
|
|
33
32
|
private _endInteractivityTimeOutId;
|
|
34
|
-
|
|
35
33
|
private _isEnableInteractivityMode: boolean;
|
|
36
34
|
|
|
37
35
|
constructor(subject: Viewer) {
|
|
38
36
|
super(subject);
|
|
39
37
|
|
|
40
|
-
|
|
41
|
-
this.
|
|
38
|
+
this.wheel = this.wheel.bind(this);
|
|
39
|
+
this.subject.addEventListener("wheel", this.wheel);
|
|
40
|
+
|
|
42
41
|
this._zoomAction = new ZoomAction(this.m_module, this.subject);
|
|
43
42
|
this._endInteractivityTimeOutId = undefined;
|
|
44
43
|
this._isEnableInteractivityMode = false;
|
|
45
44
|
}
|
|
46
45
|
|
|
46
|
+
override dispose(): void {
|
|
47
|
+
super.dispose();
|
|
48
|
+
|
|
49
|
+
this.subject.removeEventListener("wheel", this.wheel);
|
|
50
|
+
|
|
51
|
+
if (this._endInteractivityTimeOutId) {
|
|
52
|
+
clearTimeout(this._endInteractivityTimeOutId);
|
|
53
|
+
this.endInteractivity();
|
|
54
|
+
this._isEnableInteractivityMode = false;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// ignore all events except "wheel" so as not to interfere with other handlers
|
|
59
|
+
|
|
60
|
+
override pointerdown() {}
|
|
61
|
+
|
|
62
|
+
override pointerup() {}
|
|
63
|
+
|
|
64
|
+
override pointercancel() {}
|
|
65
|
+
|
|
66
|
+
override pointermove() {}
|
|
67
|
+
|
|
68
|
+
override click() {}
|
|
69
|
+
|
|
70
|
+
override dblclick() {}
|
|
71
|
+
|
|
47
72
|
wheel(event) {
|
|
48
73
|
if (!this.subject.options.enableZoomWheel) {
|
|
49
74
|
return;
|
|
@@ -76,15 +101,6 @@ export class OdZoomWheelDragger extends OdBaseDragger {
|
|
|
76
101
|
clearTimeout(this._endInteractivityTimeOutId);
|
|
77
102
|
}
|
|
78
103
|
|
|
79
|
-
if (!this._isEnableInteractivityMode) {
|
|
80
|
-
this._isEnableInteractivityMode = true;
|
|
81
|
-
this.beginInteractivity();
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
if (this._endInteractivityTimeOutId) {
|
|
85
|
-
clearTimeout(this._endInteractivityTimeOutId);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
104
|
this.subject.update(true);
|
|
89
105
|
|
|
90
106
|
this._endInteractivityTimeOutId = setTimeout(() => {
|
|
@@ -94,12 +110,4 @@ export class OdZoomWheelDragger extends OdBaseDragger {
|
|
|
94
110
|
}, INTERACTIVITY_TIME_OUT);
|
|
95
111
|
}
|
|
96
112
|
}
|
|
97
|
-
|
|
98
|
-
override dispose(): void {
|
|
99
|
-
if (this._endInteractivityTimeOutId) {
|
|
100
|
-
clearTimeout(this._endInteractivityTimeOutId);
|
|
101
|
-
this.endInteractivity();
|
|
102
|
-
this._isEnableInteractivityMode = false;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
113
|
}
|
|
@@ -55,7 +55,6 @@ export class OdaFlyDragger extends OdBaseDragger {
|
|
|
55
55
|
|
|
56
56
|
constructor(subject: Viewer) {
|
|
57
57
|
super(subject);
|
|
58
|
-
this.viewer = undefined;
|
|
59
58
|
|
|
60
59
|
this.multiplier = 5;
|
|
61
60
|
this.speed = 1;
|
|
@@ -75,10 +74,7 @@ export class OdaFlyDragger extends OdBaseDragger {
|
|
|
75
74
|
|
|
76
75
|
this.isJoyStickMoving = false;
|
|
77
76
|
this.addJoyStickDragger(subject.canvas.parentElement);
|
|
78
|
-
}
|
|
79
77
|
|
|
80
|
-
override initialize() {
|
|
81
|
-
super.initialize();
|
|
82
78
|
this.viewer = this.getViewer();
|
|
83
79
|
|
|
84
80
|
window.addEventListener("keydown", this.keydown, false);
|
|
@@ -54,7 +54,6 @@ export class OdaWalkDragger extends OdBaseDragger {
|
|
|
54
54
|
|
|
55
55
|
constructor(subject: Viewer) {
|
|
56
56
|
super(subject);
|
|
57
|
-
this.viewer = undefined;
|
|
58
57
|
|
|
59
58
|
this.multiplier = 5;
|
|
60
59
|
this.baseSpeed = 1;
|
|
@@ -74,10 +73,7 @@ export class OdaWalkDragger extends OdBaseDragger {
|
|
|
74
73
|
|
|
75
74
|
this.isJoyStickMoving = false;
|
|
76
75
|
this.addJoyStickDragger(subject.canvas.parentElement);
|
|
77
|
-
}
|
|
78
76
|
|
|
79
|
-
override initialize() {
|
|
80
|
-
super.initialize();
|
|
81
77
|
this.viewer = this.getViewer();
|
|
82
78
|
|
|
83
79
|
window.addEventListener("keydown", this.keydown, false);
|
|
@@ -35,6 +35,8 @@ import { OdZoomDragger } from "./OdZoomDragger";
|
|
|
35
35
|
import { OdZoomWheelDragger } from "./OdZoomWheelDragger";
|
|
36
36
|
import { OdZoomWindowDragger } from "./OdZoomWindowDragger";
|
|
37
37
|
import { OrbitAroundBuildingDragger } from "./OrbitAroundBuildingDragger";
|
|
38
|
+
import { OdaLineDragger } from "./OdaLineDragger";
|
|
39
|
+
import { OdaTextDragger } from "./OdaTextDragger";
|
|
38
40
|
|
|
39
41
|
/**
|
|
40
42
|
* A draggers registry. Use this registry to register custom draggers.
|
|
@@ -95,3 +97,5 @@ draggers.registerDragger("CuttingPlaneYAxis", (viewer) => new OdCuttingPlaneYAxi
|
|
|
95
97
|
draggers.registerDragger("CuttingPlaneZAxis", (viewer) => new OdCuttingPlaneZAxisDragger(viewer));
|
|
96
98
|
draggers.registerDragger("Walk", (viewer) => new OdaWalkDragger(viewer));
|
|
97
99
|
draggers.registerDragger("Fly", (viewer) => new OdaFlyDragger(viewer));
|
|
100
|
+
draggers.registerDragger("Line", (viewer) => new OdaLineDragger(viewer));
|
|
101
|
+
draggers.registerDragger("Text", (viewer) => new OdaTextDragger(viewer));
|
|
@@ -25,8 +25,8 @@ import { IEventEmitter } from "@inweb/eventemitter2";
|
|
|
25
25
|
import { ILine, IText, IViewpoint } from "@inweb/viewer-core";
|
|
26
26
|
import { IMarkup, IMarkupObject, IWorldTransform, MarkupMode } from "@inweb/markup";
|
|
27
27
|
import { Viewer } from "../../Viewer";
|
|
28
|
-
import { MARKUP_ENTITY_LINE
|
|
29
|
-
import { MARKUP_ENTITY_TEXT
|
|
28
|
+
import { MARKUP_ENTITY_LINE } from "../../Draggers/OdaLineDragger";
|
|
29
|
+
import { MARKUP_ENTITY_TEXT } from "../../Draggers/OdaTextDragger";
|
|
30
30
|
|
|
31
31
|
export class VisualizeMarkup implements IMarkup {
|
|
32
32
|
private _viewer: Viewer;
|
|
@@ -43,8 +43,6 @@ export class VisualizeMarkup implements IMarkup {
|
|
|
43
43
|
worldTransformer?: IWorldTransform
|
|
44
44
|
): void {
|
|
45
45
|
this._viewer = viewer as Viewer;
|
|
46
|
-
this._viewer.registerDragger("Line", OdaLineDragger);
|
|
47
|
-
this._viewer.registerDragger("Text", OdaTextDragger);
|
|
48
46
|
}
|
|
49
47
|
|
|
50
48
|
dispose(): void {}
|
|
@@ -93,7 +91,7 @@ export class VisualizeMarkup implements IMarkup {
|
|
|
93
91
|
}
|
|
94
92
|
|
|
95
93
|
colorizeSelectedMarkups(r = 255, g = 0, b = 0): void {
|
|
96
|
-
|
|
94
|
+
console.warn("VisualizeMarkup: colorizeSelectedMarkups() not implemented yet");
|
|
97
95
|
}
|
|
98
96
|
|
|
99
97
|
setViewpoint(viewpoint: IViewpoint): void {
|
|
@@ -231,22 +229,30 @@ export class VisualizeMarkup implements IMarkup {
|
|
|
231
229
|
}
|
|
232
230
|
|
|
233
231
|
enableEditMode(mode: MarkupMode | false): this {
|
|
232
|
+
if (mode === "Line" || mode === "Text") this._viewer.setActiveDragger(mode);
|
|
234
233
|
return this;
|
|
235
234
|
}
|
|
236
235
|
|
|
237
236
|
createObject(type: string, params: any): IMarkupObject {
|
|
237
|
+
console.warn("VisualizeMarkup: createObject() not implemented yet");
|
|
238
238
|
return undefined;
|
|
239
239
|
}
|
|
240
240
|
|
|
241
241
|
getObjects(): IMarkupObject[] {
|
|
242
|
+
console.warn("VisualizeMarkup: getObjects() not implemented yet");
|
|
242
243
|
return [];
|
|
243
244
|
}
|
|
244
245
|
|
|
245
246
|
getSelectedObjects(): IMarkupObject[] {
|
|
247
|
+
console.warn("VisualizeMarkup: getSelectedObjects() not implemented yet");
|
|
246
248
|
return [];
|
|
247
249
|
}
|
|
248
250
|
|
|
249
|
-
selectObjects(objects: IMarkupObject[]): void {
|
|
251
|
+
selectObjects(objects: IMarkupObject[]): void {
|
|
252
|
+
console.warn("VisualizeMarkup: selectObjects() not implemented yet");
|
|
253
|
+
}
|
|
250
254
|
|
|
251
|
-
clearSelected(): void {
|
|
255
|
+
clearSelected(): void {
|
|
256
|
+
console.warn("VisualizeMarkup: clearSelected() not implemented yet");
|
|
257
|
+
}
|
|
252
258
|
}
|