fcs-core-viewer 0.53.0 → 0.55.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 (72) hide show
  1. package/fcs-core-editor@types/Editor3D/Editor3DAPI.d.ts +1 -0
  2. package/fcs-core-editor@types/Editor3D/Editor3DState.d.ts +45 -0
  3. package/fcs-core-editor@types/Editor3D/Network/BackendClient.d.ts +12 -0
  4. package/fcs-core-editor@types/Editor3D/Network/ModelHistoryClient.d.ts +41 -0
  5. package/fcs-core-editor@types/Editor3D/Network/SocketCommandsGateway.d.ts +6 -6
  6. package/fcs-core-editor@types/Editor3D/Operations/CAE/AnalysisTools/OpAnalysis.d.ts +1 -0
  7. package/fcs-core-editor@types/Editor3D/Operations/CAE/AnalysisTools/OpBar.d.ts +1 -0
  8. package/fcs-core-editor@types/Editor3D/Operations/CAE/AnalysisTools/OpBeam.d.ts +1 -0
  9. package/fcs-core-editor@types/Editor3D/Operations/CAE/AnalysisTools/OpBoundaryCondition.d.ts +1 -0
  10. package/fcs-core-editor@types/Editor3D/Operations/CAE/AnalysisTools/OpConcentratedLoad.d.ts +1 -0
  11. package/fcs-core-editor@types/Editor3D/Operations/CAE/AnalysisTools/OpConstraint.d.ts +1 -0
  12. package/fcs-core-editor@types/Editor3D/Operations/CAE/AnalysisTools/OpContact.d.ts +1 -0
  13. package/fcs-core-editor@types/Editor3D/Operations/CAE/AnalysisTools/OpCustomMaterial.d.ts +1 -1
  14. package/fcs-core-editor@types/Editor3D/Operations/CAE/AnalysisTools/OpDashpot.d.ts +1 -0
  15. package/fcs-core-editor@types/Editor3D/Operations/CAE/AnalysisTools/OpDistributedLoad.d.ts +1 -0
  16. package/fcs-core-editor@types/Editor3D/Operations/CAE/AnalysisTools/OpMass.d.ts +1 -0
  17. package/fcs-core-editor@types/Editor3D/Operations/CAE/AnalysisTools/OpMembrane.d.ts +1 -0
  18. package/fcs-core-editor@types/Editor3D/Operations/CAE/AnalysisTools/OpMotionConstraint.d.ts +1 -0
  19. package/fcs-core-editor@types/Editor3D/Operations/CAE/AnalysisTools/OpOutputControl.d.ts +1 -0
  20. package/fcs-core-editor@types/Editor3D/Operations/CAE/AnalysisTools/OpShell.d.ts +1 -0
  21. package/fcs-core-editor@types/Editor3D/Operations/CAE/AnalysisTools/OpSolid.d.ts +1 -0
  22. package/fcs-core-editor@types/Editor3D/Operations/CAE/AnalysisTools/OpSpring.d.ts +1 -0
  23. package/fcs-core-editor@types/Editor3D/Operations/CAE/AnalysisTools/OpThermalLoad.d.ts +1 -0
  24. package/fcs-core-editor@types/Editor3D/Operations/CAE/CreationTools_2D/OpRemesh.d.ts +2 -1
  25. package/fcs-core-editor@types/Editor3D/Operations/CAE/EditingTools/Index.d.ts +3 -0
  26. package/fcs-core-editor@types/Editor3D/Operations/CAE/EditingTools/OpAlignNodes.d.ts +14 -0
  27. package/fcs-core-editor@types/Editor3D/Operations/CAE/Index.d.ts +2 -0
  28. package/fcs-core-editor@types/Editor3D/Operations/Index.d.ts +2 -0
  29. package/fcs-core-editor@types/Editor3D/Operations/OperationCollection.d.ts +3 -7
  30. package/fcs-core-editor@types/Editor3D/UserInterface/EditorUIData.d.ts +1 -0
  31. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/EditorUIComponents.d.ts +2 -0
  32. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/UIBar.d.ts +3 -0
  33. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/UIBeam.d.ts +3 -0
  34. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/UIBoundaryCondition.d.ts +3 -0
  35. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/UIConcentratedLoad.d.ts +3 -0
  36. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/UIContactPair.d.ts +3 -0
  37. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/UICustomMaterial.d.ts +3 -0
  38. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/UIDashpot.d.ts +3 -0
  39. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/UIDistributedLoad.d.ts +3 -0
  40. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/UIDynamicHarmonic.d.ts +3 -0
  41. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/UIDynamicImplicit.d.ts +3 -0
  42. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/UIGlobalContact.d.ts +3 -0
  43. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/UILinearBuckling.d.ts +3 -0
  44. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/UILinearStatic.d.ts +3 -0
  45. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/UIMPCconstraint.d.ts +3 -0
  46. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/UIMass.d.ts +3 -0
  47. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/UIMembrane.d.ts +3 -0
  48. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/UIModal.d.ts +3 -0
  49. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/UIMotionConstraint.d.ts +3 -0
  50. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/UINonlinearStatic.d.ts +3 -0
  51. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/UIOutputControl.d.ts +3 -0
  52. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/UIShell.d.ts +3 -0
  53. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/UISolid.d.ts +3 -0
  54. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/UISpring.d.ts +3 -0
  55. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/UITIEconstraint.d.ts +3 -0
  56. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/UIThermalLoad.d.ts +3 -0
  57. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/EditingTools/AlignNodes/UIAlignNodes.d.ts +51 -0
  58. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/MainMenu/Operations/CAE/EditingTools/Index.d.ts +4 -0
  59. package/fcs-core-editor@types/Editor3D/UserInterface/UIComponents/ModelHistory/ModelHistoryPanel.d.ts +65 -0
  60. package/fcs-core-editor@types/Editor3D/Wrapper/Editor3D.d.ts +3 -0
  61. package/fcs-core-editor@types/Viewer3D/Common/Diagnostics/StatusBar.d.ts +5 -0
  62. package/fcs-core-editor@types/Viewer3D/DataStorage/ModelData/Shapes/Mesh/SubshapeTypes/TopoElement.d.ts +16 -0
  63. package/fcs-core-editor@types/Viewer3D/DataStorage/ModelData/Shapes/Mesh/SubshapeTypes/TopoNode.d.ts +16 -0
  64. package/fcs-core-editor@types/Viewer3D/Loader/GEOMLoader/GeomLoader.d.ts +2 -0
  65. package/fcs-core-editor@types/Viewer3D/UserInterface/UIComponents/BuildingBlocks/OperationPanelComponents/SelectionInputField.d.ts +5 -0
  66. package/fcs-core-editor@types/Viewer3D/UserInterface/UIComponents/BuildingBlocks/OperationPanelComponents/TargetItemSelector.d.ts +45 -0
  67. package/fcs-core-editor@types/Viewer3D/ViewerCommands/CAE/AnalysisTools/LoadAndBC.d.ts +0 -1
  68. package/fcs-core-editor@types/Viewer3D/ViewerCommands/CAE/AnalysisTools/Material.d.ts +0 -1
  69. package/fcs-core-editor@types/Viewer3D/ViewerCommands/CAE/AnalysisTools/Property.d.ts +0 -1
  70. package/fcs-core-editor@types/Viewer3D/Wrapper/SceneWrapper.d.ts +5 -4
  71. package/fcs-core-editor@types/Viewer3D/Wrapper/Viewer3DWrapper.d.ts +1 -5
  72. package/package.json +1 -1
