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
|
"""Start typing a color name for the mesh.
E.g.: pink4
(Press 'Esc' to exit)"""
from vedo import settings, dataurl, get_color_name
from vedo import Plotter, Mesh, Text2D
def kfunc(evt):
key = evt.keypress.lower()
field_txt = field.text().strip() # strip leading/trailing spaces
if key == "backspace" and field_txt:
key = ""
field_txt = field_txt[:-1]
elif key == "escape":
plt.close()
return
elif len(key) > 1:
return
color_name = field_txt + key
field.text(f"{color_name:^12}").frame(color_name, lw=8)
mesh.color(color_name)
msg.text(get_color_name(color_name))
plt.render()
settings["enable_default_keyboard_callbacks"] = False
mesh = Mesh(dataurl+"magnolia.vtk").color("black").flat()
field = Text2D("black", pos="bottom-center",s=3, font="Meson", bg="k2", c="w", alpha=1)
msg = Text2D(pos="top-right", s=2, font="Quikhand", c="k1", bg="k7", alpha=1)
plt = Plotter()
plt.add_callback("key press", kfunc)
plt.show(mesh, field, msg, __doc__).close()
|