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();
|