示例#1
0
文件: __init__.py 项目: Anasaurus/BBQ
class ObjectController(Leap.Listener):
    def __init__(self):
        super(ObjectController, self).__init__()
        self.nb_hands = MixedFilter([
            NoiseFilter(10, 0.3, 10),
            LowpassFilter(0.5)])
        self.grab = GrabLogic()
        self.scale = ScaleLogic()

    def on_init(self, controller):
        pass

    def on_exit(self, controller):
        pass

    def on_frame(self, controller):
        frame = controller.frame()
        self.nb_hands.add_value(len(frame.hands))

        # 1 hand for grab, 2 for scale
        if self.nb_hands.around(1, 0.1):
            self.grab.frame(frame)
        elif self.nb_hands.around(2, 0.1):
            self.scale.frame(frame)
        else:
            self.grab.reset()
            self.scale.reset()
示例#2
0
class ObjectController(Leap.Listener):
    def __init__(self):
        super(ObjectController, self).__init__()
        self.nb_hands = MixedFilter(
            [NoiseFilter(10, 0.3, 10),
             LowpassFilter(0.5)])
        self.grab = GrabLogic()
        self.scale = ScaleLogic()

    def on_init(self, controller):
        pass

    def on_exit(self, controller):
        pass

    def on_frame(self, controller):
        frame = controller.frame()
        self.nb_hands.add_value(len(frame.hands))

        # 1 hand for grab, 2 for scale
        if self.nb_hands.around(1, 0.1):
            self.grab.frame(frame)
        elif self.nb_hands.around(2, 0.1):
            self.scale.frame(frame)
        else:
            self.grab.reset()
            self.scale.reset()
示例#3
0
文件: gestures.py 项目: BlenderBQ/BBQ
class ClosingHand(object):
    def __init__(self):
        self.nb_fingers = MixedFilter([NoiseFilter(100, 0.3, 10), LowpassFilter(0.9)])

    def frame(self, hand):
        fingers = hand.fingers
        self.nb_fingers.add_value(len(fingers))

    def reset(self):
        self.nb_fingers.empty()

    def is_done(self):
        if self.nb_fingers.around(3.0, 0.5) and self.nb_fingers.derivative < -0.012:
            return True
        return False
示例#4
0
class ClosingHand(object):
    def __init__(self):
        self.nb_fingers = MixedFilter(
            [NoiseFilter(100, 0.3, 10),
             LowpassFilter(0.9)])

    def frame(self, hand):
        fingers = hand.fingers
        self.nb_fingers.add_value(len(fingers))

    def reset(self):
        self.nb_fingers.empty()

    def is_done(self):
        if self.nb_fingers.around(3.0, 0.5) \
                and self.nb_fingers.derivative < -0.012:
            return True
        return False