public static IFinchProvider CreateControllerProvider() { switch (FinchSettings.DataSource) { case FinchDataSource.Controller: { FinchControllerType deviceType = FinchSettings.DeviceType; switch (deviceType) { case FinchControllerType.Dash: if (FinchSettings.PoseTrackingAlgorithm == FinchPoseTrackingAlgorithm.GoogleVR) { return(new FinchGoogleAlgorithmProvider(deviceType)); } else { return(new FinchOwnAlgorithmProvider(deviceType)); } case FinchControllerType.Shift: case FinchControllerType.Hand: return(new FinchOwnAlgorithmProvider(deviceType)); default: return(new DummyProvider()); } } case FinchDataSource.Disabled: return(new DummyProvider()); default: throw new NotImplementedException(); } }
/// <summary> /// Init Finch Core. /// </summary> /// <param name="controller"></param> /// <returns></returns> public static FinchInitError Init(FinchControllerType controller) { var options = new FinchInitOptions { controller = controller, platform = 2, scanner = 1 }; Interop.FinchSetCs(new FinchVector3(0, -1, 0), new FinchVector3(0, 0, 1), new FinchVector3(1, 0, 0)); return(Interop.FinchInit(options)); }
public FinchProvider(FinchControllerType deviceType) { FinchInitError err = FinchCore.Init(deviceType); if (err != FinchInitError.None) { errorDetails = "Error creating/initializing Dash controller API: " + err; Debug.LogError(errorDetails); return; } FinchCore.LoadCalibrations(); InitializeWatches(); calibrationButtonState = new bool[(int)FinchChirality.Last]; }
public void ChangeDevice(FinchControllerType deviceType) { FinchCore.Init(deviceType); }
public void ChangeDevice(FinchControllerType deviceType) { WarningDummy("ChangeDevice"); }
public static void InitBuildSettings(FinchDataSource source, FinchControllerType type, FinchPoseTrackingAlgorithm trackingAlgorithm) { DataSource = source; DeviceType = type; PoseTrackingAlgorithm = trackingAlgorithm; }
public FinchOwnAlgorithmProvider(FinchControllerType deviceType) : base(deviceType) { }