fcs-core-viewer 0.25.0 → 0.26.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 (29) hide show
  1. package/fcs-core-viewer@types/BackendEvents/BackendEvents.d.ts +5 -0
  2. package/fcs-core-viewer@types/CloudModelOperations/CAE/AnalysisTools/Request/CheckNormals.d.ts +10 -0
  3. package/fcs-core-viewer@types/CloudModelOperations/CAE/AnalysisTools/Request/CheckQuality2D.d.ts +4 -0
  4. package/fcs-core-viewer@types/CloudModelOperations/CAE/AnalysisTools/Request/Index.d.ts +4 -0
  5. package/fcs-core-viewer@types/CloudModelOperations/CAE/AnalysisTools/Response/CheckNormals.d.ts +6 -0
  6. package/fcs-core-viewer@types/CloudModelOperations/CAE/AnalysisTools/Response/Index.d.ts +2 -0
  7. package/fcs-core-viewer@types/CloudModelOperations/CAE/CreationTools_3D/Request/VolumeMesh.d.ts +1 -1
  8. package/fcs-core-viewer@types/CloudModelOperations/CAE/EditingTools/Response/ElementModels.d.ts +6 -0
  9. package/fcs-core-viewer@types/CloudModelOperations/CAE/EditingTools/Response/Index.d.ts +5 -0
  10. package/fcs-core-viewer@types/CloudModelOperations/OperationCollection.d.ts +1 -0
  11. package/fcs-core-viewer@types/CloudModelOperations/Visualization/Response/Color.d.ts +46 -8
  12. package/fcs-core-viewer@types/DataStorage/ModelData/Containers/ElementContainer.d.ts +4 -1
  13. package/fcs-core-viewer@types/DataStorage/ModelData/GPUPicking/GPUPicking.d.ts +7 -0
  14. package/fcs-core-viewer@types/DataStorage/ModelData/Shapes/TopoElement.d.ts +1 -0
  15. package/fcs-core-viewer@types/DataStorage/ViewerData.d.ts +2 -0
  16. package/fcs-core-viewer@types/StyleHandler/MainMenuStyle.d.ts +1 -1
  17. package/fcs-core-viewer@types/UserInterface/UIComponents/Legend/Legend.d.ts +11 -5
  18. package/fcs-core-viewer@types/UserInterface/UIComponents/MainMenu/BuildingBlocks/MainMenuComponents/ToolsetPanel.d.ts +4 -0
  19. package/fcs-core-viewer@types/UserInterface/UIComponents/MainMenu/BuildingBlocks/OperationPanelComponents/InputField.d.ts +6 -2
  20. package/fcs-core-viewer@types/UserInterface/UIComponents/MainMenu/BuildingBlocks/OperationPanelComponents/LabeledInputField.d.ts +1 -1
  21. package/fcs-core-viewer@types/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/CheckNormals.d.ts +56 -0
  22. package/fcs-core-viewer@types/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/CheckQuality2D.d.ts +58 -0
  23. package/fcs-core-viewer@types/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/Index.d.ts +9 -0
  24. package/fcs-core-viewer@types/UserInterface/UIComponents/MainMenu/UserInterfaces/IMethodGroup.d.ts +4 -0
  25. package/fcs-core-viewer@types/UserInterface/UIComponents/TreeView/Operations/Edit/{SetColorOperation.d.ts → SetColorByModelOperation.d.ts} +2 -2
  26. package/fcs-core-viewer@types/UserInterface/UIComponents/TreeView/Operations/Edit/SetColorByNormalOperation.d.ts +45 -0
  27. package/fcs-core-viewer@types/UserInterface/UIComponents/TreeView/Operations/Edit/SetColorByQualityOperation.d.ts +45 -0
  28. package/package.json +1 -1
  29. package/fcs-core-viewer@types/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/AnalysisTools.d.ts +0 -7
