private void UpdateFaceTrackerAndRefresh(FaceTrackerSystem faceTrackerSystem)
 {
     if (_currSystemDesc.faceTrackerSystem == faceTrackerSystem)
     {
         return;
     }
     _faceTracker.Stop();
     InitializeFaceTracker(faceTrackerSystem);
 }
        public static ISRDFaceTracker CreateFaceTracker(FaceTrackerSystem system)
        {
            var switcher = new Dictionary <FaceTrackerSystem, Func <ISRDFaceTracker> >()
            {
                { FaceTrackerSystem.SRD, () => { return(new SRDFaceTracker()); } },
                { FaceTrackerSystem.Mouse, () => { return(new MouseBasedFaceTracker()); } },
            };

            return(switcher[system]());
        }
        private void InitializeFaceTracker(FaceTrackerSystem faceTrackerSystem)
        {
            if (!_cachedFaceTracker.TryGetValue(faceTrackerSystem, out _faceTracker))
            {
                _faceTracker = SRDFaceTrackerFactory.CreateFaceTracker(faceTrackerSystem);
                _cachedFaceTracker[faceTrackerSystem] = _faceTracker;
            }

            _currSystemDesc.faceTrackerSystem = faceTrackerSystem;
            _faceTracker.Start();
        }
 public SRDSystemDescription(FaceTrackerSystem faceTracker, EyeViewRendererSystem eyeViewRenderer, StereoCompositerSystem stereoCompositer)
 {
     faceTrackerSystem      = faceTracker;
     eyeViewRendererSystem  = eyeViewRenderer;
     stereoCompositerSystem = stereoCompositer;
 }