Skip to content
oculus.py 1.64 KiB
Newer Older
Dalai Felinto's avatar
Dalai Felinto committed
"""
Oculus
======

Oculus (oculus.com) head mounted display
It uses a C app to connect with the SDK

The bridge code is hosted at Visgraf:
http://git.impa.br/dfelinto/oculus_sdk_bridge
"""

Dalai Felinto's avatar
Dalai Felinto committed
TODO = False
Dalai Felinto's avatar
Dalai Felinto committed

from . import HMD_Base, HMD_Data
Dalai Felinto's avatar
Dalai Felinto committed

from ..lib import (
        checkModule,
        )

class Oculus(HMD_Base):
Dalai Felinto's avatar
Dalai Felinto committed
    def __init__(self):
        super(Oculus, self).__init__('Oculus')
        checkModule('oculus_sdk_bridge')
Dalai Felinto's avatar
Dalai Felinto committed

    def isConnected(self):
        """
        Check if device is connected

        :return: return True if the device is connected
        :rtype: bool
        """
        from bridge import OculusBridge
Dalai Felinto's avatar
Dalai Felinto committed

        try:
            return OculusBridge.isConnected()
Dalai Felinto's avatar
Dalai Felinto committed

        except Exception as E:
            print(E)
            return False

Dalai Felinto's avatar
Dalai Felinto committed
    def init(self):
        """
        Initialize device

        :return: return True if the device was properly initialized
        :rtype: bool
        """
Dalai Felinto's avatar
Dalai Felinto committed
        return TODO
Dalai Felinto's avatar
Dalai Felinto committed
        """
        Oculus SDK bridge

        return: status, projection matrix, eye separation, width, height
Dalai Felinto's avatar
Dalai Felinto committed
        """
        return super(Oculus, self).init()
Dalai Felinto's avatar
Dalai Felinto committed

    def loop(self):
        """
        Get fresh tracking data
        """
        TODO
        """
        Oculus SDK bridge

        return:head position, head orientation
        """

    def frameReady(self):
        """
        The frame is ready to be send to the device
        """
        TODO
        """
        Oculus SDK bridge
        """

    def quit(self):
        """
        Garbage collection
        """
        TODO
        """
        Oculus SDK bridge

        delete fbo, rbo, tex_id
        """
        return super(Oculus, self).quit()
Dalai Felinto's avatar
Dalai Felinto committed