@@ -7,6 +7,8 @@ export declare class LinearBuckling extends Operation {
7
7
  private readonly onAcceptHandler;
8
8
  private readonly onAppendHandler;
9
9
  private readonly buttonsContainer;
10
+ private targetItemSelector;
11
+ private acceptButton;
10
12
  private dynamicComponents;
11
13
  private loadDefinitionSelectionInput;
12
14
  private loadDefinitionItemUID;
@@ -17,6 +19,7 @@ export declare class LinearBuckling extends Operation {
17
19
  private setActiveButton;
18
20
  private fields;
19
21
  private addActionButtons;
22
+ private loadExistingValues;
20
23
  /**
21
24
  * Initializes uiComponents on opening the operationUI
22
25
  */
@@ -7,6 +7,8 @@ export declare class LinearStatic extends Operation {
7
7
  private readonly onAcceptHandler;
8
8
  private readonly onAppendHandler;
9
9
  private readonly buttonsContainer;
10
+ private targetItemSelector;
11
+ private acceptButton;
10
12
  private modeSelector;
11
13
  private modeOptions;
12
14
  private dynamicComponents;
@@ -25,6 +27,7 @@ export declare class LinearStatic extends Operation {
25
27
  private addDropDownLists;
26
28
  private fields;
27
29
  private addActionButtons;
30
+ private loadExistingValues;
28
31
  /**
29
32
  * Initializes uiComponents on opening the operationUI
30
33
  */
@@ -7,6 +7,8 @@ export declare class MPCconstraint extends Operation {
7
7
  private readonly onAcceptHandler;
8
8
  private readonly onAppendHandler;
9
9
  private readonly buttonsContainer;
10
+ private targetItemSelector;
11
+ private acceptButton;
10
12
  private areaInput;
11
13
  private materialSelectionInput;
12
14
  private area;
@@ -18,6 +20,7 @@ export declare class MPCconstraint extends Operation {
18
20
  private setActiveButton;
19
21
  private fields;
20
22
  private addActionButtons;
23
+ private loadExistingValues;
21
24
  /**
22
25
  * Initializes uiComponents on opening the operationUI
23
26
  */
@@ -11,6 +11,8 @@ export declare class Mass extends Operation {
11
11
  private readonly onAcceptHandler;
12
12
  private readonly onAppendHandler;
13
13
  private readonly buttonsContainer;
14
+ private targetItemSelector;
15
+ private acceptButton;
14
16
  private mass;
15
17
  private modeOptions;
16
18
  private dynamicComponents;
@@ -38,6 +40,7 @@ export declare class Mass extends Operation {
38
40
  * Add action buttons (-> Preview, Accept, Reject)
39
41
  */
40
42
  private addActionButtons;
43
+ private loadExistingValues;
41
44
  /**
42
45
  * Initializes uiComponents on opening the operationUI
43
46
  */
@@ -7,6 +7,8 @@ export declare class Membrane extends Operation {
7
7
  private readonly onAcceptHandler;
8
8
  private readonly onAppendHandler;
9
9
  private readonly buttonsContainer;
10
+ private targetItemSelector;
11
+ private acceptButton;
10
12
  private thicknessInput;
11
13
  private thickness;
12
14
  private materialSelectionInput;
@@ -31,6 +33,7 @@ export declare class Membrane extends Operation {
31
33
  private addDropDownLists;
32
34
  private fields;
33
35
  private addActionButtons;
36
+ private loadExistingValues;
34
37
  /**
35
38
  * Initializes uiComponents on opening the operationUI
36
39
  */
@@ -7,6 +7,8 @@ export declare class Modal extends Operation {
7
7
  private readonly onAcceptHandler;
8
8
  private readonly onAppendHandler;
9
9
  private readonly buttonsContainer;
10
+ private targetItemSelector;
11
+ private acceptButton;
10
12
  private modeSelectorEigenSolver;
11
13
  private modeOptionsEigenSolver;
12
14
  private modeSelectorMassMatrix;
@@ -40,6 +42,7 @@ export declare class Modal extends Operation {
40
42
  private fields;
41
43
  private addCheckmarks;
42
44
  private addActionButtons;
45
+ private loadExistingValues;
43
46
  /**
44
47
  * Initializes uiComponents on opening the operationUI
45
48
  */
@@ -7,6 +7,8 @@ export declare class MotionConstraint extends Operation {
7
7
  private readonly onAcceptHandler;
8
8
  private readonly onAppendHandler;
9
9
  private readonly buttonsContainer;
10
+ private targetItemSelector;
11
+ private acceptButton;
10
12
  private nodesetSelectionInput;
11
13
  private nodesetUID;
12
14
  private displacementXInput;
@@ -44,6 +46,7 @@ export declare class MotionConstraint extends Operation {
44
46
  private addDropDownLists;
45
47
  private fields;
46
48
  private addActionButtons;
49
+ private loadExistingValues;
47
50
  /**
48
51
  * Initializes uiComponents on opening the operationUI
49
52
  */
@@ -7,6 +7,8 @@ export declare class NonlinearStatic extends Operation {
7
7
  private readonly onAcceptHandler;
8
8
  private readonly onAppendHandler;
9
9
  private readonly buttonsContainer;
10
+ private targetItemSelector;
11
+ private acceptButton;
10
12
  private modeSelectorLinearSolver;
11
13
  private modeSelectorIterationMethod;
12
14
  private modeSelectorNewtonStepControl;
@@ -74,6 +76,7 @@ export declare class NonlinearStatic extends Operation {
74
76
  private addDropDownLists;
75
77
  private addFields;
76
78
  private addActionButtons;
79
+ private loadExistingValues;
77
80
  /**
78
81
  * Initializes uiComponents on opening the operationUI
79
82
  */
@@ -7,6 +7,8 @@ export declare class OutputControl extends Operation {
7
7
  private readonly onAcceptHandler;
8
8
  private readonly onAppendHandler;
9
9
  private readonly buttonsContainer;
10
+ private targetItemSelector;
11
+ private acceptButton;
10
12
  private analysisStepSelector;
11
13
  private analysisResultSelector;
12
14
  private linearStaticResultSelector;
@@ -47,6 +49,7 @@ export declare class OutputControl extends Operation {
47
49
  private buildDynamicHarmonicUI;
48
50
  private fields;
49
51
  private addActionButtons;
52
+ private loadExistingValues;
50
53
  /**
51
54
  * Initializes uiComponents on opening the operationUI
52
55
  */
@@ -7,6 +7,8 @@ export declare class Shell extends Operation {
7
7
  private readonly onAcceptHandler;
8
8
  private readonly onAppendHandler;
9
9
  private readonly buttonsContainer;
10
+ private targetItemSelector;
11
+ private acceptButton;
10
12
  private thicknessInput;
11
13
  private integrationPointInput;
12
14
  private offsetInput;
@@ -35,6 +37,7 @@ export declare class Shell extends Operation {
35
37
  private addDropDownLists;
36
38
  private fields;
37
39
  private addActionButtons;
40
+ private loadExistingValues;
38
41
  /**
39
42
  * Initializes uiComponents on opening the operationUI
40
43
  */
@@ -7,6 +7,8 @@ export declare class Solid extends Operation {
7
7
  private readonly onAcceptHandler;
8
8
  private readonly onAppendHandler;
9
9
  private readonly buttonsContainer;
10
+ private targetItemSelector;
11
+ private acceptButton;
10
12
  private geometrySelectionInput;
11
13
  private materialSelectionInput;
12
14
  private csystemSelectionInput;
@@ -35,6 +37,7 @@ export declare class Solid extends Operation {
35
37
  private addDropDownLists;
36
38
  private fields;
37
39
  private addActionButtons;
40
+ private loadExistingValues;
38
41
  /**
39
42
  * Initializes uiComponents on opening the operationUI
40
43
  */
@@ -7,6 +7,8 @@ export declare class Spring extends Operation {
7
7
  private readonly onAcceptHandler;
8
8
  private readonly onAppendHandler;
9
9
  private readonly buttonsContainer;
10
+ private targetItemSelector;
11
+ private acceptButton;
10
12
  private materialSelectionInput;
11
13
  private KXInput;
12
14
  private KYInput;
@@ -41,6 +43,7 @@ export declare class Spring extends Operation {
41
43
  private addDropDownLists;
42
44
  private fields;
43
45
  private addActionButtons;
46
+ private loadExistingValues;
44
47
  /**
45
48
  * Initializes uiComponents on opening the operationUI
46
49
  */
@@ -7,6 +7,8 @@ export declare class TIEconstraint extends Operation {
7
7
  private readonly onAcceptHandler;
8
8
  private readonly onAppendHandler;
9
9
  private readonly buttonsContainer;
10
+ private targetItemSelector;
11
+ private acceptButton;
10
12
  private masterSetSelectionInput;
11
13
  private masterSetUID;
12
14
  private slaveSetSelectionInput;
@@ -16,6 +18,7 @@ export declare class TIEconstraint extends Operation {
16
18
  private setActiveButton;
17
19
  private fields;
18
20
  private addActionButtons;
21
+ private loadExistingValues;
19
22
  /**
20
23
  * Initializes uiComponents on opening the operationUI
21
24
  */
@@ -7,6 +7,8 @@ export declare class ThermalLoad extends Operation {
7
7
  private readonly onAcceptHandler;
8
8
  private readonly onAppendHandler;
9
9
  private readonly buttonsContainer;
10
+ private targetItemSelector;
11
+ private acceptButton;
10
12
  private nodesetSelectionInput;
11
13
  private nodesetUID;
12
14
  private temperatureInput;
@@ -16,6 +18,7 @@ export declare class ThermalLoad extends Operation {
16
18
  private setActiveButton;
17
19
  private fields;
18
20
  private addActionButtons;
21
+ private loadExistingValues;
19
22
  /**
20
23
  * Initializes uiComponents on opening the operationUI
21
24
  */
@@ -0,0 +1,51 @@
1
+ import { Operation } from "../../../../../../../../Viewer3D/UserInterface/UIComponents/BuildingBlocks/MainMenuComponents/Operation";
2
+ type OnPreviewHandler = (data: {}) => Promise<{}>;
3
+ type OnAcceptHandler = (data: {}) => Promise<{}>;
4
+ type OnRejectHandler = () => Promise<void>;
5
+ export declare class AlignNodes extends Operation {
6
+ private readonly onPreviewHandler;
7
+ private readonly onAcceptHandler;
8
+ private readonly onRejectHandler;
9
+ private readonly buttonsContainer;
10
+ private affectedElementUIDs;
11
+ private entityDropDownMenu_1;
12
+ private entityDropDownMenu_2;
13
+ private entityDropDownMenu_3;
14
+ private selectionData;
15
+ private uiComponents;
16
+ constructor(onPreview?: OnPreviewHandler, onAccept?: OnAcceptHandler, onReject?: OnRejectHandler);
17
+ private setEnabledEntity;
18
+ private setActiveButton;
19
+ /**
20
+ * First reference node (line start)
21
+ */
22
+ private addEntityButton_1;
23
+ /**
24
+ * Second reference node (line end)
25
+ */
26
+ private addEntityButton_2;
27
+ /**
28
+ * Nodes to project onto the line
29
+ */
30
+ private addEntityButton_3;
31
+ private addActionButtons;
32
+ /**
33
+ * Initializes uiComponents on opening the operationUI
34
+ */
35
+ init(): void;
36
+ /**
37
+ * Unselects all entities and tree items
38
+ */
39
+ unselect(): void;
40
+ /**
41
+ * Reset default settings
42
+ */
43
+ reset(): void;
44
+ private onPreview;
45
+ /**
46
+ * Extracts the selected entities and commits the operation
47
+ */
48
+ private onAccept;
49
+ private onReject;
50
+ }
51
+ export {};
@@ -1,9 +1,13 @@
1
1
  import * as MergeByElements from "./Merge/UIMergeByElements";
2
2
  import * as MergeByNodes from "./Merge/UIMergeByNodes";
3
+ import * as AlignNodes from "./AlignNodes/UIAlignNodes";
3
4
  declare const EditingTools: {
4
5
  Merge: {
5
6
  MergeByNodes: typeof MergeByNodes.MergeByNodes;
6
7
  MergeByElements: typeof MergeByElements.MergeByElements;
7
8
  };
9
+ AlignNodes: {
10
+ AlignNodes: typeof AlignNodes.AlignNodes;
11
+ };
8
12
  };
9
13
  export { EditingTools };
@@ -0,0 +1,65 @@
1
+ /**
2
+ * ModelHistoryPanel
3
+ *
4
+ * Renders a dropdown in the top-left corner of the Editor UI that lets users:
5
+ * 1. Browse the version timeline (mapped by timestamp).
6
+ * 2. Check out an older version (read-only).
7
+ * 3. "Continue from Here" to trim history and resume editing.
8
+ *
9
+ * The panel is always visible (unless SERVICE mode). When no archive entries
10
+ * exist the dropdown is replaced by a "No archive exists" message.
11
+ *
12
+ * The panel is mounted into the `div#div_model_history` element that is
13
+ * injected into the Editor's HTML by Editor3DUISetup.
14
+ */
15
+ export declare class ModelHistoryPanel {
16
+ private static _instance;
17
+ private _container;
18
+ private _client;
19
+ private _versions;
20
+ /** Blob key of the version currently checked out (null = latest). */
21
+ private _activeVersionBlobKey;
22
+ /** The blob key of the latest (current) model version, sent by ModelService. */
23
+ private _latestBlobKey;
24
+ /** Stored so the version list can be re-fetched after a trim. */
25
+ private _modelId;
26
+ private _triggerBtn;
27
+ private _menu;
28
+ private _select;
29
+ private _emptyMsg;
30
+ private _badge;
31
+ private _checkoutBtn;
32
+ private _continueBtn;
33
+ private _returnBtn;
34
+ private _isMenuOpen;
35
+ private constructor();
36
+ static getInstance(): ModelHistoryPanel;
37
+ /**
38
+ * Initializes the ModelHistoryPanel with history archive received from ModelService.
39
+ * Called each time an `update_model_history` WebSocket message arrives.
40
+ *
41
+ * @param modelId The model identifier.
42
+ * @param historyArchive Map of ISO timestamps to blob keys.
43
+ * @param isServiceMode If true, disables and hides the history panel.
44
+ * @param isCheckedOut If true, the session is viewing a historical version.
45
+ * @param latestBlobKey The blob key of the latest model version (for Return to Latest).
46
+ */
47
+ initializeWithArchive(modelId: string, historyArchive?: Record<string, string>, isServiceMode?: boolean, isCheckedOut?: boolean, latestBlobKey?: string): Promise<void>;
48
+ private _build;
49
+ private _populateSelect;
50
+ private _showPanel;
51
+ private _hidePanel;
52
+ private _showEmptyState;
53
+ private _showVersionList;
54
+ private _enterCheckedOutMode;
55
+ private _exitCheckedOutMode;
56
+ private _toggleMenu;
57
+ private _openMenu;
58
+ private _closeMenu;
59
+ private _onCheckoutClicked;
60
+ private _onContinueClicked;
61
+ private _onReturnToLatestClicked;
62
+ private _getSortedVersions;
63
+ private _getSortedVersionsDesc;
64
+ private _formatTimestamp;
65
+ }
@@ -11,6 +11,9 @@ export interface PluginResponse extends Response {
11
11
  finished: boolean;
12
12
  message: string;
13
13
  event: string;
14
+ plugin_name?: string;
15
+ plugin_version?: string;
16
+ plugin_version_stamp?: string;
14
17
  }
15
18
  /**
16
19
  * Constructor for generic 3D editor.
@@ -62,6 +62,7 @@ export declare class StatusBar {
62
62
  private copyLogsButton;
63
63
  private closeLogsButton;
64
64
  private versionBadge;
65
+ private pluginVersionBadge;
65
66
  /**
66
67
  * Private constructor.
67
68
  */
@@ -71,6 +72,10 @@ export declare class StatusBar {
71
72
  * as a badge on the right end of the status bar.
72
73
  */
73
74
  private _fetchAndDisplayVersion;
75
+ /**
76
+ * Displays a plugin version badge in the status bar.
77
+ */
78
+ setPluginVersionStamp(pluginName: string, versionTimestamp: string): void;
74
79
  /**
75
80
  * Getter for singleton instance.
76
81
  */
@@ -32,6 +32,7 @@ export declare class TopoElement extends Shape {
32
32
  loadDefinitionUIDs: {};
33
33
  octrees: ElementOctree[];
34
34
  selectionOrder: number;
35
+ forceArrows: THREE.ArrowHelper[];
35
36
  constructor(shapeUID: number);
36
37
  private createElementVID;
37
38
  private createShapeVID;
@@ -53,4 +54,19 @@ export declare class TopoElement extends Shape {
53
54
  setTransparency(alpha: number): void;
54
55
  hide(): void;
55
56
  show(): void;
57
+ /**
58
+ * Place a 3D force-arrow at this element's centre of gravity.
59
+ * The arrow points in the direction of (fx, fy, fz) and is coloured
60
+ * with the supplied RGBA colour (components in 0–255 range).
61
+ * Multiple calls accumulate arrows; call hideForce() first to reset.
62
+ * @param fx Force component in X
63
+ * @param fy Force component in Y
64
+ * @param fz Force component in Z
65
+ * @param color RGBA colour as [r, g, b, a] in 0–255 range
66
+ */
67
+ showForce(fx: number, fy: number, fz: number, color: number[]): void;
68
+ /**
69
+ * Remove all force-arrows previously placed by showForce().
70
+ */
71
+ hideForce(): void;
56
72
  }
@@ -33,6 +33,7 @@ export declare class TopoNode extends Shape {
33
33
  loadDefinitionUIDs: {};
34
34
  octrees: NodeOctree[];
35
35
  selectionOrder: number;
36
+ forceArrows: THREE.ArrowHelper[];
36
37
  hiddenAdjacentElements: {
37
38
  length: number;
38
39
  };
@@ -55,4 +56,19 @@ export declare class TopoNode extends Shape {
55
56
  setTransparency(alpha: number): void;
56
57
  hide(): void;
57
58
  show(): void;
59
+ /**
60
+ * Place a 3D force-arrow at this node's position.
61
+ * The arrow points in the direction of (fx, fy, fz) and is coloured
62
+ * with the supplied RGBA colour (components in 0–255 range).
63
+ * Multiple calls accumulate arrows; call hideForce() first to reset.
64
+ * @param fx Force component in X
65
+ * @param fy Force component in Y
66
+ * @param fz Force component in Z
67
+ * @param color RGBA colour as [r, g, b, a] in 0–255 range
68
+ */
69
+ showForce(fx: number, fy: number, fz: number, color: number[]): void;
70
+ /**
71
+ * Remove all force-arrows previously placed by showForce().
72
+ */
73
+ hideForce(): void;
58
74
  }
@@ -28,6 +28,7 @@ export declare class GeomLoader {
28
28
  pickingVertexColor: number[];
29
29
  hashToVertex: {};
30
30
  counter: number;
31
+ maxVertexIndex: number;
31
32
  linePosition: number[];
32
33
  lineIndices: number[];
33
34
  lineColor: number[];
@@ -73,6 +74,7 @@ export declare class GeomLoader {
73
74
  vectorOctree: InstanceType<typeof ModelData.OctreeDataStructure.VectorOctree>;
74
75
  constructor(fileUrl: string);
75
76
  perform(itemName: string, itemUID: number, parentUID: number, /*shapeUID: number,*/ shapeType: ModelData.dataTypes): Promise<void>;
77
+ private getMaxVertexIndex;
76
78
  /**
77
79
  * Uj shape importalasakor szamol egy boundary-t az uj shape-nek es megnezi hogy ez a boundary teljes egeszeben benne van-e a root boundary-ben.
78
80
  * Ha nincs benne, akkor expand-olja akkorara, hogy beleferjen
@@ -29,6 +29,11 @@ export declare class SelectionInputField {
29
29
  private focusIn;
30
30
  private collectSelectedItems;
31
31
  private pressEscapeButton;
32
+ /**
33
+ * Programmatically sets the field value to the given UIDs.
34
+ * Fires a change event so any registered onChange handlers update.
35
+ */
36
+ setData(uids: number[]): void;
32
37
  validate(): boolean;
33
38
  }
34
39
  export {};
@@ -0,0 +1,45 @@
1
+ import { IViewerHtmlElement } from "../MainMenuComponents/HtmlElementInterface";
2
+ /**
3
+ * A dropdown component placed at the top of AnalysisTool operation panels.
4
+ * Lets the user choose to either create a new item (`--Create New--`) or
5
+ * update an existing file item from the relevant container.
6
+ *
7
+ * Usage:
8
+ * 1. Instantiate with a getter that returns the container UID at init-time.
9
+ * 2. Call `setParent()` to attach to the operation panel.
10
+ * 3. Call `init()` each time the panel is opened to refresh the option list.
11
+ * 4. Use `getSelectedUID()` to retrieve the selected item UID (null = create new).
12
+ */
13
+ export declare class TargetItemSelector implements IViewerHtmlElement {
14
+ private readonly dropdown;
15
+ private readonly containerUIDGetter;
16
+ private selectedUID;
17
+ private readonly onChangeCallback;
18
+ /**
19
+ * @param containerUIDGetter A function that returns the container's itemUID.
20
+ * Evaluated lazily so the container can be created
21
+ * after the UI panel is constructed.
22
+ * @param onChangeCallback Called whenever the selection changes.
23
+ * `isExisting` is true when an existing item is selected.
24
+ */
25
+ constructor(containerUIDGetter: () => number, onChangeCallback?: (isExisting: boolean, uid: number | null) => void);
26
+ /**
27
+ * Refreshes the dropdown with all children currently in the container.
28
+ * Must be called each time the operation panel is opened.
29
+ */
30
+ init(): void;
31
+ /**
32
+ * Returns the UID of the selected item, or null if --Create New-- is selected.
33
+ */
34
+ getSelectedUID(): number | null;
35
+ /**
36
+ * Returns true when --Create New-- is currently selected.
37
+ */
38
+ isCreateNew(): boolean;
39
+ getHtmlElement(): HTMLElement;
40
+ remove(): void;
41
+ setParent(parent: IViewerHtmlElement): void;
42
+ setHtmlParent(parent: HTMLElement): void;
43
+ setVisibility(isVisible: boolean): void;
44
+ reset(): void;
45
+ }
@@ -10,5 +10,4 @@ export declare class LoadAndBC {
10
10
  */
11
11
  process(response: {}): Promise<void>;
12
12
  update(response: {}): Promise<void>;
13
- append(response: {}): Promise<void>;
14
13
  }
@@ -10,5 +10,4 @@ export declare class Material {
10
10
  */
11
11
  process(response: {}): Promise<void>;
12
12
  update(response: {}): Promise<void>;
13
- append(response: {}): Promise<void>;
14
13
  }
@@ -10,5 +10,4 @@ export declare class Property {
10
10
  */
11
11
  process(response: {}): Promise<void>;
12
12
  update(response: {}): Promise<void>;
13
- append(response: {}): Promise<void>;
14
13
  }
@@ -25,6 +25,8 @@ export declare class SceneWrapper {
25
25
  render: any;
26
26
  renderer: any;
27
27
  labelRenderer2D: any;
28
+ labelRenderer3D: any;
29
+ directionalLight: THREE.DirectionalLight;
28
30
  camToStart_world: any;
29
31
  camToStart_world_unit: any;
30
32
  camToStart_local: any;
@@ -71,15 +73,16 @@ export declare class SceneWrapper {
71
73
  * @param grPrimitive
72
74
  * @param currentCamera
73
75
  * @param controls
74
- * @param render
75
76
  * @param renderer
76
77
  * @param labelRenderer2D
78
+ * @param labelRenderer3D
79
+ * @param directionalLight
77
80
  * @param camToStart_world
78
81
  * @param camToStart_world_unit
79
82
  * @param camToStart_local
80
83
  * @param camToStart_length
81
84
  */
82
- constructor(canvas: HTMLCanvasElement, height: any, width: any, scene: any, sceneObjects: {}, grMesh: any, grLine: any, grPoint: any, grLabel: any, grPushPin: THREE.Group, grPrimitive: any, currentCamera: any, controls: any, render: any, renderer: any, labelRenderer2D: any, camToStart_world: any, camToStart_world_unit: any, camToStart_local: any, camToStart_length: any, axisLeft: any, axisBottom: any);
85
+ constructor(canvas: HTMLCanvasElement, height: any, width: any, scene: any, sceneObjects: {}, grMesh: any, grLine: any, grPoint: any, grLabel: any, grPushPin: THREE.Group, grPrimitive: any, currentCamera: any, controls: any, renderer: any, labelRenderer2D: any, labelRenderer3D: any, directionalLight: THREE.DirectionalLight, camToStart_world: any, camToStart_world_unit: any, camToStart_local: any, camToStart_length: any, axisLeft: any, axisBottom: any);
83
86
  static getInstance(): SceneWrapper;
84
87
  setParentViewerWrapper: (viewerWrapper: Viewer3DWrapper) => void;
85
88
  getHeight: () => any;
@@ -108,8 +111,6 @@ export declare class SceneWrapper {
108
111
  setCurrentCamera: (currentCamera: any) => void;
109
112
  getControls: () => any;
110
113
  setControls: (controls: any) => void;
111
- getRender: () => any;
112
- setRender: (render: any) => void;
113
114
  getRenderer: () => any;
114
115
  setRenderer: (renderer: any) => void;
115
116
  getLabelRenderer2D: () => any;
@@ -53,7 +53,7 @@ export declare class Viewer3DWrapper {
53
53
  axisBottom: number;
54
54
  controls: any;
55
55
  ambientLight: any;
56
- directionalLight: any;
56
+ directionalLight: THREE.DirectionalLight;
57
57
  directionalLights: [{
58
58
  direction: any;
59
59
  color: any;
@@ -171,10 +171,6 @@ export declare class Viewer3DWrapper {
171
171
  */
172
172
  DefineAllTasks(): Promise<void>;
173
173
  animate(): void;
174
- /**
175
- * Public rendering method.
176
- */
177
- render(): void;
178
174
  /**
179
175
  *
180
176
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fcs-core-viewer",
3
- "version": "0.53.0",
3
+ "version": "0.55.0",
4
4
  "description": "3D Viewer in the Cloud",
5
5
  "author": {
6
6
  "name": "Femsolve Kft."