-
Notifications
You must be signed in to change notification settings - Fork 9
/
Geometry.js
48 lines (44 loc) · 1.73 KB
/
Geometry.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import CollapsibleElement from 'paraviewweb/src/React/Widgets/CollapsibleWidget';
import CompositeControl from 'paraviewweb/src/React/Widgets/CompositePipelineWidget';
import CompositePipelineModel from 'paraviewweb/src/Common/State/PipelineState';
import contains from 'mout/src/array/contains';
import GeometryBuilder from 'paraviewweb/src/Rendering/Geometry/ThreeGeometryBuilder';
import GeometryDataModel from 'paraviewweb/src/IO/Core/GeometryDataModel';
import LookupTableManagerWidget from 'paraviewweb/src/React/CollapsibleControls/LookupTableManagerControl';
import QueryDataModelWithExplorationWidget from 'paraviewweb/src/React/CollapsibleControls/QueryDataModelControl';
import React from 'react';
export default function build({ basepath, viewer, dataType }) {
// Can we handle the data
if (!contains(dataType, 'geometry')) {
return false;
}
const pipelineModel = new CompositePipelineModel(
viewer.queryDataModel.originalData
);
const geometryDataModel = new GeometryDataModel(basepath);
const lutMgr = viewer.config.lookupTableManager;
viewer.ui = 'GeometryViewer';
viewer.allowMagicLens = false;
viewer.geometryBuilder = new GeometryBuilder(
lutMgr,
geometryDataModel,
pipelineModel,
viewer.queryDataModel
);
viewer.menuAddOn = [
<LookupTableManagerWidget
key="LookupTableManagerWidget"
field={lutMgr.getActiveField()}
lookupTableManager={lutMgr}
/>,
<CollapsibleElement title="Pipeline" key="CompositeControl_parent">
<CompositeControl key="CompositeControl" model={pipelineModel} />
</CollapsibleElement>,
<QueryDataModelWithExplorationWidget
key="QueryDataModel"
handleExploration
model={viewer.queryDataModel}
/>,
];
return true;
}