}
private VehicleRegisterFactory(){}
public VehicleRegister makeVehicles(RoadMap map, int vehiclesCount) {
VehicleRegister retVal = new VehicleRegister();
ArrayList<IVehicle> vehicles = new ArrayList<IVehicle>();
Auto auto = null;
Road elem = null;
RoadPosition pos = null;
for (int i = 0 ; i < vehiclesCount ; ++i){
auto = new Auto();
elem = this.makeElement(map);
pos = makePosition(map,vehicles,elem);
auto.setStartElement(elem);
auto.setStartPosition(pos);
auto.setStartCoord(pos.getCoord());//makeCoord(elem,pos));
auto.setCoord(auto.getStartCoord().copy());
auto.setCurrentElement((auto.getStartElement()));
auto.setCurrentPosition(auto.getStartPosition());
elem = this.makeElement(map);
pos = makePosition(map, vehicles, elem);
auto.setFinishElement(elem);
auto.setFinishPosition(pos);
auto.setFinishCoord(pos.getCoord());//makeCoord(elem, pos));
auto.setMaxSpeed(map.getMaxSpeed());
vehicles.add(auto);
}
this.registarte(map,vehicles);
try {
this.makeTrips(map,vehicles);
} catch (Exception e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
retVal.setVehicles(vehicles);
return retVal;
}