fcs-core-viewer 0.10.4 → 0.10.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.
@@ -9,7 +9,7 @@ export declare namespace ModelData {
9
9
  static instance: ElementContainer;
10
10
  sceneWrapper: SceneWrapper;
11
11
  shapeVIDs: number[];
12
- cntElement: THREE.Mesh;
12
+ cntObject: THREE.Mesh;
13
13
  meshMaterialFEMesh: THREE.MeshPhongMaterial;
14
14
  sharedPositionBuffer: ArrayBuffer;
15
15
  sharedColorBuffer: ArrayBuffer;
@@ -19,6 +19,7 @@ export declare namespace ModelData {
19
19
  sharedColorArray: Float32Array;
20
20
  sharedVisibilityArray: Float32Array;
21
21
  sharedIsSelectedArray: Float32Array;
22
+ controls: THREE.TrackballControls;
22
23
  constructor(sceneWrapper: SceneWrapper);
23
24
  static getInstance(): ElementContainer;
24
25
  updateIsSelectedAttribute(): void;
@@ -32,6 +33,24 @@ export declare namespace ModelData {
32
33
  * Egy THREE.Point objektum az osszes FE Node-nak
33
34
  */
34
35
  class NodeContainer {
36
+ static instance: NodeContainer;
37
+ sceneWrapper: SceneWrapper;
38
+ shapeVIDs: number[];
39
+ cntObject: THREE.Point;
40
+ generalPointMaterial: THREE.ShaderMaterial;
41
+ sharedPositionBuffer: ArrayBuffer;
42
+ sharedTextureIDBuffer: ArrayBuffer;
43
+ sharedVisibilityBuffer: ArrayBuffer;
44
+ sharedPositionArray: Float32Array;
45
+ sharedTextureIDArray: Float32Array;
46
+ sharedVisibilityArray: Float32Array;
47
+ controls: THREE.TrackballControls;
48
+ constructor(sceneWrapper: SceneWrapper);
49
+ static getInstance(): NodeContainer;
50
+ updateColorAttribute(): void;
51
+ updateVisibilityAttribute(): void;
52
+ createContainer(): any;
53
+ addNodeToScene(data: {}): void;
35
54
  }
36
55
  /**
37
56
  * Egy THREE.Mesh objektum az osszes Face-nek
@@ -40,18 +59,22 @@ export declare namespace ModelData {
40
59
  static instance: MeshContainer;
41
60
  sceneWrapper: SceneWrapper;
42
61
  shapeVIDs: number[];
43
- cntMesh: THREE.Mesh;
62
+ cntObject: THREE.Mesh;
44
63
  meshMaterialGeom: THREE.MeshPhongMaterial;
45
64
  sharedPositionBuffer: ArrayBuffer;
46
65
  sharedNormalBuffer: ArrayBuffer;
47
66
  sharedColorBuffer: ArrayBuffer;
48
67
  sharedVisibilityBuffer: ArrayBuffer;
68
+ sharedIsSelectedBuffer: ArrayBuffer;
49
69
  sharedPositionArray: Float32Array;
50
70
  sharedNormalArray: Float32Array;
51
71
  sharedColorArray: Float32Array;
52
72
  sharedVisibilityArray: Float32Array;
73
+ sharedIsSelectedArray: Float32Array;
74
+ controls: THREE.TrackballControls;
53
75
  constructor(sceneWrapper: SceneWrapper);
54
76
  static getInstance(): MeshContainer;
77
+ updateIsSelectedAttribute(): void;
55
78
  updateColorAttribute(): void;
56
79
  updateVisibilityAttribute(): void;
57
80
  private createContainer;
@@ -62,18 +85,22 @@ export declare namespace ModelData {
62
85
  static instance: LineContainer;
63
86
  sceneWrapper: SceneWrapper;
64
87
  shapeVIDs: number[];
65
- cntLine: THREE.Line;
88
+ cntObject: THREE.Line;
66
89
  generalLineMaterial: THREE.LineMaterial;
67
90
  sharedPositionBuffer: ArrayBuffer;
68
91
  sharedColorBuffer: ArrayBuffer;
69
92
  sharedWidthBuffer: ArrayBuffer;
70
93
  sharedVisibilityBuffer: ArrayBuffer;
94
+ sharedIsSelectedBuffer: ArrayBuffer;
71
95
  sharedPositionArray: Float32Array;
72
96
  sharedColorArray: Float32Array;
73
97
  sharedWidthArray: Float32Array;
74
98
  sharedVisibilityArray: Float32Array;
99
+ sharedIsSelectedArray: Float32Array;
100
+ controls: THREE.TrackballControls;
75
101
  constructor(sceneWrapper: SceneWrapper);
76
102
  static getInstance(): LineContainer;
103
+ updateIsSelectedAttribute(): void;
77
104
  updateColorAttribute(): void;
78
105
  updateVisibilityAttribute(): void;
79
106
  createContainer(): any;
@@ -91,6 +118,7 @@ export declare namespace ModelData {
91
118
  sharedPositionArray: Float32Array;
92
119
  sharedTextureIDArray: Float32Array;
93
120
  sharedVisibilityArray: Float32Array;
121
+ controls: THREE.TrackballControls;
94
122
  constructor(sceneWrapper: SceneWrapper);
95
123
  static getInstance(): PointContainer;
96
124
  updateColorAttribute(): void;
@@ -127,8 +155,10 @@ export declare namespace ModelData {
127
155
  shapeUID: number;
128
156
  objectVID: number;
129
157
  objectUIDs: number[];
130
- count: number;
131
- polygonsXYZ: [];
158
+ verticesCount: number;
159
+ polygonsXYZ: number[];
160
+ polygonVertexIndices: number[];
161
+ provokingVertexIndices: number[];
132
162
  edges: Edge[];
133
163
  baseColor: number[];
134
164
  baseOpacity: number;
@@ -142,10 +172,11 @@ export declare namespace ModelData {
142
172
  lengthNormal: number;
143
173
  lengthColor: number;
144
174
  lengthVisibility: number;
145
- constructor(itemVID: number, itemUID: number, shapeVID: number, shapeUID: number, faceUID: number, countVertices: number, polygonsXYZ: []);
175
+ constructor(itemVID: number, itemUID: number, shapeVID: number, shapeUID: number, faceUID: number, /*verticesCount: number,*/ polygonsXYZ: number[], polygonVertexIndices: number[], provokingVertexIndices: number[]);
146
176
  private createVID;
147
177
  select(): void;
148
178
  unselect(): void;
179
+ static raycaster(event: MouseEvent): any[];
149
180
  /**
150
181
  * Csak a szinet valtoztatja ha kijeloljuk.
151
182
  * A baseColor-t nem valtoztatja
@@ -161,7 +192,11 @@ export declare namespace ModelData {
161
192
  }
162
193
  export class Border {
163
194
  static title: string;
195
+ hash: string;
164
196
  segmentsXYZ: number[];
197
+ provokingVertexIndex: number;
198
+ elements: Element[];
199
+ nodes: Node[];
165
200
  baseColor: number[];
166
201
  lineWidth: number;
167
202
  isVisible: number;
@@ -173,7 +208,9 @@ export declare namespace ModelData {
173
208
  lengthColor: number;
174
209
  lengthWidth: number;
175
210
  lengthVisibility: number;
176
- constructor(segmentsXYZ: number[]);
211
+ constructor(hash: string, segmentsXYZ: number[], elements: Element[]);
212
+ hide(): void;
213
+ show(): void;
177
214
  }
178
215
  export class Edge {
179
216
  static title: string;
@@ -188,6 +225,7 @@ export declare namespace ModelData {
188
225
  vertices: Vertex[];
189
226
  elements: Element[];
190
227
  nodes: Node[];
228
+ provokingVertexIndices: number[];
191
229
  baseColor: number[];
192
230
  lineWidth: number;
193
231
  isVisible: number;
@@ -200,10 +238,11 @@ export declare namespace ModelData {
200
238
  lengthColor: number;
201
239
  lengthWidth: number;
202
240
  lengthVisibility: number;
203
- constructor(itemVID: number, shapeVID: number, edgeUID: number, segmentsXYZ: number[], count: number, faces?: Face[], elements?: Element[]);
241
+ constructor(itemVID: number, shapeVID: number, edgeUID: number, segmentsXYZ: number[], count: number, faces: Face[], provokingVertexIndices: number[]);
204
242
  private createVID;
205
243
  select(): void;
206
244
  unselect(): void;
245
+ static raycaster(event: MouseEvent): any[];
207
246
  /**
208
247
  * Csak a szinet valtoztatja ha kijeloljuk.
209
248
  * A baseColor-t nem valtoztatja
@@ -224,6 +263,7 @@ export declare namespace ModelData {
224
263
  objectVID: number;
225
264
  objectUIDs: number[];
226
265
  positionXYZ: number[];
266
+ vertexIndex: number;
227
267
  count: number;
228
268
  edges: Edge[];
229
269
  faces: Face[];
@@ -236,7 +276,7 @@ export declare namespace ModelData {
236
276
  lengthPosition: number;
237
277
  lengthTextureID: number;
238
278
  lengthVisibility: number;
239
- constructor(itemVID: number, shapeVID: number, vertexUID: number, positionXYZ: number[], edges?: Edge[], faces?: Face[]);
279
+ constructor(itemVID: number, shapeVID: number, vertexUID: number, positionXYZ: number[], vertexIndex: number, edges?: Edge[], faces?: Face[]);
240
280
  private createVID;
241
281
  select(): void;
242
282
  unselect(): void;
@@ -263,19 +303,24 @@ export declare namespace ModelData {
263
303
  objectUIDs: number[];
264
304
  startIndex: number;
265
305
  provokingVertexIndex: number;
266
- elementIndex: number[];
306
+ triaVertexIndices: number[];
267
307
  polygonsXYZ: number[];
268
308
  polygonsCount: number;
269
309
  nodesCount: number;
310
+ avgNodeXYZ: number[];
311
+ borders: Border[];
312
+ nodes: Node[];
270
313
  edges: Edge[];
271
314
  baseColor: number[];
272
315
  baseOpacity: number;
273
316
  isVisible: number;
274
317
  isSelected: boolean;
275
- constructor(itemVID: number, itemUID: number, shapeVID: number, shapeUID: number, elementUID: number, polygonsXYZ: number[], startIndex: number, provokingVertexIndex?: number, elementIndex?: number[]);
318
+ constructor(itemVID: number, itemUID: number, shapeVID: number, shapeUID: number, elementUID: number, polygonsXYZ: number[], avgNodeXYZ: number[], startIndex: number, provokingVertexIndex?: number, triaVertexIndices?: number[]);
276
319
  private createVID;
277
320
  select(): void;
278
321
  unselect(): void;
322
+ static boxcaster(event: MouseEvent, startPoint: THREE.Vector3, endPoint: THREE.Vector3): any[];
323
+ static raycaster(event: MouseEvent): any[];
279
324
  /**
280
325
  * Csak a szinet valtoztatja ha kijeloljuk.
281
326
  * A baseColor-t nem valtoztatja
@@ -291,7 +336,7 @@ export declare namespace ModelData {
291
336
  }
292
337
  export class Tria_3N extends Element {
293
338
  static title: string;
294
- constructor(itemVID: number, itemUID: number, shapeVID: number, shapeUID: number, elementUID: number, polygonsXYZ: number[], startIndex: number, provokingVertexIndex: number, elementIndex: number[]);
339
+ constructor(itemVID: number, itemUID: number, shapeVID: number, shapeUID: number, elementUID: number, polygonsXYZ: number[], avgNodeXYZ: number[], startIndex: number, iNodes: ModelData.SubShapes.Node[], provokingVertexIndex: number, triaVertexIndices: number[]);
295
340
  /**
296
341
  * Az .msh file-ból kigyujti a nodeUID-kat es a hozza tartozo xyt koordinatakat
297
342
  */
@@ -301,8 +346,8 @@ export declare namespace ModelData {
301
346
  * osszekoti a node-okat haromszogekke, mintha STL lenne. Ez a megjelenites miatt fontos, hiszen a three.js
302
347
  * háromszogeket tud megjeleniteni
303
348
  */
304
- static extractElement(data: string[], nodesIdx: number[], nodesXYZ: number[], nodeUID_To_coords: {}, nodeUID_To_index: {}): number[][];
305
- drawBorder(nodeUIDs: number[], nodeUID_To_coords: {}, hash_To_iBorder: {}): void;
349
+ static extractElement(nodeUIDs: number[], nodesIdx: number[], nodesXYZ: number[], nodeUID_To_coords: {}, nodeUID_To_index: {}): number[][];
350
+ drawBorder(iElement: Element, iNodes: Node[], nodeUIDs: number[], nodeUID_To_coords: {}, hash_To_iBorder: {}): void;
306
351
  }
307
352
  export class Tria_6N extends Element {
308
353
  static title: string;
@@ -324,21 +369,20 @@ export declare namespace ModelData {
324
369
  objectVID: number;
325
370
  objectUIDs: number[];
326
371
  positionXYZ: number[];
372
+ avgNodeXYZ: number[];
327
373
  count: number;
374
+ borders: Border[];
328
375
  elements: Element[];
329
376
  baseColor: number;
377
+ nodeIndex: number;
330
378
  isVisible: number;
331
379
  isSelected: boolean;
332
- byteOffsetPosition: number;
333
- byteOffsetTextureID: number;
334
- byteOffsetVisibility: number;
335
- lengthPosition: number;
336
- lengthTextureID: number;
337
- lengthVisibility: number;
338
- constructor(itemVID: number, shapeVID: number, nodeUID: number, positionXYZ: number[], elements?: Element[]);
380
+ constructor(itemVID: number, shapeVID: number, nodeUID: number, positionXYZ: number[], nodeIndex?: number);
339
381
  private createVID;
340
382
  select(): void;
341
383
  unselect(): void;
384
+ static boxcaster(event: MouseEvent, startPoint: THREE.Vector3, endPoint: THREE.Vector3): any[];
385
+ static raycaster(event: MouseEvent): any[];
342
386
  /**
343
387
  * Csak a szinet valtoztatja ha kijeloljuk.
344
388
  * A baseColor-t nem valtoztatja
@@ -545,7 +589,16 @@ export declare namespace ModelData {
545
589
  private static meshIDs_unused;
546
590
  itemVID: number;
547
591
  constructor(data: {});
592
+ /**
593
+ * summary vagy UID alapjan kijelol egy part osszes shape-jenek az osszes megfelelo subshape-jet
594
+ * @param summary
595
+ */
596
+ select(): void;
548
597
  private createVID;
598
+ highlight(): void;
599
+ setColor(): void;
600
+ setOpacity(): void;
601
+ setVisibility(): void;
549
602
  }
550
603
  export {};
551
604
  }
@@ -0,0 +1,14 @@
1
+ import { ModelData } from "../../DataStorage/ModelData";
2
+ export declare class GeomLoader {
3
+ private _fileUrl;
4
+ components: {};
5
+ uniqueID_To_Instance: {};
6
+ meshMaterialGeom: any;
7
+ meshMaterialFEMesh: any;
8
+ generalLineMaterial: any;
9
+ generalPointMaterial: any;
10
+ constructor(fileUrl: string);
11
+ perform(itemName: string, itemUID: number, parentUID: number, shapeUID: number, shapeType: ModelData.dataTypes): Promise<void>;
12
+ private createShape;
13
+ private createItem;
14
+ }
@@ -1,7 +1,6 @@
1
1
  import { VertexLoader } from "./STEPLoader/VertexLoader";
2
2
  import { EdgeLoader } from "./STEPLoader/EdgeLoader";
3
3
  import { FaceLoader } from "./STEPLoader/FaceLoader";
4
- import { TriangleLoader } from "./STLLoader/ElementLoader";
5
4
  import { BackendManager } from "../Common/CommsChannels/BackendClient";
6
5
  import { TaskUtils } from "../TaskHandler/TaskUtils";
7
6
  import { TreeView } from "../UserInterface/UIComponents/TreeView/TreeView";
@@ -24,7 +23,6 @@ export declare class Loader {
24
23
  vertexLoader: VertexLoader;
25
24
  edgeLoader: EdgeLoader;
26
25
  faceLoader: FaceLoader;
27
- triangleLoader: TriangleLoader;
28
26
  taskUtils: TaskUtils;
29
27
  name: any;
30
28
  stlPath: any;
@@ -39,7 +37,7 @@ export declare class Loader {
39
37
  * @param loadEdge
40
38
  * @param stepLoader
41
39
  */
42
- constructor(vertexLoader: VertexLoader, edgeLoader: EdgeLoader, faceLoader: FaceLoader, triangleLoader: TriangleLoader, taskUtils: TaskUtils, meshWrapper: MeshWrapper, treeView: TreeView);
40
+ constructor(vertexLoader: VertexLoader, edgeLoader: EdgeLoader, faceLoader: FaceLoader, taskUtils: TaskUtils, meshWrapper: MeshWrapper, treeView: TreeView);
43
41
  importModelFrontend(backendManager: BackendManager): void;
44
42
  /**
45
43
  * This method serves to save the current document locally.
@@ -55,6 +53,7 @@ export declare class Loader {
55
53
  */
56
54
  private _guessFileType;
57
55
  importSTLBackend(itemName: string, itemUID: number, parentUID: number, shapeUID: number, shapeTypeID: number, msh_path_static: string): Promise<void>;
56
+ importGeomBackend(itemName: string, itemUID: number, parentUID: number, shapeUID: number, shapeTypeID: number, t2gPathStatic: string): Promise<void>;
58
57
  /**
59
58
  * Import model from console
60
59
  * @param name
@@ -1,47 +0,0 @@
1
- import * as THREE from "../../three/build/three.module";
2
- import { SceneWrapper } from "../../Model/SceneWrapper";
3
- import { MeshWrapper } from "../../Model/MeshWrapper";
4
- import { LoaderUtils, LoaderTools } from "../LoaderUtils";
5
- import { ModelData } from "../../DataStorage/ModelData";
6
- import { TreeView } from '../../UserInterface/UIComponents/TreeView/TreeView';
7
- /**
8
- * Itt tortenik a STEP model importja.
9
- * Egyedi ID-t generalunk a beimportalni kivant mdoellnek
10
- * Belerakjuk a Register-be (ez a treeJSON, amit a meshWrapper.js-ben keszitunk/modositunk)
11
- * Belerakjuk a model tree-be is. (a tree szerkezetenek manipulalasaval kapcsolatos funkciok a tree.js-ben vannak)
12
- */
13
- export declare class TriangleLoader {
14
- meshMaterialGeom: any;
15
- generalLineMaterial: any;
16
- generalPointMaterial: any;
17
- loaderTools: LoaderTools;
18
- loaderUtils: LoaderUtils;
19
- sceneWrapper: SceneWrapper;
20
- meshWrapper: MeshWrapper;
21
- treeView: TreeView;
22
- mesh: any;
23
- line: any;
24
- point: any;
25
- promise: any;
26
- itemUID: any;
27
- meshGeometry: any;
28
- scene: any;
29
- currentCamera: any;
30
- renderer: any;
31
- uniqueToViewer: {};
32
- vertexToUnique: {};
33
- components: {};
34
- /**
35
- *
36
- * @param loaderTools
37
- * @param loaderUtils
38
- * @param sceneWrapper
39
- * @param meshWrapper
40
- */
41
- constructor(loaderTools: LoaderTools, loaderUtils: LoaderUtils, sceneWrapper: SceneWrapper, meshWrapper: MeshWrapper, treeView: TreeView);
42
- perform(name: string, itemUID: number, parentUID: number, shapeUID: any, objParsed: {
43
- tElements: any;
44
- tEdges: any;
45
- }, objectURL: string, shapeType: ModelData.dataTypes): Promise<string>;
46
- loadSTL(meshGeometry: THREE.BufferGeometry, name: string, itemUID: number, parentUID: number, shapeUID: number, objParsed: any, shapeType: ModelData.dataTypes): Promise<string>;
47
- }
@@ -50,7 +50,7 @@ export declare class SceneWrapper {
50
50
  topbarSections_L1: any[];
51
51
  topbarSections_L2: any[];
52
52
  a_entities: any[];
53
- readonly CANVAS: HTMLCanvasElement;
53
+ readonly canvas: HTMLCanvasElement;
54
54
  enclosingBox: {
55
55
  min: number;
56
56
  max: number;
@@ -1,3 +1,4 @@
1
+ import * as THREE from '../../../three/build/three.module';
1
2
  import { SceneWrapper } from "../../../Model/SceneWrapper";
2
3
  import { TreeStructure } from "../../../Tree/TreeStructure/TreeStructure";
3
4
  import { TreeCore } from "../../../Tree/TreeView/TreeCore";
@@ -9,6 +10,9 @@ export declare class TreeViewEventHandler {
9
10
  treeStructure: TreeStructure;
10
11
  treeCore: TreeCore;
11
12
  treeOperations: TreeOperations;
13
+ renderer: THREE.Renderer;
14
+ scene: THREE.Scene;
15
+ currentCamera: THREE.OrthographicCamera;
12
16
  selected: {};
13
17
  constructor();
14
18
  onClickFile(event: MouseEvent, summary: HTMLElement): void;
@@ -12,6 +12,7 @@ export declare class EventListeners {
12
12
  uiComponents: UIComponents;
13
13
  div_treeHTML: HTMLElement;
14
14
  div_leftSidebar: HTMLElement;
15
+ div_fcs_viewer: HTMLDivElement;
15
16
  selected: {};
16
17
  myCanvas: HTMLCanvasElement;
17
18
  scene: THREE.Scene;
@@ -25,6 +26,8 @@ export declare class EventListeners {
25
26
  startY: number;
26
27
  endX: number;
27
28
  endY: number;
29
+ startPoint: THREE.Vector3;
30
+ endPoint: THREE.Vector3;
28
31
  intersectionsByClick: any[];
29
32
  intersectionsByBox: any[];
30
33
  constructor(sceneWrapper: SceneWrapper, selectionData: SelectionData, validateOnSelection: ValidateOnSelection, selectionUtils: SelectionUtils);
@@ -13,7 +13,6 @@ import { TreeOperations } from '../TaskHandler/Tree/Tree';
13
13
  import { TaskUtils } from '../TaskHandler/TaskUtils';
14
14
  import { Loader } from '../Loader/Loader';
15
15
  import { FaceLoader } from '../Loader/STEPLoader/FaceLoader';
16
- import { TriangleLoader } from '../Loader/STLLoader/ElementLoader';
17
16
  import { VertexLoader } from '../Loader/STEPLoader/VertexLoader';
18
17
  import { EdgeLoader } from '../Loader/STEPLoader/EdgeLoader';
19
18
  import { OptionsEvents } from '../FrontendEvents/OptionsEvents';
@@ -127,7 +126,6 @@ export declare class ViewerWrapper {
127
126
  TaskUtils: TaskUtils;
128
127
  LoaderUtils: LoaderUtils;
129
128
  FaceLoader: FaceLoader;
130
- TriangleLoader: TriangleLoader;
131
129
  EdgeLoader: EdgeLoader;
132
130
  VertexLoader: VertexLoader;
133
131
  Loader: Loader;
@@ -154,6 +152,7 @@ export declare class ViewerWrapper {
154
152
  UIDGenerator: UIDGenerator;
155
153
  MaterialData: MaterialData;
156
154
  ElementContainer: ModelData.ContainerType.ElementContainer;
155
+ NodeContainer: ModelData.ContainerType.NodeContainer;
157
156
  MeshContainer: ModelData.ContainerType.MeshContainer;
158
157
  LineContainer: ModelData.ContainerType.LineContainer;
159
158
  PointContainer: ModelData.ContainerType.PointContainer;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fcs-core-viewer",
3
- "version": "0.10.4",
3
+ "version": "0.10.5",
4
4
  "description": "3D Viewer in the Cloud",
5
5
  "author": {
6
6
  "name": "Femsolve Kft."