/* -*- tab-width: 4 -*-
*
* Electric(tm) VLSI Design System
*
* File: J3DViewDialog.java
*
* Copyright (c) 2003 Sun Microsystems and Static Free Software
*
* Electric(tm) is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* Electric(tm) is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Electric(tm); see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, Mass 02111-1307, USA.
*/
package com.sun.electric.plugins.j3d.ui;
import com.sun.electric.database.text.TextUtils;
import com.sun.electric.plugins.j3d.View3DWindow;
import com.sun.electric.plugins.j3d.utils.J3DClientApp;
import com.sun.electric.plugins.j3d.utils.J3DUtils;
import com.sun.electric.tool.Job;
import com.sun.electric.tool.user.dialogs.EDialog;
import com.sun.electric.tool.user.ui.WindowContent;
import com.sun.electric.tool.user.ui.WindowFrame;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.media.j3d.BranchGroup;
import javax.media.j3d.TransformGroup;
/**
* Class to handle the "3D View Demo Dialog" dialog.
* @author Gilda Garreton
* @version 0.1
*/
public class J3DViewDialog extends EDialog
{
private View3DWindow view3D = null;
private J3DClientApp socketJob = null;
private List<J3DUtils.ThreeDDemoKnot> knots = new ArrayList<J3DUtils.ThreeDDemoKnot>();
private Map<TransformGroup,BranchGroup> interMap;
public static void create3DViewDialog(java.awt.Frame parent)
{
View3DWindow view3D = null;
WindowContent content = WindowFrame.getCurrentWindowFrame().getContent();
if (content instanceof View3DWindow)
view3D = (View3DWindow)content;
else
{
System.out.println("Current Window Frame is not a 3D View");
return;
}
J3DViewDialog dialog = new J3DViewDialog(parent, view3D, false);
dialog.setVisible(true);
}
/** Creates new form ThreeView */
public J3DViewDialog(java.awt.Frame parent, View3DWindow view3d, boolean modal)
{
super(parent, modal);
initComponents();
this.view3D = view3d;
getRootPane().setDefaultButton(connect);
// spline.addItem("KB Spline");
// spline.addItem("TCB Spline");
if (J3DUtils.jAlpha != null)
{
slider.addChangeListener(J3DUtils.jAlpha);
auto.setSelected(J3DUtils.jAlpha.getAutoMode());
}
// setting initial other values
setOtherValues("?", "?");
// to calculate window position
finishInitialization();
}
public void socketAction(String inData)
{
String[] stringValues = J3DUtils.parseValues(inData, 0);
xField.setText(stringValues[0]);
yField.setText(stringValues[1]);
zField.setText(stringValues[2]);
xRotField.setText(stringValues[3]);
yRotField.setText(stringValues[4]);
zRotField.setText(stringValues[5]);
xRotPosField.setText(stringValues[6]);
yRotPosField.setText(stringValues[7]);
zRotPosField.setText(stringValues[8]);
setOtherValues(stringValues[9], stringValues[10]);
double[] values = J3DUtils.convertValues(stringValues);
knots.add(view3D.moveAndRotate(values));
}
private void setOtherValues(String capacitance, String radius)
{
capacitanceLabel.setText("Capacitance: " + capacitance + " [fF]");
radiusLabel.setText("Radius: " + radius + " [mm]");
}
protected void escapePressed() { closeActionPerformed(null); }
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
private void initComponents() {//GEN-BEGIN:initComponents
java.awt.GridBagConstraints gridBagConstraints;
rotationPanel = new javax.swing.JPanel();
zRotPosLabelUnit = new javax.swing.JLabel();
yRotLabelUnit = new javax.swing.JLabel();
yRotPosLabelUnit = new javax.swing.JLabel();
xRotPosLabelUnit = new javax.swing.JLabel();
zRotLabelUnit = new javax.swing.JLabel();
xRotLabelUnit = new javax.swing.JLabel();
zRotPosField = new javax.swing.JTextField();
zRotPosLabel = new javax.swing.JLabel();
yRotPosField = new javax.swing.JTextField();
yRotPosLabel = new javax.swing.JLabel();
xRotPosField = new javax.swing.JTextField();
xRotPosLabel = new javax.swing.JLabel();
zRotField = new javax.swing.JTextField();
zRotLabel = new javax.swing.JLabel();
yRotField = new javax.swing.JTextField();
yRotLabel = new javax.swing.JLabel();
xRotField = new javax.swing.JTextField();
xRotLabel = new javax.swing.JLabel();
xRotBox = new javax.swing.JCheckBox();
yRotBox = new javax.swing.JCheckBox();
zRotBox = new javax.swing.JCheckBox();
positionPanel = new javax.swing.JPanel();
zLabelUnit = new javax.swing.JLabel();
yLabelUnit = new javax.swing.JLabel();
xLabelUnit = new javax.swing.JLabel();
zField = new javax.swing.JTextField();
zLabel = new javax.swing.JLabel();
yField = new javax.swing.JTextField();
yLabel = new javax.swing.JLabel();
xField = new javax.swing.JTextField();
xLabel = new javax.swing.JLabel();
xBox = new javax.swing.JCheckBox();
yBox = new javax.swing.JCheckBox();
zBox = new javax.swing.JCheckBox();
otherPanel = new javax.swing.JPanel();
capacitanceLabel = new javax.swing.JLabel();
radiusLabel = new javax.swing.JLabel();
separator = new javax.swing.JSeparator();
slider = new javax.swing.JSlider();
auto = new javax.swing.JCheckBox();
demo = new javax.swing.JButton();
separator1 = new javax.swing.JSeparator();
close = new javax.swing.JButton();
connect = new javax.swing.JButton();
enter = new javax.swing.JButton();
read = new javax.swing.JButton();
getContentPane().setLayout(new java.awt.GridBagLayout());
setTitle("3D Capacitance Demo Control Dialog");
setBackground(java.awt.Color.white);
setName("");
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
closeDialog(evt);
}
});
rotationPanel.setLayout(new java.awt.GridBagLayout());
rotationPanel.setBorder(new javax.swing.border.TitledBorder("Rotation Values"));
zRotPosLabelUnit.setText("[um]");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 4;
gridBagConstraints.gridy = 5;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
rotationPanel.add(zRotPosLabelUnit, gridBagConstraints);
yRotLabelUnit.setText("[degrees]");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 4;
gridBagConstraints.gridy = 1;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
rotationPanel.add(yRotLabelUnit, gridBagConstraints);
yRotPosLabelUnit.setText("[um]");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 4;
gridBagConstraints.gridy = 4;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
rotationPanel.add(yRotPosLabelUnit, gridBagConstraints);
xRotPosLabelUnit.setText("[um]");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 4;
gridBagConstraints.gridy = 3;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
rotationPanel.add(xRotPosLabelUnit, gridBagConstraints);
zRotLabelUnit.setText("[degrees]");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 4;
gridBagConstraints.gridy = 2;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
rotationPanel.add(zRotLabelUnit, gridBagConstraints);
xRotLabelUnit.setText("[degrees]");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 4;
gridBagConstraints.gridy = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
rotationPanel.add(xRotLabelUnit, gridBagConstraints);
zRotPosField.setPreferredSize(new java.awt.Dimension(60, 21));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 5;
gridBagConstraints.gridwidth = 2;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.insets = new java.awt.Insets(0, 0, 4, 0);
rotationPanel.add(zRotPosField, gridBagConstraints);
zRotPosLabel.setText("Z:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 5;
gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
rotationPanel.add(zRotPosLabel, gridBagConstraints);
yRotPosField.setPreferredSize(new java.awt.Dimension(60, 21));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 4;
gridBagConstraints.gridwidth = 2;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
rotationPanel.add(yRotPosField, gridBagConstraints);
yRotPosLabel.setText("Y:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 4;
gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
rotationPanel.add(yRotPosLabel, gridBagConstraints);
xRotPosField.setPreferredSize(new java.awt.Dimension(60, 21));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 3;
gridBagConstraints.gridwidth = 2;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
rotationPanel.add(xRotPosField, gridBagConstraints);
xRotPosLabel.setText("X:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 3;
gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
rotationPanel.add(xRotPosLabel, gridBagConstraints);
zRotField.setPreferredSize(new java.awt.Dimension(60, 21));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 2;
gridBagConstraints.gridwidth = 2;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
rotationPanel.add(zRotField, gridBagConstraints);
zRotLabel.setText("Angle Z:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 2;
gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
rotationPanel.add(zRotLabel, gridBagConstraints);
yRotField.setPreferredSize(new java.awt.Dimension(60, 21));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 1;
gridBagConstraints.gridwidth = 2;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
rotationPanel.add(yRotField, gridBagConstraints);
yRotLabel.setText("Angle Y:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 1;
gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
rotationPanel.add(yRotLabel, gridBagConstraints);
xRotField.setPreferredSize(new java.awt.Dimension(60, 21));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 0;
gridBagConstraints.gridwidth = 2;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
rotationPanel.add(xRotField, gridBagConstraints);
xRotLabel.setText("Angle X:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
rotationPanel.add(xRotLabel, gridBagConstraints);
xRotBox.setSelected(true);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
rotationPanel.add(xRotBox, gridBagConstraints);
yRotBox.setSelected(true);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
rotationPanel.add(yRotBox, gridBagConstraints);
zRotBox.setSelected(true);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
rotationPanel.add(zRotBox, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 0;
gridBagConstraints.gridwidth = 3;
gridBagConstraints.gridheight = 6;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
getContentPane().add(rotationPanel, gridBagConstraints);
positionPanel.setLayout(new java.awt.GridBagLayout());
positionPanel.setBorder(new javax.swing.border.TitledBorder("Position Values"));
zLabelUnit.setText("[um]");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 3;
gridBagConstraints.gridy = 2;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
positionPanel.add(zLabelUnit, gridBagConstraints);
yLabelUnit.setText("[um]");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 3;
gridBagConstraints.gridy = 1;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
positionPanel.add(yLabelUnit, gridBagConstraints);
xLabelUnit.setText("[um]");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 3;
gridBagConstraints.gridy = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
positionPanel.add(xLabelUnit, gridBagConstraints);
zField.setPreferredSize(new java.awt.Dimension(60, 21));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 2;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
positionPanel.add(zField, gridBagConstraints);
zLabel.setText("Z:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 2;
gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
positionPanel.add(zLabel, gridBagConstraints);
yField.setPreferredSize(new java.awt.Dimension(60, 21));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 1;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
positionPanel.add(yField, gridBagConstraints);
yLabel.setText("Y:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 1;
gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
positionPanel.add(yLabel, gridBagConstraints);
xField.setMinimumSize(new java.awt.Dimension(20, 21));
xField.setPreferredSize(new java.awt.Dimension(60, 21));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 0;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
positionPanel.add(xField, gridBagConstraints);
xLabel.setText("X:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
positionPanel.add(xLabel, gridBagConstraints);
xBox.setSelected(true);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
positionPanel.add(xBox, gridBagConstraints);
yBox.setSelected(true);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
positionPanel.add(yBox, gridBagConstraints);
zBox.setSelected(true);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
positionPanel.add(zBox, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.gridheight = 3;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
getContentPane().add(positionPanel, gridBagConstraints);
otherPanel.setLayout(new java.awt.GridBagLayout());
otherPanel.setBorder(new javax.swing.border.TitledBorder(""));
capacitanceLabel.setText("Capacitance: ? [fF]");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
otherPanel.add(capacitanceLabel, gridBagConstraints);
radiusLabel.setText("Radius: ? [mm]");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridy = 1;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
otherPanel.add(radiusLabel, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
getContentPane().add(otherPanel, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 7;
gridBagConstraints.gridwidth = 6;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
getContentPane().add(separator, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridwidth = 5;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
getContentPane().add(slider, gridBagConstraints);
auto.setText("Auto");
auto.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
autoActionPerformed(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
getContentPane().add(auto, gridBagConstraints);
demo.setText("Start Demo");
demo.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
demoActionPerformed(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
getContentPane().add(demo, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.RELATIVE;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
getContentPane().add(separator1, gridBagConstraints);
close.setText("Close");
close.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
closeActionPerformed(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
getContentPane().add(close, gridBagConstraints);
connect.setText("Connect");
connect.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
connectActionPerformed(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
getContentPane().add(connect, gridBagConstraints);
enter.setText("Enter");
enter.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
enterActionPerformed(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 6;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
getContentPane().add(enter, gridBagConstraints);
read.setText("Read from File");
read.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
readActionPerformed(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 6;
gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
getContentPane().add(read, gridBagConstraints);
pack();
}//GEN-END:initComponents
private void readActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_readActionPerformed
interMap = view3D.addInterpolator(null);
if (interMap != null) // no error
demo.setText("Stop Demo");
}//GEN-LAST:event_readActionPerformed
private void autoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_autoActionPerformed
J3DUtils.jAlpha.setAutoMode(auto.isSelected());
}//GEN-LAST:event_autoActionPerformed
private void enterActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_enterActionPerformed
double[] values = new double[9];
values[0] = TextUtils.atof(xField.getText());
values[1] = TextUtils.atof(yField.getText());
values[2] = TextUtils.atof(zField.getText());
values[3] = J3DUtils.convertToRadiant(TextUtils.atof(xRotField.getText()));
values[4] = J3DUtils.convertToRadiant(TextUtils.atof(yRotField.getText()));
values[5] = J3DUtils.convertToRadiant(TextUtils.atof(zRotField.getText()));
values[6] = TextUtils.atof(xRotPosField.getText());
values[7] = TextUtils.atof(yRotPosField.getText());
values[8] = TextUtils.atof(zRotPosField.getText());
knots.add(view3D.moveAndRotate(values));
}//GEN-LAST:event_enterActionPerformed
private void demoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_demoActionPerformed
if (demo.getText().equals("Start Demo"))
{
interMap = view3D.addInterpolator(knots);
if (interMap != null) // no error
demo.setText("Stop Demo");
}
else
{
demo.setText("Start Demo");
view3D.removeInterpolator(interMap);
}
}//GEN-LAST:event_demoActionPerformed
private void connectActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_connectActionPerformed
if (connect.getText().equals("Connect"))
{
Object value = Job.getUserInterface().askForInput("Enter hostname for socket connection", "Hostname Dialog", "localhost");
if (value == null) return; //nothing to do
connect.setText("Disconnect");
socketJob = new J3DClientApp(this, value.toString());
socketJob.startJob();
enter.setEnabled(false);// don't want to add data if stream is connected
}
else
{
connect.setText("Connect");
enter.setEnabled(true);
if (socketJob != null)
socketJob.killJob();
}
}//GEN-LAST:event_connectActionPerformed
private void closeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_closeActionPerformed
setVisible(false);
dispose();
if (socketJob != null)
{
socketJob.abort();
socketJob.checkAbort();
socketJob.remove();
}
}//GEN-LAST:event_closeActionPerformed
/** Closes the dialog */
private void closeDialog(java.awt.event.WindowEvent evt)//GEN-FIRST:event_closeDialog
{
setVisible(false);
dispose();
}//GEN-LAST:event_closeDialog
public String getToggleInfo()
{
int xBoxValue = (xBox.isSelected()) ? 1 : 0;
int yBoxValue = (yBox.isSelected()) ? 1 : 0;
int zBoxValue = (zBox.isSelected()) ? 1 : 0;
int xRotBoxValue = (xRotBox.isSelected()) ? 1 : 0;
int yRotBoxValue = (yRotBox.isSelected()) ? 1 : 0;
int zRotBoxValue = (zRotBox.isSelected()) ? 1 : 0;
return (String.valueOf(xBoxValue) + " " +
String.valueOf(yBoxValue) + " " +
String.valueOf(zBoxValue) + " " +
String.valueOf(xRotBoxValue) + " " +
String.valueOf(yRotBoxValue) + " " +
String.valueOf(zRotBoxValue));
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JCheckBox auto;
private javax.swing.JLabel capacitanceLabel;
private javax.swing.JButton close;
private javax.swing.JButton connect;
private javax.swing.JButton demo;
private javax.swing.JButton enter;
private javax.swing.JPanel otherPanel;
private javax.swing.JPanel positionPanel;
private javax.swing.JLabel radiusLabel;
private javax.swing.JButton read;
private javax.swing.JPanel rotationPanel;
private javax.swing.JSeparator separator;
private javax.swing.JSeparator separator1;
private javax.swing.JSlider slider;
private javax.swing.JCheckBox xBox;
private javax.swing.JTextField xField;
private javax.swing.JLabel xLabel;
private javax.swing.JLabel xLabelUnit;
private javax.swing.JCheckBox xRotBox;
private javax.swing.JTextField xRotField;
private javax.swing.JLabel xRotLabel;
private javax.swing.JLabel xRotLabelUnit;
private javax.swing.JTextField xRotPosField;
private javax.swing.JLabel xRotPosLabel;
private javax.swing.JLabel xRotPosLabelUnit;
private javax.swing.JCheckBox yBox;
private javax.swing.JTextField yField;
private javax.swing.JLabel yLabel;
private javax.swing.JLabel yLabelUnit;
private javax.swing.JCheckBox yRotBox;
private javax.swing.JTextField yRotField;
private javax.swing.JLabel yRotLabel;
private javax.swing.JLabel yRotLabelUnit;
private javax.swing.JTextField yRotPosField;
private javax.swing.JLabel yRotPosLabel;
private javax.swing.JLabel yRotPosLabelUnit;
private javax.swing.JCheckBox zBox;
private javax.swing.JTextField zField;
private javax.swing.JLabel zLabel;
private javax.swing.JLabel zLabelUnit;
private javax.swing.JCheckBox zRotBox;
private javax.swing.JTextField zRotField;
private javax.swing.JLabel zRotLabel;
private javax.swing.JLabel zRotLabelUnit;
private javax.swing.JTextField zRotPosField;
private javax.swing.JLabel zRotPosLabel;
private javax.swing.JLabel zRotPosLabelUnit;
// End of variables declaration//GEN-END:variables
}