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

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 +69 -52
  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
@@ -99,50 +99,58 @@ declare namespace PilotWeb3D {
99
99
  clearColors(model?: string | ModelPart): void;
100
100
  }
101
101
 
102
- class ModelPart {
103
- get id(): string;
104
- get elementTree(): ModelElementTree;
105
- dispose(): void;
102
+ class ModelPart {
103
+ get id(): string;
104
+ get elementTree(): ModelElementTree;
105
+ dispose(): void;
106
106
  }
107
107
 
108
- class ModelElementIds {
108
+ class ModelElementIds {
109
109
  modelPartId: string;
110
110
  elementIds: string[];
111
111
  }
112
112
 
113
- class ModelElementTree {
113
+ class ModelElementTree {
114
114
  enumElementChildren(element: string | ModelElement, callback: (guid: string) => void, recursive?: boolean): void;
115
115
  getRootElement(): ModelElement;
116
116
  getAllElements(): ModelElement[];
117
+ getElement(id: string) : ModelElement;
117
118
  isViewableElement(element: string | ModelElement): boolean;
118
119
  isDetachedElement(element: string | ModelElement): boolean;
119
120
  getChildLevelNumber(element: string | ModelElement): number;
120
121
  }
121
122
 
122
- class ModelElement {
123
+ class ModelElement {
123
124
  get id(): string;
125
+ get modelPartId(): string;
124
126
  get parent(): ModelElement | undefined;
125
127
  get type(): string;
126
128
  get name(): string;
127
129
  get children(): ModelElement[];
128
130
  }
129
131
 
130
- class CoreEventTypes {
132
+ class CoreEventTypes {
131
133
  static VIEWER_RESIZE_EVENT: string;
132
134
  static VIEWER_MOUSE_DOWN_EVENT: string;
133
135
  static VIEWER_MOUSE_MOVE_EVENT: string;
134
136
  static VIEWER_MOUSE_UP_EVENT: string;
135
137
  static VIEWER_MOUSE_LONG_TOUCH_EVENT: string;
136
138
  }
137
- class EventTypes extends CoreEventTypes {
138
- static SELECTION_CHANGED_EVENT: string;
139
+ class EventTypes extends CoreEventTypes {
140
+ static SELECTION_CHANGED_EVENT: string;
141
+ static MODEL_PART_LOADED: string;
142
+ static MODEL_PART_UNLOADED: string;
143
+ }
144
+ class SelectionEvent extends Event {
145
+ selected: string[];
146
+ modelPartId: string;
139
147
  }
140
- class SelectionEvent extends Event {
141
- selected: string[];
142
- modelId: string;
148
+
149
+ class ModelPartEvent extends Event {
150
+ modelPartId: string;
143
151
  }
144
152
 
145
- interface EventsDispatcher {
153
+ interface EventsDispatcher {
146
154
  addEventListener(event: string, listener: EventListener, options?: any): void;
147
155
  removeEventListener(event: string, listener: EventListener): void;
148
156
  hasEventListener(event: string, listener: EventListener): boolean;
@@ -150,12 +158,15 @@ declare namespace PilotWeb3D {
150
158
  clearListeners(): void;
151
159
  }
152
160
 
153
- type CameraPosition = {
154
- position: THREE.Vector3;
155
- direction: THREE.Vector3;
161
+ type CameraPosition = {
162
+ position: { x: number, y: number, z: number },
163
+ eyeDir: { x: number, y: number, z: number },
164
+ angle: number,
165
+ viewCenter: { x: number, y: number, z: number }
156
166
  };
157
- var ViewerInstance: Viewer3D;
158
- class Viewer3D extends ViewerBase {
167
+
168
+ var ViewerInstance: Viewer3D;
169
+ class Viewer3D extends ViewerBase {
159
170
  start(): number;
160
171
  finish(): void;
161
172
  /**
@@ -195,7 +206,7 @@ declare namespace PilotWeb3D {
195
206
  makeScreenshot(mimeType?: string, quality?: number): Promise<Blob>;
196
207
  }
197
208
 
198
- abstract class ViewerBase {
209
+ abstract class ViewerBase {
199
210
  container: HTMLElement;
200
211
  layerManagers: Map<number, ILayerManager>;
201
212
  extensionsLoader: ExtensionLoader;
@@ -213,21 +224,21 @@ declare namespace PilotWeb3D {
213
224
  onPostExtensionLoad(extension: Extension): void;
214
225
  }
215
226
 
216
- class ExtensionLoader {
227
+ class ExtensionLoader {
217
228
  loadExtension(extensionId: string): Promise<Extension>;
218
229
  unloadExtension(extensionId: string): Promise<boolean>;
219
230
  getExtensions(): Extension[];
220
231
  }
221
232
 
222
- function CreateViewer(container: HTMLElement): GuiViewer3D;
233
+ function CreateViewer(container: HTMLElement): GuiViewer3D;
223
234
 
224
- interface ILayerManager {
235
+ interface ILayerManager {
225
236
  createLayer(name: string): ILayer;
226
237
  deleteLayer(name: string): boolean;
227
238
  getLayer(name: string): ILayer | null;
228
239
  hasLayer(name: string): boolean;
229
240
  }
230
- interface ILayer {
241
+ interface ILayer {
231
242
  addOverlay(overlay: Overlay): boolean;
232
243
  removeOverlay(overlay: Overlay): boolean;
233
244
  getOverlays(): Overlay[];
@@ -235,37 +246,38 @@ declare namespace PilotWeb3D {
235
246
  getViewBox(): LayerViewBox;
236
247
  dispose(): void;
237
248
  }
238
- type Overlay = HTMLElement | any;
239
- type LayerContainer = HTMLElement | any;
240
- type LayerViewBox = DOMRect | any;
249
+ type Overlay = HTMLElement | any;
250
+ type LayerContainer = HTMLElement | any;
251
+ type LayerViewBox = DOMRect | any;
241
252
 
242
- class Toolbar extends Control {
253
+ class Toolbar extends Control {
243
254
  addControl(control: Control): void;
244
255
  removeControl(id: string): void;
245
256
  }
246
257
 
247
- class Control {
258
+ class Control {
248
259
  container: HTMLElement;
249
260
  id: string;
250
261
  addClass(cssClass: string): void;
251
262
  removeClass(cssClass: string): void;
252
263
  }
253
264
 
254
- class ViewerToolbar extends Toolbar {
265
+ class ViewerToolbar extends Toolbar {
255
266
  }
256
267
 
257
- class ToolbarBuilder {
268
+ class ToolbarBuilder {
258
269
  addButton(id: string): ButtonBuilder;
259
270
  removeItem(id: string): void;
260
271
  }
261
- class ButtonBuilder {
262
- withCaption(caption: string): ButtonBuilder;
263
- withIcon(icon: string): ButtonBuilder;
264
- withClickAction(action: EventListener): ButtonBuilder;
265
- withIsChecked(value: boolean): ButtonBuilder;
272
+ class ButtonBuilder {
273
+ withCaption(caption: string): ButtonBuilder;
274
+ withIcon(icon: string): ButtonBuilder;
275
+ withClickAction(action: EventListener): ButtonBuilder;
276
+ withIsChecked(value: boolean): ButtonBuilder;
266
277
  }
267
278
 
268
- class Extension {
279
+ class ExtensionBase {
280
+ protected _viewer: ViewerBase;
269
281
  constructor(viewer3D: ViewerBase, options?: object);
270
282
  load(): boolean | Promise<boolean>;
271
283
  unload(): boolean;
@@ -281,10 +293,15 @@ declare namespace PilotWeb3D {
281
293
  onToolbarCreated(builder: ToolbarBuilder): void;
282
294
  }
283
295
 
284
- class ExtensionManager {
296
+ class Extension extends ExtensionBase{
297
+ protected _viewer: Viewer3D;
298
+ constructor(viewer: Viewer3D, options?: object);
299
+ }
300
+
301
+ class ExtensionManager {
285
302
  registerExtensionType(extensionId: string, extension: typeof Extension): boolean;
286
303
  unregisterExtensionType(extensionId: string): boolean;
287
304
  getExtensionType(extensionId: string): typeof Extension;
288
305
  }
289
- const theExtensionManager: ExtensionManager;
306
+ const theExtensionManager: ExtensionManager;
290
307
  }
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",
4
4
  "description": "TypeScript definitions for ASCON Pilot.Web.3D component",
5
5
  "main": "",
6
6
  "types": "index.d.ts",