Skip to content
oculus.py 1.54 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_Data

from ..lib import (
        checkModule,
        )

Dalai Felinto's avatar
Dalai Felinto committed
class Oculus:
    def __init__(self):
        self._device = None
        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, fbo, texture, projection matrix, eye separation, width, height
        """

    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
        """