public static void Main(string[] args) { OSVR.ClientKit.ClientContext context = new OSVR.ClientKit.ClientContext("org.opengoggles.exampleclients.managed.TrackerCallback"); // This is just one of the paths. You can also use: // /me/hands/right // /me/head Interface lefthand = context.getInterface("/me/hands/left"); TrackerCallbacks callbacks = new TrackerCallbacks(); // The coordinate system is right-handed, withX to the right, Y up, and Z near. OSVR.ClientKit.PoseCallback poseCb = new PoseCallback(TrackerCallbacks.myTrackerCallback); lefthand.registerCallback(poseCb, IntPtr.Zero); // If you just want orientation OSVR.ClientKit.OrientationCallback oriCb = new OrientationCallback(TrackerCallbacks.myOrientationCallback); lefthand.registerCallback(oriCb, IntPtr.Zero); // or position OSVR.ClientKit.PositionCallback posCb = new PositionCallback(TrackerCallbacks.myPositionCallback); lefthand.registerCallback(posCb, IntPtr.Zero); // Pretend that this is your application's main loop for (int i = 0; i < 1000000; ++i) { context.update(); } Console.WriteLine("Library shut down; exiting."); }
public void RegisterCallback(PoseCallback callback) { Start(); // make sure the interface is initialized. if (null == poseCallbacks) { poseCallbacks = callback; rawPoseCallback = new OSVR.ClientKit.PoseCallback(PoseCb); iface.registerCallback(rawPoseCallback, System.IntPtr.Zero); } else { poseCallbacks += callback; } }
/// @brief Register a callback for some report type. public void registerCallback(PoseCallback cb, IntPtr /*void*/ userdata) { osvrRegisterPoseCallback(m_interface, cb, userdata); }
public extern static Byte osvrRegisterPoseCallback(SafeClientInterfaceHandle iface, PoseCallback cb, IntPtr /*void**/ userdata);
protected override void Start() { cb = new PoseCallback(this.InterfaceCallback); Interface.osvrRegisterPoseCallback(iface.Handle, cb, IntPtr.Zero); }
public static extern Byte osvrRegisterPoseCallback(SafeClientInterfaceHandle iface, PoseCallback cb, IntPtr /*void**/ userdata);
public extern static Byte osvrRegisterPoseCallback(IntPtr /*OSVR_ClientInterface*/ iface, PoseCallback cb, IntPtr /*void**/ userdata);