private static void setScreenScale (double scale) { double ratio = scale / view.getScreenScale(); view.setScreenScale(scale); view.setFrontClipDistance(view.getFrontClipDistance() * ratio); view.setBackClipDistance(view.getBackClipDistance() * ratio); }
private static void setScreenScale (double scale) { double ratio = scale / view.getScreenScale(); view.setScreenScale(scale); view.setFrontClipDistance(view.getFrontClipDistance() * ratio); view.setBackClipDistance(view.getBackClipDistance() * ratio); }
/** * Sets the scale for all three dimensions. * * @param minimum The minimum value of each scale. * @param maximum The maximum value of each scale. */ public static void setScale (double minimum, double maximum) { min = minimum; max = maximum; zoom = (max - min) / 2; double center = min + zoom; //double nominalDist = camera.getPosition().z; camera.setPosition(center, center, zoom * (2 + Math.sqrt(2))); double orbitScale = 0.5 * zoom; orbit.setZoomFactor(orbitScale); orbit.setTransFactors(orbitScale, orbitScale); setOrbitCenter(new Point3d(center, center, center)); view.setFrontClipDistance(DEFAULT_FRONT_CLIP * zoom); view.setBackClipDistance(DEFAULT_BACK_CLIP * zoom); }
/** * Sets the scale for all three dimensions. * * @param minimum The minimum value of each scale. * @param maximum The maximum value of each scale. */ public static void setScale (double minimum, double maximum) { min = minimum; max = maximum; zoom = (max - min) / 2; double center = min + zoom; //double nominalDist = camera.getPosition().z; camera.setPosition(center, center, zoom * (2 + Math.sqrt(2))); double orbitScale = 0.5 * zoom; orbit.setZoomFactor(orbitScale); orbit.setTransFactors(orbitScale, orbitScale); setOrbitCenter(new Point3d(center, center, center)); view.setFrontClipDistance(DEFAULT_FRONT_CLIP * zoom); view.setBackClipDistance(DEFAULT_BACK_CLIP * zoom); }
getCanvas3D().getView().setBackClipDistance(Math.abs(backClip)); getCanvas3D().getView().setFrontClipDistance(backClip / 100);
public BUnivers(final BCanvas3D _canvas) { canvas_ = _canvas; locale_ = new Locale(this); final ViewPlatform camera = new ViewPlatform(); final BranchGroup viewGroup = new BranchGroup(); final TransformGroup viewTg = new TransformGroup(); viewTg.setCapability(TransformGroup.ALLOW_TRANSFORM_READ); viewTg.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); viewTg.setCapability(Node.ALLOW_LOCAL_TO_VWORLD_READ); viewTg.addChild(camera); viewGroup.addChild(viewTg); final PhysicalBody body = new PhysicalBody(); final PhysicalEnvironment env = new PhysicalEnvironment(); final View view = new View(); view.setPhysicalBody(body); view.setPhysicalEnvironment(env); view.setBackClipDistance(100); view.setFrontClipDistance(.1); view.addCanvas3D(canvas_); view.attachViewPlatform(camera); transformU_ = viewTg; position_ = new Vector3d(); viewGroup.setCapability(BranchGroup.ALLOW_DETACH); locale_.addBranchGraph(viewGroup); }
@Override public void init(VCanvas3D canvas) { GraphicsConfigTemplate3D gct = new GraphicsConfigTemplate3D(); gct.setSceneAntialiasing(GraphicsConfigTemplate.PREFERRED); this.canvas = canvas; canvas.setDoubleBuffered(true); // 12.05.2015 define default size since offscreencanvas will be null // otherwise // see: https://java.net/jira/browse/JAVA3D-386 canvas.setSize(100, 100); canvas.getOffscreenCanvas3D().setDoubleBufferEnable(true); canvas.setResizeMode(JCanvas3D.RESIZE_IMMEDIATELY); offscreenCanvas = new VOffscreenCanvas3D( SimpleUniverse.getPreferredConfiguration()); universe = new SimpleUniverse(getCanvas().getOffscreenCanvas3D()); universe.getViewer().getView().addCanvas3D(offscreenCanvas); // offscreen rendering does not work with sceneantialiasing enabled! // universe.getViewer().getView().setSceneAntialiasingEnable(true); universe.getViewingPlatform().setNominalViewingTransform(); universe.getViewer().getView().setMinimumFrameCycleTime(0); universe.getViewer().getView().setFrontClipDistance(0.1); universe.getViewer().getView().setBackClipDistance(100); BranchGroup scene = createSceneGraph(); scene.compile(); universe.addBranchGraph(scene); }