Skip to content

Commit 5c00c17

Browse files
committed
docs(examples): remove useless paraview.web.venv import
1 parent adfd845 commit 5c00c17

2 files changed

Lines changed: 107 additions & 89 deletions

File tree

05_paraview/SimpleCone.py

Lines changed: 56 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,86 @@
1-
import paraview.web.venv # Available in PV 5.10
2-
3-
from trame.app import get_server
4-
from trame.widgets import vuetify3, paraview
1+
from trame.app import TrameApp
52
from trame.ui.vuetify3 import SinglePageLayout
3+
from trame.widgets import vuetify3 as v3
4+
from trame.widgets import paraview
5+
from trame.decorators import change
66

77
from paraview import simple
88

99
# -----------------------------------------------------------------------------
1010
# trame setup
1111
# -----------------------------------------------------------------------------
1212

13-
server = get_server()
14-
state, ctrl = server.state, server.controller
13+
class ConeApp(TrameApp):
14+
def __init__(self, server=None):
15+
super().__init__(server)
16+
self._init_paraview()
17+
self._build_ui()
1518

1619
# -----------------------------------------------------------------------------
1720
# ParaView code
1821
# -----------------------------------------------------------------------------
1922

20-
DEFAULT_RESOLUTION = 6
23+
def _init_paraview(self):
24+
self.DEFAULT_RESOLUTION = 6
2125

22-
cone = simple.Cone()
23-
representation = simple.Show(cone)
24-
view = simple.Render()
26+
self.cone = simple.Cone()
27+
self.representation = simple.Show(self.cone)
28+
self.view = simple.Render()
2529

2630

27-
@state.change("resolution")
28-
def update_cone(resolution, **kwargs):
29-
cone.Resolution = resolution
30-
ctrl.view_update()
31+
@change("resolution")
32+
def update_cone(self, resolution, **kwargs):
33+
self.cone.Resolution = resolution
34+
self.ctrl.view_update()
3135

3236

33-
def update_reset_resolution():
34-
state.resolution = DEFAULT_RESOLUTION
37+
def update_reset_resolution(self):
38+
self.state.resolution = self.DEFAULT_RESOLUTION
3539

3640

3741
# -----------------------------------------------------------------------------
3842
# GUI
3943
# -----------------------------------------------------------------------------
4044

41-
state.trame__title = "ParaView cone"
42-
43-
with SinglePageLayout(server) as layout:
44-
layout.icon.click = ctrl.view_reset_camera
45-
layout.title.set_text("Cone Application")
46-
47-
with layout.toolbar:
48-
vuetify3.VSpacer()
49-
vuetify3.VSlider(
50-
v_model=("resolution", DEFAULT_RESOLUTION),
51-
min=3,
52-
max=60,
53-
step=1,
54-
hide_details=True,
55-
dense=True,
56-
style="max-width: 300px",
57-
)
58-
vuetify3.VDivider(vertical=True, classes="mx-2")
59-
with vuetify3.VBtn(icon=True, click=update_reset_resolution):
60-
vuetify3.VIcon("mdi-undo-variant")
61-
62-
with layout.content:
63-
with vuetify3.VContainer(
64-
fluid=True,
65-
classes="pa-0 fill-height",
66-
):
67-
html_view = paraview.VtkRemoteView(view)
68-
# html_view = paraview.VtkLocalView(view)
69-
ctrl.view_update = html_view.update
70-
ctrl.view_reset_camera = html_view.reset_camera
45+
def _build_ui(self):
46+
self.state.trame__title = "ParaView cone"
47+
48+
with SinglePageLayout(self.server) as self.ui:
49+
self.ui.icon.click = self.ctrl.view_reset_camera
50+
self.ui.title.set_text("Cone Application")
51+
52+
with self.ui.toolbar:
53+
v3.VSpacer()
54+
v3.VSlider(
55+
v_model=("resolution", self.DEFAULT_RESOLUTION),
56+
min=3,
57+
max=60,
58+
step=1,
59+
hide_details=True,
60+
dense=True,
61+
style="max-width: 300px",
62+
)
63+
v3.VDivider(vertical=True, classes="mx-2")
64+
with v3.VBtn(icon=True, click=self.update_reset_resolution):
65+
v3.VIcon("mdi-undo-variant")
66+
67+
with self.ui.content:
68+
with v3.VContainer(
69+
fluid=True,
70+
classes="pa-0 fill-height",
71+
):
72+
html_view = paraview.VtkRemoteView(self.view)
73+
# html_view = paraview.VtkLocalView(view)
74+
self.ctrl.view_update = html_view.update
75+
self.ctrl.view_reset_camera = html_view.reset_camera
7176

7277
# -----------------------------------------------------------------------------
7378
# Main
7479
# -----------------------------------------------------------------------------
7580

81+
def main():
82+
app = ConeApp()
83+
app.server.start()
84+
7685
if __name__ == "__main__":
77-
server.start()
86+
main()

