Revision 10

View differences:

1.10/trunk/extensions/ext3Dgui/src/org/gvsig/gvsig3dgui/display/DisplayPanel.java
126 126
				PluginServices.getText(this, "HorizontalInterlace"),
127 127
				PluginServices.getText(this, "VerticalInterlace"),
128 128
				PluginServices.getText(this, "HorizontalSplit"),
129
				PluginServices.getText(this, "VerticalSplit"),
129 130
				PluginServices.getText(this, "LeftEye"),
130 131
				PluginServices.getText(this, "RightEye"),
131
				PluginServices.getText(this, "QuadBuffer"), }));
132
				PluginServices.getText(this, "QuadBuffer"),
133
				PluginServices.getText(this, "CheckerBoard")}));
132 134
		gridBagConstraints = new java.awt.GridBagConstraints();
133 135
		gridBagConstraints.gridx = 1;
134 136
		gridBagConstraints.gridy = 0;
......
345 347

  
346 348
		case 5:
347 349
			_ds.setStereo(true);
348
			_ds.setStereoMode(DisplaySettings.StereoMode.LEFT_EYE);
350
			_ds.setStereoMode(DisplaySettings.StereoMode.VERTICAL_SPLIT);
349 351
			break;
350 352

  
351 353
		case 6:
352 354
			_ds.setStereo(true);
353
			_ds.setStereoMode(DisplaySettings.StereoMode.RIGHT_EYE);
355
			_ds.setStereoMode(DisplaySettings.StereoMode.LEFT_EYE);
354 356
			break;
355 357

  
356 358
		case 7:
357 359
			_ds.setStereo(true);
360
			_ds.setStereoMode(DisplaySettings.StereoMode.RIGHT_EYE);
361
			break;
362
			
363
		case 8:
364
			_ds.setStereo(false);
358 365
			_ds.setStereoMode(DisplaySettings.StereoMode.QUAD_BUFFER);
359 366
			break;
367
		case 9:
368
			_ds.setStereo(true);
369
			_ds.setStereoMode(DisplaySettings.StereoMode.CHECKERBOARD);
370
			break;
360 371

  
361 372
		}