@@ -181,6 +181,11 @@ export declare class BackendEvents implements IBackendEvents {
181
181
  */
182
182
  set_transparency(instructions: BackendInstructions): TaskExecutionResponse | "Finished: set_transparency";
183
183
  set_instance_visibility(instructions: BackendInstructions): Promise<TaskExecutionResponse>;
184
+ /**
185
+ * Overrides mesh element models from default.
186
+ * @param instructions
187
+ */
188
+ set_element_models(instructions: BackendInstructions): Promise<TaskExecutionResponse>;
184
189
  /**
185
190
  * Saves the currently active model's path, it will mark it as saveable.
186
191
  * ToDo: For any other changes that were not committed to, we will need to
@@ -0,0 +1,10 @@
1
+ export declare class CheckNormals {
2
+ data: {};
3
+ elementUIDs: number[];
4
+ showNormalsByColors: boolean;
5
+ showNormalsByVectors: boolean;
6
+ vectorSize: number;
7
+ constructor(data: {});
8
+ static perform(): Promise<void>;
9
+ reverse(): Promise<boolean>;
10
+ }
@@ -0,0 +1,4 @@
1
+ export declare class CheckQuality2D {
2
+ constructor();
3
+ perform(data: {}): Promise<void>;
4
+ }
@@ -1,5 +1,9 @@
1
1
  import * as FreeEdges from "./FreeEdges";
2
+ import * as CheckNormals from "./CheckNormals";
3
+ import * as CheckQuality2D from "./CheckQuality2D";
2
4
  declare const Request_CAE_AnalysisTools: {
5
+ CheckQuality2D: typeof CheckQuality2D.CheckQuality2D;
6
+ CheckNormals: typeof CheckNormals.CheckNormals;
3
7
  FreeEdges: typeof FreeEdges.FreeEdges;
4
8
  };
5
9
  export { Request_CAE_AnalysisTools };
@@ -0,0 +1,6 @@
1
+ import { TaskResponse } from '../../../../Common/CommsChannels/BackendClient';
2
+ export declare class CheckNormals {
3
+ elementUIDs: number[];
4
+ constructor();
5
+ process(response: TaskResponse): Promise<boolean>;
6
+ }
@@ -1,5 +1,7 @@
1
1
  import * as FreeEdges from "./FreeEdges";
2
+ import * as CheckNormals from "./CheckNormals";
2
3
  declare const Response_CAE_AnalysisTools: {
4
+ CheckNormals: typeof CheckNormals.CheckNormals;
3
5
  FreeEdges: typeof FreeEdges.FreeEdges;
4
6
  };
5
7
  export { Response_CAE_AnalysisTools };
@@ -1,5 +1,5 @@
1
1
  export declare class Generate3DMeshFromBoundary {
2
- shapeUIDs: number[];
2
+ elementUIDs: number[];
3
3
  elementSize: number;
4
4
  elementOrder: number;
5
5
  constructor(data: {});
@@ -0,0 +1,6 @@
1
+ export declare class ElementModels {
2
+ elementIDs: number[];
3
+ elementModels: number[];
4
+ constructor(elementIDs: number[], elementModels: number[]);
5
+ perform(): Promise<void>;
6
+ }
@@ -0,0 +1,5 @@
1
+ import * as ElementModels from "./ElementModels";
2
+ declare const Response_CAE_EditingTools: {
3
+ ElementModels: typeof ElementModels.ElementModels;
4
+ };
5
+ export { Response_CAE_EditingTools };
@@ -87,6 +87,7 @@ export declare enum OperationToId {
87
87
  CAE_EditingTools_CutPasteElements = 3311,
88
88
  CAE_EditingTools_MergeNodes = 3320,
89
89
  CAE_EditingTools_MergeElements = 3321,
90
+ CAE_EditingTools_FlipNormals = 3330,
90
91
  CAE_EditingTools_MeshSetOperation = 3340,
91
92
  /**
92
93
  * CAE - Analysis Tools - 34xx
@@ -1,10 +1,48 @@
1
1
  import * as THREE from "../../../three/build/three.module";
2
- export declare class SetColor {
3
- uniqueID_To_Instance: {};
4
- scene: THREE.Scene;
5
- currentCamera: THREE.OrthographicCamera;
6
- renderer: THREE.WebGLRenderer;
7
- constructor();
8
- process(entityUIDs: number[], colorData?: [number, number, number, number]): void;
9
- private updateColorAttributes;
2
+ export declare namespace SetColor {
3
+ class SetColorByModel {
4
+ uniqueID_To_Instance: {};
5
+ scene: THREE.Scene;
6
+ currentCamera: THREE.OrthographicCamera;
7
+ renderer: THREE.WebGLRenderer;
8
+ constructor();
9
+ /**
10
+ * Set color of selected entities
11
+ */
12
+ process(entityUIDs: number[], colorData?: number[]): void;
13
+ /**
14
+ * Entities are highlighted based on the color attribute
15
+ */
16
+ set(): void;
17
+ }
18
+ class SetColorByQuality {
19
+ scene: THREE.Scene;
20
+ currentCamera: THREE.OrthographicCamera;
21
+ renderer: THREE.WebGLRenderer;
22
+ constructor();
23
+ /**
24
+ * Update color of elements of bad quality
25
+ */
26
+ process(): void;
27
+ update(qualityMeasure: number, elementIDs: number[]): void;
28
+ /**
29
+ * Entities are highlighted based on the quality attribute
30
+ */
31
+ set(): void;
32
+ }
33
+ class SetColorByNormals {
34
+ scene: THREE.Scene;
35
+ currentCamera: THREE.OrthographicCamera;
36
+ renderer: THREE.WebGLRenderer;
37
+ constructor();
38
+ /**
39
+ * Update color of top and bottom faces
40
+ */
41
+ process(): void;
42
+ /**
43
+ * Entities are highlighted based on the 2D element normals (front- and backFaces)
44
+ */
45
+ set(): Promise<void>;
46
+ }
47
+ function updateColorAttributes(): void;
10
48
  }
