/// <summary> Start a new calibration, based on the parameters set via the inspector. </summary> /// <param name="whichFingers"></param> /// <returns></returns> public bool StartCalibration(bool[] whichFingers = null) { if (this.GloveReady()) { if (whichFingers == null) { whichFingers = new bool[] { false, true, true, true, true }; } CalibrationAlgorithm algorithm = null; switch (this.calibrationAlgorithm) { case Algorithm.PointsOnACircle2D: algorithm = new Circle2D(whichFingers); break; } if (algorithm != null) { CalibrationMethod method = null; switch (this.calibrationMethod) { case CalibrationType.Manual: method = new ManualCalibration(algorithm, this.async); break; case CalibrationType.SemiAutomatic: method = new SemiAutoCalibration(algorithm, this.async, 12, 0.6f, 5); break; case CalibrationType.Automatic: method = new AutoCalibration(algorithm, this.async); break; } if (method != null) { this.glove.StartCalibration(method); this.calibrating = true; } } } return(false); }
/// <summary> Initialize Manual Calibration of the chosen fingers and the chosen complexity </summary> /// <param name="whichFingers"></param> /// <param name="simpleCalibration"></param> /// <returns></returns> public bool StartCalibration(bool[] whichFingers, bool calibrateLengths = true, bool calibrateJoints = true) { if (glove != null && glove.IsConnected()) { CalibrationAlgorithm algorithm = new Circle2D(whichFingers, calibrateLengths, calibrateJoints); CalibrationMethod method = new ManualCalibration(algorithm); this.glove.StartCalibration(method); } return(false); }