private void TestNeighbors()
        {
            GenerateHorizontalStrip();
            VehicleParams carParams = VehicleParams.Car;

            Road r = world.Roads.ToList()[0];

            Lane[]  lanes  = r.InLanes;
            Lane    laneUp = lanes[2];
            Vehicle cA     = new Vehicle(0, carParams, laneUp, 0.333f);
            Vehicle cB     = new Vehicle(1, carParams, laneUp, 0.666f);

            Lane    laneMiddle = lanes[1];
            Vehicle c1         = new Vehicle(2, carParams, laneMiddle, 0.25f);
            Vehicle c2         = new Vehicle(3, carParams, laneMiddle, 0.5f);
            Vehicle c3         = new Vehicle(4, carParams, laneMiddle, 0.75f);

            Lane    laneDown = lanes[0];
            Vehicle cI       = new Vehicle(5, carParams, laneDown, 0.333f);
            Vehicle cJ       = new Vehicle(6, carParams, laneDown, 0.666f);

            world.AddCar(cA);
            world.AddCar(cB);
            world.AddCar(c1);
            world.AddCar(c2);
            world.AddCar(c3);
            world.AddCar(cI);
            world.AddCar(cJ);
            NUM_CARS = world.Cars.Count;
        }
        public async void GetMakers_Returns_Ok_With_Headers()
        {
            VehicleParams vehicleMakeParams = new VehicleParams()
            {
                PageNumber = 1,
                PageSize   = 2
            };


            var pagedList = new List <IVehicleMake>
            {
                new Mock <IVehicleMake>().Object,
                new Mock <IVehicleMake>().Object
            }.ToPagedList(1, 2);

            service.Setup(s => s.FindMakeAsync(It.IsAny <IFilteringParams>(),
                                               It.IsAny <ISortingParams>(),
                                               It.IsAny <IPagingParams>()))
            .Returns(Task.FromResult(pagedList));



            var result = await controller.GetMakers(vehicleMakeParams);

            var okObjectResult = result as OkObjectResult;

            //Assert
            Assert.NotNull(result);
            Assert.IsAssignableFrom <OkObjectResult>(result);
        }
Beispiel #3
0
 public VehicleInstance(UUID sceneID)
 {
     GravityConstant = 9.81;
     Mass            = 1;
     m_VehicleParams = new VehicleParams(new ObjectPart());
     m_PhysicsState  = m_PhysicsState = new PhysicsStateData(new VehicleObject(), sceneID);
     m_VehicleMotor  = m_VehicleParams.GetMotor();
     Init();
 }
        protected List <PositionalForce> CalculateForces(double dt, out Vector3 vehicleTorque)
        {
            ObjectGroup grp    = m_Part.ObjectGroup;
            var         forces = new List <PositionalForce>();

            vehicleTorque = Vector3.Zero;
            if (grp == null || grp.RootPart != m_Part)
            {
                return(forces);
            }
            if (grp.Scene == null || grp.Scene.ID != m_StateData.SceneID)
            {
                return(forces);
            }

            forces.Add(BuoyancyMotor(this, m_Part, Vector3.Zero));
            forces.Add(GravityMotor(this, m_Part, Vector3.Zero));
            forces.Add(HoverMotor(this, m_Part, Vector3.Zero));

            foreach (KeyValuePair <UUID, Vector3> kvp in grp.AttachedForces)
            {
                ObjectPart part;
                if (grp.TryGetValue(kvp.Key, out part))
                {
                    forces.Add(new PositionalForce("AttachedForces", kvp.Value, part.LocalPosition));
                }
            }

            VehicleParams vehicleParams = m_Part.VehicleParams;

            if (vehicleParams.VehicleType != VehicleType.None)
            {
                m_Vehicle.Process(dt, m_StateData, grp.Scene, Mass, m_Part.PhysicsGravityMultiplier * CombinedGravityAccelerationConstant);
                forces.Add(new PositionalForce("VehicleLinearForce", m_Vehicle.LinearForce, Vector3.Zero));
                vehicleTorque = m_Vehicle.AngularTorque;
            }

            lock (m_Lock)
            {
                forces.Add(new PositionalForce("LinearImpulse", m_LinearImpulse, Vector3.Zero));
                m_LinearImpulse  = Vector3.Zero;
                vehicleTorque   += m_AngularImpulse;
                m_AngularImpulse = Vector3.Zero;
                forces.Add(new PositionalForce("AppliedForce", m_AppliedForce, Vector3.Zero));
                vehicleTorque += m_AppliedTorque;
            }
            forces.Add(MoveToTargetMotor(m_Part));

            vehicleTorque += LookAtMotor(m_Part);

            return(forces);
        }