@@ -10,18 +10,21 @@ export declare class ElementContainer {
10
10
  sharedPickingColorBuffer: ArrayBuffer;
11
11
  sharedIsVisibleBuffer: ArrayBuffer;
12
12
  sharedIsSelectedBuffer: ArrayBuffer;
13
+ sharedQualityBuffer: ArrayBuffer;
13
14
  sharedPositionArray: Float32Array;
14
15
  sharedColorArray: Float32Array;
15
16
  sharedPickingColorArray: Float32Array;
16
17
  sharedIsVisibleArray: Float32Array;
17
18
  sharedIsSelectedArray: Float32Array;
19
+ sharedQualityArray: Float32Array;
18
20
  controls: THREE.TrackballControls;
19
21
  constructor(elementMaterial: THREE.ShaderMaterial);
20
22
  static getInstance(): ElementContainer;
21
23
  updatePositionAttribute(): void;
22
- updateIsSelectedAttribute(): void;
23
24
  updateColorAttribute(): void;
24
25
  updateIsVisibleAttribute(): void;
26
+ updateIsSelectedAttribute(): void;
27
+ updateQualityAttribute(): void;
25
28
  private createContainer;
26
29
  addElementToScene(data: {}): void;
27
30
  }
@@ -118,6 +118,9 @@ export declare class GPUNodePicking extends GPUPicking<GPUPickingType.Node> {
118
118
  isElement2DVisible: number;
119
119
  isBorderVisible: number;
120
120
  isNodeVisible: number;
121
+ isNodeTransparent: boolean;
122
+ isElement2DTransparent: boolean;
123
+ isElement3DTransparent: boolean;
121
124
  constructor();
122
125
  reset(): void;
123
126
  getEntity(hash: string): void;
@@ -141,6 +144,10 @@ export declare class GPUElementPicking extends GPUPicking<GPUPickingType.Element
141
144
  isElement3DVisible: number;
142
145
  isBorderVisible: number;
143
146
  isNodeVisible: number;
147
+ isElement0DTransparent: boolean;
148
+ isElement1DTransparent: boolean;
149
+ isElement2DTransparent: boolean;
150
+ isElement3DTransparent: boolean;
144
151
  constructor();
145
152
  reset(): void;
146
153
  getEntity(hash: string): void;
@@ -45,6 +45,7 @@ export declare class TopoElement extends Shape {
45
45
  */
46
46
  highlight(): void;
47
47
  unhighlight(): void;
48
+ setQuality(qualityMeasure: number): void;
48
49
  setColor(colorData: any[]): void;
49
50
  setTransparency(alpha: number): void;
50
51
  hide(): void;
@@ -80,6 +80,8 @@ export declare class ViewerData {
80
80
  };
81
81
  analysisTools: {
82
82
  freeEdges: any[];
83
+ checkNormals: any[];
84
+ checkQuality: any[];
83
85
  };
84
86
  };
85
87
  };
