// Decompiled by Jad v1.5.7b. Copyright 1997-99 Pavel Kouznetsov.
|
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
|
// Decompiler options: packimports(3)
|
// Source File Name: CSGEditor.java
|
|
import java.awt.*;
|
import java.awt.event.*;
|
import javax.swing.*;
|
import javax.swing.event.*;
|
|
import java.util.Vector;
|
|
import grafeme.ui.*;
|
|
class CSGEditor extends ObjEditor implements ChangeListener, ActionListener, ObjectUI
|
{
|
|
CSGEditor(CSG t, GroupEditor callee)
|
{
|
super(t, callee); // , false);
|
//objEditor = new GroupEditor(t, this, callee);
|
objEditor = callee.GetEditor();
|
|
csg = t;
|
|
System.out.println("constructor1 = " + csg.tolerance);
|
|
SetupUI2(GetEditor());
|
}
|
|
CSGEditor(CSG t, Object3D copy, GroupEditor callee)
|
{
|
super(t, copy, callee);
|
|
//objEditor = new GroupEditor(t, copy, callee);
|
objEditor = this;
|
|
csg = (CSG) copy;
|
|
System.out.println("constructor2 = " + csg.tolerance);
|
SetupUI2(GetEditor());
|
}
|
|
void SetupUI2(ObjEditor oe)
|
{
|
super.SetupUI2(oe); // Shows composite UI !!
|
//super.SetupName(oe);
|
|
oe.ctrlPanel.add(refreshButton = new JButton("Refresh")); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
|
oe.ctrlPanel.Return();
|
|
menuPane = new cGridBag();
|
oe.ctrlPanel.add(menuPane);
|
oe.ctrlPanel.Return();
|
|
menuPane2 = new cGridBag();
|
oe.ctrlPanel.add(menuPane2);
|
oe.ctrlPanel.Return();
|
|
//this.csg = (CSG) copy;
|
/*
|
oe.ctrlPanel.add(typeLabel = new JLabel("Type"), oe.aConstraints);
|
oe.aConstraints.fill = GridBagConstraints.HORIZONTAL;
|
oe.aConstraints.gridx += 1;
|
*/
|
Vector list = new Vector();
|
list.add("Union");
|
list.add("Merge");
|
list.add("Intersection");
|
list.add("Difference");
|
menuPane.add(typeMenu = new JComboBox(new ObjEditor.cListModel(list, csg.csgType - 1))); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
|
//typeMenu.select(csg.csgType - 1);
|
|
oe.ctrlPanel.Return();
|
|
list = new Vector();
|
list.add("Surface");
|
list.add("Volume");
|
list.add("Inner");
|
list.add("Outer");
|
list.add("Boundary");
|
|
/*
|
oe.aConstraints.fill = 0;
|
oe.ctrlPanel.add(genLabel = new JLabel("Generation"), oe.aConstraints);
|
oe.aConstraints.gridx += 1;
|
*/
|
menuPane.add(genMenu = new JComboBox(new ObjEditor.cListModel(list, 0))); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
|
//typeMenu.select(csg.csgType - 1);
|
|
list = new Vector();
|
list.add("Smooth");
|
list.add("Flat");
|
/*
|
oe.aConstraints.fill = 0;
|
oe.ctrlPanel.add(normalsLabel = new JLabel("Shading"), oe.aConstraints);
|
oe.aConstraints.gridx += 1;
|
*/
|
menuPane2.add(normalsMenu = new JComboBox(new ObjEditor.cListModel(list, 0))); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
|
//typeMenu.select(csg.csgType - 1);
|
|
list = new Vector();
|
list.add("Strip");
|
list.add("No strip");
|
list.add("No trim");
|
/*
|
oe.aConstraints.fill = 0;
|
oe.ctrlPanel.add(normalsLabel = new JLabel("Shading"), oe.aConstraints);
|
oe.aConstraints.gridx += 1;
|
*/
|
menuPane2.add(stripifyMenu = new JComboBox(new ObjEditor.cListModel(list, 0))); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
|
//typeMenu.select(csg.csgType - 1);
|
|
// oe.ctrlPanel.add(sizeLabel = new JLabel("Depth")); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
|
// oe.ctrlPanel.add(sizeSlider = new NumberSlider(0,10)); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
|
sizeSliderPane = AddSlider(oe.ctrlPanel, "Depth", 0, 10, 0);
|
sizeSlider = (cNumberSlider)sizeSliderPane.getComponent(1);
|
oe.ctrlPanel.Return();
|
|
// oe.ctrlPanel.add(size2Label = new JLabel("Depth2")); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
|
// oe.ctrlPanel.add(size2Slider = new NumberSlider(0,10)); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
|
size2SliderPane = AddSlider(oe.ctrlPanel, "Depth2", 0, 10, 0);
|
size2Slider = (cNumberSlider)size2SliderPane.getComponent(1);
|
oe.ctrlPanel.Return();
|
|
// oe.ctrlPanel.add(tolLabel = new JLabel("Tolerance")); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
|
// oe.ctrlPanel.add(toleranceSlider = new NumberSlider(0,10,1)); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
|
toleranceSliderPane = AddSlider(oe.ctrlPanel, "Tolerance", 0, 10, 1, 1);
|
toleranceSlider = (cNumberSlider)toleranceSliderPane.getComponent(1);
|
oe.ctrlPanel.Return();
|
|
sizeSlider.setInteger(csg.cellSize);
|
size2Slider.setInteger(csg.cellSize2);
|
System.out.println("csg.tolerance = " + csg.tolerance);
|
toleranceSlider.setFloat(csg.tolerance);
|
normalsMenu.setSelectedIndex(csg.normals?0:1);
|
typeMenu.setSelectedIndex(csg.csgType - 1);
|
genMenu.setSelectedIndex(csg.genType);
|
stripifyMenu.setSelectedIndex(csg.userType); // ==0?0:1);
|
|
sizeSlider.addChangeListener(this);
|
size2Slider.addChangeListener(this);
|
toleranceSlider.addChangeListener(this);
|
|
typeMenu.addActionListener(this);
|
genMenu.addActionListener(this);
|
normalsMenu.addActionListener(this);
|
stripifyMenu.addActionListener(this);
|
|
refreshButton.addActionListener(this);
|
}
|
|
public ObjEditor GetEditor()
|
{
|
return objEditor.GetEditor();
|
}
|
|
void Clear()
|
{
|
objEditor.Clear();
|
|
csg = null;
|
}
|
|
public void closeUI()
|
{
|
ObjEditor oe = GetEditor();
|
|
//if (oe == null)
|
// return;
|
|
typeMenu.removeActionListener(this);
|
genMenu.removeActionListener(this);
|
normalsMenu.removeActionListener(this);
|
refreshButton.removeActionListener(this);
|
|
sizeSlider.removeChangeListener(this);
|
size2Slider.removeChangeListener(this);
|
toleranceSlider.removeChangeListener(this);
|
|
oe.ctrlPanel.remove(this.refreshButton);
|
oe.ctrlPanel.remove(menuPane);
|
oe.ctrlPanel.remove(menuPane2);
|
oe.ctrlPanel.remove(sizeSliderPane);
|
oe.ctrlPanel.remove(size2SliderPane);
|
oe.ctrlPanel.remove(toleranceSliderPane);
|
|
// oe.ctrlPanel.remove(sizeLabel);
|
// oe.ctrlPanel.remove(size2Label);
|
// oe.ctrlPanel.remove(tolLabel);
|
// oe.ctrlPanel.remove(typeMenu);
|
// //oe.ctrlPanel.remove(typeLabel);
|
// oe.ctrlPanel.remove(genMenu);
|
// //oe.ctrlPanel.remove(genLabel);
|
// oe.ctrlPanel.remove(normalsMenu);
|
// oe.ctrlPanel.remove(stripifyMenu);
|
// //oe.ctrlPanel.remove(normalsLabel);
|
// oe.ctrlPanel.remove(refreshButton);
|
// //oe.ctrlPanel.repaint();
|
|
super.closeUI();
|
}
|
|
/*
|
public void doLayout()
|
{
|
super.doLayout();
|
labelAndField(typeLabel, typeMenu);
|
labelAndField(sizeLabel, sizeSlider);
|
widgetPos += 5;
|
}
|
*/
|
|
public void actionPerformed(ActionEvent e)
|
{
|
//System.out.println("CSGEditor " + e);
|
if (e.getSource() == refreshButton ||
|
e.getSource() == typeMenu ||
|
e.getSource() == genMenu ||
|
e.getSource() == normalsMenu ||
|
e.getSource() == stripifyMenu)
|
{
|
csg.aCellSize = -1;
|
csg.aTolerance = -1;
|
applySelf();
|
//refreshContents();
|
csg.refreshEditWindow();
|
}
|
else
|
super.actionPerformed(e);
|
}
|
|
public void stateChanged(ChangeEvent e)
|
{
|
if (e.getSource() == sizeSlider ||
|
e.getSource() == size2Slider ||
|
e.getSource() == toleranceSlider)
|
{
|
// Can't choose...
|
//applySelf();
|
//objEditor.refreshContents();
|
}
|
else
|
super.stateChanged(e);
|
}
|
|
public void applySelf()
|
{
|
// june 2013 super.applySelf();
|
|
csg.csgType = typeMenu.getSelectedIndex() + 1;
|
csg.genType = genMenu.getSelectedIndex();
|
csg.normals = normalsMenu.getSelectedIndex() == 0;
|
csg.userType = stripifyMenu.getSelectedIndex();
|
csg.cellSize = sizeSlider.getInteger();
|
csg.cellSize2 = size2Slider.getInteger();
|
csg.tolerance = toleranceSlider.getFloat();
|
|
if (csg.link2support)
|
csg.retile();
|
}
|
|
CSG csg;
|
|
JLabel typeLabel;
|
JLabel genLabel;
|
JLabel normalsLabel;
|
JLabel sizeLabel;
|
JLabel size2Label;
|
JLabel tolLabel;
|
JComboBox typeMenu;
|
JComboBox genMenu;
|
JComboBox normalsMenu;
|
JComboBox stripifyMenu;
|
cNumberSlider sizeSlider;
|
cNumberSlider size2Slider;
|
cNumberSlider toleranceSlider;
|
|
cGridBag menuPane;
|
cGridBag menuPane2;
|
cGridBag sizeSliderPane;
|
cGridBag size2SliderPane;
|
cGridBag toleranceSliderPane;
|
|
JButton refreshButton;
|
|
//GroupEditor objEditor;
|
}
|