@pilotdev/pilot-web-3d 1.0.4 → 1.0.5-1

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 (2) hide show
  1. package/index.d.ts +109 -57
  2. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -1,23 +1,23 @@
1
1
  /// <reference path="./three/three.d.ts" />
2
2
  declare namespace PilotWeb3D {
3
3
 
4
- type InitializeSuccessCallback = () => void;
5
- function Initializer(options: any, callback: InitializeSuccessCallback): void;
6
- function shutdown(): void;
7
- type ErrorCallback = (message: string) => void;
8
- type SuccessCallback = (modelId: any) => void;
9
- enum DocumentType {
10
- UNKNOWN = 0,
11
- DOCUMENT_2D = 1,
12
- DOCUMENT_3D = 2
4
+ type InitializeSuccessCallback = () => void;
5
+ function Initializer(options: any, callback: InitializeSuccessCallback): void;
6
+ function shutdown(): void;
7
+ type ErrorCallback = (message: string) => void;
8
+ type SuccessCallback = (modelId: any) => void;
9
+ enum DocumentType {
10
+ UNKNOWN = 0,
11
+ DOCUMENT_2D = 1,
12
+ DOCUMENT_3D = 2
13
13
  }
14
14
 
15
- class GuiViewer3D extends Viewer3D {
16
- getToolbar(): ViewerToolbar;
17
- onPostExtensionLoad(extension: Extension): void;
15
+ class GuiViewer3D extends Viewer3D {
16
+ getToolbar(): ViewerToolbar;
17
+ onPostExtensionLoad(extension: Extension): void;
18
18
  }
19
19
 
20
- class Model {
20
+ class Model {
21
21
  /**
22
22
  * Returns all model parts loaded in the viewer.
23
23
  * @returns {ModelPart[]} - An array of visible and hidden model parts
@@ -82,6 +82,16 @@ declare namespace PilotWeb3D {
82
82
  * @returns {ModelElementIds[]} Array of the currently selected model elements.
83
83
  */
84
84
  getSelection(): ModelElementIds[];
85
+ /**
86
+ * Returns the hidden element ids.
87
+ * @returns {ModelElementIds[]} Array of the currently hidden model elements.
88
+ */
89
+ getHiddenElements(): ModelElementIds[];
90
+ /**
91
+ * Returns the visible element ids.
92
+ * @returns {ModelElementIds[]} Array of the currently visible model elements.
93
+ */
94
+ getVisibleElements(): ModelElementIds[];
85
95
  /**
86
96
  * Sets color to elements
87
97
  * @param {string[] | string} elementIds - element or array of elements to change color.
@@ -99,50 +109,58 @@ declare namespace PilotWeb3D {
99
109
  clearColors(model?: string | ModelPart): void;
100
110
  }
101
111
 
102
- class ModelPart {
103
- get id(): string;
104
- get elementTree(): ModelElementTree;
105
- dispose(): void;
112
+ class ModelPart {
113
+ get id(): string;
114
+ get elementTree(): ModelElementTree;
115
+ dispose(): void;
106
116
  }
107
117
 
108
- class ModelElementIds {
118
+ class ModelElementIds {
109
119
  modelPartId: string;
110
120
  elementIds: string[];
111
121
  }
112
122
 
113
- class ModelElementTree {
123
+ class ModelElementTree {
114
124
  enumElementChildren(element: string | ModelElement, callback: (guid: string) => void, recursive?: boolean): void;
115
125
  getRootElement(): ModelElement;
116
126
  getAllElements(): ModelElement[];
127
+ getElement(id: string) : ModelElement;
117
128
  isViewableElement(element: string | ModelElement): boolean;
118
129
  isDetachedElement(element: string | ModelElement): boolean;
119
130
  getChildLevelNumber(element: string | ModelElement): number;
120
131
  }
121
132
 
122
- class ModelElement {
133
+ class ModelElement {
123
134
  get id(): string;
135
+ get modelPartId(): string;
124
136
  get parent(): ModelElement | undefined;
125
137
  get type(): string;
126
138
  get name(): string;
127
139
  get children(): ModelElement[];
128
140
  }
129
141
 
130
- class CoreEventTypes {
142
+ class CoreEventTypes {
131
143
  static VIEWER_RESIZE_EVENT: string;
132
144
  static VIEWER_MOUSE_DOWN_EVENT: string;
133
145
  static VIEWER_MOUSE_MOVE_EVENT: string;
134
146
  static VIEWER_MOUSE_UP_EVENT: string;
135
147
  static VIEWER_MOUSE_LONG_TOUCH_EVENT: string;
136
148
  }
137
- class EventTypes extends CoreEventTypes {
138
- static SELECTION_CHANGED_EVENT: string;
149
+ class EventTypes extends CoreEventTypes {
150
+ static SELECTION_CHANGED_EVENT: string;
151
+ static MODEL_PART_LOADED: string;
152
+ static MODEL_PART_UNLOADED: string;
139
153
  }
140
- class SelectionEvent extends Event {
141
- selected: string[];
142
- modelId: string;
154
+ class SelectionEvent extends Event {
155
+ selected: string[];
156
+ modelPartId: string;
143
157
  }
144
158
 
145
- interface EventsDispatcher {
159
+ class ModelPartEvent extends Event {
160
+ modelPartId: string;
161
+ }
162
+
163
+ interface EventsDispatcher {
146
164
  addEventListener(event: string, listener: EventListener, options?: any): void;
147
165
  removeEventListener(event: string, listener: EventListener): void;
148
166
  hasEventListener(event: string, listener: EventListener): boolean;
@@ -150,12 +168,15 @@ declare namespace PilotWeb3D {
150
168
  clearListeners(): void;
151
169
  }
152
170
 
153
- type CameraPosition = {
154
- position: THREE.Vector3;
155
- direction: THREE.Vector3;
171
+ type CameraPosition = {
172
+ position: { x: number, y: number, z: number },
173
+ eyeDir: { x: number, y: number, z: number },
174
+ angle: number,
175
+ viewCenter: { x: number, y: number, z: number }
156
176
  };
157
- var ViewerInstance: Viewer3D;
158
- class Viewer3D extends ViewerBase {
177
+
178
+ var ViewerInstance: Viewer3D;
179
+ class Viewer3D extends ViewerBase {
159
180
  start(): number;
160
181
  finish(): void;
161
182
  /**
@@ -195,7 +216,7 @@ declare namespace PilotWeb3D {
195
216
  makeScreenshot(mimeType?: string, quality?: number): Promise<Blob>;
196
217
  }
197
218
 
198
- abstract class ViewerBase {
219
+ abstract class ViewerBase {
199
220
  container: HTMLElement;
200
221
  layerManagers: Map<number, ILayerManager>;
201
222
  extensionsLoader: ExtensionLoader;
@@ -213,21 +234,21 @@ declare namespace PilotWeb3D {
213
234
  onPostExtensionLoad(extension: Extension): void;
214
235
  }
215
236
 
216
- class ExtensionLoader {
237
+ class ExtensionLoader {
217
238
  loadExtension(extensionId: string): Promise<Extension>;
218
239
  unloadExtension(extensionId: string): Promise<boolean>;
219
240
  getExtensions(): Extension[];
220
241
  }
221
242
 
222
- function CreateViewer(container: HTMLElement): GuiViewer3D;
243
+ function CreateViewer(container: HTMLElement): GuiViewer3D;
223
244
 
224
- interface ILayerManager {
245
+ interface ILayerManager {
225
246
  createLayer(name: string): ILayer;
226
247
  deleteLayer(name: string): boolean;
227
248
  getLayer(name: string): ILayer | null;
228
249
  hasLayer(name: string): boolean;
229
250
  }
230
- interface ILayer {
251
+ interface ILayer {
231
252
  addOverlay(overlay: Overlay): boolean;
232
253
  removeOverlay(overlay: Overlay): boolean;
233
254
  getOverlays(): Overlay[];
@@ -235,37 +256,63 @@ declare namespace PilotWeb3D {
235
256
  getViewBox(): LayerViewBox;
236
257
  dispose(): void;
237
258
  }
238
- type Overlay = HTMLElement | any;
239
- type LayerContainer = HTMLElement | any;
240
- type LayerViewBox = DOMRect | any;
259
+ type Overlay = HTMLElement | any;
260
+ type LayerContainer = HTMLElement | any;
261
+ type LayerViewBox = DOMRect | any;
241
262
 
242
- class Toolbar extends Control {
263
+ class Toolbar extends Control {
243
264
  addControl(control: Control): void;
244
265
  removeControl(id: string): void;
245
266
  }
246
267
 
247
- class Control {
268
+ class Control {
248
269
  container: HTMLElement;
249
- id: string;
270
+ constructor(id: string);
250
271
  addClass(cssClass: string): void;
251
272
  removeClass(cssClass: string): void;
273
+ getId(): string;
274
+ setToolTip(tooltipText: string): void;
252
275
  }
253
276
 
254
- class ViewerToolbar extends Toolbar {
277
+ class ViewerToolbar extends Toolbar {
255
278
  }
256
279
 
257
- class ToolbarBuilder {
258
- addButton(id: string): ButtonBuilder;
259
- removeItem(id: string): void;
280
+ class Button extends Control {
281
+ constructor(id: string);
282
+ setIsChecked(value: boolean): void;
283
+ setState(state: Button.State): boolean;
284
+ getState(): Button.State;
285
+ setIcon(iconClassName: string): void;
286
+ /**
287
+ * Override this method to be notified when the user clicks on the button.
288
+ * @param {MouseEvent} event
289
+ */
290
+ onClick: (event: MouseEvent) => void;
291
+ /**
292
+ * Override this method to be notified when the mouse enters the button.
293
+ * @param {MouseEvent} event
294
+ */
295
+ onMouseOver: (event: MouseEvent) => void;
296
+ /**
297
+ * Override this method to be notified when the mouse leaves the button.
298
+ * @param {MouseEvent} event
299
+ */
300
+ onMouseOut: (event: MouseEvent) => void;
260
301
  }
261
- class ButtonBuilder {
262
- withCaption(caption: string): ButtonBuilder;
263
- withIcon(icon: string): ButtonBuilder;
264
- withClickAction(action: EventListener): ButtonBuilder;
265
- withIsChecked(value: boolean): ButtonBuilder;
302
+ namespace Button {
303
+ enum State {
304
+ ACTIVE = 0,
305
+ INACTIVE = 1,
306
+ DISABLED = 2
307
+ }
308
+ enum Event {
309
+ STATE_CHANGED = "Button.StateChanged",
310
+ CLICK = "click"
311
+ }
266
312
  }
267
-
268
- class Extension {
313
+
314
+ class ExtensionBase {
315
+ protected _viewer: ViewerBase;
269
316
  constructor(viewer3D: ViewerBase, options?: object);
270
317
  load(): boolean | Promise<boolean>;
271
318
  unload(): boolean;
@@ -278,13 +325,18 @@ declare namespace PilotWeb3D {
278
325
  onMouseMove(event: MouseEvent): void;
279
326
  onMouseUp(event: MouseEvent): void;
280
327
  onMouseLongTouch(event: MouseEvent): void;
281
- onToolbarCreated(builder: ToolbarBuilder): void;
328
+ onToolbarCreated(builder: Toolbar): void;
329
+ }
330
+
331
+ class Extension extends ExtensionBase{
332
+ protected _viewer: Viewer3D;
333
+ constructor(viewer: Viewer3D, options?: object);
282
334
  }
283
335
 
284
- class ExtensionManager {
336
+ class ExtensionManager {
285
337
  registerExtensionType(extensionId: string, extension: typeof Extension): boolean;
286
338
  unregisterExtensionType(extensionId: string): boolean;
287
339
  getExtensionType(extensionId: string): typeof Extension;
288
340
  }
289
- const theExtensionManager: ExtensionManager;
341
+ const theExtensionManager: ExtensionManager;
290
342
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pilotdev/pilot-web-3d",
3
- "version": "1.0.4",
3
+ "version": "1.0.5-1",
4
4
  "description": "TypeScript definitions for ASCON Pilot.Web.3D component",
5
5
  "main": "",
6
6
  "types": "index.d.ts",