@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.
Files changed (76) hide show
  1. package/dist/viewer-visualize.js +15881 -15090
  2. package/dist/viewer-visualize.js.map +1 -1
  3. package/dist/viewer-visualize.min.js +1 -1
  4. package/dist/viewer-visualize.module.js +2914 -2735
  5. package/dist/viewer-visualize.module.js.map +1 -1
  6. package/lib/Viewer/Commands/ApplyModelTransform.d.ts +3 -0
  7. package/lib/Viewer/Commands/AutoTransformAllModelsToCentralPoint.d.ts +3 -1
  8. package/lib/Viewer/Commands/ClearMarkup.d.ts +2 -1
  9. package/lib/Viewer/Commands/ClearSelected.d.ts +2 -1
  10. package/lib/Viewer/Commands/ClearSlices.d.ts +2 -1
  11. package/lib/Viewer/Commands/CreatePreview.d.ts +2 -1
  12. package/lib/Viewer/Commands/Explode.d.ts +3 -1
  13. package/lib/Viewer/Commands/GetDefaultViewPositions.d.ts +2 -1
  14. package/lib/Viewer/Commands/GetModels.d.ts +2 -1
  15. package/lib/Viewer/Commands/GetSelected.d.ts +2 -1
  16. package/lib/Viewer/Commands/HideSelected.d.ts +2 -1
  17. package/lib/Viewer/Commands/IsolateSelected.d.ts +2 -1
  18. package/lib/Viewer/Commands/RegenerateAll.d.ts +2 -1
  19. package/lib/Viewer/Commands/ResetView.d.ts +2 -1
  20. package/lib/Viewer/Commands/SelectModel.d.ts +2 -1
  21. package/lib/Viewer/Commands/SetActiveDragger.d.ts +2 -1
  22. package/lib/Viewer/Commands/SetDefaultViewPosition.d.ts +2 -1
  23. package/lib/Viewer/Commands/SetMarkupColor.d.ts +2 -1
  24. package/lib/Viewer/Commands/SetSelected.d.ts +2 -1
  25. package/lib/Viewer/Commands/ShowAll.d.ts +2 -1
  26. package/lib/Viewer/Commands/ZoomToExtents.d.ts +2 -1
  27. package/lib/Viewer/Commands/ZoomToObjects.d.ts +2 -1
  28. package/lib/Viewer/Commands/ZoomToSelected.d.ts +2 -1
  29. package/lib/Viewer/Commands/index.d.ts +22 -23
  30. package/lib/Viewer/Components/GestureManagerComponent.d.ts +8 -0
  31. package/lib/Viewer/Components/RenderLoopComponent.d.ts +9 -0
  32. package/lib/Viewer/Components/ResizeCanvasComponent.d.ts +9 -0
  33. package/lib/Viewer/Components/ZoomWheelComponent.d.ts +8 -0
  34. package/lib/Viewer/Components/index.d.ts +40 -0
  35. package/lib/Viewer/Draggers/OdaWalkDragger.d.ts +3 -1
  36. package/lib/Viewer/Draggers/index.d.ts +40 -0
  37. package/lib/Viewer/Viewer.d.ts +7 -36
  38. package/lib/index.d.ts +3 -1
  39. package/package.json +5 -5
  40. package/src/Viewer/Commands/ApplyModelTransform.ts +1 -4
  41. package/src/Viewer/Commands/AutoTransformAllModelsToCentralPoint.ts +4 -5
  42. package/src/Viewer/Commands/ClearMarkup.ts +3 -3
  43. package/src/Viewer/Commands/ClearSelected.ts +1 -5
  44. package/src/Viewer/Commands/ClearSlices.ts +3 -2
  45. package/src/Viewer/Commands/CreatePreview.ts +1 -4
  46. package/src/Viewer/Commands/Explode.ts +4 -4
  47. package/src/Viewer/Commands/GetDefaultViewPositions.ts +1 -4
  48. package/src/Viewer/Commands/GetModels.ts +1 -4
  49. package/src/Viewer/Commands/GetSelected.ts +1 -4
  50. package/src/Viewer/Commands/HideSelected.ts +1 -4
  51. package/src/Viewer/Commands/IsolateSelected.ts +1 -4
  52. package/src/Viewer/Commands/RegenerateAll.ts +1 -4
  53. package/src/Viewer/Commands/ResetView.ts +1 -4
  54. package/src/Viewer/Commands/SelectModel.ts +1 -4
  55. package/src/Viewer/Commands/SetActiveDragger.ts +2 -3
  56. package/src/Viewer/Commands/SetDefaultViewPosition.ts +1 -14
  57. package/src/Viewer/Commands/SetMarkupColor.ts +3 -4
  58. package/src/Viewer/Commands/SetSelected.ts +1 -4
  59. package/src/Viewer/Commands/ShowAll.ts +1 -4
  60. package/src/Viewer/Commands/ZoomToExtents.ts +1 -5
  61. package/src/Viewer/Commands/ZoomToObjects.ts +1 -4
  62. package/src/Viewer/Commands/ZoomToSelected.ts +1 -4
  63. package/src/Viewer/Commands/index.ts +89 -23
  64. package/src/Viewer/Components/GestureManagerComponent.ts +42 -0
  65. package/src/Viewer/Components/RenderLoopComponent.ts +44 -0
  66. package/src/Viewer/Components/ResizeCanvasComponent.ts +44 -0
  67. package/src/Viewer/Components/ZoomWheelComponent.ts +43 -0
  68. package/src/Viewer/Components/index.ts +76 -0
  69. package/src/Viewer/Draggers/Actions/OrbitAction.ts +1 -1
  70. package/src/Viewer/Draggers/Actions/PanAction.ts +1 -1
  71. package/src/Viewer/Draggers/Actions/ZoomAction.ts +1 -1
  72. package/src/Viewer/Draggers/Common/Geometry.ts +1 -1
  73. package/src/Viewer/Draggers/OdaWalkDragger.ts +10 -1
  74. package/src/Viewer/Draggers/index.ts +91 -0
  75. package/src/Viewer/Viewer.ts +47 -106
  76. 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,3 @@