05_paraview/StateLoader.py

Lines changed: 51 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,76 +1,85 @@
1-
from paraview.web import venv
2-
from paraview import simple
1+
from trame.app import TrameApp
2+
from trame.ui.vuetify3 import SinglePageLayout
3+
from trame.widgets import vuetify3 as v3
4+
from trame.widgets import paraview, client
5+
from trame.decorators import change
36

47
from pathlib import Path
5-
from trame.app import get_server
6-
from trame.widgets import vuetify3, paraview, client
7-
from trame.ui.vuetify3 import SinglePageLayout
8+
9+
from paraview import simple
810

911
# -----------------------------------------------------------------------------
1012
# Trame setup
1113
# -----------------------------------------------------------------------------
1214

13-
server = get_server()
14-
state, ctrl = server.state, server.controller
15+
class StateLoaderApp(TrameApp):
16+
17+
def __init__(self, server=None):
18+
super().__init__(server)
19+
20+
# Preload paraview modules onto server
21+
paraview.initialize(self.server)
1522

16-
# Preload paraview modules onto server
17-
paraview.initialize(server)
1823

1924
# -----------------------------------------------------------------------------
2025
# ParaView code
2126
# -----------------------------------------------------------------------------
2227

2328

24-
def load_data(**kwargs):
25-
# CLI
26-
args, _ = server.cli.parse_known_args()
29+
def load_data(self, **kwargs):
30+
# CLI
31+
args, _ = self.server.cli.parse_known_args()
2732

28-
full_path = str(Path(args.data).resolve().absolute())
29-
working_directory = str(Path(args.data).parent.resolve().absolute())
33+
full_path = str(Path(args.data).resolve().absolute())
34+
working_directory = str(Path(args.data).parent.resolve().absolute())
3035

31-
# ParaView
32-
simple.LoadState(
33-
full_path,
34-
data_directory=working_directory,
35-
restrict_to_data_directory=True,
36-
)
37-
view = simple.GetActiveView()
38-
view.MakeRenderWindowInteractor(True)
39-
simple.Render(view)
36+
# ParaView
37+
simple.LoadState(
38+
full_path,
39+
data_directory=working_directory,
40+
restrict_to_data_directory=True,
41+
)
42+
self.view = simple.GetActiveView()
43+
self.view.MakeRenderWindowInteractor(True)
44+
simple.Render(self.view)
4045

41-
# HTML
42-
with SinglePageLayout(server) as layout:
43-
layout.icon.click = ctrl.view_reset_camera
44-
layout.title.set_text("ParaView State Viewer")
46+
# HTML
47+
with SinglePageLayout(self.server) as layout:
48+
layout.icon.click = self.ctrl.view_reset_camera
49+
layout.title.set_text("ParaView State Viewer")
4550

46-
with layout.content:
47-
with vuetify3.VContainer(fluid=True, classes="pa-0 fill-height"):
48-
html_view = paraview.VtkRemoteView(view)
49-
ctrl.view_reset_camera = html_view.reset_camera
50-
ctrl.view_update = html_view.update
51+
with layout.content:
52+
with v3.VContainer(fluid=True, classes="pa-0 fill-height"):
53+
html_view = paraview.VtkRemoteView(self.view)
54+
self.ctrl.view_reset_camera = html_view.reset_camera
55+
self.ctrl.view_update = html_view.update
5156

5257

53-
ctrl.on_server_ready.add(load_data)
58+
self.ctrl.on_server_ready.add(self.load_data)
5459

5560
# -----------------------------------------------------------------------------
5661
# GUI
5762
# -----------------------------------------------------------------------------
5863

59-
state.trame__title = "State Viewer"
64+
def _build_ui(self):
65+
self.state.trame__title = "State Viewer"
6066

61-
with SinglePageLayout(server) as layout:
62-
layout.icon.click = ctrl.view_reset_camera
63-
layout.title.set_text("ParaView State Viewer")
67+
with SinglePageLayout(self.server) as self.ui:
68+
self.ui.icon.click = self.ctrl.view_reset_camera
69+
self.ui.title.set_text("ParaView State Viewer")
6470

65-
with layout.content:
66-
with vuetify3.VContainer(fluid=True, classes="pa-0 fill-height"):
67-
client.Loading("Loading state")
71+
with self.ui.content:
72+
with self.vuetify3.VContainer(fluid=True, classes="pa-0 fill-height"):
73+
client.Loading("Loading state")
6874

6975

7076
# -----------------------------------------------------------------------------
7177
# Main
7278
# -----------------------------------------------------------------------------
7379

80+
def main():
81+
app = StateLoaderApp()
82+
app.server.start()
83+
7484
if __name__ == "__main__":
75-
server.cli.add_argument("--data", help="Path to state file", dest="data")
76-
server.start()
85+
main()

0 commit comments

Comments
 (0)