Beispiel #5
0
        /// <summary>
        /// Function the returns all the testers who specialize in a given vehicle
        /// </summary>
        /// <param name="vehicle"></param>
        /// <returns></returns>
        public List <Tester> TestersBySpecialty(VehicleParams vehicle)
        {
            List <Tester> k = new List <Tester>();

            foreach (var t in ReturnTesters())
            {
                if (t.hasVehicle(vehicle))
                {
                    k.Add(t);
                }
            }
            return(k);
        }
        public async Task <IActionResult> GetModels([FromQuery] VehicleParams vehicleModelParams)
        {
            var page   = new PagingParams(vehicleModelParams.PageNumber, vehicleModelParams.PageSize);
            var filter = new FilteringParams(vehicleModelParams.Search, vehicleModelParams.MakeId ?? Guid.Empty);
            var sort   = new SortingParams(vehicleModelParams.SortBy);

            var models = await modelService.FindModelAsync(filter, sort, page);

            var modelsDto = models.ToMappedPagedList <IVehicleModel, VehicleModelDto>(mapper);

            Response.AddPagination(models.PageNumber, models.PageSize, models.TotalItemCount, models.PageCount);

            return(Ok(modelsDto));
        }
        private void TestOvertaking()
        {
            GenerateHorizontalStrip();

            Road r = world.Roads.ToList()[0];

            Lane[] lanes  = r.InLanes;
            Lane   laneUp = lanes[2];

            VehicleParams carParamsA = VehicleParams.Truck;
            Vehicle       cA         = new Vehicle(0, carParamsA, laneUp, 0.3f);

            VehicleParams carParamsB = VehicleParams.Car;
            Vehicle       cB         = new Vehicle(1, carParamsB, laneUp, 0.1f);

            world.AddCar(cA);
            world.AddCar(cB);

            NUM_CARS = world.Cars.Count;
        }
        public async Task <IActionResult> GetMakers([FromQuery] VehicleParams vehicleMakeParams)
        {
            try
            {
                var page   = new PagingParams(vehicleMakeParams.PageNumber, vehicleMakeParams.PageSize);
                var filter = new FilteringParams(vehicleMakeParams.Search);
                var sort   = new SortingParams(vehicleMakeParams.SortBy);

                var makers = await makeService.FindMakeAsync(filter, sort, page);

                var mapped = mapper.Map <IEnumerable <VehicleMakeDto> >(makers);

                Response.AddPagination(makers.PageNumber, makers.PageSize, makers.TotalItemCount, makers.PageCount);

                return(Ok(mapped));
            }
            catch (Exception)
            {
                return(NotFound());
            }
        }
        private void addButton_Click(object sender, RoutedEventArgs e)
        {
            if ((BirthDate.SelectedDate == null))
            {
                Utilities.ErrorBox("You have not selected a date.");
                return;
            }
            if (!(bool)ManualHeavyTruck.IsChecked && !(bool)ManualMediumTruck.IsChecked && !(bool)ManualPrivateVehicle.IsChecked && !(bool)ManualTwoWheelVehicle.IsChecked && !(bool)AutomaticHeavyTruck.IsChecked && !(bool)AutomaticMediumTruck.IsChecked && !(bool)AutomaticPrivateVehicle.IsChecked && !(bool)AutomaticTwoWheelVehicle.IsChecked)
            {
                Utilities.ErrorBox("A vehicle must be selected!");
                return;
            }
            if (!Utilities.IsWords(FirstName.Text))
            {
                Utilities.ErrorBox("The first name contains characters that are not letters or spaces.");
                return;
            }
            if (!Utilities.IsWords(LastName.Text))
            {
                Utilities.ErrorBox("The last name contains characters that are not letters or spaces.");
                return;
            }
            if (!Utilities.IsStringNumbers(IDNumber.Text))
            {
                Utilities.ErrorBox("The ID number contains characters that are not numbers.");
                return;
            }
            if (!Utilities.IsStringNumbers(PhoneNumber.Text))
            {
                Utilities.ErrorBox("The phone number contains characters that are not numbers.");
                return;
            }
            if (HomeorMobile.SelectedItem.ToString() == "Home Phone")
            {
                if (PhoneNumber.Text.ToString().Length != 9)
                {
                    Utilities.ErrorBox("The phone number is an incorrect length.");
                    return;
                }
            }
            else
            {
                if (PhoneNumber.Text.ToString().Length != 10)
                {
                    Utilities.ErrorBox("The phone number is an incorrect length.");
                    return;
                }
            }
            if (!Utilities.IsStringNumbers(AddressNumber.Text.ToString()))
            {
                Utilities.ErrorBox("The address number contains characters that are not numbers.");
                return;
            }
            if (!Utilities.IsWords(teacherFirstName.Text.ToString()))
            {
                Utilities.ErrorBox("The teacher's first name contains characters that are not letters or spaces.");
                return;
            }
            if (!Utilities.IsWords(teacherLastName.Text.ToString()))
            {
                Utilities.ErrorBox("The teacher's last name contains characters that are not letters or spaces.");
                return;
            }
            VehicleParams myVehicle = new VehicleParams();

            if ((bool)AutomaticHeavyTruck.IsChecked)
            {
                myVehicle = (new VehicleParams(Vehicle.HeavyTruck, GearBox.Automatic));
            }
            else if ((bool)AutomaticMediumTruck.IsChecked)
            {
                myVehicle = (new VehicleParams(Vehicle.MediumTruck, GearBox.Automatic));
            }
            else if ((bool)AutomaticPrivateVehicle.IsChecked)
            {
                myVehicle = (new VehicleParams(Vehicle.PrivateVehicle, GearBox.Automatic));
            }
            else if ((bool)AutomaticTwoWheelVehicle.IsChecked)
            {
                myVehicle = (new VehicleParams(Vehicle.TwoWheelVehicle, GearBox.Automatic));
            }
            else if ((bool)ManualHeavyTruck.IsChecked)
            {
                myVehicle = (new VehicleParams(Vehicle.HeavyTruck, GearBox.Manual));
            }
            else if ((bool)ManualMediumTruck.IsChecked)
            {
                myVehicle = (new VehicleParams(Vehicle.MediumTruck, GearBox.Manual));
            }
            else if ((bool)ManualPrivateVehicle.IsChecked)
            {
                myVehicle = (new VehicleParams(Vehicle.PrivateVehicle, GearBox.Manual));
            }
            else if ((bool)ManualTwoWheelVehicle.IsChecked)
            {
                myVehicle = (new VehicleParams(Vehicle.TwoWheelVehicle, GearBox.Manual));
            }
            FirstName.Text        = Utilities.ToProper(FirstName.Text.ToString());
            LastName.Text         = Utilities.ToProper(LastName.Text.ToString());
            teacherFirstName.Text = Utilities.ToProper(teacherFirstName.Text.ToString());
            teacherLastName.Text  = Utilities.ToProper(teacherLastName.Text.ToString());
            try
            {
                FactoryBL.Instance.AddTrainee(new Trainee(IDNumber.Text.ToString(), new FullName(FirstName.Text.ToString(), LastName.Text.ToString()), (DateTime)BirthDate.SelectedDate, (Gender)Gender.SelectedIndex, new PhoneNumber(PhoneNumber.Text.ToString(), (KindOfPhoneNumber)HomeorMobile.SelectedIndex), new Address(StreetName.Text.ToString(), int.Parse(AddressNumber.Text), CityName.Text), myVehicle, schoolName.Text.ToString(), new FullName(teacherFirstName.Text.ToString(), teacherLastName.Text.ToString()), classesArr));
            }
            catch (Exception ex)
            {
                Utilities.ErrorBox(ex.Message);
                return;
            }
            Utilities.InformationBox(FirstName.Text.ToString() + " " + LastName.Text.ToString() + " was just added to the system as a trainee.");
            (this.Parent as StackPanel).Children.Add(new TraineeOptions());
            (this.Parent as StackPanel).Children.Remove(this);
        }
Beispiel #10
0
 /// <summary>
 /// Function the returns true if a given trainee can drive a given type of vehicle
 /// </summary>
 /// <param name="_trainee"></param>
 /// <param name="vehicle"></param>
 /// <returns></returns>
 public bool CanDrive(Trainee _trainee, VehicleParams vehicle)
 {
     return(_trainee.PassedByVehicleParams[vehicle.Index()]);
 }
Beispiel #11
0
 private string OptParamStr(Action<IParams> optionalParam)
 {
     var optParams = new VehicleParams();
     if (optionalParam != null)
         optionalParam(optParams);
     var optParamStr = optParams.GetParams();
     if (string.IsNullOrWhiteSpace(optParamStr))
         optParamStr = "No additinional specs";
     return optParamStr;
 }
Beispiel #12
0
 internal VehicleMotor(VehicleParams param)
 {
     m_Params = param;
 }
Beispiel #13
0
 public static VehicleMotor GetMotor(this VehicleParams param) => new VehicleMotor(param);