@Override public void readConstData(ByteBuffer in) throws IOException { int numberOfEntries = in.getInt(); for (int i = 0; i < numberOfEntries; i++) { VisBusStop stop = new VisBusStop(); stop.id = ByteBufferUtils.getString(in); String linkIdString = ByteBufferUtils.getString(in); if (!linkIdString.isEmpty()) { stop.linkId = linkIdString; } stop.x = in.getDouble(); stop.y = in.getDouble(); if (this.drawer != null) { this.drawer.stops.add(stop); } } }
@Override public void readConstData(ByteBuffer in) throws IOException { String id = ByteBufferUtils.getString(in); this.quad[0] = new Point2D.Float(in.getFloat(), in.getFloat()); this.quad[1] = new Point2D.Float(in.getFloat(), in.getFloat()); this.nrLanes = in.getInt(); this.id = id.toCharArray(); }
@Override public void readDynData(ByteBuffer in, SceneGraph graph) throws IOException { int noEvents = in.getInt(); for (int i = 0; i < noEvents; i++){ String systemId = ByteBufferUtils.getString(in); String groupId = ByteBufferUtils.getString(in); int stateInt = in.getInt(); SignalGroupState state = null; if (stateInt == 1){ state = SignalGroupState.GREEN; } else if (stateInt == 0){ state = SignalGroupState.RED; } else if (stateInt == 2){ state = SignalGroupState.REDYELLOW; } else if (stateInt == 3){ state = SignalGroupState.YELLOW; } else if (stateInt == 4){ state = SignalGroupState.OFF; } this.drawer.updateGreenState(systemId, groupId, state); } } }
private void readAgent(ByteBuffer in, SceneGraph graph) { String id = ByteBufferUtils.getString(in); float x = in.getFloat(); float y = in.getFloat(); int int1 = in.getInt() ; int int2 = in.getInt() ; float float1 = in.getFloat() ; AgentSnapshotInfo agInfo = snapshotFactory.createAgentSnapshotInfo(Id.create(id, Person.class), x, y, 0., 0.) ; agInfo.setAgentState( al[int1] ) ; agInfo.setUserDefined( int2 ) ; agInfo.setColorValueBetweenZeroAndOne(float1); graph.getAgentPointLayer().addAgent(agInfo); }
private void readAgent(ByteBuffer in, SceneGraph sceneGraph) { // yyyy there is a very similar method in OTFAgentsListHandler. with a more robust format, they should be united. kai, apr'10 String id = ByteBufferUtils.getString(in); float x = in.getFloat(); float y = in.getFloat(); int userdefined = in.getInt(); float colorValue = in.getFloat(); int state = in.getInt(); AgentSnapshotInfo agInfo = snapshotFactory.createAgentSnapshotInfo(Id.create(id, Person.class), x, y, 0., 0.); agInfo.setColorValueBetweenZeroAndOne(colorValue); agInfo.setUserDefined(userdefined); agInfo.setAgentState(AgentState.values()[state]); sceneGraph.getAgentPointLayer().addAgent(agInfo); }
private void readSignalSystems(ByteBuffer in){ int noSignalSystems = in.getInt(); for (int i = 0; i < noSignalSystems; i++){ String systemId = ByteBufferUtils.getString(in); VisSignalSystem otfsystem = new VisSignalSystem(systemId); this.drawer.addOTFSignalSystem(otfsystem); String groupId = ByteBufferUtils.getString(in); VisSignalGroup otfgroup = new VisSignalGroup(systemId, groupId); otfsystem.addOTFSignalGroup(otfgroup); int noSignals = in.getInt(); for (int k = 0; k < noSignals; k++){ String signalId = ByteBufferUtils.getString(in); String linkId = ByteBufferUtils.getString(in); VisLinkWLanes link = this.drawer.getLanesLinkData().get(linkId); VisSignal signal = new VisSignal(systemId, signalId); String laneId = ByteBufferUtils.getString(in); VisLane laneData = link.getLaneData().get(laneId); laneData.addSignal(signal); String toLinkId = ByteBufferUtils.getString(in); VisLinkWLanes toLink = this.drawer.getLanesLinkData().get(toLinkId); signal.addTurningMoveRestriction(toLink);
/** * Tests {@link ByteBufferUtils#putString(java.nio.ByteBuffer, String)} and * {@link ByteBufferUtils#getString(java.nio.ByteBuffer)}. */ public void testPutGetString() { final ByteBuffer buffer = ByteBuffer.allocate(100); buffer.putInt(5); ByteBufferUtils.putString(buffer, "foo bar"); buffer.putChar('?'); ByteBufferUtils.putString(buffer, "Hello World"); buffer.putChar('!'); buffer.flip(); assertEquals(5, buffer.getInt()); assertEquals("foo bar", ByteBufferUtils.getString(buffer)); assertEquals('?', buffer.getChar()); assertEquals("Hello World", ByteBufferUtils.getString(buffer)); assertEquals('!', buffer.getChar()); assertFalse(buffer.hasRemaining()); }