public HandsDroneControllerTests()
        {
            this.controllableDroneMock   = new Mock <AbstractDrone>();
            this.keyInputEvaluatorMock   = new Mock <IDroneControllerKeyInputEvaluator>();
            this.handsInputEvaluatorMock = new Mock <IDroneControllerHandsInputEvaluator>();
            this.droneController         = new HandsDroneController(this.controllableDroneMock.Object,
                                                                    this.handsInputEvaluatorMock.Object,
                                                                    this.keyInputEvaluatorMock.Object);

            this.hands = new NormalizedHands(new NormalizedHand(), new NormalizedHand());
        }
Example #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="CaduhdApp"/> class.
        /// </summary>
        /// <param name="handsAnalyzer">A hands analyzer.</param>
        /// <param name="skinColorHandsDetector">A skin color based hands detector.</param>
        /// <param name="drone">A drone.</param>
        /// <param name="droneControllerKeyInputEvaluator">A drone controller key input evaluator.</param>
        /// <param name="droneControllerHandsInputEvaluator">A drone controller hands input evaluator.</param>
        public CaduhdApp(
            IHandsAnalyzer handsAnalyzer,
            ISkinColorHandsDetector skinColorHandsDetector,
            AbstractDrone drone,
            IDroneControllerKeyInputEvaluator droneControllerKeyInputEvaluator,
            IDroneControllerHandsInputEvaluator droneControllerHandsInputEvaluator)
        {
            this.isWebCameraFrameProcessorBusy = 0;

            this.handsAnalyzer          = handsAnalyzer;
            this.skinColorHandsDetector = skinColorHandsDetector;

            if (drone is IStreamer streamer)
            {
                streamer.NewCameraFrame += this.StreamerNewCameraFrame;
            }

            if (drone is IStateful stateful)
            {
                stateful.StateChanged += this.StatefulStateChanged;
            }

            this.handsDroneController = new HandsDroneController(drone, droneControllerHandsInputEvaluator, droneControllerKeyInputEvaluator);
        }