1
- export {};
1
+ import { Model, File, Assembly } from "@inweb/client";
2
+ import { Viewer } from "../Viewer";
3
+ export declare function autoTransformAllModelsToCentralPoint(viewer: Viewer, model: Model | File | Assembly): Promise<void>;
@@ -1 +1,2 @@
1
- export {};
1
+ import { Viewer } from "../Viewer";
2
+ export declare function clearMarkup(viewer: Viewer): void;
@@ -1 +1,2 @@
1
- export {};
1
+ import { Viewer } from "../Viewer";
2
+ export declare function clearSelected(viewer: Viewer): void;
@@ -1 +1,2 @@
1
- export {};
1
+ import { Viewer } from "../Viewer";
2
+ export declare function clearSlices(viewer: Viewer): void;
@@ -1 +1,2 @@
1
- export {};
1
+ import { Viewer } from "../Viewer";
2
+ export declare function createPreview(viewer: Viewer, type?: string, encoderOptions?: number): string;
@@ -1 +1,3 @@
1
- export {};
1
+ import { Viewer } from "../Viewer";
2
+ export declare function explode(viewer: Viewer, index?: number): void;
3
+ export declare function collect(viewer: Viewer): void;
@@ -1 +1,2 @@
1
- export {};
1
+ import { Viewer } from "../Viewer";
2
+ export declare function getDefaultViewPositions(viewer: Viewer): string[];
@@ -1 +1,2 @@
1
- export {};
1
+ import { Viewer } from "../Viewer";
2
+ export declare function getModels(viewer: Viewer): string[];
@@ -1 +1,2 @@
1
- export {};
1
+ import { Viewer } from "../Viewer";
2
+ export declare function getSelected(viewer: Viewer): string[];
@@ -1 +1,2 @@
1
- export {};
1
+ import { Viewer } from "../Viewer";
2
+ export declare function hideSelected(viewer: Viewer): void;
@@ -1 +1,2 @@
1
- export {};
1
+ import { Viewer } from "../Viewer";
2
+ export declare function isolateSelected(viewer: Viewer): void;
@@ -1 +1,2 @@
1
- export {};
1
+ import { Viewer } from "../Viewer";
2
+ export declare function regenerateAll(viewer: Viewer): void;
@@ -1 +1,2 @@
1
- export {};
1
+ import { Viewer } from "../Viewer";
2
+ export declare function resetView(viewer: Viewer): void;
@@ -1 +1,2 @@
1
- export {};
1
+ import { Viewer } from "../Viewer";
2
+ export declare function selectModel(viewer: Viewer, handle: string): void;
@@ -1 +1,2 @@
1
- export {};
1
+ import { Viewer } from "../Viewer";
2
+ export declare function setActiveDragger(viewer: Viewer, dragger?: string): void;
@@ -1 +1,2 @@
1
- export {};
1
+ import { Viewer } from "../Viewer";
2
+ export declare function setDefaultViewPosition(viewer: Viewer, position?: string): void;
@@ -1 +1,2 @@
1
- export {};
1
+ import { Viewer } from "../Viewer";
2
+ export declare function setMarkupColor(viewer: Viewer, r?: number, g?: number, b?: number): void;
@@ -1 +1,2 @@
1
- export {};
1
+ import { Viewer } from "../Viewer";
2
+ export declare function setSelected(viewer: Viewer, handles?: string[]): void;
@@ -1 +1,2 @@
1
- export {};
1
+ import { Viewer } from "../Viewer";
2
+ export declare function showAll(viewer: Viewer): void;
@@ -1 +1,2 @@
1
- export {};
1
+ import { Viewer } from "../Viewer";
2
+ export declare function zoomToExtents(viewer: Viewer, force?: boolean, animate?: boolean): void;
@@ -1 +1,2 @@
1
- export {};
1
+ import { Viewer } from "../Viewer";
2
+ export declare function zoomToObjects(viewer: Viewer, handles?: string[]): void;
@@ -1 +1,2 @@
1
- export {};
1
+ import { Viewer } from "../Viewer";
2
+ export declare function zoomToSelected(viewer: Viewer): void;
@@ -1,23 +1,22 @@
1
- import "./ApplyModelTransform";
2
- import "./ClearMarkup";
3
- import "./ClearSelected";
4
- import "./ClearSlices";
5
- import "./CreatePreview";
6
- import "./Explode";
7
- import "./GetDefaultViewPositions";
8
- import "./GetModels";
9
- import "./GetSelected";
10
- import "./HideSelected";
11
- import "./IsolateSelected";
12
- import "./RegenerateAll";
13
- import "./ResetView";
14
- import "./SelectModel";
15
- import "./SetActiveDragger";
16
- import "./SetDefaultViewPosition";
17
- import "./SetMarkupColor";
18
- import "./SetSelected";
19
- import "./ShowAll";
20
- import "./ZoomToExtents";
21
- import "./ZoomToObjects";
22
- import "./ZoomToSelected";
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
- drag(x: any, y: any, dltX: any, dltY: any): void;
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 };
@@ -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 _zoomWheelDragger;
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
- private render;
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
- * Registers a dragger for the viewer.
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 your own command use the {@link ICommands.registerCommand | registerCommand()}
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": "25.12.0",
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": "~25.12.0",
33
- "@inweb/eventemitter2": "~25.12.0",
34
- "@inweb/markup": "~25.12.0",
35
- "@inweb/viewer-core": "~25.12.0"
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(viewer: Viewer, model: Model | File | Assembly): Promise<void> {
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
- commands("VisualizeJS").registerCommand("clearMarkup", (viewer: Viewer) => viewer.clearOverlay());
28
- commands("VisualizeJS").registerCommandAlias("clearMarkup", "clearOverlay");
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
- commands("VisualizeJS").registerCommand("clearSlices", (viewer: Viewer) => viewer.clearSlices());
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
- commands("VisualizeJS").registerCommand("explode", explode);
38
- commands("VisualizeJS").registerCommand("collect", (viewer: any) => explode(viewer, 0));
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);