예제 #1
0
        /// <summary>
        /// Randomizes the emulation by changing speed and direction
        /// </summary>
        /// <param name="seed"> The randomizer to use. </param>
        /// <param name="speedLow"> The minimum travel speed. </param>
        /// <param name="speedHigh"> The maximum travel speed. </param>
        /// <param name="bearingStart"> The initial direction of travel. </param>
        /// <param name="bearingArc"> The arc in which random directional changes will occur. </param>
        /// <remarks>
        /// GPS coordinate emulation can be randomized by any number of factors, depending on the emulator type used.
        /// Any emulation can have it's direction and speed randomized within specified tolerances. By default, speed is
        /// limited to between 0 (low) and 5 (high) meters/second and bearing changes are limited to +/- 45 degrees
        /// (a 90 degree arc) from North (0) degrees.
        /// </remarks>
        public void Randomize(Random seed, Speed speedLow, Speed speedHigh, Azimuth bearingStart, Azimuth bearingArc)
        {
            // Flag it so the emulation will use random values
            _isRandom = true;

            // Get the randomizer parameters
            _seed = seed;

            // Get the speed variance
            _speedLow  = speedLow.ToMetersPerSecond().Value;
            _speedHigh = speedHigh.ToMetersPerSecond().Value;

            // Get the normalized arc values
            _bearingStart = bearingStart.Normalize().DecimalDegrees;
            _bearingArc   = bearingArc.Normalize().DecimalDegrees;
        }
예제 #2
0
        /// <summary>
        /// Randomizes the emulation by changing speed and direction
        /// </summary>
        /// <param name="seed"> The randomizer to use. </param>
        /// <param name="speedLow"> The minimum travel speed. </param>
        /// <param name="speedHigh"> The maximum travel speed. </param>
        /// <param name="bearingStart"> The initial direction of travel. </param>
        /// <param name="bearingArc"> The arc in which random directional changes will occur. </param>
        /// <remarks>
        /// GPS coordinate emulation can be randomized by any number of factors, depending on the emulator type used.
        /// Any emulation can have it's direction and speed randomized within specified tolerances. By default, speed is 
        /// limited to between 0 (low) and 5 (high) meters/second and bearing changes are limited to +/- 45 degrees 
        /// (a 90 degree arc) from North (0) degrees.
        /// </remarks>
        public void Randomize(Random seed, Speed speedLow, Speed speedHigh, Azimuth bearingStart, Azimuth bearingArc)
        {
            // Flag it so the emulation will use random values
            _isRandom = true;

            // Get the randomizer parameters
            _seed = seed;

            // Get the speed variance
            _speedLow = speedLow.ToMetersPerSecond().Value;
            _speedHigh = speedHigh.ToMetersPerSecond().Value;

            // Get the normalized arc values
            _bearingStart = bearingStart.Normalize().DecimalDegrees;
            _bearingArc = bearingArc.Normalize().DecimalDegrees;
        }