fcs-core-viewer 0.37.0 → 0.39.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.
Files changed (33) hide show
  1. package/fcs-core-editor@types/Editor3D/Operations/CAD/TransformationTools/OpTranslate.d.ts +2 -2
  2. package/fcs-core-editor@types/Editor3D/Operations/CAE/CreationTools_0D_1D/Index.d.ts +3 -0
  3. package/fcs-core-editor@types/Editor3D/Operations/CAE/CreationTools_0D_1D/OpMeshLine.d.ts +34 -0
  4. package/fcs-core-editor@types/Editor3D/Operations/CAE/CreationTools_2D/Index.d.ts +3 -0
  5. package/fcs-core-editor@types/Editor3D/Operations/CAE/CreationTools_2D/OpBoundary2D.d.ts +17 -0
  6. package/fcs-core-editor@types/Editor3D/Operations/CAE/Index.d.ts +4 -0
  7. package/fcs-core-editor@types/Editor3D/Operations/Common/Exchange/GeometryExports.d.ts +9 -0
  8. package/fcs-core-editor@types/Editor3D/Operations/Common/Exchange/MeshExports.d.ts +2 -1
  9. package/fcs-core-editor@types/Editor3D/Operations/Common/Exchange/SolverDeckExports.d.ts +8 -0
  10. package/fcs-core-editor@types/Editor3D/Operations/Index.d.ts +4 -0
  11. package/fcs-core-editor@types/Editor3D/Operations/OperationCollection.d.ts +5 -1
  12. package/fcs-core-editor@types/Editor3D/UserInterface/StyleHandler/StyleHandlerE3D.d.ts +1 -0
  13. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAD/TransformationTools/Translate/UITranslate.d.ts +3 -2
  14. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/CreationTools_0D_1D/Advanced/UIMeshLine.d.ts +55 -6
  15. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/CreationTools_0D_1D/Index.d.ts +2 -2
  16. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/CreationTools_2D/Basic/UIBoundary2D.d.ts +49 -0
  17. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/CreationTools_2D/Index.d.ts +2 -0
  18. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/ToolsetPanel.d.ts +1 -1
  19. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/OptionsMenu/Operations/ExportGeometry/ExportGeometryOperation.d.ts +8 -6
  20. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/OptionsMenu/Operations/ExportMesh/ExportMeshOperation.d.ts +5 -1
  21. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/OptionsMenu/Operations/ExportSolverDeck/ExportSolverDeckOperation.d.ts +4 -7
  22. package/fcs-core-editor@types/Viewer3D/DataStorage/MaterialData/EdgeMaterial.d.ts +1 -1
  23. package/fcs-core-editor@types/Viewer3D/DataStorage/MaterialData/Element1DMaterial.d.ts +1 -1
  24. package/fcs-core-editor@types/Viewer3D/DataStorage/MaterialData/LineMaterial.d.ts +1 -1
  25. package/fcs-core-editor@types/Viewer3D/DataStorage/MaterialData/MeshMaterial.d.ts +2 -2
  26. package/fcs-core-editor@types/Viewer3D/DataStorage/MaterialData/TempElement0DMaterial.d.ts +2 -2
  27. package/fcs-core-editor@types/Viewer3D/DataStorage/MaterialData/TempElement1DMaterial.d.ts +3 -3
  28. package/fcs-core-editor@types/Viewer3D/DataStorage/MeshData/gmshData.d.ts +2 -2
  29. package/fcs-core-editor@types/Viewer3D/Loader/FileTypes.d.ts +5 -1
  30. package/fcs-core-editor@types/Viewer3D/SelectionTools/SelectionHelpers.d.ts +38 -0
  31. package/fcs-core-editor@types/Viewer3D/UserInterface/UIComponents/BuildingBlocks/OperationPanelComponents/Select.d.ts +1 -1
  32. package/fcs-core-editor@types/Viewer3D/UserInterface/UIComponents/Model/Model.d.ts +2 -0
  33. package/package.json +1 -1
@@ -21,11 +21,11 @@ export declare class Translate {
21
21
  entity1Type: ModelData.dataTypes;
22
22
  isPreview: boolean;
23
23
  constructor(data: {});
24
- perform(): Promise<boolean>;
24
+ perform(): Promise<import("../../../Network/BackendClient").ApiOperationResponse>;
25
25
  }
