from .Direction import Direction from .Quaternion import Quaternion class SwingTwist: def __init__(self, swing: Direction, twist: float): if swing.vertical > 90 or swing.vertical < -90: swing.horizontal += 180 swing.vertical = 180 - swing.vertical twist += 180 self.swing = swing self.twist = twist def ToQuaternion(self) -> Quaternion: q = Quaternion.Euler(-self.swing.vertical, self.swing.horizontal, self.twist) return q