fcs-core-viewer 0.52.1 → 0.53.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 (18) hide show
  1. package/fcs-core-editor@types/Editor3D/Operations/CAD/CreationTools/CreationToolsParentResolver.d.ts +3 -1
  2. package/fcs-core-editor@types/Editor3D/Operations/CAD/Index.d.ts +6 -0
  3. package/fcs-core-editor@types/Editor3D/Operations/CAD/TransformationTools/Index.d.ts +9 -0
  4. package/fcs-core-editor@types/Editor3D/Operations/CAD/TransformationTools/OpMirrorByFace.d.ts +19 -0
  5. package/fcs-core-editor@types/Editor3D/Operations/CAD/TransformationTools/OpMirrorByLine.d.ts +14 -0
  6. package/fcs-core-editor@types/Editor3D/Operations/CAD/TransformationTools/OpMirrorByPoint.d.ts +14 -0
  7. package/fcs-core-editor@types/Editor3D/Operations/Common/Exchange/Simulation.d.ts +3 -0
  8. package/fcs-core-editor@types/Editor3D/Operations/Index.d.ts +6 -0
  9. package/fcs-core-editor@types/Editor3D/Operations/OperationCollection.d.ts +3 -0
  10. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAD/TransformationTools/Index.d.ts +6 -4
  11. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAD/TransformationTools/Mirror/{UIMirrorByVector.d.ts → UIMirrorByFace.d.ts} +15 -16
  12. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAD/TransformationTools/Mirror/UIMirrorByLine.d.ts +41 -0
  13. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAD/TransformationTools/Mirror/UIMirrorByPoint.d.ts +41 -0
  14. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/OptionsMenu/Operations/RunSimulation/RunSimulationOperation.d.ts +19 -1
  15. package/fcs-core-editor@types/Viewer3D/SelectionTools/SelectionHelpers.d.ts +25 -1
  16. package/fcs-core-editor@types/Viewer3D/ViewerEntities/VisibleEntities/Tooltip.d.ts +14 -0
  17. package/package.json +1 -1
  18. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAD/TransformationTools/Mirror/UIMirrorByPlane.d.ts +0 -23
