static Builder create() { return create(0d, ImmutableSet.<VizOptions>of()); }
/** * Will draw an overlay on occupied nodes. By default this is not shown. * @return A new builder instance. */ @CheckReturnValue public Builder withNodeOccupancy() { return create(margin(), SHOW_NODE_OCCUPANCY, vizOptions()); }
View.builder() .with(WarehouseRenderer.builder() .withMargin(0) .withOneWayStreetArrows() .withNodeOccupancy() .withNodes()) .with(GraphRoadModelRenderer.builder() .withDirectionArrows()
View.builder() .with(WarehouseRenderer.builder() .withMargin(0) .withOneWayStreetArrows() .withNodeOccupancy() .withNodes()) .with(AGVRenderer.builder() .withVehicleCreationNumber()
View.Builder viewBuilder = View.builder() .with(WarehouseRenderer.builder() .withMargin(VEHICLE_LENGTH)) .with(AGVRenderer.builder() .withDifferentColorsForVehicles());
WarehouseRenderer(Builder builder, CollisionGraphRoadModel m, final RenderController renderController) { model = m; graph = model.getGraph(); margin = builder.margin() + m.getVehicleLength() / 2d; drawOneWayStreetArrows = builder.vizOptions().contains( DRAW_ONE_WAY_STREET_ARROWS); showNodeOccupancy = builder.vizOptions().contains(SHOW_NODE_OCCUPANCY); showNodes = builder.vizOptions().contains(SHOW_NODES); showNodeCoordinates = builder.vizOptions().contains(SHOW_NODE_COORDINATES); adapter = new RenderHelper(); vehicleLength = model.getVehicleLength(); minDistance = model.getMinDistance(); final double roadWidth = model.getVehicleLength(); halfRoadWidth = roadWidth / 2d; arrowDimensions = new Point( ARROW_HEAD_REL_DIM.x * roadWidth, ARROW_HEAD_REL_DIM.y * roadWidth); m.getGraph().getEventAPI().addListener( new Listener() { @Override public void handleEvent(Event e) { renderController.requestStaticRenderUpdate(); } }, ListenableGraph.EventTypes.ADD_CONNECTION, ListenableGraph.EventTypes.REMOVE_CONNECTION); }
View.Builder viewBuilder = View.builder() .with(WarehouseRenderer.builder() .withMargin(VEHICLE_LENGTH)) .with(AGVRenderer.builder() .withDifferentColorsForVehicles());
Builder() { setDependencies(CollisionGraphRoadModel.class, RenderController.class); }
/** * @return A new {@link Builder} for creating a {@link WarehouseRenderer}. */ @CheckReturnValue public static Builder builder() { return Builder.create(); }
/** * Defines the margin around the warehouse. The margin is defined in the * unit used by the {@link CollisionGraphRoadModel}. The default value is * <code>0</code>. * @param m Must be a positive value. * @return A new builder instance. */ @CheckReturnValue public Builder withMargin(double m) { checkArgument(m >= 0d); return create(m, vizOptions()); }
@Override public boolean equals(Object o) { if (o == this) { return true; } if (o instanceof WarehouseRenderer.Builder) { WarehouseRenderer.Builder that = (WarehouseRenderer.Builder) o; return (this.vizOptions.equals(that.vizOptions())) && (Double.doubleToLongBits(this.margin) == Double.doubleToLongBits(that.margin())); } return false; }
/** * Will draw a small dot for each node. By default this is not shown. * @return A new builder instance. */ @CheckReturnValue public Builder withNodes() { return create(margin(), SHOW_NODES, vizOptions()); }
/** * Draws the coordinates for each node. By default this is not drawn. * @return A new builder instance. */ @CheckReturnValue public Builder withNodeCoordinates() { return create(margin(), SHOW_NODE_COORDINATES, vizOptions()); }
static Builder create(double m, VizOptions opt, ImmutableSet<VizOptions> more) { return create( m, Sets.immutableEnumSet(opt, more.toArray(new VizOptions[] {}))); } }
/** * One way streets will be indicated with an arrow indicating the allowed * driving direction. By default this is not drawn. * @return A new builder instance. */ @CheckReturnValue public Builder withOneWayStreetArrows() { return create(margin(), DRAW_ONE_WAY_STREET_ARROWS, vizOptions()); }