@inweb/viewer-visualize 25.12.0 → 26.1.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/dist/viewer-visualize.js +15881 -15090
- package/dist/viewer-visualize.js.map +1 -1
- package/dist/viewer-visualize.min.js +1 -1
- package/dist/viewer-visualize.module.js +2914 -2735
- package/dist/viewer-visualize.module.js.map +1 -1
- package/lib/Viewer/Commands/ApplyModelTransform.d.ts +3 -0
- package/lib/Viewer/Commands/AutoTransformAllModelsToCentralPoint.d.ts +3 -1
- package/lib/Viewer/Commands/ClearMarkup.d.ts +2 -1
- package/lib/Viewer/Commands/ClearSelected.d.ts +2 -1
- package/lib/Viewer/Commands/ClearSlices.d.ts +2 -1
- package/lib/Viewer/Commands/CreatePreview.d.ts +2 -1
- package/lib/Viewer/Commands/Explode.d.ts +3 -1
- package/lib/Viewer/Commands/GetDefaultViewPositions.d.ts +2 -1
- package/lib/Viewer/Commands/GetModels.d.ts +2 -1
- package/lib/Viewer/Commands/GetSelected.d.ts +2 -1
- package/lib/Viewer/Commands/HideSelected.d.ts +2 -1
- package/lib/Viewer/Commands/IsolateSelected.d.ts +2 -1
- package/lib/Viewer/Commands/RegenerateAll.d.ts +2 -1
- package/lib/Viewer/Commands/ResetView.d.ts +2 -1
- package/lib/Viewer/Commands/SelectModel.d.ts +2 -1
- package/lib/Viewer/Commands/SetActiveDragger.d.ts +2 -1
- package/lib/Viewer/Commands/SetDefaultViewPosition.d.ts +2 -1
- package/lib/Viewer/Commands/SetMarkupColor.d.ts +2 -1
- package/lib/Viewer/Commands/SetSelected.d.ts +2 -1
- package/lib/Viewer/Commands/ShowAll.d.ts +2 -1
- package/lib/Viewer/Commands/ZoomToExtents.d.ts +2 -1
- package/lib/Viewer/Commands/ZoomToObjects.d.ts +2 -1
- package/lib/Viewer/Commands/ZoomToSelected.d.ts +2 -1
- package/lib/Viewer/Commands/index.d.ts +22 -23
- package/lib/Viewer/Components/GestureManagerComponent.d.ts +8 -0
- package/lib/Viewer/Components/RenderLoopComponent.d.ts +9 -0
- package/lib/Viewer/Components/ResizeCanvasComponent.d.ts +9 -0
- package/lib/Viewer/Components/ZoomWheelComponent.d.ts +8 -0
- package/lib/Viewer/Components/index.d.ts +40 -0
- package/lib/Viewer/Draggers/OdaWalkDragger.d.ts +3 -1
- package/lib/Viewer/Draggers/index.d.ts +40 -0
- package/lib/Viewer/Viewer.d.ts +7 -36
- package/lib/index.d.ts +3 -1
- package/package.json +5 -5
- package/src/Viewer/Commands/ApplyModelTransform.ts +1 -4
- package/src/Viewer/Commands/AutoTransformAllModelsToCentralPoint.ts +4 -5
- package/src/Viewer/Commands/ClearMarkup.ts +3 -3
- package/src/Viewer/Commands/ClearSelected.ts +1 -5
- package/src/Viewer/Commands/ClearSlices.ts +3 -2
- package/src/Viewer/Commands/CreatePreview.ts +1 -4
- package/src/Viewer/Commands/Explode.ts +4 -4
- package/src/Viewer/Commands/GetDefaultViewPositions.ts +1 -4
- package/src/Viewer/Commands/GetModels.ts +1 -4
- package/src/Viewer/Commands/GetSelected.ts +1 -4
- package/src/Viewer/Commands/HideSelected.ts +1 -4
- package/src/Viewer/Commands/IsolateSelected.ts +1 -4
- package/src/Viewer/Commands/RegenerateAll.ts +1 -4
- package/src/Viewer/Commands/ResetView.ts +1 -4
- package/src/Viewer/Commands/SelectModel.ts +1 -4
- package/src/Viewer/Commands/SetActiveDragger.ts +2 -3
- package/src/Viewer/Commands/SetDefaultViewPosition.ts +1 -14
- package/src/Viewer/Commands/SetMarkupColor.ts +3 -4
- package/src/Viewer/Commands/SetSelected.ts +1 -4
- package/src/Viewer/Commands/ShowAll.ts +1 -4
- package/src/Viewer/Commands/ZoomToExtents.ts +1 -5
- package/src/Viewer/Commands/ZoomToObjects.ts +1 -4
- package/src/Viewer/Commands/ZoomToSelected.ts +1 -4
- package/src/Viewer/Commands/index.ts +89 -23
- package/src/Viewer/Components/GestureManagerComponent.ts +42 -0
- package/src/Viewer/Components/RenderLoopComponent.ts +44 -0
- package/src/Viewer/Components/ResizeCanvasComponent.ts +44 -0
- package/src/Viewer/Components/ZoomWheelComponent.ts +43 -0
- package/src/Viewer/Components/index.ts +76 -0
- 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/Geometry.ts +1 -1
- package/src/Viewer/Draggers/OdaWalkDragger.ts +10 -1
- package/src/Viewer/Draggers/index.ts +91 -0
- package/src/Viewer/Viewer.ts +47 -106
- package/src/index.ts +5 -2
|
@@ -1 +1,4 @@
|
|
|
1
|
+
import { Model, File, Assembly } from "@inweb/client";
|
|
2
|
+
import { Viewer } from "../Viewer";
|
|
1
3
|
export declare const composeMatrixFromTransform: (transform: any, modelCenter: any, visLib: any) => any;
|
|
4
|
+
export declare function applyModelTransform(viewer: Viewer, model: Model | File | Assembly): void;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Viewer } from "../Viewer";
|
|
2
|
+
export declare function clearMarkup(viewer: Viewer): void;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Viewer } from "../Viewer";
|
|
2
|
+
export declare function clearSelected(viewer: Viewer): void;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Viewer } from "../Viewer";
|
|
2
|
+
export declare function clearSlices(viewer: Viewer): void;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Viewer } from "../Viewer";
|
|
2
|
+
export declare function createPreview(viewer: Viewer, type?: string, encoderOptions?: number): string;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Viewer } from "../Viewer";
|
|
2
|
+
export declare function getDefaultViewPositions(viewer: Viewer): string[];
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Viewer } from "../Viewer";
|
|
2
|
+
export declare function getModels(viewer: Viewer): string[];
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Viewer } from "../Viewer";
|
|
2
|
+
export declare function getSelected(viewer: Viewer): string[];
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Viewer } from "../Viewer";
|
|
2
|
+
export declare function hideSelected(viewer: Viewer): void;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Viewer } from "../Viewer";
|
|
2
|
+
export declare function isolateSelected(viewer: Viewer): void;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Viewer } from "../Viewer";
|
|
2
|
+
export declare function regenerateAll(viewer: Viewer): void;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Viewer } from "../Viewer";
|
|
2
|
+
export declare function resetView(viewer: Viewer): void;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Viewer } from "../Viewer";
|
|
2
|
+
export declare function selectModel(viewer: Viewer, handle: string): void;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Viewer } from "../Viewer";
|
|
2
|
+
export declare function setActiveDragger(viewer: Viewer, dragger?: string): void;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Viewer } from "../Viewer";
|
|
2
|
+
export declare function setDefaultViewPosition(viewer: Viewer, position?: string): void;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Viewer } from "../Viewer";
|
|
2
|
+
export declare function setMarkupColor(viewer: Viewer, r?: number, g?: number, b?: number): void;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Viewer } from "../Viewer";
|
|
2
|
+
export declare function setSelected(viewer: Viewer, handles?: string[]): void;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Viewer } from "../Viewer";
|
|
2
|
+
export declare function showAll(viewer: Viewer): void;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Viewer } from "../Viewer";
|
|
2
|
+
export declare function zoomToExtents(viewer: Viewer, force?: boolean, animate?: boolean): void;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Viewer } from "../Viewer";
|
|
2
|
+
export declare function zoomToObjects(viewer: Viewer, handles?: string[]): void;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Viewer } from "../Viewer";
|
|
2
|
+
export declare function zoomToSelected(viewer: Viewer): void;
|
|
@@ -1,23 +1,22 @@
|
|
|
1
|
-
import "
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
import "
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
import "./AutoTransformAllModelsToCentralPoint";
|
|
1
|
+
import { ICommandsRegistry } from "@inweb/viewer-core";
|
|
2
|
+
/**
|
|
3
|
+
* A commands registry. Use this registry to register custom commands.
|
|
4
|
+
*
|
|
5
|
+
* To implement custom command:
|
|
6
|
+
*
|
|
7
|
+
* 1. Define a command handler with a first `viewer` parameter.
|
|
8
|
+
* 2. Register command handler in the commands registry by calling the {@link commands.registerCommand}.
|
|
9
|
+
*
|
|
10
|
+
* @example <caption>Implementing a custom command.</caption>
|
|
11
|
+
* import { commands, Viewer } from "@inweb/viewer-visualize";
|
|
12
|
+
*
|
|
13
|
+
* function commandHandler(viewer: Viewer, name = "world"): void {
|
|
14
|
+
* console.log(`Hello ${name}!!!`);
|
|
15
|
+
* }
|
|
16
|
+
*
|
|
17
|
+
* commands.registerCommand("sayHello", commandHandler);
|
|
18
|
+
*
|
|
19
|
+
* @example <caption>Calling a custom command.</caption>
|
|
20
|
+
* viewer.executeCommand("sayHello", "user");
|
|
21
|
+
*/
|
|
22
|
+
export declare const commands: ICommandsRegistry;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IComponent } from "@inweb/viewer-core";
|
|
2
|
+
import type { Viewer } from "../Viewer";
|
|
3
|
+
export declare class GestureManagerComponent implements IComponent {
|
|
4
|
+
protected viewer: Viewer;
|
|
5
|
+
private gestureManager;
|
|
6
|
+
constructor(viewer: Viewer);
|
|
7
|
+
dispose(): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IComponent } from "@inweb/viewer-core";
|
|
2
|
+
import type { Viewer } from "../Viewer";
|
|
3
|
+
export declare class RenderLoopComponent implements IComponent {
|
|
4
|
+
protected viewer: Viewer;
|
|
5
|
+
protected requestId: number;
|
|
6
|
+
constructor(viewer: Viewer);
|
|
7
|
+
dispose(): void;
|
|
8
|
+
animate: (time?: number) => void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IComponent } from "@inweb/viewer-core";
|
|
2
|
+
import type { Viewer } from "../Viewer";
|
|
3
|
+
export declare class ResizeCanvasComponent implements IComponent {
|
|
4
|
+
protected viewer: Viewer;
|
|
5
|
+
protected resizeObserver: ResizeObserver;
|
|
6
|
+
constructor(viewer: Viewer);
|
|
7
|
+
dispose(): void;
|
|
8
|
+
resizeViewer: () => void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IComponent } from "@inweb/viewer-core";
|
|
2
|
+
import type { Viewer } from "../Viewer";
|
|
3
|
+
export declare class ZoomWheelComponent implements IComponent {
|
|
4
|
+
protected viewer: Viewer;
|
|
5
|
+
private zoomWheelDragger;
|
|
6
|
+
constructor(viewer: Viewer);
|
|
7
|
+
dispose(): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { IComponentsRegistry } from "@inweb/viewer-core";
|
|
2
|
+
/**
|
|
3
|
+
* Viewer components registry. Use this registry to register custom components.
|
|
4
|
+
*
|
|
5
|
+
* To implement custom component:
|
|
6
|
+
*
|
|
7
|
+
* 1. Define a component class implements {@link IComponent}.
|
|
8
|
+
* 2. Define a constructor with a `viewer` parameter and add mouse event listeners for the specified viewer.
|
|
9
|
+
* 3. Define the component logic in the event listeners. For example, listen for the `mousedown`
|
|
10
|
+
* event and select objects when the left mouse button is pressed.
|
|
11
|
+
* 4. Override {@link IComponent.dispose} and remove mouse event listeners from the viewer.
|
|
12
|
+
* 5. Register component provider in the components registry by calling the
|
|
13
|
+
* {@link components.registerComponent}.
|
|
14
|
+
*
|
|
15
|
+
* @example <caption>Implementing a custom component.</caption>
|
|
16
|
+
* import { IComponent, components, Viewer } from "@inweb/viewer-visualize";
|
|
17
|
+
*
|
|
18
|
+
* class MyComponent implements IComponent {
|
|
19
|
+
* protected viewer: Viewer;
|
|
20
|
+
*
|
|
21
|
+
* constructor(viewer: Viewer) {
|
|
22
|
+
* this.viewer = viewer;
|
|
23
|
+
* this.viewer.addEventListener("mousedown", this.onMouseDown);
|
|
24
|
+
* }
|
|
25
|
+
*
|
|
26
|
+
* override dispose() {
|
|
27
|
+
* this.viewer.removeEventListener("mousedown", this.onMouseDown);
|
|
28
|
+
* }
|
|
29
|
+
*
|
|
30
|
+
* onMouseDown = (event: PointerEvent) => {
|
|
31
|
+
* // place custom logic here
|
|
32
|
+
* };
|
|
33
|
+
* }
|
|
34
|
+
*
|
|
35
|
+
* components.registerComponent(
|
|
36
|
+
* "MyComponent",
|
|
37
|
+
* (viewer): IComponent => new MyComponent(viewer)
|
|
38
|
+
* );
|
|
39
|
+
*/
|
|
40
|
+
export declare const components: IComponentsRegistry;
|
|
@@ -16,13 +16,15 @@ export declare class OdaWalkDragger extends OdBaseDragger {
|
|
|
16
16
|
protected animationId: any;
|
|
17
17
|
protected deltaAngle: number;
|
|
18
18
|
protected enableZoomWheelPreviousValue: boolean;
|
|
19
|
+
protected dragPosition: Point2d;
|
|
19
20
|
constructor(subject: Viewer);
|
|
20
21
|
initialize(): void;
|
|
21
22
|
dispose(): void;
|
|
22
23
|
keydown(ev: any): void;
|
|
23
24
|
keyup(ev: any): void;
|
|
24
25
|
processMovement(timestamp: any): void;
|
|
25
|
-
|
|
26
|
+
start(x: number, y: number): void;
|
|
27
|
+
drag(x: number, y: number): void;
|
|
26
28
|
turnLeft(angle: any): void;
|
|
27
29
|
setupCamera(view: any): void;
|
|
28
30
|
getMaxDimension(view: any): number;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { IDraggersRegistry } from "@inweb/viewer-core";
|
|
2
|
+
/**
|
|
3
|
+
* A draggers registry. Use this registry to register custom draggers.
|
|
4
|
+
*
|
|
5
|
+
* To implement custom dragger:
|
|
6
|
+
*
|
|
7
|
+
* 1. Define a dragger class implements {@link IDragger}.
|
|
8
|
+
* 2. Define a constructor with a `viewer` parameter and add mouse event listeners for the specified viewer.
|
|
9
|
+
* 3. Define the dragger logic in the event listeners. For example, listen for the `mousemove`
|
|
10
|
+
* event and zoom in/out when the left mouse button is pressed.
|
|
11
|
+
* 4. Override {@link IDragger.dispose} and remove mouse event listeners from the viewer.
|
|
12
|
+
* 5. Register dragger provider in the draggers registry by calling the {@link draggers.registerDragger}.
|
|
13
|
+
*
|
|
14
|
+
* @example <caption>Implementing a custom dragger.</caption>
|
|
15
|
+
* import { IDragger, draggers, Viewer } from "@inweb/viewer-visualize";
|
|
16
|
+
*
|
|
17
|
+
* class MyDragger implements IDragger {
|
|
18
|
+
* protected viewer: Viewer;
|
|
19
|
+
*
|
|
20
|
+
* constructor(viewer: Viewer) {
|
|
21
|
+
* this.viewer = viewer;
|
|
22
|
+
* this.viewer.addEventListener("pointermove", this.onPointerMove);
|
|
23
|
+
* }
|
|
24
|
+
*
|
|
25
|
+
* override dispose() {
|
|
26
|
+
* this.viewer.removeEventListener("pointermove", this.onPointerMove);
|
|
27
|
+
* }
|
|
28
|
+
*
|
|
29
|
+
* onPointerMove = (event: PointerEvent) => {
|
|
30
|
+
* // place custom logic here
|
|
31
|
+
* };
|
|
32
|
+
* }
|
|
33
|
+
*
|
|
34
|
+
* draggers.registerDragger("MyDragger", (viewer): IDragger => new MyDragger(viewer));
|
|
35
|
+
*
|
|
36
|
+
* @example <caption>Activating a custom dragger.</caption>
|
|
37
|
+
* viewer.setActiveDragger("MyDragger");
|
|
38
|
+
*/
|
|
39
|
+
declare const draggers: IDraggersRegistry;
|
|
40
|
+
export { draggers };
|
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, Dragger, IDragger, IOptions, IViewer, IViewpoint, Options, OptionsEventMap, ViewerEventMap } from "@inweb/viewer-core";
|
|
3
|
+
import { CanvasEventMap, Dragger, IComponent, IDragger, IOptions, IViewer, IViewpoint, Options, OptionsEventMap, ViewerEventMap } from "@inweb/viewer-core";
|
|
4
4
|
import { IMarkup, IWorldTransform } from "@inweb/markup";
|
|
5
5
|
import { MarkupType } from "./Markup/MarkupFactory";
|
|
6
6
|
/**
|
|
@@ -9,8 +9,7 @@ import { MarkupType } from "./Markup/MarkupFactory";
|
|
|
9
9
|
*/
|
|
10
10
|
export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMap & OptionsEventMap> implements IViewer, IWorldTransform {
|
|
11
11
|
private _activeDragger;
|
|
12
|
-
private
|
|
13
|
-
private _gestureManager;
|
|
12
|
+
private _components;
|
|
14
13
|
private _enableAutoUpdate;
|
|
15
14
|
private _isNeedRender;
|
|
16
15
|
private _isRunAsyncUpdate;
|
|
@@ -20,10 +19,7 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
|
|
|
20
19
|
protected _visualizeJs: any;
|
|
21
20
|
protected _visualizeTimestamp: number;
|
|
22
21
|
private canvaseventlistener;
|
|
23
|
-
draggerFactory: Map<string, typeof Dragger>;
|
|
24
22
|
canvasEvents: string[];
|
|
25
|
-
private frameId;
|
|
26
|
-
private _resizeObserver;
|
|
27
23
|
private _markup;
|
|
28
24
|
canvas: HTMLCanvasElement | undefined;
|
|
29
25
|
_abortController: AbortController | undefined;
|
|
@@ -97,7 +93,7 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
|
|
|
97
93
|
* Returns `true` if `VisualizeJS` module has been loaded and initialized.
|
|
98
94
|
*/
|
|
99
95
|
isInitialized(): boolean;
|
|
100
|
-
|
|
96
|
+
render(time: DOMHighResTimeStamp): void;
|
|
101
97
|
resize(): this;
|
|
102
98
|
/**
|
|
103
99
|
* Updates the viewer.
|
|
@@ -147,40 +143,16 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
|
|
|
147
143
|
syncOpenCloudVisualStyle(isInitializing: boolean): this;
|
|
148
144
|
syncOptions(options?: IOptions): this;
|
|
149
145
|
syncHighlightingOptions(options?: IOptions): this;
|
|
150
|
-
/**
|
|
151
|
-
* List of names of available draggers.
|
|
152
|
-
*
|
|
153
|
-
* The following draggers are available by default:
|
|
154
|
-
*
|
|
155
|
-
* - `Line`
|
|
156
|
-
* - `Text`
|
|
157
|
-
* - `Pan`
|
|
158
|
-
* - `Orbit`
|
|
159
|
-
* - `Zoom`
|
|
160
|
-
* - `ZoomWindow`
|
|
161
|
-
* - `OrbitAroundBuilding`
|
|
162
|
-
* - `MeasureLine`
|
|
163
|
-
* - `CuttingPlaneXAxis`
|
|
164
|
-
* - `CuttingPlaneYAxis`
|
|
165
|
-
* - `CuttingPlaneZAxis`
|
|
166
|
-
* - `Walk`
|
|
167
|
-
*
|
|
168
|
-
* To register your own command use the {@link registerDragger | registerDragger()}.
|
|
169
|
-
*/
|
|
170
146
|
get draggers(): string[];
|
|
147
|
+
get components(): string[];
|
|
171
148
|
/**
|
|
172
|
-
*
|
|
173
|
-
*
|
|
174
|
-
* Dragger is an object that received mouse/keyboard events and does something to the viewer.
|
|
175
|
-
* For a quick tutorial on how to create your own dragger, see {@link Dragger}.
|
|
176
|
-
*
|
|
177
|
-
* @param name - Dragger name.
|
|
178
|
-
* @param dragger - Dragger class.
|
|
149
|
+
* Deprecated since `25.12`. Use {@link draggers.registerDragger} instead.
|
|
179
150
|
*/
|
|
180
151
|
registerDragger(name: string, dragger: typeof Dragger): void;
|
|
181
152
|
activeDragger(): IDragger | null;
|
|
182
153
|
setActiveDragger(name?: string): IDragger | null;
|
|
183
154
|
resetActiveDragger(): void;
|
|
155
|
+
getComponent(name: string): IComponent;
|
|
184
156
|
clearSlices(): void;
|
|
185
157
|
clearOverlay(): void;
|
|
186
158
|
syncOverlay(): void;
|
|
@@ -361,8 +333,7 @@ export declare class Viewer extends EventEmitter2<ViewerEventMap & CanvasEventMa
|
|
|
361
333
|
* - `zoomToObjects`
|
|
362
334
|
* - `zoomToSelected`
|
|
363
335
|
*
|
|
364
|
-
* To register
|
|
365
|
-
* method of the {@link commands} manager.
|
|
336
|
+
* To register custom command use the {@link commands.registerCommand}.
|
|
366
337
|
*
|
|
367
338
|
* @param id - Command ID or dragger name.
|
|
368
339
|
* @param args - Parameters passed to the command handler function.
|
package/lib/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import "./Viewer/Commands";
|
|
2
1
|
export * from "@inweb/viewer-core";
|
|
3
2
|
export * from "@inweb/markup";
|
|
3
|
+
export { draggers } from "./Viewer/Draggers";
|
|
4
|
+
export { commands } from "./Viewer/Commands";
|
|
5
|
+
export { components } from "./Viewer/Components";
|
|
4
6
|
export { Viewer } from "./Viewer/Viewer";
|
|
5
7
|
export { OdBaseDragger } from "./Viewer/Draggers/Common/OdBaseDragger";
|
|
6
8
|
export { MarkupType } from "./Viewer/Markup/MarkupFactory";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inweb/viewer-visualize",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "26.1.0",
|
|
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": "~
|
|
33
|
-
"@inweb/eventemitter2": "~
|
|
34
|
-
"@inweb/markup": "~
|
|
35
|
-
"@inweb/viewer-core": "~
|
|
32
|
+
"@inweb/client": "~26.1.0",
|
|
33
|
+
"@inweb/eventemitter2": "~26.1.0",
|
|
34
|
+
"@inweb/markup": "~26.1.0",
|
|
35
|
+
"@inweb/viewer-core": "~26.1.0"
|
|
36
36
|
},
|
|
37
37
|
"visualizeJS": "https://public-fhemb7e3embacwec.z02.azurefd.net/libs/visualizejs/master/Visualize.js"
|
|
38
38
|
}
|
|
@@ -22,7 +22,6 @@
|
|
|
22
22
|
///////////////////////////////////////////////////////////////////////////////
|
|
23
23
|
|
|
24
24
|
import { Model, File, Assembly } from "@inweb/client";
|
|
25
|
-
import { commands } from "@inweb/viewer-core";
|
|
26
25
|
import { Viewer } from "../Viewer";
|
|
27
26
|
|
|
28
27
|
export const composeMatrixFromTransform = (transform, modelCenter, visLib) => {
|
|
@@ -40,7 +39,7 @@ export const composeMatrixFromTransform = (transform, modelCenter, visLib) => {
|
|
|
40
39
|
return rotateMatrix.postMultBy(translateMatrix).postMultBy(scaleMatrix);
|
|
41
40
|
};
|
|
42
41
|
|
|
43
|
-
function applyModelTransform(viewer: Viewer, model: Model | File | Assembly) {
|
|
42
|
+
export function applyModelTransform(viewer: Viewer, model: Model | File | Assembly) {
|
|
44
43
|
if (!viewer.visualizeJs) return;
|
|
45
44
|
if (!model.getModelTransformMatrix) return; // Model.getModelTransformMatrix() since 24.3.14
|
|
46
45
|
|
|
@@ -67,5 +66,3 @@ function applyModelTransform(viewer: Viewer, model: Model | File | Assembly) {
|
|
|
67
66
|
|
|
68
67
|
viewer.update();
|
|
69
68
|
}
|
|
70
|
-
|
|
71
|
-
commands("VisualizeJS").registerCommand("applyModelTransform", applyModelTransform);
|
|
@@ -22,16 +22,17 @@
|
|
|
22
22
|
///////////////////////////////////////////////////////////////////////////////
|
|
23
23
|
|
|
24
24
|
import { Model, File, Assembly } from "@inweb/client";
|
|
25
|
-
import { commands } from "@inweb/viewer-core";
|
|
26
25
|
import { Viewer } from "../Viewer";
|
|
27
|
-
|
|
28
26
|
import { composeMatrixFromTransform } from "./ApplyModelTransform";
|
|
29
27
|
|
|
30
28
|
function isTemplateModel(modelPtr) {
|
|
31
29
|
return modelPtr.getName()[0] === "$";
|
|
32
30
|
}
|
|
33
31
|
|
|
34
|
-
async function autoTransformAllModelsToCentralPoint(
|
|
32
|
+
export async function autoTransformAllModelsToCentralPoint(
|
|
33
|
+
viewer: Viewer,
|
|
34
|
+
model: Model | File | Assembly
|
|
35
|
+
): Promise<void> {
|
|
35
36
|
if (!viewer.visualizeJs) return;
|
|
36
37
|
if (!model.getModelTransformMatrix) return; // Model.getModelTransformMatrix() since 24.3.14
|
|
37
38
|
|
|
@@ -98,5 +99,3 @@ async function autoTransformAllModelsToCentralPoint(viewer: Viewer, model: Model
|
|
|
98
99
|
|
|
99
100
|
viewer.update();
|
|
100
101
|
}
|
|
101
|
-
|
|
102
|
-
commands("VisualizeJS").registerCommand("autoTransformAllModelsToCentralPoint", autoTransformAllModelsToCentralPoint);
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
// acknowledge and accept the above terms.
|
|
22
22
|
///////////////////////////////////////////////////////////////////////////////
|
|
23
23
|
|
|
24
|
-
import { commands } from "@inweb/viewer-core";
|
|
25
24
|
import { Viewer } from "../Viewer";
|
|
26
25
|
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
export function clearMarkup(viewer: Viewer) {
|
|
27
|
+
viewer.clearOverlay();
|
|
28
|
+
}
|
|
@@ -21,10 +21,9 @@
|
|
|
21
21
|
// acknowledge and accept the above terms.
|
|
22
22
|
///////////////////////////////////////////////////////////////////////////////
|
|
23
23
|
|
|
24
|
-
import { commands } from "@inweb/viewer-core";
|
|
25
24
|
import { Viewer } from "../Viewer";
|
|
26
25
|
|
|
27
|
-
function clearSelected(viewer: Viewer): void {
|
|
26
|
+
export function clearSelected(viewer: Viewer): void {
|
|
28
27
|
if (!viewer.visualizeJs) return;
|
|
29
28
|
|
|
30
29
|
const visViewer = viewer.visViewer();
|
|
@@ -33,6 +32,3 @@ function clearSelected(viewer: Viewer): void {
|
|
|
33
32
|
viewer.update();
|
|
34
33
|
viewer.emitEvent({ type: "select", data: undefined, handles: [] });
|
|
35
34
|
}
|
|
36
|
-
|
|
37
|
-
commands("VisualizeJS").registerCommand("clearSelected", clearSelected);
|
|
38
|
-
commands("VisualizeJS").registerCommandAlias("clearSelected", "unselect");
|
|
@@ -21,7 +21,8 @@
|
|
|
21
21
|
// acknowledge and accept the above terms.
|
|
22
22
|
///////////////////////////////////////////////////////////////////////////////
|
|
23
23
|
|
|
24
|
-
import { commands } from "@inweb/viewer-core";
|
|
25
24
|
import { Viewer } from "../Viewer";
|
|
26
25
|
|
|
27
|
-
|
|
26
|
+
export function clearSlices(viewer: Viewer) {
|
|
27
|
+
viewer.clearSlices();
|
|
28
|
+
}
|
|
@@ -21,13 +21,10 @@
|
|
|
21
21
|
// acknowledge and accept the above terms.
|
|
22
22
|
///////////////////////////////////////////////////////////////////////////////
|
|
23
23
|
|
|
24
|
-
import { commands } from "@inweb/viewer-core";
|
|
25
24
|
import { Viewer } from "../Viewer";
|
|
26
25
|
|
|
27
|
-
function createPreview(viewer: Viewer, type = "image/jpeg", encoderOptions = 0.25): string {
|
|
26
|
+
export function createPreview(viewer: Viewer, type = "image/jpeg", encoderOptions = 0.25): string {
|
|
28
27
|
if (!viewer.visualizeJs) return "";
|
|
29
28
|
|
|
30
29
|
return viewer.canvas?.toDataURL(type, encoderOptions) || "";
|
|
31
30
|
}
|
|
32
|
-
|
|
33
|
-
commands("VisualizeJS").registerCommand("createPreview", createPreview);
|
|
@@ -21,10 +21,9 @@
|
|
|
21
21
|
// acknowledge and accept the above terms.
|
|
22
22
|
///////////////////////////////////////////////////////////////////////////////
|
|
23
23
|
|
|
24
|
-
import { commands } from "@inweb/viewer-core";
|
|
25
24
|
import { Viewer } from "../Viewer";
|
|
26
25
|
|
|
27
|
-
function explode(viewer: Viewer, index = 0): void {
|
|
26
|
+
export function explode(viewer: Viewer, index = 0): void {
|
|
28
27
|
if (!viewer.visualizeJs) return;
|
|
29
28
|
|
|
30
29
|
const visViewer = viewer.visViewer();
|
|
@@ -34,5 +33,6 @@ function explode(viewer: Viewer, index = 0): void {
|
|
|
34
33
|
viewer.emitEvent({ type: "explode", data: index });
|
|
35
34
|
}
|
|
36
35
|
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
export function collect(viewer: Viewer) {
|
|
37
|
+
explode(viewer, 0);
|
|
38
|
+
}
|
|
@@ -21,10 +21,9 @@
|
|
|
21
21
|
// acknowledge and accept the above terms.
|
|
22
22
|
///////////////////////////////////////////////////////////////////////////////
|
|
23
23
|
|
|
24
|
-
import { commands } from "@inweb/viewer-core";
|
|
25
24
|
import { Viewer } from "../Viewer";
|
|
26
25
|
|
|
27
|
-
function getDefaultViewPositions(viewer: Viewer): string[] {
|
|
26
|
+
export function getDefaultViewPositions(viewer: Viewer): string[] {
|
|
28
27
|
if (!viewer.visualizeJs) return [];
|
|
29
28
|
|
|
30
29
|
const visLib = viewer.visLib();
|
|
@@ -32,5 +31,3 @@ function getDefaultViewPositions(viewer: Viewer): string[] {
|
|
|
32
31
|
const defViewPos = visLib.DefaultViewPosition;
|
|
33
32
|
return Object.keys(defViewPos).filter((x) => x !== "values");
|
|
34
33
|
}
|
|
35
|
-
|
|
36
|
-
commands("VisualizeJS").registerCommand("getDefaultViewPositions", getDefaultViewPositions);
|
|
@@ -21,10 +21,9 @@
|
|
|
21
21
|
// acknowledge and accept the above terms.
|
|
22
22
|
///////////////////////////////////////////////////////////////////////////////
|
|
23
23
|
|
|
24
|
-
import { commands } from "@inweb/viewer-core";
|
|
25
24
|
import { Viewer } from "../Viewer";
|
|
26
25
|
|
|
27
|
-
function getModels(viewer: Viewer): string[] {
|
|
26
|
+
export function getModels(viewer: Viewer): string[] {
|
|
28
27
|
if (!viewer.visualizeJs) return [];
|
|
29
28
|
|
|
30
29
|
const visViewer = viewer.visViewer();
|
|
@@ -39,5 +38,3 @@ function getModels(viewer: Viewer): string[] {
|
|
|
39
38
|
|
|
40
39
|
return handles;
|
|
41
40
|
}
|
|
42
|
-
|
|
43
|
-
commands("VisualizeJS").registerCommand("getModels", getModels);
|
|
@@ -21,10 +21,9 @@
|
|
|
21
21
|
// acknowledge and accept the above terms.
|
|
22
22
|
///////////////////////////////////////////////////////////////////////////////
|
|
23
23
|
|
|
24
|
-
import { commands } from "@inweb/viewer-core";
|
|
25
24
|
import { Viewer } from "../Viewer";
|
|
26
25
|
|
|
27
|
-
function getSelected(viewer: Viewer): string[] {
|
|
26
|
+
export function getSelected(viewer: Viewer): string[] {
|
|
28
27
|
if (!viewer.visualizeJs) return [];
|
|
29
28
|
|
|
30
29
|
const visViewer = viewer.visViewer();
|
|
@@ -54,5 +53,3 @@ function getSelected(viewer: Viewer): string[] {
|
|
|
54
53
|
|
|
55
54
|
return handles;
|
|
56
55
|
}
|
|
57
|
-
|
|
58
|
-
commands("VisualizeJS").registerCommand("getSelected", getSelected);
|