- Vector3d focal = new Vector3d(panel.getRenderer().GetActiveCamera().GetFocalPoint());
- Vector3d pos = new Vector3d(panel.getRenderer().GetActiveCamera().GetPosition());
- cameraPos.put(panel, pos);
- Vector3d dir = new Vector3d(pos);
- dir.sub(focal);
- dir.normalize();
- dir.scale(100);
- dir.add(focal);
- panel.getRenderer().GetActiveCamera().SetPosition(dir.x, dir.y, dir.z);
-
-
- panel.getRenderer().GetActiveCamera().SetParallelProjection(1);
- panel.getRenderer().ResetCameraClippingRange();
+ double distance = cam.GetDistance();
+ double angle = cam.GetViewAngle();
+ double scale = Math.tan(Math.toRadians(angle / 2)) * distance;
+ cam.SetParallelScale(scale);
+ cam.SetParallelProjection(1);
+ ren.ResetCameraClippingRange();