/// <summary>
        /// Constructor
        /// </summary>
        /// <param name="coordinatesPublisher">Coordinates Publisher (Image processing Unit)</param>
        /// <param name="imagingData">Image Data from Image Processing Unit</param>
        public VectorCalculationUnit(Publisher <BallCoordinates> coordinatesPublisher, IImageData imagingData) :
            base(coordinatesPublisher)
        {
            vectorUtils = new RicochetCalc();
            vectorUtils.Initialize();

            _imagingData = imagingData;

            _coordinatesUpdater       = new BallCoordinatesUpdater();
            LastBallLocationPublisher = new BallLocationPublisher(_coordinatesUpdater);

            _storedBallCoordinates        = new BallCoordinates(DateTime.Now);
            _storedBallCoordinates.Vector = new Vector2D();

            D_ERR     = Configuration.Attributes.GetValue <double>(Configuration.Names.VECTOR_CALC_DISTANCE_ERROR);
            ALPHA_ERR = Configuration.Attributes.GetValue <double>(Configuration.Names.VECTOR_CALC_ANGLE_ERROR);
        }
Beispiel #2
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="coordinatesUpdater">Updater to get coordinates from</param>
 public BallLocationPublisher(ILastBallCoordinatesUpdater coordinatesUpdater)
 {
     _coordinatesUpdater = coordinatesUpdater;
 }