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.
- package/fcs-core-viewer@types/BackendEvents/BackendEvents.d.ts +5 -0
- package/fcs-core-viewer@types/CloudModelOperations/CAE/AnalysisTools/Request/CheckNormals.d.ts +10 -0
- package/fcs-core-viewer@types/CloudModelOperations/CAE/AnalysisTools/Request/CheckQuality2D.d.ts +4 -0
- package/fcs-core-viewer@types/CloudModelOperations/CAE/AnalysisTools/Request/Index.d.ts +4 -0
- package/fcs-core-viewer@types/CloudModelOperations/CAE/AnalysisTools/Response/CheckNormals.d.ts +6 -0
- package/fcs-core-viewer@types/CloudModelOperations/CAE/AnalysisTools/Response/Index.d.ts +2 -0
- package/fcs-core-viewer@types/CloudModelOperations/CAE/CreationTools_3D/Request/VolumeMesh.d.ts +1 -1
- package/fcs-core-viewer@types/CloudModelOperations/CAE/EditingTools/Response/ElementModels.d.ts +6 -0
- package/fcs-core-viewer@types/CloudModelOperations/CAE/EditingTools/Response/Index.d.ts +5 -0
- package/fcs-core-viewer@types/CloudModelOperations/OperationCollection.d.ts +1 -0
- package/fcs-core-viewer@types/CloudModelOperations/Visualization/Response/Color.d.ts +46 -8
- package/fcs-core-viewer@types/DataStorage/ModelData/Containers/ElementContainer.d.ts +4 -1
- package/fcs-core-viewer@types/DataStorage/ModelData/GPUPicking/GPUPicking.d.ts +7 -0
- package/fcs-core-viewer@types/DataStorage/ModelData/Shapes/TopoElement.d.ts +1 -0
- package/fcs-core-viewer@types/DataStorage/ViewerData.d.ts +2 -0
- package/fcs-core-viewer@types/StyleHandler/MainMenuStyle.d.ts +1 -1
- package/fcs-core-viewer@types/UserInterface/UIComponents/Legend/Legend.d.ts +11 -5
- package/fcs-core-viewer@types/UserInterface/UIComponents/MainMenu/BuildingBlocks/MainMenuComponents/ToolsetPanel.d.ts +4 -0
- package/fcs-core-viewer@types/UserInterface/UIComponents/MainMenu/BuildingBlocks/OperationPanelComponents/InputField.d.ts +6 -2
- package/fcs-core-viewer@types/UserInterface/UIComponents/MainMenu/BuildingBlocks/OperationPanelComponents/LabeledInputField.d.ts +1 -1
- package/fcs-core-viewer@types/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/CheckNormals.d.ts +56 -0
- package/fcs-core-viewer@types/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/CheckQuality2D.d.ts +58 -0
- package/fcs-core-viewer@types/UserInterface/UIComponents/MainMenu/Operations/CAE/AnalysisTools/Index.d.ts +9 -0
- package/fcs-core-viewer@types/UserInterface/UIComponents/MainMenu/UserInterfaces/IMethodGroup.d.ts +4 -0
- package/fcs-core-viewer@types/UserInterface/UIComponents/TreeView/Operations/Edit/{SetColorOperation.d.ts → SetColorByModelOperation.d.ts} +2 -2
- package/fcs-core-viewer@types/UserInterface/UIComponents/TreeView/Operations/Edit/SetColorByNormalOperation.d.ts +45 -0
- package/fcs-core-viewer@types/UserInterface/UIComponents/TreeView/Operations/Edit/SetColorByQualityOperation.d.ts +45 -0
- package/package.json +1 -1
- 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
|
|
@@ -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 };
|
|
@@ -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 };
|
|
@@ -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
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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;
|
|
@@ -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,
|
|
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
|
|
5
|
-
maxValue
|
|
6
|
-
numberOfIntervals
|
|
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
|
|
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
|
-
|
|
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 };
|
package/fcs-core-viewer@types/UserInterface/UIComponents/MainMenu/UserInterfaces/IMethodGroup.d.ts
CHANGED
|
@@ -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 = (
|
|
2
|
+
export type OnPreviewHandler = () => void;
|
|
3
3
|
export type OnAcceptHandlerColor = (entityUIDs: number[], colorData: number[]) => void;
|
|
4
|
-
export declare class
|
|
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