#
# pyvista_widget.ipynb
#
from qtdraw.util.qt_event_util import get_qt_application
from qtdraw.core.pyvista_widget import create_qtdraw_file, PyVistaWidget
# callback function to draw all objects.
def draw(widget: PyVistaWidget):
widget.update_preference("label","default_check",True)
widget.add_site(position="[0,0,0]", label="site")
widget.add_bond(position="[3,0,0]", label="bond")
widget.add_vector(position="[6,0,0]", label="vector")
widget.add_orbital(position="[0,3,0]",size=0.7, label="orbital")
widget.add_stream(position="[3,3,0]", size=0.7, label="stream")
widget.add_line(position="[6,3,0]", label="line", arrow1=True, arrow2=True)
widget.add_plane(position="[0,6,0]", label="plane")
widget.add_circle(position="[3,6,0]", label="circle")
widget.add_torus(position="[6,6,0]", label="torus")
widget.add_ellipsoid(position="[0,0,5]", label="ellipsoid")
widget.add_toroid(position="[3,0,5]", label="toroid")
widget.add_box(position="[6,0,5]", label="box")
widget.add_polygon(position="[0,3,5]", label="polygon")
widget.add_spline(position="[3,3,5]", label="spline", arrow1=True)
widget.add_spline_t(position="[6,3,5]", label="spline_t", arrow1=True)
widget.add_text3d(position="[0,6,5]", label="text3d")
widget.add_caption(position="[[3,6,5],[6,6,5]]",caption="[cap. 1,cap. 2]")
widget.add_text2d(caption="text2d")
widget.add_plane(position="[3,3,-0.3]",x_size=10,y_size=10,opacity=0.1)
widget.add_plane(position="[3,3,4.7]",x_size=10,y_size=10,opacity=0.1)
widget.set_view()
# === example 1 (create qtdw file as background) ===
def ex1():
create_qtdraw_file(filename="example_output.qtdw", callback=draw)
# === example 2 (create widget) ===
def ex2():
get_qt_application() # create Qt event loop.
widget = PyVistaWidget() # create PyVista widget.
draw(widget) # draw all objects.
widget.show() # show widget.
# ex1()
ex2()