👍️[Update] Model : overlayのUIの動作に連動するようにCallbackを設定(未検証)

This commit is contained in:
misygauziya
2024-04-24 16:09:24 +09:00
parent 5b38db9557
commit 143107b7f9
4 changed files with 123 additions and 44 deletions

View File

@@ -59,7 +59,7 @@ class UIElement:
def setTransparency(self, a):
self.overlay.setOverlayAlpha(self.handle, a)
def setPosition(self, pos):
def updatePosition(self, pos):
"""
pos is a 2-tuple representing normalized (x, y)
"""
@@ -76,6 +76,13 @@ class UIElement:
self.transform
)
def setPosition(self, pos):
self.settings["Normalized_icon_X_position"] = pos[0]
self.settings["Normalized_icon_Y_position"] = pos[1]
def setDepth(self, depth):
self.settings["Icon_plane_depth"] = depth
class UIManager:
def __init__(self, overlay_key, overlay_name, settings):
self.overlay = openvr.IVROverlay()
@@ -93,8 +100,11 @@ class UIManager:
if self.settings['Fade_interval'] != 0:
self.evaluateTransparencyFade(self.overlayUI, self.lastUpdate, currTime)
def uiUpdate(self, img):
def setImage(self, img):
self.overlayUI.setImage(img)
def uiUpdate(self, img):
self.setImage(img)
self.overlayUI.setTransparency(self.settings['Transparency'])
self.lastUpdate = time.monotonic()
@@ -107,21 +117,33 @@ class UIManager:
ui.setTransparency(fadeRatio * self.settings['Transparency'])
def posUpdate(self, pos):
def posUpdate(self):
self.overlayUI.updatePosition()
def setPosition(self, pos):
self.overlayUI.setPosition(pos)
def setDepth(self, depth):
self.overlayUI.setDepth(depth)
def setFadeTime(self, fade_time):
self.settings["Fade_time"] = fade_time
def setFadeInterval(self, fade_interval):
self.settings["Fade_interval"] = fade_interval
class Overlay:
def __init__(self):
def __init__(self, x, y , depth, fade_time, fade_interval):
self.initFlag = False
settings = {
"Color": [1, 1, 1],
"Transparency": 1,
"Normalized_icon_X_position": 0.0,
"Normalized_icon_Y_position": -0.41,
"Icon_plane_depth": 1,
"Normalized_icon_X_position": x,
"Normalized_icon_Y_position": y,
"Icon_plane_depth": depth,
"Normalized_icon_width": 1,
"Fade_time": 5,
"Fade_interval": 2,
"Fade_time": fade_time,
"Fade_interval": fade_interval,
}
self.settings = settings