public IObservable <MotionVector> AnalyzeMove()
        {
            var events = _eventAggregator.Observe <MotionEvent>();

            return(events.Timestamp(_concurrencyProvider.Scheduler)
                   .Select(move => new MotionWindow(move.Value.Message.MotionDetectorUID, move.Timestamp))
                   .Do(HandleMove)
                   .Window(events, _ => Observable.Timer(_motionConfiguration.MotionTimeWindow, _concurrencyProvider.Scheduler))
                   .SelectMany(x => x.Scan((vectors, currentPoint) => vectors.AccumulateVector(currentPoint.Start, IsProperVector))
                               .SelectMany(motion => motion.ToVectors())));
        }
 public IObservable <IMessageEnvelope <T> > Observe <T>(RoutingFilter routingFilter = null) where T : Event
 {
     return(_eventAggregator.Observe <T>(routingFilter));
 }
Exemple #3
0
 public IObservable <IMessageEnvelope <T> > Observe <T>() where T : Event
 {
     return(_eventAggregator.Observe <T>());
 }