@Override public void actionPerformed(ActionEvent pE) { EastNorth mapCenter = MainApplication.getMap().mapView.getCenter(); Perspective3D perspective = perspective3dProvider.getPerspective3d(); double x = perspective.calcX(mapCenter.getX()); double y = perspective.calcY(mapCenter.getY()); simpleMoveAnimator.getPoint().x = x; simpleMoveAnimator.getPoint().y = Camera.CAM_HEIGHT; simpleMoveAnimator.getPoint().z = -y; }
/** * Sets camera position and rotation. * * @param pGlu * GLU */ private void setCamera(GLU pGlu) { Point3d pos = this.simpleMoveAnimator.getPoint(); Vector3d posLookAt = new Vector3d(100, 0, 0); Vector3d rotate = this.simpleMoveAnimator.getAngle(); posLookAt = PointUtil.rotateZ3d(posLookAt, rotate.z); posLookAt = PointUtil.rotateY3d(posLookAt, rotate.y); posLookAt.add(pos); pGlu.gluLookAt(pos.x, pos.y, pos.z, posLookAt.x, posLookAt.y, posLookAt.z, 0, 1, 0); }