@@ -1 +1,3 @@
1
- export declare function resolveCreationToolsParentItemUID(itemName: string, isPreview: boolean, createCopy?: boolean): Promise<number>;
1
+ import { ModelData } from "../../../../Viewer3D/DataStorage/ModelData/Index";
2
+ import { Container } from "../../../../Viewer3D/DataStorage/ModelData/Items/Containers/Container";
3
+ export declare function resolveCreationToolsParentItemUID(itemName: string, targetContainer: Container, targetFileType: ModelData.dataTypes, isPreview: boolean, createCopy?: boolean): Promise<number>;
@@ -1,5 +1,11 @@
1
1
  declare const CAD: {
2
2
  CADTransformationTools: {
3
+ MirrorByPoint: typeof import("./TransformationTools/OpMirrorByPoint").MirrorByPoint;
4
+ TemporaryMirrorByPoint: typeof import("./TransformationTools/OpMirrorByPoint").TemporaryMirrorByPoint;
5
+ MirrorByLine: typeof import("./TransformationTools/OpMirrorByLine").MirrorByLine;
6
+ TemporaryMirrorByLine: typeof import("./TransformationTools/OpMirrorByLine").TemporaryMirrorByLine;
7
+ MirrorByFace: typeof import("./TransformationTools/OpMirrorByFace").MirrorByFace;
8
+ TemporaryMirrorByFace: typeof import("./TransformationTools/OpMirrorByFace").TemporaryMirrorByFace;
3
9
  ProjectOnFace: typeof import("./TransformationTools/OpProjectOnFace").ProjectOnFace;
4
10
  TemporaryProjectOnFace: typeof import("./TransformationTools/OpProjectOnFace").TemporaryProjectOnFace;
5
11
  ProjectOnLine: typeof import("./TransformationTools/OpProjectOnLine").ProjectOnLine;
@@ -1,7 +1,16 @@
1
1
  import * as Translate from "./OpTranslate";
2
2
  import * as ProjectOnLine from "./OpProjectOnLine";
3
3
  import * as ProjectOnFace from "./OpProjectOnFace";
4
+ import * as MirrorByFace from "./OpMirrorByFace";
5
+ import * as MirrorByLine from "./OpMirrorByLine";
6
+ import * as MirrorByPoint from "./OpMirrorByPoint";
4
7
  declare const CADTransformationTools: {
8
+ MirrorByPoint: typeof MirrorByPoint.MirrorByPoint;
9
+ TemporaryMirrorByPoint: typeof MirrorByPoint.TemporaryMirrorByPoint;
10
+ MirrorByLine: typeof MirrorByLine.MirrorByLine;
11
+ TemporaryMirrorByLine: typeof MirrorByLine.TemporaryMirrorByLine;
12
+ MirrorByFace: typeof MirrorByFace.MirrorByFace;
13
+ TemporaryMirrorByFace: typeof MirrorByFace.TemporaryMirrorByFace;
5
14
  ProjectOnFace: typeof ProjectOnFace.ProjectOnFace;
6
15
  TemporaryProjectOnFace: typeof ProjectOnFace.TemporaryProjectOnFace;
7
16
  ProjectOnLine: typeof ProjectOnLine.ProjectOnLine;
@@ -0,0 +1,19 @@
1
+ import { ModelData } from '../../../../Viewer3D/DataStorage/ModelData/Index';
2
+ import { Container } from '../../../../Viewer3D/DataStorage/ModelData/Items/Containers/Container';
3
+ export declare class MirrorByFace {
4
+ itemName: string;
5
+ targetUIDs: number[];
6
+ toolUIDs: number[];
7
+ entity1Type: ModelData.dataTypes;
8
+ isPreview: boolean;
9
+ targetContainer: Container;
10
+ targetFileType: ModelData.dataTypes;
11
+ constructor(data: {});
12
+ perform(): Promise<boolean>;
13
+ }
14
+ export declare class TemporaryMirrorByFace {
15
+ private input;
16
+ constructor(input?: {});
17
+ preview(): Promise<void>;
18
+ reject(): Promise<void>;
19
+ }
@@ -0,0 +1,14 @@
1
+ export declare class MirrorByLine {
2
+ itemName: string;
3
+ targetUIDs: number[];
4
+ toolUIDs: number[];
5
+ isPreview: boolean;
6
+ constructor(input: {});
7
+ perform(): Promise<boolean>;
8
+ }
9
+ export declare class TemporaryMirrorByLine {
10
+ private input;
11
+ constructor(input?: {});
12
+ preview(): Promise<void>;
13
+ reject(): Promise<void>;
14
+ }
@@ -0,0 +1,14 @@
1
+ export declare class MirrorByPoint {
2
+ itemName: string;
3
+ targetUIDs: number[];
4
+ toolUIDs: number[];
5
+ isPreview: boolean;
6
+ constructor(input: {});
7
+ perform(): Promise<boolean>;
8
+ }
9
+ export declare class TemporaryMirrorByPoint {
10
+ private input;
11
+ constructor(input?: {});
12
+ preview(): Promise<void>;
13
+ reject(): Promise<void>;
14
+ }
@@ -15,5 +15,8 @@ export declare class RunSimulation {
15
15
  memjeveux?: number;
16
16
  time_limit?: number;
17
17
  tpsjob?: number;
18
+ mesh_scope?: string;
19
+ selected_mesh_component_ids?: number[];
20
+ selected_element_ids?: number[];
18
21
  }): Promise<boolean>;
19
22
  }
@@ -86,6 +86,12 @@ declare const Operations: {
86
86
  };
87
87
  CAD: {
88
88
  CADTransformationTools: {
89
+ MirrorByPoint: typeof import("./CAD/TransformationTools/OpMirrorByPoint").MirrorByPoint;
90
+ TemporaryMirrorByPoint: typeof import("./CAD/TransformationTools/OpMirrorByPoint").TemporaryMirrorByPoint;
91
+ MirrorByLine: typeof import("./CAD/TransformationTools/OpMirrorByLine").MirrorByLine;
92
+ TemporaryMirrorByLine: typeof import("./CAD/TransformationTools/OpMirrorByLine").TemporaryMirrorByLine;
93
+ MirrorByFace: typeof import("./CAD/TransformationTools/OpMirrorByFace").MirrorByFace;
94
+ TemporaryMirrorByFace: typeof import("./CAD/TransformationTools/OpMirrorByFace").TemporaryMirrorByFace;
89
95
  ProjectOnFace: typeof import("./CAD/TransformationTools/OpProjectOnFace").ProjectOnFace;
90
96
  TemporaryProjectOnFace: typeof import("./CAD/TransformationTools/OpProjectOnFace").TemporaryProjectOnFace;
91
97
  ProjectOnLine: typeof import("./CAD/TransformationTools/OpProjectOnLine").ProjectOnLine;
@@ -114,6 +114,9 @@ export declare enum OperationToId {
114
114
  CAD_TransformationTools_ProjectOnLine = 2103,
115
115
  CAD_TransformationTools_ProjectOnFace_by_Vector = 2104,
116
116
  CAD_TransformationTools_ProjectOnFace_by_Normal = 2105,
117
+ CAD_TransformationTools_MirrorByFace = 2106,
118
+ CAD_TransformationTools_MirrorByLine = 2107,
119
+ CAD_TransformationTools_MirrorByPoint = 2108,
117
120
  /**
118
121
  * CAD - Editing Tools - 22xx
119
122
  */
@@ -1,6 +1,7 @@
1
1
  import * as LocationByCoordinateTransformation from "./Location/UILocationByCoordinateTransformation";
2
- import * as MirrorByPlane from "./Mirror/UIMirrorByPlane";
3
- import * as MirrorByVector from "./Mirror/UIMirrorByVector";
2
+ import * as MirrorByFace from "./Mirror/UIMirrorByFace";
3
+ import * as MirrorByLine from "./Mirror/UIMirrorByLine";
4
+ import * as MirrorByPoint from "./Mirror/UIMirrorByPoint";
4
5
  import * as ProjectOnLine from "./Project/UIProjectOnLine";
5
6
  import * as ProjectOnFace from "./Project/UIProjectOnFace";
6
7
  import * as RotateByVectorAndAngle from "./Rotate/UIRotateByVectorAndAngle";
@@ -13,8 +14,9 @@ declare const TransformationTools: {
13
14
  LocationByCoordinateTransformation: typeof LocationByCoordinateTransformation.LocationByCoordinateTransformation;
14
15
  };
15
16
  Mirror: {
16
- MirrorByVector: typeof MirrorByVector.MirrorByVector;
17
- MirrorByPlane: typeof MirrorByPlane.MirrorByPlane;
17
+ MirrorByPoint: typeof MirrorByPoint.MirrorByPoint;
18
+ MirrorByLine: typeof MirrorByLine.MirrorByLine;
19
+ MirrorByFace: typeof MirrorByFace.MirrorByFace;
18
20
  };
19
21
  Project: {
20
22
  ProjectOnFace: typeof ProjectOnFace.ProjectOnFace;
@@ -1,41 +1,40 @@
1
1
  import { Operation } from "../../../../../../../../Viewer3D/UserInterface/UIComponents/BuildingBlocks/MainMenuComponents/Operation";
2
- type OnPreviewHandler = (entityUIDs: number[]) => void;
3
- type OnAcceptHandler = (data: {}) => void;
4
- type OnRejectHandler = (entityUIDs: number[]) => void;
5
- export declare class MirrorByVector extends Operation {
2
+ type OnPreviewHandler = (input: {}) => Promise<void>;
3
+ type OnAcceptHandler = (input: {}) => Promise<boolean>;
4
+ type OnRejectHandler = () => Promise<void>;
5
+ export declare class MirrorByFace extends Operation {
6
6
  private entityDropDownMenu_1;
7
7
  private entityDropDownMenu_2;
8
8
  private readonly onPreviewHandler;
9
9
  private readonly onAcceptHandler;
10
10
  private readonly onRejectHandler;
11
11
  private readonly buttonsContainer;
12
- private readonly inputsContainer;
13
- private entity_1;
14
- private entity_2;
12
+ private selectionData;
15
13
  constructor(onPreview?: OnPreviewHandler, onAccept?: OnAcceptHandler, onReject?: OnRejectHandler);
16
- private setEnabledEntity_1;
17
- private setActiveButton_1;
18
- private setEnabledEntity_2;
19
- private setActiveButton_2;
14
+ private setEnabledEntity;
15
+ private setActiveButton;
20
16
  /**
21
- * Add entity button
17
+ * Add entity buttons
22
18
  */
23
- private addEntityButton_1;
24
- private addEntityButton_2;
19
+ private addEntityButtons;
25
20
  /**
26
21
  * Add action buttons (-> Preview, Accept, Reject)
27
22
  */
28
23
  private addActionButtons;
29
24
  /**
30
- * Extracts the selected entities from dict 'selected' and starts the attached task
25
+ * Builds the input object from current UI state
31
26
  */
27
+ private buildInput;
28
+ private onPreview;
32
29
  private onAccept;
30
+ private onReject;
31
+ unselect(): void;
33
32
  /**
34
33
  * Initializes uiComponents on opening the operationUI
35
34
  */
36
35
  init(): void;
37
36
  /**
38
- * Resets the gui elements (fields, entity buttons, dropdown buttons ... to default)
37
+ * Resets the gui elements to default on closing the operationUI
39
38
  */
40
39
  reset(): void;
41
40
  }
@@ -0,0 +1,41 @@
1
+ import { Operation } from "../../../../../../../../Viewer3D/UserInterface/UIComponents/BuildingBlocks/MainMenuComponents/Operation";
2
+ type OnPreviewHandler = (input: {}) => Promise<void>;
3
+ type OnAcceptHandler = (input: {}) => Promise<boolean>;
4
+ type OnRejectHandler = () => Promise<void>;
5
+ export declare class MirrorByLine extends Operation {
6
+ private entityDropDownMenu_1;
7
+ private entityDropDownMenu_2;
8
+ private readonly onPreviewHandler;
9
+ private readonly onAcceptHandler;
10
+ private readonly onRejectHandler;
11
+ private readonly buttonsContainer;
12
+ private selectionData;
13
+ constructor(onPreview?: OnPreviewHandler, onAccept?: OnAcceptHandler, onReject?: OnRejectHandler);
14
+ private setEnabledEntity;
15
+ private setActiveButton;
16
+ /**
17
+ * Add entity buttons
18
+ */
19
+ private addEntityButtons;
20
+ /**
21
+ * Add action buttons (-> Preview, Accept, Reject)
22
+ */
23
+ private addActionButtons;
24
+ /**
25
+ * Builds the input object from current UI state
26
+ */
27
+ private buildInput;
28
+ private onPreview;
29
+ private onAccept;
30
+ private onReject;
31
+ unselect(): void;
32
+ /**
33
+ * Initializes uiComponents on opening the operationUI
34
+ */
35
+ init(): void;
36
+ /**
37
+ * Resets the gui elements to default on closing the operationUI
38
+ */
39
+ reset(): void;
40
+ }
41
+ export {};
@@ -0,0 +1,41 @@
1
+ import { Operation } from "../../../../../../../../Viewer3D/UserInterface/UIComponents/BuildingBlocks/MainMenuComponents/Operation";
2
+ type OnPreviewHandler = (input: {}) => Promise<void>;
3
+ type OnAcceptHandler = (input: {}) => Promise<boolean>;
4
+ type OnRejectHandler = () => Promise<void>;
5
+ export declare class MirrorByPoint extends Operation {
6
+ private entityDropDownMenu_1;
7
+ private entityDropDownMenu_2;
8
+ private readonly onPreviewHandler;
9
+ private readonly onAcceptHandler;
10
+ private readonly onRejectHandler;
11
+ private readonly buttonsContainer;
12
+ private selectionData;
13
+ constructor(onPreview?: OnPreviewHandler, onAccept?: OnAcceptHandler, onReject?: OnRejectHandler);
14
+ private setEnabledEntity;
15
+ private setActiveButton;
16
+ /**
17
+ * Add entity buttons
18
+ */
19
+ private addEntityButtons;
20
+ /**
21
+ * Add action buttons (-> Preview, Accept, Reject)
22
+ */
23
+ private addActionButtons;
24
+ /**
25
+ * Builds the input object from current UI state
26
+ */
27
+ private buildInput;
28
+ private onPreview;
29
+ private onAccept;
30
+ private onReject;
31
+ unselect(): void;
32
+ /**
33
+ * Initializes uiComponents on opening the operationUI
34
+ */
35
+ init(): void;
36
+ /**
37
+ * Resets the gui elements to default on closing the operationUI
38
+ */
39
+ reset(): void;
40
+ }
41
+ export {};
@@ -8,12 +8,17 @@ type ComputationalParams = {
8
8
  time_limit: number;
9
9
  tpsjob: number;
10
10
  };
11
+ type MeshDomainPayload = {
12
+ mesh_scope: string;
13
+ selected_mesh_component_ids: number[];
14
+ selected_element_ids: number[];
15
+ };
11
16
  type RunSimulationConfig = {
12
17
  onRunSimulation: (data: {
13
18
  jobName: string;
14
19
  analysisStepItemId: number;
15
20
  analysisName?: string;
16
- } & ComputationalParams) => Promise<boolean>;
21
+ } & ComputationalParams & MeshDomainPayload) => Promise<boolean>;
17
22
  };
18
23
  export declare class RunSimulationOperation extends Operation {
19
24
  private readonly onRunSimulation;
@@ -23,6 +28,10 @@ export declare class RunSimulationOperation extends Operation {
23
28
  private simulationButtons;
24
29
  private computationalParamsDetails;
25
30
  private computationalParamsContainer;
31
+ private meshDomainDetails;
32
+ private meshDomainContainer;
33
+ private meshDomainSelect;
34
+ private meshScope;
26
35
  private nameInput;
27
36
  private jobName;
28
37
  private analysisStepSelectionInput;
@@ -37,10 +46,13 @@ export declare class RunSimulationOperation extends Operation {
37
46
  private computationalParams;
38
47
  private runButton;
39
48
  private static readonly DEFAULT_PARAMS;
49
+ private static readonly DEFAULT_MESH_SCOPE;
50
+ private static readonly MESH_DOMAIN_OPTIONS;
40
51
  constructor(config?: RunSimulationConfig);
41
52
  private buildContainers;
42
53
  private addFields;
43
54
  private createNumberField;
55
+ private buildMeshDomainSection;
44
56
  private buildComputationalParamsSection;
45
57
  private addAnalysisStepSelectionInput;
46
58
  private addActionButtons;
@@ -53,6 +65,12 @@ export declare class RunSimulationOperation extends Operation {
53
65
  * Resets the gui elements to default
54
66
  */
55
67
  reset(): void;
68
+ /**
69
+ * Build the Mesh Domain payload using the same helpers as the Export Mesh
70
+ * flow so the Service sees an identical payload shape for both entry
71
+ * points. Returns null if validation fails (and surfaces a toast).
72
+ */
73
+ private buildMeshDomainPayload;
56
74
  private runSimulation;
57
75
  }
58
76
  export {};
@@ -5,12 +5,14 @@ import { Depth } from "./SelectionControls/SelectionControls";
5
5
  * In case of geometry, this could the following:
6
6
  * - Selected: Export the selected subshapes.
7
7
  * - Instances: Export the compound of the selected instances.
8
+ * - Visible: Export whichever subshapes are currently rendered.
8
9
  * - All: Combine all geometry instances into a single compound
9
10
  */
10
11
  export declare enum EntitySelectionScope {
11
12
  Selected = 0,
12
13
  Instances = 1,
13
- All = 2
14
+ Visible = 2,
15
+ All = 3
14
16
  }
15
17
  export declare class SelectionHelpers {
16
18
  /**
@@ -20,6 +22,28 @@ export declare class SelectionHelpers {
20
22
  * @returns Array of integer IDs.
21
23
  */
22
24
  static getSelectedInstanceIDs(filterForContainer?: ModelData.dataTypes.GeometryContainer | ModelData.dataTypes.MeshContainer | ModelData.dataTypes.Set): Number[];
25
+ /**
26
+ * Returns the backend-side element IDs of every currently selected mesh
27
+ * element (shapes whose data type is `TopoElement`). Shape UIDs carry an
28
+ * ELEMENT_ID_OFFSET to keep them globally unique on the viewer side, which
29
+ * is subtracted here to recover the engine's raw ElementId.
30
+ *
31
+ * @param filterForInstanceIdsOnly Optional restriction to elements that
32
+ * belong to one of the provided MeshPart instance IDs.
33
+ * @returns Deduplicated array of backend mesh element IDs.
34
+ */
35
+ static getSelectedMeshElementIds(filterForInstanceIdsOnly?: Number[]): number[];
36
+ /**
37
+ * Returns the backend-side element IDs of every mesh element that is
38
+ * currently *rendered*. An element is considered visible when both its own
39
+ * `isVisible` flag is on AND its parent MeshPart item is visible.
40
+ *
41
+ * This is the scope payload for the `Visible` export option - it does not
42
+ * consult the selection buffer at all.
43
+ *
44
+ * @returns Deduplicated array of backend mesh element IDs.
45
+ */
46
+ static getVisibleMeshElementIds(): number[];
23
47
  /**
24
48
  * Iterates over the current selection and returns the IDs
25
49
  * of all the shapes that were selected.
@@ -4,6 +4,20 @@ export declare class Tooltip {
4
4
  uniqueID_To_Instance: {};
5
5
  constructor(target: HTMLElement);
6
6
  setData(data: Record<string, string | number>): void;
7
+ /**
8
+ * Convert an itemColor array ([r,g,b] in 0-255) into a CSS rgb(...) string.
9
+ */
10
+ private itemColorToRgb;
11
+ /**
12
+ * Return a display string for an associated file instance ('Name (ID)').
13
+ */
14
+ private formatItemRef;
15
+ /**
16
+ * Build the per-data-type tooltip rows for an item instance.
17
+ * ID and Color are always included; additional rows depend on the
18
+ * item's dataType.
19
+ */
20
+ private buildTooltipData;
7
21
  private show;
8
22
  private hide;
9
23
  destroy(): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fcs-core-viewer",
3
- "version": "0.52.1",
3
+ "version": "0.53.0",
4
4
  "description": "3D Viewer in the Cloud",
5
5
  "author": {
6
6
  "name": "Femsolve Kft."
@@ -1,23 +0,0 @@
1
- import { Operation } from "../../../../../../../../Viewer3D/UserInterface/UIComponents/BuildingBlocks/MainMenuComponents/Operation";
2
- type OnPreviewHandler = (entityUIDs: number[]) => void;
3
- type OnAcceptHandler = (data: {}) => void;
4
- type OnRejectHandler = (entityUIDs: number[]) => void;
5
- export declare class MirrorByPlane extends Operation {
6
- private readonly onPreviewHandler;
7
- private readonly onAcceptHandler;
8
- private readonly onRejectHandler;
9
- private readonly buttonsContainer;
10
- private entityValue;
11
- constructor(onPreview?: OnPreviewHandler, onAccept?: OnAcceptHandler, onReject?: OnRejectHandler);
12
- private setEntityValue;
13
- private addEntityButton;
14
- /**
15
- * Add action buttons (-> Preview, Accept, Reject)
16
- */
17
- private addActionButtons;
18
- /**
19
- * Extracts the selected entities from dict 'selected' and starts the attached task
20
- */
21
- private onAccept;
22
- }
23
- export {};