fcs-core-viewer 0.10.5 → 0.11.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.
@@ -72,7 +72,7 @@ export declare class BackendEvents implements IBackendEvents {
72
72
  center_view: any;
73
73
  set_object_color: any;
74
74
  refresh_viewer: any;
75
- clear_document: any;
75
+ clear_model: any;
76
76
  sync_model: any;
77
77
  commit_to_document: any;
78
78
  remove_from_model: any;
@@ -154,7 +154,7 @@ export declare class BackendEvents implements IBackendEvents {
154
154
  /**
155
155
  * Clears all entities in the document. Basically, a new empty document is open.
156
156
  */
157
- private clear_document;
157
+ private clear_model;
158
158
  /**
159
159
  * This method is called both times when we are spawning the progress
160
160
  * tracker or updating an existing one. To close down the progress tracker,
@@ -0,0 +1 @@
1
+ export declare function getFileAsset(fileRelativeUrl: string): Promise<Response>;
@@ -13,6 +13,12 @@ export declare namespace CloudViewer {
13
13
  * Engulf all settings to initialise a viewer.
14
14
  */
15
15
  class ViewerSettings {
16
+ /**
17
+ * The base URL for all assets and endpoints.
18
+ * This needs to be specified when the viewer is access from a third-party
19
+ * client application.
20
+ */
21
+ ViewerServerBaseUrl: string;
16
22
  /**
17
23
  * Contains settings that are responsible for styling of the viewer.
18
24
  */
@@ -41,7 +47,7 @@ export declare namespace CloudViewer {
41
47
  /**
42
48
  * Constructor to instantiate viewer.
43
49
  */
44
- constructor(container: HTMLDivElement, initSettings?: ViewerSettings, licenseToken?: string, disallowSocketCallbacks?: boolean);
50
+ constructor(container: HTMLDivElement, initSettings: ViewerSettings, licenseToken?: string, disallowSocketCallbacks?: boolean);
45
51
  /**
46
52
  * Generates a unique id in the viewer
47
53
  */
@@ -3,22 +3,33 @@ import { Socket } from 'socket.io-client';
3
3
  * Socket Class
4
4
  */
5
5
  export declare class CurrentUserSocket {
6
+ private static _viewerBaseUrl;
6
7
  private static _instance;
7
8
  socket: Socket;
8
9
  private static _authToken;
9
10
  private static _activeModelPath;
11
+ /**
12
+ * This promise resolves when the socket connects
13
+ */
14
+ static connectionPromise: any;
15
+ /**
16
+ * Resolver function for the promise
17
+ */
18
+ static connectionResolve: any;
10
19
  /**
11
20
  * By default, we allow and expect to get callbacks from the backend.
12
21
  */
13
22
  private static _allowBackendCallbacks;
14
23
  private constructor();
24
+ static setViewerBaseUrl(baseUrl: string): void;
25
+ static getViewerBaseUrl(): string;
15
26
  static disallowSocketCallbacks(): void;
16
27
  static getInstance(authToken?: string): CurrentUserSocket;
17
28
  static getAuthToken(): string | null;
18
29
  /**
19
30
  * Handle socket errors and log them to console
20
31
  */
21
- private _handleErrors;
32
+ private _handleSocketConnectionStates;
22
33
  /**
23
34
  * Get socket instance of socket
24
35
  */
@@ -110,7 +110,7 @@ export declare namespace ModelData {
110
110
  static instance: PointContainer;
111
111
  sceneWrapper: SceneWrapper;
112
112
  shapeVIDs: number[];
113
- cntPoint: THREE.Point;
113
+ cntObject: THREE.Point;
114
114
  generalPointMaterial: THREE.ShaderMaterial;
115
115
  sharedPositionBuffer: ArrayBuffer;
116
116
  sharedTextureIDBuffer: ArrayBuffer;
@@ -194,7 +194,7 @@ export declare namespace ModelData {
194
194
  static title: string;
195
195
  hash: string;
196
196
  segmentsXYZ: number[];
197
- provokingVertexIndex: number;
197
+ provokingVertexIndices: number[];
198
198
  elements: Element[];
199
199
  nodes: Node[];
200
200
  baseColor: number[];
@@ -263,6 +263,7 @@ export declare namespace ModelData {
263
263
  objectVID: number;
264
264
  objectUIDs: number[];
265
265
  positionXYZ: number[];
266
+ avgNodeXYZ: number[];
266
267
  vertexIndex: number;
267
268
  count: number;
268
269
  edges: Edge[];
@@ -280,6 +281,8 @@ export declare namespace ModelData {
280
281
  private createVID;
281
282
  select(): void;
282
283
  unselect(): void;
284
+ static boxcaster(event: MouseEvent, startPoint: THREE.Vector3, endPoint: THREE.Vector3): any[];
285
+ static raycaster(event: MouseEvent): any[];
283
286
  /**
284
287
  * Csak a szinet valtoztatja ha kijeloljuk.
285
288
  * A baseColor-t nem valtoztatja
@@ -401,6 +404,7 @@ export declare namespace ModelData {
401
404
  class Shape {
402
405
  private static shapeIDs_used;
403
406
  private static shapeIDs_unused;
407
+ boundingBox: THREE.Box3;
404
408
  subShapes: {
405
409
  faces: {};
406
410
  edges: {};
@@ -411,6 +415,12 @@ export declare namespace ModelData {
411
415
  itemUID: number;
412
416
  constructor(shapeUID: number);
413
417
  private createVID;
418
+ /**
419
+ * Create oriented bounding box from array of vertex XYZ coordinates
420
+ * @param position
421
+ * @returns
422
+ */
423
+ createBoundingBox(position: number[]): any;
414
424
  }
415
425
  export class TopoFace extends Shape {
416
426
  static title: string;
@@ -468,7 +478,14 @@ export declare namespace ModelData {
468
478
  export class TopoSolid extends Shape {
469
479
  static title: string;
470
480
  constructor(shapeUID: number);
471
- setColor(r: number, g: number, b: number, alpha: number): void;
481
+ setColor(colorData: any[]): void;
482
+ /**
483
+ * Olyan mint a setColor, de a baseColor-t nem valtoztatja.
484
+ * Ez azert fontos, hogy unselect-nel visszakapja az eredeti szinet
485
+ * @param colorData
486
+ */
487
+ highlight(): void;
488
+ select(): void;
472
489
  setOpacity(): void;
473
490
  setVisibility(): void;
474
491
  remove(): void;
@@ -0,0 +1,7 @@
1
+ import { GeomLoader } from "./GeomLoader";
2
+ export declare class VertexLoader {
3
+ geomLoader: GeomLoader;
4
+ constructor(geomLoader: GeomLoader);
5
+ loadVertex(iShape: any, line: string, itemVID: number, shapeVID: number): void;
6
+ loadEdge(iShape: any, line: string, itemVID: number, shapeVID: number): void;
7
+ }
@@ -0,0 +1,8 @@
1
+ import { GeomLoader } from "./GeomLoader";
2
+ export declare class FaceLoader {
3
+ geomLoader: GeomLoader;
4
+ constructor(geomLoader: GeomLoader);
5
+ loadVertex(iShape: any, line: string, itemVID: number, shapeVID: number): void;
6
+ loadEdge(iShape: any, line: string, itemVID: number, shapeVID: number): void;
7
+ loadFace(iShape: any, line: string, itemVID: number, shapeVID: number): void;
8
+ }
@@ -2,13 +2,30 @@ import { ModelData } from "../../DataStorage/ModelData";
2
2
  export declare class GeomLoader {
3
3
  private _fileUrl;
4
4
  components: {};
5
+ shapeVIDs: any[];
5
6
  uniqueID_To_Instance: {};
6
7
  meshMaterialGeom: any;
7
8
  meshMaterialFEMesh: any;
8
9
  generalLineMaterial: any;
9
10
  generalPointMaterial: any;
11
+ iFaces: ModelData.SubShapes.Face[];
12
+ iEdges: ModelData.SubShapes.Edge[];
13
+ iVertices: ModelData.SubShapes.Vertex[];
14
+ hashToVertex: {};
15
+ vertexIndex: number;
16
+ vertexPositionAll: number[];
17
+ vertexPositionShape: number[];
18
+ verticesIndex: number[];
19
+ startIndex: number;
20
+ hashToEdge: {};
21
+ vertexIdxToCoords: {};
22
+ linePosition: number[];
23
+ polygonVerticesIdx: number[];
24
+ facePosition: number[];
25
+ faceUIDToVertices: {};
26
+ faceUIDToEdges: {};
10
27
  constructor(fileUrl: string);
11
- perform(itemName: string, itemUID: number, parentUID: number, shapeUID: number, shapeType: ModelData.dataTypes): Promise<void>;
28
+ perform(itemName: string, itemUID: number, parentUID: number, /*shapeUID: number,*/ shapeType: ModelData.dataTypes): Promise<void>;
12
29
  private createShape;
13
30
  private createItem;
14
31
  }
@@ -0,0 +1,6 @@
1
+ import { GeomLoader } from "./GeomLoader";
2
+ export declare class VertexLoader {
3
+ geomLoader: GeomLoader;
4
+ constructor(geomLoader: GeomLoader);
5
+ loadVertex(iShape: any, line: string, itemVID: number, shapeVID: number): void;
6
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fcs-core-viewer",
3
- "version": "0.10.5",
3
+ "version": "0.11.1",
4
4
  "description": "3D Viewer in the Cloud",
5
5
  "author": {
6
6
  "name": "Femsolve Kft."