コード例 #1
0
ファイル: CASimVisClient.java プロジェクト: sebhoerl/matsim
  private void run() {

    try {
      CtrlMsg regReq = CtrlMsg.newBuilder().setCtrlMsgTyp(CtrlMsg.Type.REGISTER).setId(id).build();
      CtrlMsgRsp regRsp = visService.ctrl(cntr, regReq);

      ScnReq scReq = ScnReq.newBuilder().build();
      Scenario scRsp = visService.reqScn(cntr, scReq);
      this.drawer = new EventsBasedVisDebugger(scRsp, null);
      this.drawer.addAdditionalDrawer(new InfoBox());

      init();
      ZoomPan zoomer = this.drawer.zoomer;
      int w = this.drawer.getWidth();
      int h = this.drawer.getHeight();
      PVector br = new PVector(w, h);
      PVector tl = new PVector(0, 0);

      loadScenario(scRsp);

      // log.info(rsp);
      while (true) {

        PVector brC = zoomer.getDispToCoord(br);
        PVector tlC = zoomer.getDispToCoord(tl);

        FrameRqst frReq =
            FrameRqst.newBuilder()
                .setTlX(tlC.x - drawer.getOffsetX() - 100)
                .setTlY(-(drawer.getOffsetY() + tlC.y) + 100)
                .setBrX(brC.x - drawer.getOffsetX() + 100)
                .setBrY(-(drawer.getOffsetY() + brC.y) - 100)
                .setTime(0)
                .setId(id)
                .build();
        Frame frame = visService.reqFrame(cntr, frReq);
        handleFrame(frame);
      }

    } catch (ServiceException e) {
      throw new RuntimeException(e);
    }
  }