@@ -29,7 +29,7 @@ export declare class MainMenuStyle {
29
29
  setScaleContainerStyle(scaleContainer: HTMLElement): void;
30
30
  setValueContainerStyle(valueContainer: HTMLElement, config: LegendConfig): void;
31
31
  setColorBoxStyle(colorBox: HTMLElement, config: LegendConfig, color: string): void;
32
- setLabelStyle(label: HTMLElement, config: LegendConfig, reversedIntervals: number[], index: number): void;
32
+ setLabelStyle(label: HTMLElement, config: LegendConfig, labels: any[], index: number): void;
33
33
  setMinLabelContainerStyle(label: HTMLElement): void;
34
34
  setLegendParentStyle(parent: HTMLElement, config: LegendConfig): void;
35
35
  }
@@ -1,12 +1,17 @@
1
1
  import { IViewerHtmlElement } from "../MainMenu/BuildingBlocks/MainMenuComponents/HtmlElementInterface";
2
2
  export interface LegendConfig {
3
3
  title: string;
4
- minValue: number;
5
- maxValue: number;
6
- numberOfIntervals: number;
4
+ minValue?: number;
5
+ maxValue?: number;
6
+ numberOfIntervals?: number;
7
7
  config?: {
8
8
  type: "interpolated" | "discrete";
9
9
  colors?: string[];
10
+ labels?: string[];
11
+ offset?: {
12
+ left: number;
13
+ top: number;
14
+ };
10
15
  };
11
16
  styles?: {
12
17
  width?: string;
@@ -20,7 +25,7 @@ export interface LegendConfig {
20
25
  export declare class Legend implements IViewerHtmlElement {
21
26
  private readonly element;
22
27
  private parent;
23
- private intervals;
28
+ private labels;
24
29
  private mainStyles;
25
30
  /**
26
31
  * Singleton instance
@@ -31,8 +36,9 @@ export declare class Legend implements IViewerHtmlElement {
31
36
  * Getter for singleton instance.
32
37
  */
33
38
  static getInstance(): Legend;
34
- tryShow(config: LegendConfig): boolean;
39
+ show(config: LegendConfig): boolean;
35
40
  hide(): void;
41
+ private generateLabels;
36
42
  private generateColors;
37
43
  private interpolateColor;
38
44
  getHtmlElement(): HTMLElement;
@@ -13,6 +13,8 @@ export declare class ToolsetPanel implements IViewerHtmlElement, IMethodGroup {
13
13
  private panels;
14
14
  private createdContainers;
15
15
  private operation;
16
+ private operationUI;
17
+ private operationsPanel;
16
18
  private openedPanelWithButton;
17
19
  constructor(title: string);
18
20
  onToggle(): void;
@@ -33,5 +35,7 @@ export declare class ToolsetPanel implements IViewerHtmlElement, IMethodGroup {
33
35
  addButton_FileBrowser(labelConfig?: LabelConfig, onChangeHandler?: (file: FileList) => void): void;
34
36
  addParagraph(text: string, styles: Partial<CSSStyleDeclaration>): void;
35
37
  addOperation(operation: any): void;
38
+ addOperationUI(operationUI: any): void;
39
+ addOperationsPanel(operationsPanel: any): void;
36
40
  addButtonGroup(groupName: string): IButtonGroup;
37
41
  }
@@ -1,22 +1,26 @@
1
1
  import { IViewerHtmlElement } from "../MainMenuComponents/HtmlElementInterface";
2
2
  export type InputType = 'number' | 'text' | 'file' | 'color' | "range" | 'checkbox';
3
3
  export type InputConfig = {
4
+ id?: string | number;
4
5
  initialValue?: string;
6
+ initialState?: boolean;
5
7
  type?: InputType;
6
- onChange?: (val: string | FileList | boolean) => void;
8
+ onChange?: (val: string | FileList | boolean, id?: string | number) => void;
7
9
  className?: string;
8
10
  };
9
11
  export declare class InputField implements IViewerHtmlElement {
10
12
  private readonly id;
11
13
  private readonly input;
14
+ type: string;
12
15
  constructor(config: InputConfig);
13
16
  getHtmlElement(): HTMLInputElement;
14
17
  remove(): void;
15
18
  setHtmlParent(parent: HTMLElement): void;
16
19
  setParent(parent: IViewerHtmlElement): void;
17
- init(): void;
20
+ init(state?: boolean, initialValue?: string): void;
18
21
  reset(): void;
19
22
  setValue(value: string): void;
23
+ setState(isChecked: boolean): void;
20
24
  getState(): boolean;
21
25
  getData(): string;
22
26
  }
@@ -18,7 +18,7 @@ export declare class LabeledInputField implements IViewerHtmlElement {
18
18
  remove(): void;
19
19
  setHtmlParent(parent: HTMLElement): void;
20
20
  setParent(parent: IViewerHtmlElement): void;
21
- init(): void;
21
+ init(state?: boolean): void;
22
22
  reset(): void;
23
23
  setValue(value: string): void;
24
24
  getState(): boolean;
@@ -0,0 +1,56 @@
1
+ import { Operation } from "../../../BuildingBlocks/MainMenuComponents/Operation";
2
+ type OnShowHandler = () => Promise<void>;
3
+ type OnReverseHandler = (data: {}) => Promise<boolean>;
4
+ type OnHideHandler = () => void;
5
+ export declare class CheckNormals extends Operation {
6
+ private sceneWrapper;
7
+ private entityDropDownMenu;
8
+ private vectorSizeInput;
9
+ private vectorSize;
10
+ private isDisplayNormalsByColorInput;
11
+ private isDisplayNormalsByVectorInput;
12
+ private isDisplayNormalsByColor;
13
+ private isDisplayNormalsByVector;
14
+ private readonly onShowHandler;
15
+ private readonly onReverseHandler;
16
+ private readonly onHideHandler;
17
+ private readonly buttonsContainer;
18
+ private availableEntities;
19
+ private entity;
20
+ private selectionData;
21
+ constructor(onShow?: OnShowHandler, onReverse?: OnReverseHandler, onHide?: OnHideHandler);
22
+ private setEnabledEntity;
23
+ private setActiveButton;
24
+ /**
25
+ * Add entity button
26
+ */
27
+ private addEntityButton;
28
+ private addFields;
29
+ private addCheckmarks;
30
+ /**
31
+ * Add action buttons (-> Preview, Accept, Reject)
32
+ */
33
+ private addActionButtons;
34
+ /**
35
+ * Create dropdown list for entityButton
36
+ */
37
+ private createDropdownListItems;
38
+ /**
39
+ * Initializes uiComponents on opening the operationUI
40
+ */
41
+ init(): void;
42
+ /**
43
+ * Unselects all entities and tree items
44
+ */
45
+ unselect(): void;
46
+ /**
47
+ * Resets the gui elements (fields, entity buttons, dropdown buttons ... to default)
48
+ */
49
+ reset(): void;
50
+ onShow(): Promise<void>;
51
+ /**
52
+ * Extracts the selected entities from dict 'selected' and starts the attached task
53
+ */
54
+ private onReverse;
55
+ }
56
+ export {};
@@ -0,0 +1,58 @@
1
+ import { Operation } from "../../../BuildingBlocks/MainMenuComponents/Operation";
2
+ import { Button } from "../../../BuildingBlocks/OperationPanelComponents/Button";
3
+ import { LabeledInputField } from "../../../BuildingBlocks/OperationPanelComponents/LabeledInputField";
4
+ type OnSetHandler = (data: {}) => void;
5
+ type OnReverseHandler = () => void;
6
+ type OnHideHandler = () => void;
7
+ export declare class CheckQuality2D extends Operation {
8
+ private sceneWrapper;
9
+ private entityDropDownMenu;
10
+ private qualityInput;
11
+ private label;
12
+ private isDisplayNormalsByColorInput;
13
+ private isDisplayNormalsByVectorInput;
14
+ private isDisplayNormalsByColor;
15
+ private isDisplayNormalsByVector;
16
+ private readonly onSetHandler;
17
+ private readonly onReverseHandler;
18
+ private readonly onHideHandler;
19
+ private readonly buttonsContainer;
20
+ private readonly qualityContainer;
21
+ private availableEntities;
22
+ private entity;
23
+ private selectionData;
24
+ qualityCriteria: {
25
+ [key: number]: {
26
+ qButton: Button;
27
+ qInputField: LabeledInputField;
28
+ relation: string;
29
+ value: number;
30
+ name: string;
31
+ };
32
+ };
33
+ qualityMeasure: number;
34
+ constructor(onSet?: OnSetHandler, onReverse?: OnReverseHandler, onHide?: OnHideHandler);
35
+ private addQualityCriteria;
36
+ /**
37
+ * Add action buttons (-> Preview, Accept, Reject)
38
+ */
39
+ private addActionButtons;
40
+ /**
41
+ * Initializes uiComponents on opening the operationUI
42
+ */
43
+ init(): void;
44
+ /**
45
+ * Unselects all entities and tree items
46
+ */
47
+ unselect(): void;
48
+ /**
49
+ * Resets the gui elements (fields, entity buttons, dropdown buttons ... to default)
50
+ */
51
+ reset(): void;
52
+ onSet(qualityMeasure: number): void;
53
+ /**
54
+ * Show only bad shaped elements.
55
+ */
56
+ private onShowOnly;
57
+ }
58
+ export {};
@@ -0,0 +1,9 @@
1
+ import * as FreeEdges from './FreeEdges/FreeEdgesByElements';
2
+ import * as CheckNormals from './CheckNormals';
3
+ import * as CheckQuality2D from './CheckQuality2D';
4
+ declare const AnalysisTools: {
5
+ CheckQuality2D: typeof CheckQuality2D.CheckQuality2D;
6
+ CheckNormals: typeof CheckNormals.CheckNormals;
7
+ FreeEdgesByElements: typeof FreeEdges.FreeEdgesByElements;
8
+ };
9
+ export { AnalysisTools };
@@ -1,6 +1,8 @@
1
1
  import { IButtonGroup } from "./IButtonGroup";
2
2
  import { LabelConfig } from "../BuildingBlocks/OperationPanelComponents/Label";
3
3
  import { Operation } from "../BuildingBlocks/MainMenuComponents/Operation";
4
+ import { OperationUI } from "../BuildingBlocks/MainMenuComponents/OperationUI";
5
+ import { OperationsPanel } from "../BuildingBlocks/MainMenuComponents/OperationsPanel";
4
6
  export interface IMethodGroup {
5
7
  addButtonGroup(groupName: string): IButtonGroup;
6
8
  addPrimaryButton(title: string, callback?: () => void, styles?: Partial<CSSStyleDeclaration>, container?: HTMLElement): void;
@@ -8,4 +10,6 @@ export interface IMethodGroup {
8
10
  addButton_FileBrowser: (labelConfig?: LabelConfig, onChangeHandler?: (files: FileList) => void) => void;
9
11
  addParagraph: (text: string, styles?: Partial<CSSStyleDeclaration>) => void;
10
12
  addOperation: (operation: Operation) => void;
13
+ addOperationUI: (operationUI: OperationUI) => void;
14
+ addOperationsPanel: (operationsPanel: OperationsPanel) => void;
11
15
  }
@@ -1,7 +1,7 @@
1
1
  import { Operation } from "../../../MainMenu/BuildingBlocks/MainMenuComponents/Operation";
2
- export type OnPreviewHandler = (entityUIDs: number[]) => void;
2
+ export type OnPreviewHandler = () => void;
3
3
  export type OnAcceptHandlerColor = (entityUIDs: number[], colorData: number[]) => void;
4
- export declare class SetColorOperation extends Operation {
4
+ export declare class SetColorByModelOperation extends Operation {
5
5
  private readonly onPreviewHandler;
6
6
  private readonly onAcceptHandler;
7
7
  private readonly buttonsContainer;
@@ -0,0 +1,45 @@
1
+ import { Operation } from "../../../MainMenu/BuildingBlocks/MainMenuComponents/Operation";
2
+ import { InputField } from "../../../MainMenu/BuildingBlocks/OperationPanelComponents/InputField";
3
+ export type OnSetHandler = () => void;
4
+ export type OnAcceptHandlerColor = () => void;
5
+ export declare class SetColorByNormalsOperation extends Operation {
6
+ private readonly onSetHandler;
7
+ private readonly onAcceptHandler;
8
+ private readonly buttonsContainer;
9
+ private textColorPickerContainer;
10
+ private colorPickerWrapper;
11
+ private color;
12
+ private pColor;
13
+ colorPickers: {
14
+ [key: number]: {
15
+ colorPicker: InputField;
16
+ name: string;
17
+ color: string;
18
+ };
19
+ };
20
+ elementSide: number;
21
+ constructor(onSet?: OnSetHandler, onAccept?: OnAcceptHandlerColor);
22
+ private buildColorTable;
23
+ private onChangeColorHandler;
24
+ /**
25
+ * Add action buttons (-> Preview, Accept, Reject)
26
+ */
27
+ private addActionButtons;
28
+ /**
29
+ * Highlight elements' front- and back faces by normals
30
+ */
31
+ private onSet;
32
+ /**
33
+ * Accept thre selected colors for front- and back faces and highlight normals by colors
34
+ */
35
+ private onAccept;
36
+ private hexToRGBA;
37
+ /**
38
+ * Initializes uiComponents on opening the operationUI
39
+ */
40
+ init(): void;
41
+ /**
42
+ * Unselects all entities and tree items
43
+ */
44
+ reset(): void;
45
+ }
@@ -0,0 +1,45 @@
1
+ import { Operation } from "../../../MainMenu/BuildingBlocks/MainMenuComponents/Operation";
2
+ import { InputField } from "../../../MainMenu/BuildingBlocks/OperationPanelComponents/InputField";
3
+ export type OnSetHandler = () => void;
4
+ export type OnAcceptHandlerColor = () => void;
5
+ export declare class SetColorByQualityOperation extends Operation {
6
+ private readonly onSetHandler;
7
+ private readonly onAcceptHandler;
8
+ private readonly buttonsContainer;
9
+ private textColorPickerContainer;
10
+ private colorPickerWrapper;
11
+ private color;
12
+ private pColor;
13
+ colorPickers: {
14
+ [key: number]: {
15
+ colorPicker: InputField;
16
+ name: string;
17
+ color: string;
18
+ };
19
+ };
20
+ qualityMeasure: number;
21
+ constructor(onSet?: OnSetHandler, onAccept?: OnAcceptHandlerColor);
22
+ private buildColorTable;
23
+ private onChangeColorHandler;
24
+ /**
25
+ * Add action buttons (-> Preview, Accept, Reject)
26
+ */
27
+ private addActionButtons;
28
+ /**
29
+ * Highlight elements' front- and back faces by normals
30
+ */
31
+ private onSet;
32
+ /**
33
+ * Accept thre selected colors for front- and back faces and highlight normals by colors
34
+ */
35
+ private onAccept;
36
+ private hexToRGBA;
37
+ /**
38
+ * Initializes uiComponents on opening the operationUI
39
+ */
40
+ init(): void;
41
+ /**
42
+ * Unselects all entities and tree items
43
+ */
44
+ reset(): void;
45
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fcs-core-viewer",
3
- "version": "0.25.0",
3
+ "version": "0.26.0",
4
4
  "description": "3D Viewer in the Cloud",
5
5
  "author": {
6
6
  "name": "Femsolve Kft."
@@ -1,7 +0,0 @@
1
- import { FreeEdgesByElements } from "./FreeEdges/FreeEdgesByElements";
2
- export declare namespace AnalysisTools {
3
- namespace FreeEdges {
4
- class ByElements extends FreeEdgesByElements {
5
- }
6
- }
7
- }