26
26
  export declare class TemporaryTranslate {
27
27
  private data;
28
28
  constructor(data?: {});
29
- preview(): Promise<void>;
29
+ preview(): Promise<import("../../../Network/BackendClient").ApiOperationResponse>;
30
30
  reject(): Promise<void>;
31
31
  }
@@ -1,7 +1,10 @@
1
1
  import * as CreateNode from "./OpCreateNode";
2
2
  import * as KinematicCoupling from "./OpKinematicCoupling";
3
3
  import * as DistributingCoupling from "./OpDistributingCoupling";
4
+ import * as MeshLine from "./OpMeshLine";
4
5
  declare const CAECreationTools_0D_1D_Operations: {
6
+ MeshLine: typeof MeshLine.MeshLine;
7
+ TemporaryMeshLine: typeof MeshLine.TemporaryMeshLine;
5
8
  DistributingCoupling: typeof DistributingCoupling.DistributingCoupling;
6
9
  TemporaryDistributingCoupling: typeof DistributingCoupling.TemporaryDistributingCoupling;
7
10
  KinematicCoupling: typeof KinematicCoupling.KinematicCoupling;
@@ -0,0 +1,34 @@
1
+ import * as THREE from "../../../../Viewer3D/three/build/three.module";
2
+ import { EdgeSeed } from "../../../../Viewer3D/DataStorage/ModelData/Elements/ElementShapes/TemporaryElementShapes/EdgeSeed";
3
+ export declare class MeshLine {
4
+ data: {};
5
+ meshName: string;
6
+ entityUIDs: number[];
7
+ elementType: number;
8
+ elementSize: number;
9
+ elementOrder: number;
10
+ meshType: {};
11
+ isPreview: boolean;
12
+ checkQuality2D: boolean;
13
+ edgeSeeds: {
14
+ [edgeUID: number]: EdgeSeed;
15
+ };
16
+ qualityMeasure: number;
17
+ comparisonCondition: number;
18
+ limit: number;
19
+ algorithm: number[];
20
+ recombineAll: number;
21
+ recombinationAlgorithm: number;
22
+ recombineMinimumQuality: number;
23
+ recombineNodePositioning: number;
24
+ recombineOptimizeTopology: number;
25
+ element2DMaterial: THREE.ShaderMaterial;
26
+ constructor(data?: {});
27
+ perform(): Promise<void>;
28
+ }
29
+ export declare class TemporaryMeshLine {
30
+ private data;
31
+ constructor(data?: {});
32
+ preview(): Promise<void>;
33
+ reject(): Promise<void>;
34
+ }
@@ -1,9 +1,12 @@
1
1
  import * as ManualElementCreation from "./OpCreateElement";
2
2
  import * as Extrude2D from "./OpExtrude2D";
3
+ import * as Boundary2D from "./OpBoundary2D";
3
4
  import * as MeshFace from "./OpMeshFace";
4
5
  import * as Remesh from "./OpRemesh";
5
6
  import * as MeshPatch from "./OpMeshPatch";
6
7
  declare const CAECreationTools2DOperations: {
8
+ Boundary2D: typeof Boundary2D.Boundary2D;
9
+ TemporaryBoundary2D: typeof Boundary2D.TemporaryBoundary2D;
7
10
  MeshPatch: typeof MeshPatch.MeshPatch;
8
11
  TemporaryMeshPatch: typeof MeshPatch.TemporaryMeshPatch;
9
12
  Remesh: typeof Remesh.Remesh;
@@ -0,0 +1,17 @@
1
+ export declare class Boundary2D {
2
+ elementUIDs: number[];
3
+ nodeUIDs: number[];
4
+ isPreview: boolean;
5
+ checkQuality2D: boolean;
6
+ qualityMeasure: number;
7
+ comparisonCondition: number;
8
+ limit: number;
9
+ constructor(data: {});
10
+ perform(): Promise<boolean>;
11
+ }
12
+ export declare class TemporaryBoundary2D {
13
+ private data;
14
+ constructor(data?: {});
15
+ preview(): Promise<void>;
16
+ reject(): Promise<void>;
17
+ }
@@ -10,6 +10,8 @@ declare const CAE: {
10
10
  TemporaryMeshVolume: typeof import("./CreationTools_3D/OpMeshVolume").TemporaryMeshVolume;
11
11
  };
12
12
  CAECreationTools2DOperations: {
13
+ Boundary2D: typeof import("./CreationTools_2D/OpBoundary2D").Boundary2D;
14
+ TemporaryBoundary2D: typeof import("./CreationTools_2D/OpBoundary2D").TemporaryBoundary2D;
13
15
  MeshPatch: typeof import("./CreationTools_2D/OpMeshPatch").MeshPatch;
14
16
  TemporaryMeshPatch: typeof import("./CreationTools_2D/OpMeshPatch").TemporaryMeshPatch;
15
17
  Remesh: typeof import("./CreationTools_2D/OpRemesh").Remesh;
@@ -22,6 +24,8 @@ declare const CAE: {
22
24
  TemporaryCreateElement: typeof import("./CreationTools_2D/OpCreateElement").TemporaryCreateElement;
23
25
  };
24
26
  CAECreationTools_0D_1D_Operations: {
27
+ MeshLine: typeof import("./CreationTools_0D_1D/OpMeshLine").MeshLine;
28
+ TemporaryMeshLine: typeof import("./CreationTools_0D_1D/OpMeshLine").TemporaryMeshLine;
25
29
  DistributingCoupling: typeof import("./CreationTools_0D_1D/OpDistributingCoupling").DistributingCoupling;
26
30
  TemporaryDistributingCoupling: typeof import("./CreationTools_0D_1D/OpDistributingCoupling").TemporaryDistributingCoupling;
27
31
  KinematicCoupling: typeof import("./CreationTools_0D_1D/OpKinematicCoupling").KinematicCoupling;
@@ -0,0 +1,9 @@
1
+ import { FileTypes } from "../../../../Viewer3D/Loader/FileTypes";
2
+ import { OperationToId } from "../../OperationCollection";
3
+ export declare class ExportGeometry {
4
+ private _exportableGeometryType;
5
+ private _exportScope;
6
+ constructor(geometryOption: string, geometryScope: string);
7
+ perform(): Promise<void>;
8
+ _getOperationToId(fileType: FileTypes.CADFiles): OperationToId;
9
+ }
@@ -2,7 +2,8 @@ import { FileTypes } from "../../../../Viewer3D/Loader/FileTypes";
2
2
  import { OperationToId } from "../../OperationCollection";
3
3
  export declare class ExportMesh {
4
4
  private _exportableMeshType;
5
- constructor(meshOption: string);
5
+ private _exportScope;
6
+ constructor(meshOption: string, meshScope: string);
6
7
  perform(): Promise<void>;
7
8
  _getOperationToId(fileType: FileTypes.MeshFiles): OperationToId;
8
9
  }
@@ -0,0 +1,8 @@
1
+ import { FileTypes } from "../../../../Viewer3D/Loader/FileTypes";
2
+ import { OperationToId } from "../../OperationCollection";
3
+ export declare class ExportSolverDeck {
4
+ private _exportableSolverDeckType;
5
+ constructor(solverOption: string);
6
+ perform(): Promise<void>;
7
+ _getOperationToId(fileType: FileTypes.SolverDeckConfigs): OperationToId;
8
+ }
@@ -34,6 +34,8 @@ declare const Operations: {
34
34
  TemporaryMeshVolume: typeof import("./CAE/CreationTools_3D/OpMeshVolume").TemporaryMeshVolume;
35
35
  };
36
36
  CAECreationTools2DOperations: {
37
+ Boundary2D: typeof import("./CAE/CreationTools_2D/OpBoundary2D").Boundary2D;
38
+ TemporaryBoundary2D: typeof import("./CAE/CreationTools_2D/OpBoundary2D").TemporaryBoundary2D;
37
39
  MeshPatch: typeof import("./CAE/CreationTools_2D/OpMeshPatch").MeshPatch;
38
40
  TemporaryMeshPatch: typeof import("./CAE/CreationTools_2D/OpMeshPatch").TemporaryMeshPatch;
39
41
  Remesh: typeof import("./CAE/CreationTools_2D/OpRemesh").Remesh;
@@ -46,6 +48,8 @@ declare const Operations: {
46
48
  TemporaryCreateElement: typeof import("./CAE/CreationTools_2D/OpCreateElement").TemporaryCreateElement;
47
49
  };
48
50
  CAECreationTools_0D_1D_Operations: {
51
+ MeshLine: typeof import("./CAE/CreationTools_0D_1D/OpMeshLine").MeshLine;
52
+ TemporaryMeshLine: typeof import("./CAE/CreationTools_0D_1D/OpMeshLine").TemporaryMeshLine;
49
53
  DistributingCoupling: typeof import("./CAE/CreationTools_0D_1D/OpDistributingCoupling").DistributingCoupling;
50
54
  TemporaryDistributingCoupling: typeof import("./CAE/CreationTools_0D_1D/OpDistributingCoupling").TemporaryDistributingCoupling;
51
55
  KinematicCoupling: typeof import("./CAE/CreationTools_0D_1D/OpKinematicCoupling").KinematicCoupling;
@@ -21,10 +21,12 @@ export declare enum OperationToId {
21
21
  Common_Exchange_ImportMSH = 1102,
22
22
  Common_Exchange_ImportMED = 1103,
23
23
  Common_Exchange_ImportINPAbaqus = 1104,
24
+ Common_Exchange_ImportOBJ = 1105,
24
25
  Common_Exchange_ExportMED = 1110,
25
26
  Common_Exchange_ExportSTL = 1111,
26
27
  Common_Exchange_ExportGMSH = 1112,
27
- Common_Exchange_ExportSTEPForSelection = 1120,
28
+ Common_Exchange_ExportOBJ = 1113,
29
+ Common_Exchange_ExportSTEP = 1120,
28
30
  /**
29
31
  * Common Core - 12xx
30
32
  */
@@ -101,6 +103,7 @@ export declare enum OperationToId {
101
103
  CAE_CreationTools_1D_CreateKinematicCoupling_bySelectingMasterNode = 3008,
102
104
  CAE_CreationTools_1D_CreateDistributingCoupling_byCalculatingMasterNode = 3009,
103
105
  CAE_CreationTools_1D_CreatedistributingCoupling_bySelectingMasterNode = 3010,
106
+ CAE_CreationTools_1D_MeshLine = 3011,
104
107
  /**
105
108
  * CAE - Creation Tools 2D - 31xx
106
109
  */
@@ -109,6 +112,7 @@ export declare enum OperationToId {
109
112
  CAE_CreationTools_Remesh2DElements = 3110,
110
113
  CAE_CreationTools_SplineMesh2DElements = 3120,
111
114
  CAE_CreationTools_2D_Extrude2D = 3150,
115
+ CAE_CreationTools_2D_Boundary2D = 3151,
112
116
  /**
113
117
  * CAE - Creation Tools 3D - 32xx
114
118
  */
@@ -18,6 +18,7 @@ export declare class StyleHandlerE3D extends StyleHandler {
18
18
  sidebarTop: number;
19
19
  sidebarBottom: number;
20
20
  sidebarWidth: number;
21
+ sidebarHeight: number;
21
22
  topbarTop: number;
22
23
  topbarLeft: any;
23
24
  topbarWidth: number;
@@ -1,6 +1,6 @@
1
1
  import { Operation } from "../../../../../../../../Viewer3D/UserInterface/UIComponents/BuildingBlocks/MainMenuComponents/Operation";
2
- type OnPreviewHandler = (input: {}) => Promise<void>;
3
- type OnAcceptHandler = (input: {}) => Promise<boolean>;
2
+ type OnPreviewHandler = (input: {}) => Promise<{}>;
3
+ type OnAcceptHandler = (input: {}) => Promise<{}>;
4
4
  type OnRejectHandler = () => Promise<void>;
5
5
  export declare class Translate extends Operation {
6
6
  private entityDropDownMenu_1;
@@ -21,6 +21,7 @@ export declare class Translate extends Operation {
21
21
  private availableEntities_3;
22
22
  private availableEntities_4;
23
23
  private availableEntities_5;
24
+ private affectedElementUIDs;
24
25
  private dx;
25
26
  private dy;
26
27
  private dz;
@@ -1,16 +1,65 @@
1
1
  import { Operation } from "../../../../../../../../Viewer3D/UserInterface/UIComponents/BuildingBlocks/MainMenuComponents/Operation";
2
- type OnPreviewHandler = (entity: string) => void;
3
- type OnAcceptHandler = (entity: string) => void;
4
- type OnRejectHandler = (entity: string) => void;
5
- export declare class AdvancedMeshLine extends Operation {
2
+ import { DropdownList } from "../../../../../../../../Viewer3D/UserInterface/UIComponents/BuildingBlocks/OperationPanelComponents/DropdownList";
3
+ import { LabeledInputField } from "../../../../../../../../Viewer3D/UserInterface/UIComponents/BuildingBlocks/OperationPanelComponents/LabeledInputField";
4
+ import { gmshData } from "../../../../../../../../Viewer3D/DataStorage/MeshData/gmshData";
5
+ type OnPreviewHandler = (data: {}) => Promise<void>;
6
+ type OnAcceptHandler = (data: {}) => Promise<void>;
7
+ type OnRejectHandler = () => Promise<void>;
8
+ export declare class MeshLine extends Operation {
9
+ private entityDropDownMenu;
10
+ elementOrderSelect_1: DropdownList<gmshData.settings.elementOrder>;
11
+ elementSizeInput_1: LabeledInputField;
6
12
  private readonly onPreviewHandler;
7
13
  private readonly onAcceptHandler;
8
14
  private readonly onRejectHandler;
9
15
  private readonly buttonsContainer;
10
- private entityValue;
16
+ private readonly inputContainer;
17
+ private elementOrderOptions;
18
+ private elementSize;
19
+ private readonly availableEntities;
20
+ private selectionData;
21
+ private element2DMaterial;
22
+ private uiComponents;
11
23
  constructor(onPreview?: OnPreviewHandler, onAccept?: OnAcceptHandler, onReject?: OnRejectHandler);
12
- private setEntityValue;
24
+ private setEnabledEntity;
25
+ private setActiveButton;
26
+ /**
27
+ * Add entity button
28
+ */
13
29
  private addEntityButton;
30
+ /**
31
+ * Create dropdown list for entityButton
32
+ */
33
+ private createDropdownListItems;
34
+ /**
35
+ * Add dropdown list
36
+ */
37
+ private addDropDownLists_2;
38
+ /**
39
+ * Add input field
40
+ */
41
+ private addFields;
42
+ /**
43
+ * Add action buttons (-> Preview, Accept, Reject)
44
+ */
14
45
  private addActionButtons;
46
+ /**
47
+ * Initializes uiComponents on opening the operationUI
48
+ */
49
+ init(): void;
50
+ /**
51
+ * Unselects all entities and tree items
52
+ */
53
+ unselect(): void;
54
+ /**
55
+ * Reset default settings
56
+ */
57
+ reset(): void;
58
+ private onPreview;
59
+ /**
60
+ * Extracts the selected entities from dict 'selected' and starts the attached task
61
+ */
62
+ private onAccept;
63
+ private onReject;
15
64
  }
16
65
  export {};
@@ -7,7 +7,7 @@ import * as BasicRigidCoupling from "./Basic/UIRigidCoupling";
7
7
  import * as BasicSeamWeld from "./Basic/UISeamWeld";
8
8
  import * as BasicSpotWeld from "./Basic/UISpotWeld";
9
9
  import * as BasicTwoPMethods from "./Basic/UITwoPMethods";
10
- import * as AdvancedMeshLine from "./Advanced/UIMeshLine";
10
+ import * as MeshLine from "./Advanced/UIMeshLine";
11
11
  import * as AdvancedRemeshElements from "./Advanced/UIRemeshElements";
12
12
  declare const CreationTools_0D_1D: {
13
13
  Manual: {
@@ -25,7 +25,7 @@ declare const CreationTools_0D_1D: {
25
25
  };
26
26
  Advanced: {
27
27
  AdvancedRemeshElemets: typeof AdvancedRemeshElements.AdvancedRemeshElemets;
28
- AdvancedMeshLine: typeof AdvancedMeshLine.AdvancedMeshLine;
28
+ MeshLine: typeof MeshLine.MeshLine;
29
29
  };
30
30
  };
31
31
  export { CreationTools_0D_1D };
@@ -0,0 +1,49 @@
1
+ import { Operation } from "../../../../../../../../Viewer3D/UserInterface/UIComponents/BuildingBlocks/MainMenuComponents/Operation";
2
+ type OnPreviewHandler = (data: {}) => Promise<void>;
3
+ type OnAcceptHandler = (data: {}) => Promise<{}>;
4
+ type OnRejectHandler = () => Promise<void>;
5
+ export declare class Boundary2D extends Operation {
6
+ private readonly onPreviewHandler;
7
+ private readonly onAcceptHandler;
8
+ private readonly onRejectHandler;
9
+ private readonly buttonsContainer;
10
+ private toleranceInput;
11
+ private availableEntities;
12
+ private entityDropDownMenu;
13
+ private entity;
14
+ private readonly inputsContainer;
15
+ private selectionData;
16
+ private element2DMaterial;
17
+ private uiComponents;
18
+ constructor(onPreview?: OnPreviewHandler, onAccept?: OnAcceptHandler, onReject?: OnRejectHandler);
19
+ private setEnabledEntity;
20
+ private setActiveButton;
21
+ /**
22
+ * Add entity button
23
+ */
24
+ private addEntityButton;
25
+ /**
26
+ * Create dropdown list for entityButton
27
+ */
28
+ private createDropdownListItems;
29
+ private addActionButtons;
30
+ /**
31
+ * Initializes uiComponents on opening the operationUI
32
+ */
33
+ init(): void;
34
+ /**
35
+ * Unselects all entities and tree items
36
+ */
37
+ unselect(): void;
38
+ /**
39
+ * Reset default settings
40
+ */
41
+ reset(): void;
42
+ private onPreview;
43
+ /**
44
+ * Extracts the selected entities from dict 'selected' and starts the attached task
45
+ */
46
+ private onAccept;
47
+ private onReject;
48
+ }
49
+ export {};
@@ -5,6 +5,7 @@ import * as Fill from "./Basic/UIFill";
5
5
  import * as Offset from "./Basic/UIOffset";
6
6
  import * as Revolute from "./Basic/UIRevolute";
7
7
  import * as Sweep from "./Basic/UISweep";
8
+ import * as Boundary2D from "./Basic/UIBoundary2D";
8
9
  import * as MeshPatch from "./Advanced/UIMeshPatch";
9
10
  import * as MeshFace from "./Advanced/UIMeshFace";
10
11
  import * as Remesh from "./Advanced/UIRemesh";
@@ -13,6 +14,7 @@ declare const CreationTools_2D: {
13
14
  CreateElement: typeof CreateElement.CreateElement;
14
15
  };
15
16
  Basic: {
17
+ Boundary2D: typeof Boundary2D.Boundary2D;
16
18
  Sweep: typeof Sweep.Sweep;
17
19
  Revolute: typeof Revolute.Revolute;
18
20
  Offset: typeof Offset.Offset;
@@ -16,7 +16,7 @@ export declare class ToolsetPanel implements IViewerHtmlElement, IMethodGroup {
16
16
  private operationUI;
17
17
  private operationsPanel;
18
18
  private openedPanelWithButton;
19
- constructor(title: string);
19
+ constructor(title: string, isEnabled?: boolean);
20
20
  onToggle(): void;
21
21
  private addSummary;
22
22
  private addButtonContainer;
@@ -1,19 +1,21 @@
1
1
  import { Operation } from "../../../../../../Viewer3D/UserInterface/UIComponents/BuildingBlocks/MainMenuComponents/Operation";
2
+ type ExportGeometryOptions = {
3
+ fileType: string;
4
+ geometryScope: string;
5
+ };
2
6
  type ExportGeometryConfig = {
3
- onExportHandler: () => void;
7
+ onExportHandler: (options: ExportGeometryOptions) => void | Promise<void>;
4
8
  };
5
9
  export declare class ExportGeometryOperation extends Operation {
6
10
  private readonly onExportHandler;
7
11
  private readonly buttonsContainer;
8
12
  private fileTypeSelect;
9
- private elementExportSelect;
10
- private elementOrderSelect;
13
+ private geometryScopeSelect;
11
14
  private chosenTypeOption;
12
15
  private chosenExportOption;
13
- private chosenOrderOption;
16
+ private chosenUnitOption;
14
17
  private fileTypeOptions;
15
- private elementExportOptions;
16
- private elementOrderOptions;
18
+ private geometryScopeOptions;
17
19
  private dropdownContainer;
18
20
  constructor(config?: ExportGeometryConfig);
19
21
  /**
@@ -1,6 +1,10 @@
1
1
  import { Operation } from "../../../../../../Viewer3D/UserInterface/UIComponents/BuildingBlocks/MainMenuComponents/Operation";
2
+ type ExportMeshOptions = {
3
+ fileType: string;
4
+ meshScope: string;
5
+ };
2
6
  type ExportMeshConfig = {
3
- onExportHandler: () => void;
7
+ onExportHandler: (options: ExportMeshOptions) => void | Promise<void>;
4
8
  };
5
9
  export declare class ExportMeshOperation extends Operation {
6
10
  private readonly onExportHandler;
@@ -1,19 +1,16 @@
1
1
  import { Operation } from "../../../../../../Viewer3D/UserInterface/UIComponents/BuildingBlocks/MainMenuComponents/Operation";
2
+ type ExportSolverDockOptions = {
3
+ fileType: string;
4
+ };
2
5
  type ExportSolverDeckConfig = {
3
- onExportHandler: () => void;
6
+ onExportHandler: (options: ExportSolverDockOptions) => void | Promise<void>;
4
7
  };
5
8
  export declare class ExportSolverDeckOperation extends Operation {
6
9
  private readonly onExportHandler;
7
10
  private readonly buttonsContainer;
8
11
  private elementSolverTypeSelect;
9
- private elementExportSelect;
10
- private elementOptionsSelect;
11
12
  private chosenSolverTypeOption;
12
- private chosenExportOption;
13
- private chosenOptionsOption;
14
13
  private elementSolverTypeOptions;
15
- private elementExportOptions;
16
- private elementOptions;
17
14
  private dropdownContainer;
18
15
  constructor(config?: ExportSolverDeckConfig);
19
16
  /**
@@ -2,6 +2,6 @@ import * as THREE from '../../three/build/three.module';
2
2
  export declare class EdgeMaterial extends THREE.ShaderMaterial {
3
3
  static instance: EdgeMaterial;
4
4
  gpuPicking: boolean;
5
- constructor(currentCamera: THREE.OrthographicCamera);
5
+ constructor(currentCamera: THREE.OrthographicCamera, offsetFactor?: number, offsetUnits?: number);
6
6
  static getInstance(): EdgeMaterial;
7
7
  }
@@ -2,6 +2,6 @@ import * as THREE from '../../three/build/three.module';
2
2
  export declare class Element1DMaterial extends THREE.ShaderMaterial {
3
3
  static instance: Element1DMaterial;
4
4
  gpuPicking: boolean;
5
- constructor(currentCamera: THREE.OrthographicCamera);
5
+ constructor(currentCamera: THREE.OrthographicCamera, offsetFactor?: number, offsetUnits?: number);
6
6
  static getInstance(): Element1DMaterial;
7
7
  }
@@ -2,6 +2,6 @@ import * as THREE from '../../three/build/three.module';
2
2
  export declare class LineMaterial extends THREE.ShaderMaterial {
3
3
  static instance: LineMaterial;
4
4
  gpuPicking: boolean;
5
- constructor(currentCamera: THREE.OrthographicCamera);
5
+ constructor(currentCamera: THREE.OrthographicCamera, offsetFactor?: number, offsetUnits?: number);
6
6
  static getInstance(): LineMaterial;
7
7
  }
@@ -2,11 +2,11 @@ import * as THREE from '../../three/build/three.module';
2
2
  export declare class MeshMaterial extends THREE.ShaderMaterial {
3
3
  static instance: MeshMaterial;
4
4
  gpuPicking: boolean;
5
- constructor(ambientLight: THREE.AmbientLight, directionalLights: THREE.DirectionalLight[], side: any, offset: boolean, offsetFactor?: number, offsetUnits?: number);
5
+ constructor(ambientLight: THREE.AmbientLight, directionalLights: THREE.DirectionalLight[], side: any, offset: boolean, offsetFactor?: number, offsetUnits?: number, currentCamera?: THREE.OrthographicCamera);
6
6
  static getInstance(): MeshMaterial;
7
7
  }
8
8
  export declare class FaceMaterial extends MeshMaterial {
9
9
  static instance: FaceMaterial;
10
- constructor(ambientLight: THREE.AmbientLight, directionalLights: THREE.DirectionalLight[]);
10
+ constructor(ambientLight: THREE.AmbientLight, directionalLights: THREE.DirectionalLight[], currentCamera: THREE.OrthographicCamera);
11
11
  static getInstance(): FaceMaterial;
12
12
  }
@@ -1,7 +1,7 @@
1
1
  import * as THREE from '../../three/build/three.module';
2
- import { Element0DMaterial } from './Element0DMaterial';
3
- export declare class TempElement0DMaterial extends Element0DMaterial {
2
+ export declare class TempElement0DMaterial extends THREE.ShaderMaterial {
4
3
  static instance: TempElement0DMaterial;
4
+ gpuPicking: boolean;
5
5
  constructor(currentCamera: THREE.OrthographicCamera);
6
6
  static getInstance(): TempElement0DMaterial;
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import * as THREE from '../../three/build/three.module';
2
- import { Element1DMaterial } from './Element1DMaterial';
3
- export declare class TempElement1DMaterial extends Element1DMaterial {
2
+ export declare class TempElement1DMaterial extends THREE.ShaderMaterial {
4
3
  static instance: TempElement1DMaterial;
5
- constructor(currentCamera: THREE.OrthographicCamera);
4
+ gpuPicking: boolean;
5
+ constructor(currentCamera: THREE.OrthographicCamera, offsetFactor?: number, offsetUnits?: number);
6
6
  static getInstance(): TempElement1DMaterial;
7
7
  }
@@ -1,8 +1,8 @@
1
1
  export declare namespace gmshData {
2
2
  namespace settings {
3
3
  enum elementOrder {
4
- FirstOrder = 1,
5
- SecondOrder = 2
4
+ FirstOrder = 0,
5
+ SecondOrder = 1
6
6
  }
7
7
  enum algorithm {
8
8
  MeshAdapt = 1,
@@ -8,6 +8,10 @@ export declare namespace FileTypes {
8
8
  GMSH = 1,
9
9
  STL = 2,
10
10
  INP = 3,
11
- COMM = 4
11
+ OBJ = 4
12
+ }
13
+ enum SolverDeckConfigs {
14
+ COMM = 0,
15
+ INP = 1
12
16
  }
13
17
  }
@@ -0,0 +1,38 @@
1
+ import { ModelData } from "../DataStorage/ModelData/Index";
2
+ /**
3
+ * Enum representing the scope of an export.
4
+ * In case of geometry, this could the following:
5
+ * - Selected: Export the selected subshapes.
6
+ * - Instances: Export the compound of the selected instances.
7
+ * - All: Combine all geometry instances into a single compound
8
+ */
9
+ export declare enum EntitySelectionScope {
10
+ Selected = 0,
11
+ Instances = 1,
12
+ All = 2
13
+ }
14
+ export declare class SelectionHelpers {
15
+ /**
16
+ * Returns the collection of instance IDs that are currently
17
+ * selected in the UI.
18
+ * @param filterForContainer Provide container that will
19
+ * @returns Array of integer IDs.
20
+ */
21
+ static getSelectedInstanceIDs(filterForContainer?: ModelData.dataTypes.GeometryContainer | ModelData.dataTypes.MeshContainer | ModelData.dataTypes.Set): Number[];
22
+ /**
23
+ * Iterates over the current selection and returns the IDs
24
+ * of all the shapes that were selected.
25
+ * @param filterForInstanceIdsOnly Optional to constrain selected shape IDs
26
+ * to provided instance IDs only.
27
+ * @returns Array of Shape IDs currently selected
28
+ */
29
+ static getSelectedShapeIDs(filterForInstanceIdsOnly?: Number[]): number[];
30
+ /**
31
+ * Enum -> canonical string name.
32
+ */
33
+ static entitySelectionScopeToString(scope: EntitySelectionScope): string;
34
+ /**
35
+ * String -> enum value.
36
+ */
37
+ static entitySelectionStringToScope(scope: string): EntitySelectionScope;
38
+ }
@@ -6,7 +6,7 @@ export type ViewerSelectConfig<T> = {
6
6
  value: T;
7
7
  isEnabled: boolean;
8
8
  }[];
9
- onChangeHandler?: () => void;
9
+ onChangeHandler?: (option?: T) => void;
10
10
  className?: string;
11
11
  };
12
12
  export declare class Select<T> implements IViewerHtmlElement {
@@ -46,6 +46,7 @@ export declare class ModelContextMenu {
46
46
  };
47
47
  submenu: HTMLElement;
48
48
  mouse3DPosition: THREE.Vector3;
49
+ selectionCtrlHTML: HTMLAnchorElement;
49
50
  constructor();
50
51
  getInstance(): ModelContextMenu;
51
52
  getElement(int: number): HTMLAnchorElement;
@@ -54,5 +55,6 @@ export declare class ModelContextMenu {
54
55
  hide(): void;
55
56
  setPosition(location: THREE.Vector3): void;
56
57
  createSeparator(): HTMLHRElement;
58
+ private positionSubmenu;
57
59
  }
58
60
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fcs-core-viewer",
3
- "version": "0.37.0",
3
+ "version": "0.39.0",
4
4
  "description": "3D Viewer in the Cloud",
5
5
  "author": {
6
6
  "name": "Femsolve Kft."