Пример #1
0
    /// <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);
    }
Пример #2
0
 /// <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);
 }