PlaneRoadModel(RoadModelBuilders.AbstractPlaneRMB<?, ?> b) { super(b.getDistanceUnit(), b.getSpeedUnit()); min = b.getMin(); max = b.getMax(); width = max.x - min.x; height = max.y - min.y; maxSpeed = unitConversion.toInSpeed(b.getMaxSpeed()); snapshot = PlaneRoadModelSnapshot.create(this); planeGraph = new PlaneGraph<>(); registry = MapSpatialRegistry.create(); }
@Override protected MoveProgress doFollowPath(MovingRoadUser object, Queue<Point> path, TimeLapse time) { blockingRegistry.removeObject(object); final MoveProgress mp = super.doFollowPath(object, path, time); blockingRegistry.addAt(object, getPosition(object)); return mp; }
static CollisionGraphRMB create(Unit<Length> distanceUnit, Unit<Velocity> speedUnit, Supplier<ListenableGraph<?>> graphSupplier, boolean isGmcEnabled, double vehicleLength, double minDistance) { return new AutoValue_RoadModelBuilders_CollisionGraphRMB(distanceUnit, speedUnit, graphSupplier, isGmcEnabled, vehicleLength, minDistance); } }
@Override public GenericRoadModel create(ForwardingRoadModelTest testClass) { return new ForwardingRoadModel(new ForwardingRoadModel( new ForwardingRoadModel(RoadModelBuilders.staticGraph(testClass .createGraph()).build(mock(DependencyProvider.class))))); } }}});
static CollisionPlaneRMB create(AbstractPlaneRMB<?, ?> planeRmb) { return create(planeRmb.getDistanceUnit(), planeRmb.getSpeedUnit(), planeRmb.getMin(), planeRmb.getMax(), planeRmb.getMaxSpeed(), DEFAULT_OBJ_RADIUS); }
@Override public MoveProgress followPath(MovingRoadUser object, Queue<Point> path, TimeLapse time) { return delegate().followPath(object, path, time); }
@Override public <Y extends RoadUser> Set<Y> getObjectsAt(RoadUser roadUser, Class<Y> type) { return delegate().getObjectsAt(roadUser, type); }
@Override public ImmutableSet<T> findObjectsWithinRadius(Point position, double radius) { return delegate().findObjectsWithinRadius(position, radius); }
@Override public DynamicGraphRoadModelImpl build( DependencyProvider dependencyProvider) { return new DynamicGraphRoadModelImpl(getGraph(), this); }
@Override public Measure<Double, Length> getDistanceOfPath(Iterable<Point> path) throws IllegalArgumentException { return getModel().getDistanceOfPath(path); }
@Override public GenericRoadModel create(ForwardingRoadModelTest testClass) { return new ForwardingRoadModel(RoadModelBuilders.staticGraph(testClass .createGraph()).build(mock(DependencyProvider.class))); } }}, {new Creator() {