362 373
		switch (antialias) {
1.10/trunk/extensions/ext3Dgui/src/org/gvsig/gvsig3dgui/display/FullScreenPanel.java
24 24
import javax.swing.JFileChooser;
25 25
import javax.swing.JFormattedTextField;
26 26
import javax.swing.JLabel;
27
import javax.swing.JOptionPane;
27 28
import javax.swing.JPanel;
28 29
import javax.swing.JSpinner;
29 30
import javax.swing.JTextField;
......
64 65
import com.iver.core.NotificationDialog;
65 66

  
66 67
public class FullScreenPanel extends GridBagLayoutPanel implements IWindow,
67
		ChangeListener, IWindowListener {
68
ChangeListener, IWindowListener {
68 69

  
69 70
	/**
70 71
	 * 
......
188 189
			}
189 190

  
190 191
		});
191
		
192

  
192 193
		wowjCheckBox.setText(PluginServices.getText(this, "Activar_WOW"));
193 194
		gridBagConstraints = new java.awt.GridBagConstraints();
194 195
		gridBagConstraints.gridx = 0;
......
360 361

  
361 362
	private Compass compass;
362 363

  
364
	
363 365

  
364 366
	protected void jButton1ActionPerformed(ActionEvent evt) {
365 367

  
366 368
		_view3D = (View3D) PluginServices.getMDIManager().getActiveWindow();
367 369
		PluginServices.getMDIManager().closeWindow(this);
368
		// new Thread(new Runnable() {
369 370

  
370
		// public void run() {
371
		_ds = _view3D.getDisplaySettings();
371 372

  
372
		_ds = _view3D.getDisplaySettings();
373 373
		final boolean synchronize = jCheckBox1.isSelected();
374 374
		changedManipulator = false;
375 375

  
376
		// if (!jTextField1.getText().equals("")) {
377
		//
378
		// runMStereo();
379
		// return;
380
		//
381
		// }
382

  
383 376
		GraphicsEnvironment ge = GraphicsEnvironment
384
				.getLocalGraphicsEnvironment();
377
		.getLocalGraphicsEnvironment();
385 378
		try {
386 379
			GraphicsDevice[] gs = ge.getScreenDevices();
387 380

  
388 381
			_numScreens = gs.length;
389
		//	System.out.println("NUMERO DE PANTALLAS: " + _numScreens);
382
			//	System.out.println("NUMERO DE PANTALLAS: " + _numScreens);
390 383
		} catch (HeadlessException e) {
391 384
			// Is thrown if there are no screen devices
392 385
		}
......
405 398
			terrain.setTerrainName(planetView3D.getTerrainName());
406 399

  
407 400
			MapContext3D mc = (MapContext3D) _view3D.getMapControl()
408
					.getMapContext();
401
			.getMapContext();
409 402
			terrain.init();
410 403
			terrain.setLayerManager(mc.getTerrain().getLayerManager());
411 404
			viewCam = new Camera();
412 405
			_fullScreenViewer = new TerrainViewer() {
406

  
413 407
				public void frame() {
414 408
					if (synchronize) {
415 409
						_fullScreenViewer.setFusionDistance((float) terrain
416 410
								.getZoom());
417 411
						Matrix refView = _view3D.getCanvas3d().getOSGViewer()
418
								.getViewMatrix();
412
						.getViewMatrix();
419 413
						viewCam.setViewMatrix(refView);
420 414
						_fullScreenViewer.setCamera(viewCam);
421 415

  
416

  
422 417
					}
423 418

  
424 419
					super.frame();
425 420
				};
426 421
			};
422

  
423

  
424

  
427 425
			_fullScreenViewer.addTerrain(terrain);
428 426
			_fullScreenViewer.addFeature((((TerrainViewer) _view3D
429 427
					.getCanvas3d().getOSGViewer()).getFeatures()));
......
447 445
			_fullScreenViewer.addNodeToCameraHUD(compass);
448 446

  
449 447
			Vec4 color = ((TerrainViewer) _view3D.getCanvas3d().getOSGViewer())
450
					.getClearColor();
448
			.getClearColor();
451 449
			_fullScreenViewer.setClearColor(color.x(), color.y(), color.z(),
452 450
					color.w());
453 451
			_fullScreenViewer.setDisplaySettings(_ds);
454 452
			Matrix refView = _view3D.getCanvas3d().getOSGViewer()
455
					.getViewMatrix();
453
			.getViewMatrix();
456 454
			viewCam.setViewMatrix(refView);
457 455
			_fullScreenViewer.setCamera(viewCam);
458 456

  
457

  
458

  
459 459
			_canvas3d = ViewerFactory.getInstance().createViewer(
460 460
					ViewerFactory.VIEWER_TYPE.CANVAS_VIEWER, _fullScreenViewer);
461 461
			_canvas3d
462
					.addKeyListener(new ViewerStateListener(_fullScreenViewer));
462
			.addKeyListener(new ViewerStateListener(_fullScreenViewer));
463 463
			frame = new JDialog();
464 464
			JPanel jContentPane = new JPanel();
465 465
			jContentPane.setLayout(new BorderLayout());
......
470 470
				public void windowClosing(WindowEvent e) {
471 471
					if (changedManipulator) {
472 472
						((TerrainViewer) (_view3D.getCanvas3d().getOSGViewer()))
473
								.setCameraManipulator(null);
473
						.setCameraManipulator(null);
474 474
					}
475 475

  
476 476
					_canvas3d.dispose();
......
532 532

  
533 533
		if (_view3D.getCanvas3d().getOSGViewer().getCameraManipulator() == null) {
534 534
			((TerrainViewer) (_view3D.getCanvas3d().getOSGViewer()))
535
					.restoreCustomTerrainManipulator();
535
			.restoreCustomTerrainManipulator();
536 536
			changedManipulator = true;
537 537
		}
538 538

  
......
558 558
				_fullScreenViewer.setUpViewForWoWVxDisplay(screenNum,
559 559
						wow_content, wow_factor, wow_offset, wow_Zd, wow_vz,
560 560
						wow_M, wow_C);
561

  
562
				final ISlaveComponent slavePainter = new ISlaveComponent() {
563

  
564
					public void repaint() {
565
						_fullScreenViewer.frame();
566
					}
567
				};
568
				_view3D.getCanvas3d().addRenderSlaveComponent(slavePainter);
569
				new Thread(new Runnable() {
570

  
571
					public void run() {
572
						while(!_fullScreenViewer.done()) {
573
							try {
574
								Thread.sleep(1);
575
							} catch (InterruptedException e) {
576
							}
577
						}
578
						_view3D.getCanvas3d().removeRenderSlaveComponent(slavePainter);
579
						_fullScreenViewer.dispose();
580
					}
581
				}).start();
582

  
583
			}
584
			else if(_ds.getStereoMode()== DisplaySettings.StereoMode.QUAD_BUFFER){
561 585
				
586
				GraphicsDevice[] gs = ge.getScreenDevices();
587
				int width = gs[0].getDisplayMode().getWidth();
588
				int height = gs[0].getDisplayMode().getHeight();
589
				
590
				if(!_fullScreenViewer.setUpViewerWithQuadBuffer(0, 0, width, height))
591
					JOptionPane.showMessageDialog((Component)PluginServices.getMainFrame(), PluginServices.getText(this, "Quadbuffer_error"));
592
				compass.setPosition(new Vec3(width - 70, height - 70, 0));
593

  
562 594
				final ISlaveComponent slavePainter = new ISlaveComponent() {
563
					
595

  
564 596
					public void repaint() {
565 597
						_fullScreenViewer.frame();
566 598
					}
567 599
				};
568 600
				_view3D.getCanvas3d().addRenderSlaveComponent(slavePainter);
569 601
				new Thread(new Runnable() {
570
					
602

  
571 603
					public void run() {
572 604
						while(!_fullScreenViewer.done()) {
573 605
							try {
......
577 609
						}
578 610
						_view3D.getCanvas3d().removeRenderSlaveComponent(slavePainter);
579 611
						_fullScreenViewer.dispose();
612
						_ds.setStereo(false);
580 613
					}
581 614
				}).start();
582 615
				
583
			} else {
616
			}
617
			else {
584 618
				if (!jCheckBox2.isSelected()) {
585 619
					frame.setUndecorated(true);
586 620
					frame.requestFocus();
......
610 644
				frame.setSize(((SpinnerNumberModel) jSpinner4.getModel())
611 645
						.getNumber().intValue(),
612 646
						((SpinnerNumberModel) jSpinner5.getModel()).getNumber()
613
								.intValue());
647
						.intValue());
614 648
				frame.setLocation((((SpinnerNumberModel) jSpinner1.getModel())
615 649
						.getNumber().intValue() * dim.width)
616 650
						+ ((SpinnerNumberModel) jSpinner2.getModel())
617
								.getNumber().intValue(),
651
						.getNumber().intValue(),
618 652
						((SpinnerNumberModel) jSpinner3.getModel()).getNumber()
619
								.intValue());
653
						.intValue());
620 654
				frame.setVisible(true);
621 655
			} else {
622 656

  
623 657
				frame.setSize(((SpinnerNumberModel) jSpinner4.getModel())
624 658
						.getNumber().intValue(),
625 659
						((SpinnerNumberModel) jSpinner5.getModel()).getNumber()
626
								.intValue());
660
						.intValue());
627 661
				frame.setLocation(((SpinnerNumberModel) jSpinner2.getModel())
628 662
						.getNumber().intValue(),
629 663
						((SpinnerNumberModel) jSpinner3.getModel()).getNumber()
630
								.intValue());
664
						.intValue());
631 665
				frame.setVisible(true);
632 666

  
633 667
			}
......
654 688
			p.addVertex(new Vec3(392.0, 82.0, 0.0), color);
655 689
			p.addVertex(new Vec3(0.0, 82.0, 0.0), color);
656 690
			p.setTexture(this.getClass().getClassLoader().getResource(
657
					"images/okode-stereotoolbox.png").getPath());
691
			"images/okode-stereotoolbox.png").getPath());
658 692
			p.setEnabledBlending(true);
659 693

  
660 694
			ch = new CameraHUD();
......
673 707
			viewer = null;
674 708
			try {
675 709
				terrain = ((TerrainViewer) _view3D.getCanvas3d().getOSGViewer())
676
						.getTerrain(0);
710
				.getTerrain(0);
677 711

  
678 712
				g.addChild(terrain);
679 713
				g.addChild(((TerrainViewer) _view3D.getCanvas3d()
......
696 730
			viewer.setSceneData(n);
697 731

  
698 732
			Vec4 color = ((TerrainViewer) _view3D.getCanvas3d().getOSGViewer())
699
					.getClearColor();
733
			.getClearColor();
700 734
			viewer.setClearColor(color.x(), color.y(), color.z(), color.w());
701 735
			viewer.setDisplaySettings(_ds);
702 736

  
703 737
			if (_view3D.getCanvas3d().getOSGViewer().getCameraManipulator() == null) {
704 738
				((TerrainViewer) (_view3D.getCanvas3d().getOSGViewer()))
705
						.restoreCustomTerrainManipulator();
739
				.restoreCustomTerrainManipulator();
706 740
				changedManipulator = true;
707 741
			}
708 742

  
......
731 765

  
732 766
			viewer.setUpViewInWindow(0, 0, 800, 600,
733 767
					((SpinnerNumberModel) jSpinner1.getModel()).getNumber()
734
							.intValue());
768
					.intValue());
735 769

  
736 770
		}
737 771

  
......
752 786

  
753 787
		if (changedManipulator) {
754 788
			((TerrainViewer) (_view3D.getCanvas3d().getOSGViewer()))
755
					.setCameraManipulator(null);
789
			.setCameraManipulator(null);
756 790
		}
757 791

  
758 792
		System.gc();
1.10/trunk/extensions/ext3Dgui/config/text.properties
118 118
PowerWall=PowerWall
119 119
Propiedades_3D=Propiedades 3D
120 120
Proyection_Select=Seleccione tipo\:
121
QuadBuffer=Quad Buffer
121
QuadBuffer=Quad Buffer (S\u00F3lo Pant. Completa)
122
Quadbuffer_error=Modo Quad Buffer no soportado por su tarjeta gr\u00E1fica.
122 123
Rango_maximo=Rango m\u00E1ximo
123 124
Rango_minimo=Rango m\u00EDnimo
124 125
Raster_layer=Rasterizar la capa
1.10/trunk/extensions/ext3Dgui/config/text_en.properties
115 115
PowerWall=PowerWall
116 116
Propiedades_3D=3D Properties
117 117
Proyection_Select=Select type
118
QuadBuffer=Quad buffer
118
QuadBuffer=Quad buffer (Only FullScreen)
119
Quadbuffer_error=Quad Buffer mode not supported by the graphics hardware.
119 120
Rango_maximo=Maximum range
120 121
Rango_minimo=Minimu range
121 122
Raster_layer=Rasterize layer

Also available in: Unified diff