mx3d 0.0.49 → 0.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/index.d.ts CHANGED
@@ -2,12 +2,12 @@
2
2
  @author gzmaijing
3
3
  @email mj@gzmaijing.com
4
4
  */
5
- declare module MX3D {
6
- export class App {
5
+ declare module MX3D{
6
+ export class App {
7
7
  canvas: HTMLCanvasElement;
8
8
  engine: BABYLON.Engine;
9
9
  scene: BABYLON.Scene;
10
- Camera: Camera;
10
+ CameraController: CameraController;
11
11
  HighlightLayer: BABYLON.HighlightLayer;
12
12
  container: BABYLON.GUI.AdvancedDynamicTexture;
13
13
  fps: HTMLDivElement;
@@ -16,19 +16,19 @@ declare module MX3D {
16
16
  Project: Project;
17
17
  ToolTips: ToolTips;
18
18
  constructor(_config: {
19
- container: HTMLElement;
20
- sl?: string;
21
- rl?: string;
19
+ container: HTMLElement;
20
+ sl?: string;
21
+ rl?: string;
22
22
  });
23
23
  load(_config: {
24
- pk: string;
25
- progress?: Function;
26
- complete?: Function;
24
+ pk: string;
25
+ progress?: Function;
26
+ complete?: Function;
27
27
  }): Promise<void>;
28
28
  dispose(): void;
29
- }
29
+ }
30
30
 
31
- export class Capacity {
31
+ export class Capacity {
32
32
  anchor: IObject;
33
33
  mesh: BABYLON.Mesh;
34
34
  ratio: number;
@@ -36,25 +36,25 @@ declare module MX3D {
36
36
  textMesh: BABYLON.Mesh;
37
37
  constructor(_object: IObject, _RATIO: number);
38
38
  dispose(): void;
39
- }
39
+ }
40
40
 
41
- export class CapacityBuilder {
41
+ export class CapacityBuilder {
42
42
  static createCapacity(_obj: IObject, _RATIO: number, _text: string, _fontSize?: string): void;
43
43
  static createTextMesh(_obj: IObject, _text: string, _RATIO: number, _fontSize?: string, _color?: string): void;
44
- }
44
+ }
45
45
 
46
- export class EffectMgr {
46
+ export class EffectMgr {
47
47
  static colors: {};
48
48
  static init(): void;
49
- }
49
+ }
50
50
 
51
- export enum EffectType {
51
+ export enum EffectType {
52
52
  Opaque = 0,
53
53
  Flash = 1,
54
54
  Transparent = 2
55
- }
55
+ }
56
56
 
57
- export class Environment {
57
+ export class Environment {
58
58
  app: App;
59
59
  lights: any;
60
60
  _color: BABYLON.Color4;
@@ -78,18 +78,45 @@ declare module MX3D {
78
78
  hideFps(): void;
79
79
  showDebug(): void;
80
80
  setLightIntensity(_intensity?: number): void;
81
- }
81
+ }
82
+
83
+ export class DefaultEvent implements IEvent {
84
+ app: App;
85
+ runRender(): void;
86
+ onPointer(_pointerInfo: BABYLON.PointerInfo): void;
87
+ onKeyboard(_kbInfo: BABYLON.KeyboardInfo): void;
88
+ }
89
+
90
+ export class FPSCameraEvent implements IEvent {
91
+ app: App;
92
+ isFPS: boolean;
93
+ angle: number;
94
+ direction: BABYLON.Vector3;
95
+ isMoveLeft: boolean;
96
+ isMoveRight: boolean;
97
+ isMoveDown: boolean;
98
+ isMoveUp: boolean;
99
+ runRender(): void;
100
+ onPointer(_pointerInfo: BABYLON.PointerInfo): void;
101
+ onKeyboard(_e: BABYLON.KeyboardInfo): void;
102
+ }
103
+
104
+ export interface IEvent {
105
+ runRender(): void;
106
+ onPointer(e: BABYLON.PointerInfo): void;
107
+ onKeyboard(e: BABYLON.KeyboardInfo): void;
108
+ }
82
109
 
83
- export enum EventType {
110
+ export enum EventType {
84
111
  leftClick = "leftClick",
85
112
  rightClick = "rightClick",
86
113
  doubleClick = "doubleClick",
87
114
  eover = "eover",
88
115
  longPress = "longPress",
89
116
  out = "out"
90
- }
117
+ }
91
118
 
92
- export class HeatMap implements BaseNode {
119
+ export class HeatMap implements BaseNode {
93
120
  id: string;
94
121
  anchor: IObject;
95
122
  mesh: BABYLON.Mesh;
@@ -99,92 +126,93 @@ declare module MX3D {
99
126
  isEnabled(_bool: boolean): void;
100
127
  set displayValues(_value: boolean);
101
128
  dispose(): void;
102
- }
129
+ }
103
130
 
104
- export class HeatMapBuilder {
131
+ export class HeatMapBuilder {
105
132
  static createMatrixCloud(_data: {
106
- anchor: IObject;
107
- value: {
108
- maxX: number;
109
- maxY: number;
110
- data: Array<{
111
- x: number;
112
- y: number;
113
- value: number;
114
- }>;
115
- };
116
- displayValues: boolean;
117
- height: number;
118
- isLevelRender: boolean;
119
- isAlpha: boolean;
120
- isParticle: boolean;
121
- radius: number;
122
- range: {
123
- max: number;
124
- min: number;
125
- };
133
+ anchor: IObject;
134
+ value: {
135
+ maxX: number;
136
+ maxY: number;
137
+ data: Array<{
138
+ x: number;
139
+ y: number;
140
+ value: number;
141
+ }>;
142
+ };
143
+ displayValues: boolean;
144
+ height: number;
145
+ isLevelRender: boolean;
146
+ isAlpha: boolean;
147
+ isParticle: boolean;
148
+ radius: number;
149
+ range: {
150
+ max: number;
151
+ min: number;
152
+ };
126
153
  }): void;
127
154
  static createPunctateCloud(_data: {
128
- anchor: IObject;
129
- value: number;
130
- radius: number;
131
- isLevelRender: boolean;
132
- displayValues: boolean;
133
- isAlpha: boolean;
134
- isParticle: boolean;
135
- range: {
136
- max: number;
137
- min: number;
138
- };
155
+ anchor: IObject;
156
+ value: number;
157
+ radius: number;
158
+ isLevelRender: boolean;
159
+ displayValues: boolean;
160
+ isAlpha: boolean;
161
+ isParticle: boolean;
162
+ range: {
163
+ max: number;
164
+ min: number;
165
+ };
139
166
  }): void;
140
167
  createColumnCloud(_data: {
141
- anchor: IObject;
142
- data: Array<{
143
- index: number;
144
- value: number;
145
- }>;
146
- isLevelRender: boolean;
147
- displayValues: boolean;
148
- isAlpha: boolean;
149
- isParticle: boolean;
150
- radius: number;
151
- range: {
152
- max: number;
153
- min: number;
154
- };
168
+ anchor: IObject;
169
+ data: Array<{
170
+ index: number;
171
+ value: number;
172
+ }>;
173
+ isLevelRender: boolean;
174
+ displayValues: boolean;
175
+ isAlpha: boolean;
176
+ isParticle: boolean;
177
+ radius: number;
178
+ range: {
179
+ max: number;
180
+ min: number;
181
+ };
155
182
  }): void;
156
- }
183
+ }
157
184
 
158
- export class Icon implements BaseNode {
185
+ export class Icon implements BaseNode {
159
186
  id: string;
160
187
  scene: BABYLON.Scene;
161
188
  pint: BABYLON.Mesh;
162
189
  rect: BABYLON.GUI.Rectangle;
163
190
  onPointerClick: Function;
164
191
  size: {
165
- width: number;
166
- height: number;
192
+ width: number;
193
+ height: number;
167
194
  };
168
195
  height: number;
169
196
  container: BABYLON.GUI.AdvancedDynamicTexture;
170
197
  constructor(_id: string, _scene: BABYLON.Scene);
171
198
  set background(_url: string);
199
+ addEventListener(_action: Function): void;
172
200
  setTexts(_textArr: [{
173
- text: string;
174
- fontSize: string;
175
- color: string;
176
- top: number;
177
- left: number;
201
+ text: string;
202
+ fontSize: string;
203
+ color: string;
204
+ top: number;
205
+ left: number;
178
206
  }]): void;
179
207
  line(_line: {
180
- width: number;
181
- color: string;
208
+ width: number;
209
+ color: string;
182
210
  }): void;
183
211
  dispose(): void;
184
212
  isEnabled(_isEnabled: boolean): void;
185
- }
213
+ }
186
214
 
187
- export class IconFromMesh implements BaseNode {
215
+ export class IconFromMesh implements BaseNode {
188
216
  id: string;
189
217
  scene: BABYLON.Scene;
190
218
  instance: BABYLON.Mesh;
@@ -195,53 +223,53 @@ declare module MX3D {
195
223
  addEventListener(_action: Function): void;
196
224
  setColor(_color: string): void;
197
225
  setContents(_textArr: [{
198
- text: string;
199
- fontSize: string;
200
- top: number;
201
- left: number;
202
- color?: string;
226
+ text: string;
227
+ fontSize: string;
228
+ top: number;
229
+ left: number;
230
+ color?: string;
203
231
  }]): void;
204
232
  dispose(): void;
205
233
  isEnabled(_bool: boolean): void;
206
- }
234
+ }
207
235
 
208
- export class UI {
236
+ export class UI {
209
237
  static createIconFromMesh(_id: string, _anchor: IObject, _url: string, _scaling: number, _height: number): void;
210
238
  static createIcon(_id: string, _anchor: IObject, _size: {
211
- width: number;
212
- height: number;
239
+ width: number;
240
+ height: number;
213
241
  }, _height: number): void;
214
242
  static create2DLine(_id: string, _objs: Array<IObject>, _options?: {
215
- _width: number;
216
- _color: string;
217
- isDotted: boolean;
243
+ _width: number;
244
+ _color: string;
245
+ isDotted: boolean;
218
246
  }): void;
219
247
  static create3DLine(_id: string, _objs: Array<IObject>, _options?: {
220
- _width: number;
221
- _color: string;
248
+ _width: number;
249
+ _color: string;
222
250
  }): void;
223
- }
251
+ }
224
252
 
225
- export class HubService {
253
+ export class HubService {
226
254
  static connection: any;
227
255
  static listener(_Url: string): Promise<void>;
228
256
  static start(): Promise<void>;
229
- }
257
+ }
230
258
 
231
- export class Directional extends LightObject {
259
+ export class Directional extends LightObject {
232
260
  direction: BABYLON.Vector3;
233
261
  position: BABYLON.Vector3;
234
262
  light: BABYLON.DirectionalLight;
235
263
  load(): void;
236
- }
264
+ }
237
265
 
238
- export class Hemispheric extends LightObject {
266
+ export class Hemispheric extends LightObject {
239
267
  direction: BABYLON.Vector3;
240
268
  light: BABYLON.HemisphericLight;
241
269
  load(): void;
242
- }
270
+ }
243
271
 
244
- export interface ILightObject {
272
+ export interface ILightObject {
245
273
  id: string;
246
274
  sceneId: string;
247
275
  name: string;
@@ -250,9 +278,9 @@ declare module MX3D {
250
278
  lightType: string;
251
279
  intensity: number;
252
280
  load: Function;
253
- }
281
+ }
254
282
 
255
- export class LightObject implements ILightObject {
283
+ export class LightObject implements ILightObject {
256
284
  id: string;
257
285
  sceneId: string;
258
286
  name: string;
@@ -264,23 +292,23 @@ declare module MX3D {
264
292
  app: App;
265
293
  constructor(_app: App);
266
294
  load(): void;
267
- }
295
+ }
268
296
 
269
- export enum LightType {
297
+ export enum LightType {
270
298
  Point = "Point",
271
299
  Spot = "Spot",
272
300
  Directional = "Directional",
273
301
  Hemispheric = "Hemispheric"
274
- }
302
+ }
275
303
 
276
- export class Point extends LightObject {
304
+ export class Point extends LightObject {
277
305
  position: BABYLON.Vector3;
278
306
  light: BABYLON.PointLight;
279
307
  range: number;
280
308
  load(): void;
281
- }
309
+ }
282
310
 
283
- export class Spot extends LightObject {
311
+ export class Spot extends LightObject {
284
312
  direction: BABYLON.Vector3;
285
313
  position: BABYLON.Vector3;
286
314
  angle: number;
@@ -288,12 +316,12 @@ declare module MX3D {
288
316
  range: number;
289
317
  light: BABYLON.SpotLight;
290
318
  load(): void;
291
- }
319
+ }
292
320
 
293
- export class CabinetObject extends DefaultObject {
294
- }
321
+ export class CabinetObject extends DefaultObject {
322
+ }
295
323
 
296
- export class ConduitObject extends DefaultObject {
324
+ export class ConduitObject extends DefaultObject {
297
325
  alpha: number;
298
326
  color: string;
299
327
  bind(_m: any): void;
@@ -303,14 +331,14 @@ declare module MX3D {
303
331
  setFlash(_level?: number): void;
304
332
  setOpaque(): void;
305
333
  setTransparent(_alpha?: number): void;
306
- }
334
+ }
307
335
 
308
- export class CornerObject extends DefaultObject {
336
+ export class CornerObject extends DefaultObject {
309
337
  height: number;
310
338
  bind(_m: any): void;
311
- }
339
+ }
312
340
 
313
- export class DefaultObject implements IObject {
341
+ export class DefaultObject implements IObject {
314
342
  app: App;
315
343
  id: string;
316
344
  name: string;
@@ -343,27 +371,27 @@ declare module MX3D {
343
371
  setTransparent(_alpha?: number): void;
344
372
  play(): void;
345
373
  stop(): void;
346
- }
374
+ }
347
375
 
348
- export class DoorObject extends DefaultObject {
376
+ export class DoorObject extends DefaultObject {
349
377
  height: number;
350
378
  bind(_m: any): void;
351
- }
379
+ }
352
380
 
353
- export class FloorObject extends DefaultObject {
381
+ export class FloorObject extends DefaultObject {
354
382
  height: number;
355
383
  bind(_m: any): void;
356
- }
384
+ }
357
385
 
358
- export interface IBase {
386
+ export interface IBase {
359
387
  app: App;
360
388
  id: string;
361
389
  name: string;
362
390
  parentId: string;
363
391
  objectType: string;
364
- }
392
+ }
365
393
 
366
- export interface IObject extends IBase {
394
+ export interface IObject extends IBase {
367
395
  customNumber: string;
368
396
  customType: string;
369
397
  modelId: string;
@@ -382,16 +410,16 @@ declare module MX3D {
382
410
  play(isloop: boolean): any;
383
411
  stop(): any;
384
412
  computeView(): any;
385
- }
413
+ }
386
414
 
387
- export class LeakWaterObject extends DefaultObject {
415
+ export class LeakWaterObject extends DefaultObject {
388
416
  bind(_l: any): void;
389
417
  computeView(): void;
390
418
  addEventListener(_type: string, _callback: Function): void;
391
419
  removeEventListener(_type: string): void;
392
- }
420
+ }
393
421
 
394
- export enum ObjectType {
422
+ export enum ObjectType {
395
423
  Region = "Region",
396
424
  Cabinet = "Cabinet",
397
425
  Corner = "Corner",
@@ -404,13 +432,13 @@ declare module MX3D {
404
432
  Wall = "Wall",
405
433
  Window = "Window",
406
434
  Conduit = "Conduit"
407
- }
435
+ }
408
436
 
409
- export class Project {
437
+ export class Project {
410
438
  app: App;
411
439
  id: string;
412
440
  root: IObject;
413
- current: IObject;
441
+ current: RegionObject;
414
442
  Sight: Sight;
415
443
  objectDatas: Dictionary<IObject>;
416
444
  constructor(_app: App);
@@ -425,9 +453,9 @@ declare module MX3D {
425
453
  findObjectByCustomNumber(): void;
426
454
  findObjectsByCustomType(): void;
427
455
  switchLevel(_id?: string, _isFocus?: boolean, _includeSub?: boolean): void;
428
- }
456
+ }
429
457
 
430
- export class RegionObject extends DefaultObject {
458
+ export class RegionObject extends DefaultObject {
431
459
  index: number;
432
460
  height: number;
433
461
  constructor(app: App, _storey: any);
@@ -438,39 +466,39 @@ declare module MX3D {
438
466
  setEnabled(_value: boolean): void;
439
467
  getBounding(): void;
440
468
  dispose(): void;
441
- }
469
+ }
442
470
 
443
- export class UI3DTextObject extends DefaultObject {
471
+ export class UI3DTextObject extends DefaultObject {
444
472
  bind(_u: any): void;
445
- }
473
+ }
446
474
 
447
- export class VirtualBoxObject extends DefaultObject {
475
+ export class VirtualBoxObject extends DefaultObject {
448
476
  bind(_m: any): Promise<void>;
449
- }
477
+ }
450
478
 
451
- export class WallObject extends DefaultObject {
479
+ export class WallObject extends DefaultObject {
452
480
  nativeMaterial: BABYLON.StandardMaterial;
453
481
  baseModel: any;
454
482
  height: number;
455
483
  bind(_w: any): void;
456
- }
484
+ }
457
485
 
458
- export class WindowObject extends DefaultObject {
486
+ export class WindowObject extends DefaultObject {
459
487
  height: number;
460
488
  bind(_m: any): void;
461
- }
489
+ }
462
490
 
463
- export class ArrayEx<T> extends Array<T> {
491
+ export class ArrayEx<T> extends Array<T> {
464
492
  remove(_val: any): void;
465
- }
493
+ }
466
494
 
467
- export interface BaseNode {
495
+ export interface BaseNode {
468
496
  id: string;
469
497
  dispose(): any;
470
498
  isEnabled(bool: boolean): any;
471
- }
499
+ }
472
500
 
473
- export class Camera {
501
+ export class CameraController {
474
502
  app: App;
475
503
  camera: BABYLON.ArcRotateCamera;
476
504
  frustrum: number;
@@ -483,11 +511,13 @@ declare module MX3D {
483
511
  lookToTheFront(_object: IObject, _sheep?: number): void;
484
512
  computeCameraView(): void;
485
513
  _wheel(_p: any): void;
486
- }
514
+ switchArcRotateCamera(): void;
515
+ switchFPSCamera(): void;
516
+ }
487
517
 
488
- export class Dictionary<T> {
518
+ export class Dictionary<T> {
489
519
  map: {
490
- [key: string]: T;
520
+ [key: string]: T;
491
521
  };
492
522
  constructor();
493
523
  add(_key: string, _value: T): void;
@@ -497,13 +527,13 @@ declare module MX3D {
497
527
  showAll(): void;
498
528
  count(): void;
499
529
  clear(): void;
500
- }
530
+ }
501
531
 
502
- export class GUID {
532
+ export class GUID {
503
533
  static getGUID(_length: number): void;
504
- }
534
+ }
505
535
 
506
- export class Resources {
536
+ export class Resources {
507
537
  app: App;
508
538
  walls: Dictionary<BABYLON.AbstractMesh>;
509
539
  resources: Dictionary<BABYLON.AssetContainer>;
@@ -522,9 +552,9 @@ declare module MX3D {
522
552
  GetMergeMaterial(_textureData: any, _scene: BABYLON.Scene): void;
523
553
  delete(_isAll?: boolean): void;
524
554
  GetWalls(_url: string, _projectId: string): Promise<void>;
525
- }
555
+ }
526
556
 
527
- export class Sight {
557
+ export class Sight {
528
558
  alpha: number;
529
559
  focus: BABYLON.Vector3;
530
560
  radius: number;
@@ -537,9 +567,9 @@ declare module MX3D {
537
567
  toString(): void;
538
568
  setLimit(_miniLimit: number, _maxiLimit: number): void;
539
569
  setBeta(_minBeta: number, _maxBeta: number): void;
540
- }
570
+ }
541
571
 
542
- export class Tools {
572
+ export class Tools {
543
573
  static vector3ToJson(_old: BABYLON.Vector3): any;
544
574
  static vector3ARRToJson(_olds: BABYLON.Vector3[]): void;
545
575
  static ToVector3(_old: any): void;
@@ -556,9 +586,9 @@ declare module MX3D {
556
586
  static getAngleFromVector2(_startV: BABYLON.Vector2, _coreV: BABYLON.Vector2, _endV: BABYLON.Vector2): void;
557
587
  static getAngleFromVector3(_startV: BABYLON.Vector3, _coreV: BABYLON.Vector3, _endV: BABYLON.Vector3): void;
558
588
  static RandomNumBoth(_Min: any, _Max: any): void;
559
- }
589
+ }
560
590
 
561
- export class ToolTips {
591
+ export class ToolTips {
562
592
  app: App;
563
593
  url: string;
564
594
  ele: HTMLDivElement;
@@ -571,5 +601,6 @@ declare module MX3D {
571
601
  close(): void;
572
602
  setBackground(_url: string): void;
573
603
  dispose(): void;
574
- }
575
604
  }
605
+
606
+ }