/* JWildfire - an image and animation processor written in Java Copyright (C) 1995-2017 Andreas Maschke This is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This software 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this software; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ package org.jwildfire.create.tina.swing; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Font; import java.awt.GridLayout; import java.awt.Point; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.awt.event.KeyEvent; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JProgressBar; import javax.swing.JSlider; import javax.swing.JTabbedPane; import javax.swing.SwingConstants; import javax.swing.WindowConstants; import javax.swing.border.TitledBorder; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import org.jwildfire.base.Prefs; import org.jwildfire.swing.JWildfire; public class MeshGenInternalFrame extends JInternalFrame { private TinaController tinaController; private static final long serialVersionUID = 1L; private JPanel jContentPane = null; public MeshGenInternalFrame() { super(); initialize(); } private void initialize() { this.setSize(1100, 700); this.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10)); this.setLocation(new Point(JWildfire.DEFAULT_WINDOW_LEFT + 80, JWildfire.DEFAULT_WINDOW_TOP + 20)); this.setClosable(true); this.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE); this.setIconifiable(true); this.setTitle("3DMesh generation"); this.setVisible(false); this.setResizable(true); this.setMaximizable(false); this.setContentPane(getJContentPane()); } /** * This method initializes jContentPane * * @return javax.swing.JPanel */ private JPanel getJContentPane() { if (jContentPane == null) { jContentPane = new JPanel(); jContentPane.setLayout(new BorderLayout()); jContentPane.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10)); jContentPane.setSize(new Dimension(1097, 617)); jContentPane.add(getPanel_88(), BorderLayout.CENTER); } return jContentPane; } private JWFNumberField swfAnimatorFramesPerSecondREd; private JWFNumberField swfAnimatorFrameREd; private JWFNumberField swfAnimatorGlobalScript1REd; private JWFNumberField swfAnimatorGlobalScript2REd; private JWFNumberField swfAnimatorGlobalScript3REd; private JWFNumberField swfAnimatorGlobalScript4REd; private JWFNumberField swfAnimatorXFormScript1REd; private JWFNumberField swfAnimatorXFormScript2REd; private JWFNumberField swfAnimatorXFormScript3REd; private JWFNumberField swfAnimatorXFormScript4REd; private JWFNumberField swfAnimatorXFormScript5REd; private JWFNumberField swfAnimatorGlobalScript5REd; private JWFNumberField swfAnimatorMotionBlurLengthREd; private JWFNumberField swfAnimatorMotionBlurTimeStepREd; private JWFNumberField swfAnimatorXFormScript6REd; private JWFNumberField swfAnimatorXFormScript7REd; private JWFNumberField swfAnimatorXFormScript8REd; private JWFNumberField swfAnimatorXFormScript9REd; private JWFNumberField swfAnimatorXFormScript10REd; private JWFNumberField swfAnimatorXFormScript11REd; private JWFNumberField swfAnimatorXFormScript12REd; private JWFNumberField swfAnimatorGlobalScript6REd; private JWFNumberField swfAnimatorGlobalScript7REd; private JWFNumberField swfAnimatorGlobalScript8REd; private JWFNumberField swfAnimatorGlobalScript9REd; private JWFNumberField swfAnimatorGlobalScript10REd; private JWFNumberField swfAnimatorGlobalScript11REd; private JWFNumberField swfAnimatorGlobalScript12REd; private JPanel panel_88; private JPanel panel_89; private JPanel panel_90; private JPanel panel_91; private JPanel meshGenTopViewRootPnl; private JPanel meshGenFrontViewRootPnl; private JPanel meshGenPerspectiveViewRootPnl; private JButton meshGenFromEditorBtn; private JButton meshGenFromClipboardBtn; private JButton meshGenLoadFlameBtn; private JWFNumberField meshGenSliceCountREd; private JWFNumberField meshGenSlicesPerRenderREd; private JWFNumberField meshGenRenderWidthREd; private JWFNumberField meshGenRenderHeightREd; private JWFNumberField meshGenRenderQualityREd; private JProgressBar meshGenProgressbar; private JButton meshGenGenerateBtn; private JWFNumberField meshGenCentreXREd; private JWFNumberField meshGenCentreYREd; private JWFNumberField meshGenZoomREd; private JSlider meshGenCentreXSlider; private JSlider meshGenCentreYSlider; private JSlider meshGenZoomSlider; private JWFNumberField meshGenZMinREd; private JWFNumberField meshGenZMaxREd; private JSlider meshGenZMinSlider; private JSlider meshGenZMaxSlider; private JPanel panel_96; private JButton meshGenTopViewRenderBtn; private JButton meshGenFrontViewRenderBtn; private JButton meshGenPerspectiveViewRenderBtn; private JButton meshGenTopViewToEditorBtn; private JPanel panel_93; private JPanel panel_94; private JTabbedPane tabbedPane_2; private JPanel panel_95; private JPanel panel_97; private JPanel panel_98; private JPanel panel_99; private JButton meshGenLoadSequenceBtn; private JWFNumberField meshGenSequenceWidthREd; private JWFNumberField meshGenSequenceHeightREd; private JWFNumberField meshGenSequenceSlicesREd; private JWFNumberField meshGenSequenceDownSampleREd; private JWFNumberField meshGenSequenceFilterRadiusREd; private JProgressBar meshGenGenerateMeshProgressbar; private JButton meshGenGenerateMeshBtn; private JButton meshGenSequenceFromRendererBtn; private JLabel meshGenSequenceLbl; private JWFNumberField meshGenSequenceThresholdREd; private JPanel panel_100; private JPanel panel_101; private JPanel meshGenPreviewRootPanel; private JCheckBox meshGenAutoPreviewCBx; private JButton meshGenPreviewImportLastGeneratedMeshBtn; private JButton meshGenPreviewImportFromFileBtn; private JButton meshGenClearPreviewBtn; private JWFNumberField meshGenPreviewPositionXREd; private JWFNumberField meshGenPreviewPositionYREd; private JWFNumberField meshGenPreviewSizeREd; private JWFNumberField meshGenPreviewScaleZREd; private JWFNumberField meshGenPreviewRotateAlphaREd; private JWFNumberField meshGenPreviewRotateBetaREd; private JWFNumberField meshGenPreviewPointsREd; private JPanel panel_102; private JWFNumberField meshGenPreviewPolygonsREd; private JButton meshGenRefreshPreviewBtn; private JButton meshGenPreviewSunflowExportBtn; private JButton channelMixerResetBtn; private JComboBox channelMixerModeCmb; private JComboBox meshGenPreFilter1Cmb; private JComboBox meshGenPreFilter2Cmb; private JWFNumberField meshGenImageStepREd; private JComboBox meshGenOutputTypeCmb; private JCheckBox meshGenTaubinSmoothCbx; private JWFNumberField meshGenSmoothPassesREd; private JWFNumberField meshGenSmoothLambdaREd; private JWFNumberField meshGenSmoothMuREd; public JWFNumberField getSwfAnimatorFramesPerSecondREd() { return swfAnimatorFramesPerSecondREd; } public JWFNumberField getSwfAnimatorFrameREd() { return swfAnimatorFrameREd; } public JWFNumberField getSwfAnimatorGlobalScript1REd() { return swfAnimatorGlobalScript1REd; } public JWFNumberField getSwfAnimatorGlobalScript2REd() { return swfAnimatorGlobalScript2REd; } public JWFNumberField getSwfAnimatorGlobalScript3REd() { return swfAnimatorGlobalScript3REd; } public JWFNumberField getSwfAnimatorGlobalScript4REd() { return swfAnimatorGlobalScript4REd; } public JWFNumberField getSwfAnimatorXFormScript1REd() { return swfAnimatorXFormScript1REd; } public JWFNumberField getSwfAnimatorXFormScript2REd() { return swfAnimatorXFormScript2REd; } public JWFNumberField getSwfAnimatorXFormScript3REd() { return swfAnimatorXFormScript3REd; } public JWFNumberField getSwfAnimatorXFormScript4REd() { return swfAnimatorXFormScript4REd; } public JWFNumberField getSwfAnimatorXFormScript5REd() { return swfAnimatorXFormScript5REd; } public JWFNumberField getSwfAnimatorGlobalScript5REd() { return swfAnimatorGlobalScript5REd; } public JWFNumberField getSwfAnimatorMotionBlurLengthREd() { return swfAnimatorMotionBlurLengthREd; } public JWFNumberField getSwfAnimatorMotionBlurTimeStepREd() { return swfAnimatorMotionBlurTimeStepREd; } public JWFNumberField getSwfAnimatorXFormScript6REd() { return swfAnimatorXFormScript6REd; } public JWFNumberField getSwfAnimatorXFormScript7REd() { return swfAnimatorXFormScript7REd; } public JWFNumberField getSwfAnimatorXFormScript8REd() { return swfAnimatorXFormScript8REd; } public JWFNumberField getSwfAnimatorXFormScript9REd() { return swfAnimatorXFormScript9REd; } public JWFNumberField getSwfAnimatorXFormScript10REd() { return swfAnimatorXFormScript10REd; } public JWFNumberField getSwfAnimatorXFormScript11REd() { return swfAnimatorXFormScript11REd; } public JWFNumberField getSwfAnimatorXFormScript12REd() { return swfAnimatorXFormScript12REd; } public JWFNumberField getSwfAnimatorGlobalScript6REd() { return swfAnimatorGlobalScript6REd; } public JWFNumberField getSwfAnimatorGlobalScript7REd() { return swfAnimatorGlobalScript7REd; } public JWFNumberField getSwfAnimatorGlobalScript8REd() { return swfAnimatorGlobalScript8REd; } public JWFNumberField getSwfAnimatorGlobalScript9REd() { return swfAnimatorGlobalScript9REd; } public JWFNumberField getSwfAnimatorGlobalScript10REd() { return swfAnimatorGlobalScript10REd; } public JWFNumberField getSwfAnimatorGlobalScript11REd() { return swfAnimatorGlobalScript11REd; } public JWFNumberField getSwfAnimatorGlobalScript12REd() { return swfAnimatorGlobalScript12REd; } private JPanel getPanel_88() { if (panel_88 == null) { panel_88 = new JPanel(); panel_88.setLayout(new BorderLayout(0, 0)); panel_88.add(getTabbedPane_2(), BorderLayout.CENTER); panel_93 = new JPanel(); panel_93.setPreferredSize(new Dimension(10, 260)); panel_95.add(panel_93, BorderLayout.SOUTH); panel_93.setLayout(new BorderLayout(0, 0)); panel_93.add(getPanel_91(), BorderLayout.NORTH); panel_94 = new JPanel(); panel_95.add(panel_94, BorderLayout.CENTER); panel_94.setLayout(new GridLayout(0, 3, 0, 0)); JPanel panel_3 = new JPanel(); panel_3.setBorder(new TitledBorder(null, "Top view", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_94.add(panel_3); panel_3.setLayout(new BorderLayout(0, 0)); panel_3.add(getMeshGenTopViewRootPnl(), BorderLayout.CENTER); panel_3.add(getPanel_96(), BorderLayout.EAST); JPanel panel_8 = new JPanel(); panel_8.setBorder(new TitledBorder(null, "Front view", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_94.add(panel_8); panel_8.setLayout(new BorderLayout(0, 0)); panel_8.add(getMeshGenFrontViewRootPnl(), BorderLayout.CENTER); JPanel panel_10 = new JPanel(); panel_10.setLayout(null); panel_10.setPreferredSize(new Dimension(52, 10)); panel_8.add(panel_10, BorderLayout.EAST); meshGenFrontViewRenderBtn = new JButton(); meshGenFrontViewRenderBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { tinaController.getMeshGenController().frontViewRenderButtonClicked(); } }); meshGenFrontViewRenderBtn.setToolTipText("Render image"); meshGenFrontViewRenderBtn.setPreferredSize(new Dimension(42, 24)); meshGenFrontViewRenderBtn.setMnemonic(KeyEvent.VK_R); meshGenFrontViewRenderBtn.setIconTextGap(0); meshGenFrontViewRenderBtn.setIcon(new ImageIcon(TinaInternalFrame.class.getResource("/org/jwildfire/swing/icons/new/fraqtive.png"))); meshGenFrontViewRenderBtn.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 9)); meshGenFrontViewRenderBtn.setBounds(6, 99, 42, 24); panel_10.add(meshGenFrontViewRenderBtn); JPanel panel_9 = new JPanel(); panel_9.setBorder(new TitledBorder(null, "Perspective view", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_94.add(panel_9); panel_9.setLayout(new BorderLayout(0, 0)); panel_9.add(getMeshGenPerspectiveViewRootPnl(), BorderLayout.CENTER); JPanel panel_11 = new JPanel(); panel_11.setLayout(null); panel_11.setPreferredSize(new Dimension(52, 10)); panel_9.add(panel_11, BorderLayout.EAST); meshGenPerspectiveViewRenderBtn = new JButton(); meshGenPerspectiveViewRenderBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { tinaController.getMeshGenController().perspectiveViewRenderButtonClicked(); } }); meshGenPerspectiveViewRenderBtn.setToolTipText("Render image"); meshGenPerspectiveViewRenderBtn.setPreferredSize(new Dimension(42, 24)); meshGenPerspectiveViewRenderBtn.setMnemonic(KeyEvent.VK_R); meshGenPerspectiveViewRenderBtn.setIconTextGap(0); meshGenPerspectiveViewRenderBtn.setIcon(new ImageIcon(TinaInternalFrame.class.getResource("/org/jwildfire/swing/icons/new/fraqtive.png"))); meshGenPerspectiveViewRenderBtn.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 9)); meshGenPerspectiveViewRenderBtn.setBounds(6, 99, 42, 24); panel_11.add(meshGenPerspectiveViewRenderBtn); } return panel_88; } private JPanel getPanel_89() { if (panel_89 == null) { panel_89 = new JPanel(); panel_89.setPreferredSize(new Dimension(10, 130)); panel_89.setLayout(new BorderLayout(0, 0)); panel_89.add(getPanel_90(), BorderLayout.WEST); JPanel panel_1 = new JPanel(); panel_1.setBorder(new TitledBorder(null, "Voxelstack", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_89.add(panel_1, BorderLayout.CENTER); panel_1.setLayout(new BorderLayout(0, 0)); JPanel panel_2 = new JPanel(); panel_2.setPreferredSize(new Dimension(10, 20)); panel_1.add(panel_2, BorderLayout.SOUTH); panel_2.setLayout(new BorderLayout(0, 0)); meshGenProgressbar = new JProgressBar(); meshGenProgressbar.setValue(0); meshGenProgressbar.setStringPainted(true); meshGenProgressbar.setPreferredSize(new Dimension(568, 21)); panel_2.add(meshGenProgressbar, BorderLayout.CENTER); JPanel panel_3 = new JPanel(); panel_3.setPreferredSize(new Dimension(620, 10)); panel_1.add(panel_3, BorderLayout.WEST); panel_3.setLayout(null); JLabel lblRenderWidth = new JLabel(); lblRenderWidth.setText("Render width"); lblRenderWidth.setSize(new Dimension(68, 22)); lblRenderWidth.setPreferredSize(new Dimension(94, 22)); lblRenderWidth.setName(""); lblRenderWidth.setLocation(new Point(4, 76)); lblRenderWidth.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); lblRenderWidth.setBounds(252, 26, 79, 22); panel_3.add(lblRenderWidth); meshGenRenderWidthREd = new JWFNumberField(); meshGenRenderWidthREd.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { if (tinaController != null && tinaController.getMeshGenController() != null) { tinaController.getMeshGenController().renderWidth_changed(); } } }); meshGenRenderWidthREd.setMinValue(16.0); meshGenRenderWidthREd.setOnlyIntegers(true); meshGenRenderWidthREd.setValueStep(1.0); meshGenRenderWidthREd.setText(""); meshGenRenderWidthREd.setSize(new Dimension(100, 24)); meshGenRenderWidthREd.setPreferredSize(new Dimension(100, 24)); meshGenRenderWidthREd.setMaxValue(4096.0); meshGenRenderWidthREd.setLocation(new Point(71, 76)); meshGenRenderWidthREd.setHasMinValue(true); meshGenRenderWidthREd.setHasMaxValue(true); meshGenRenderWidthREd.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10)); meshGenRenderWidthREd.setBounds(328, 24, 100, 24); panel_3.add(meshGenRenderWidthREd); JLabel lblRenderHeight = new JLabel(); lblRenderHeight.setText("Render height"); lblRenderHeight.setSize(new Dimension(68, 22)); lblRenderHeight.setPreferredSize(new Dimension(94, 22)); lblRenderHeight.setName(""); lblRenderHeight.setLocation(new Point(4, 76)); lblRenderHeight.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); lblRenderHeight.setBounds(252, 50, 79, 22); panel_3.add(lblRenderHeight); meshGenRenderHeightREd = new JWFNumberField(); meshGenRenderHeightREd.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { if (tinaController != null && tinaController.getMeshGenController() != null) { tinaController.getMeshGenController().renderHeight_changed(); } } }); meshGenRenderHeightREd.setMinValue(16.0); meshGenRenderHeightREd.setOnlyIntegers(true); meshGenRenderHeightREd.setValueStep(1.0); meshGenRenderHeightREd.setText(""); meshGenRenderHeightREd.setSize(new Dimension(100, 24)); meshGenRenderHeightREd.setPreferredSize(new Dimension(100, 24)); meshGenRenderHeightREd.setMaxValue(4096.0); meshGenRenderHeightREd.setLocation(new Point(71, 76)); meshGenRenderHeightREd.setHasMinValue(true); meshGenRenderHeightREd.setHasMaxValue(true); meshGenRenderHeightREd.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10)); meshGenRenderHeightREd.setBounds(328, 48, 100, 24); panel_3.add(meshGenRenderHeightREd); meshGenSliceCountREd = new JWFNumberField(); meshGenSliceCountREd.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { if (tinaController != null && tinaController.getMeshGenController() != null) { tinaController.getMeshGenController().sliceCount_changed(); } } }); meshGenSliceCountREd.setHasMaxValue(true); meshGenSliceCountREd.setMinValue(2.0); meshGenSliceCountREd.setOnlyIntegers(true); meshGenSliceCountREd.setValueStep(1.0); meshGenSliceCountREd.setText(""); meshGenSliceCountREd.setSize(new Dimension(100, 24)); meshGenSliceCountREd.setPreferredSize(new Dimension(100, 24)); meshGenSliceCountREd.setMaxValue(4096.0); meshGenSliceCountREd.setLocation(new Point(71, 76)); meshGenSliceCountREd.setHasMinValue(true); meshGenSliceCountREd.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10)); meshGenSliceCountREd.setBounds(148, 24, 100, 24); panel_3.add(meshGenSliceCountREd); JLabel lblNumberOfSlices = new JLabel(); lblNumberOfSlices.setText("Total number of slices"); lblNumberOfSlices.setSize(new Dimension(68, 22)); lblNumberOfSlices.setPreferredSize(new Dimension(94, 22)); lblNumberOfSlices.setName(""); lblNumberOfSlices.setLocation(new Point(6, 76)); lblNumberOfSlices.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); lblNumberOfSlices.setBounds(0, 26, 151, 22); panel_3.add(lblNumberOfSlices); JLabel lblSlicesPerPass = new JLabel(); lblSlicesPerPass.setText("Slices per pass (for speedup)"); lblSlicesPerPass.setSize(new Dimension(68, 22)); lblSlicesPerPass.setPreferredSize(new Dimension(94, 22)); lblSlicesPerPass.setName(""); lblSlicesPerPass.setLocation(new Point(4, 76)); lblSlicesPerPass.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); lblSlicesPerPass.setBounds(0, 50, 151, 22); panel_3.add(lblSlicesPerPass); meshGenSlicesPerRenderREd = new JWFNumberField(); meshGenSlicesPerRenderREd.setMinValue(1.0); meshGenSlicesPerRenderREd.setOnlyIntegers(true); meshGenSlicesPerRenderREd.setValueStep(1.0); meshGenSlicesPerRenderREd.setText(""); meshGenSlicesPerRenderREd.setSize(new Dimension(100, 24)); meshGenSlicesPerRenderREd.setPreferredSize(new Dimension(100, 24)); meshGenSlicesPerRenderREd.setMaxValue(1.0); meshGenSlicesPerRenderREd.setLocation(new Point(71, 76)); meshGenSlicesPerRenderREd.setHasMinValue(true); meshGenSlicesPerRenderREd.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10)); meshGenSlicesPerRenderREd.setBounds(148, 48, 100, 24); panel_3.add(meshGenSlicesPerRenderREd); meshGenRenderQualityREd = new JWFNumberField(); meshGenRenderQualityREd.setMinValue(10.0); meshGenRenderQualityREd.setOnlyIntegers(true); meshGenRenderQualityREd.setValueStep(1.0); meshGenRenderQualityREd.setText(""); meshGenRenderQualityREd.setSize(new Dimension(100, 24)); meshGenRenderQualityREd.setPreferredSize(new Dimension(100, 24)); meshGenRenderQualityREd.setLocation(new Point(71, 76)); meshGenRenderQualityREd.setHasMinValue(true); meshGenRenderQualityREd.setHasMaxValue(false); meshGenRenderQualityREd.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10)); meshGenRenderQualityREd.setBounds(521, 0, 100, 24); panel_3.add(meshGenRenderQualityREd); JLabel lblRenderQuality = new JLabel(); lblRenderQuality.setText("Render quality"); lblRenderQuality.setSize(new Dimension(68, 22)); lblRenderQuality.setPreferredSize(new Dimension(94, 22)); lblRenderQuality.setName(""); lblRenderQuality.setLocation(new Point(4, 76)); lblRenderQuality.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); lblRenderQuality.setBounds(441, 0, 79, 22); panel_3.add(lblRenderQuality); meshGenOutputTypeCmb = new JComboBox(); meshGenOutputTypeCmb.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { if (tinaController != null && tinaController.getMeshGenController() != null) { tinaController.getMeshGenController().outputTypeCmb_changed(); } } }); meshGenOutputTypeCmb.setToolTipText("Random-flame-generator"); meshGenOutputTypeCmb.setPreferredSize(new Dimension(110, 24)); meshGenOutputTypeCmb.setMinimumSize(new Dimension(110, 24)); meshGenOutputTypeCmb.setMaximumSize(new Dimension(32767, 24)); meshGenOutputTypeCmb.setMaximumRowCount(48); meshGenOutputTypeCmb.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); meshGenOutputTypeCmb.setBounds(149, 0, 279, 24); panel_3.add(meshGenOutputTypeCmb); JLabel lblOutputType = new JLabel(); lblOutputType.setText("Output type"); lblOutputType.setSize(new Dimension(68, 22)); lblOutputType.setPreferredSize(new Dimension(94, 22)); lblOutputType.setName(""); lblOutputType.setLocation(new Point(6, 76)); lblOutputType.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); lblOutputType.setBounds(0, 2, 151, 22); panel_3.add(lblOutputType); JPanel panel_8 = new JPanel(); panel_8.setPreferredSize(new Dimension(132, 10)); panel_1.add(panel_8, BorderLayout.EAST); meshGenGenerateBtn = new JButton(); meshGenGenerateBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { tinaController.getMeshGenController().generateButton_clicked(); } }); panel_8.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5)); meshGenGenerateBtn.setText("Render slices"); meshGenGenerateBtn.setIcon(new ImageIcon(TinaInternalFrame.class.getResource("/org/jwildfire/swing/icons/new/sports-soccer.png"))); meshGenGenerateBtn.setPreferredSize(new Dimension(132, 46)); meshGenGenerateBtn.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); panel_8.add(meshGenGenerateBtn); } return panel_89; } private JPanel getPanel_90() { if (panel_90 == null) { panel_90 = new JPanel(); panel_90.setBorder(new TitledBorder(null, "Input flame", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_90.setPreferredSize(new Dimension(176, 10)); panel_90.setLayout(null); meshGenFromEditorBtn = new JButton(); meshGenFromEditorBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { tinaController.getMeshGenController().fromEditorButton_clicked(); } }); meshGenFromEditorBtn.setBounds(18, 22, 138, 24); panel_90.add(meshGenFromEditorBtn); meshGenFromEditorBtn.setToolTipText("Load flame from Editor and render"); meshGenFromEditorBtn.setText("From Editor"); meshGenFromEditorBtn.setPreferredSize(new Dimension(125, 24)); meshGenFromEditorBtn.setMinimumSize(new Dimension(100, 24)); meshGenFromEditorBtn.setMaximumSize(new Dimension(32000, 24)); meshGenFromEditorBtn.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); meshGenFromClipboardBtn = new JButton(); meshGenFromClipboardBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { tinaController.getMeshGenController().fromClipboardButton_clicked(); } }); meshGenFromClipboardBtn.setBounds(18, 46, 138, 24); panel_90.add(meshGenFromClipboardBtn); meshGenFromClipboardBtn.setToolTipText("Load flame from clipboard and render"); meshGenFromClipboardBtn.setText("From Clipboard"); meshGenFromClipboardBtn.setPreferredSize(new Dimension(125, 24)); meshGenFromClipboardBtn.setMinimumSize(new Dimension(100, 24)); meshGenFromClipboardBtn.setMaximumSize(new Dimension(32000, 24)); meshGenFromClipboardBtn.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); meshGenLoadFlameBtn = new JButton(); meshGenLoadFlameBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { tinaController.getMeshGenController().loadFlameButton_clicked(); } }); meshGenLoadFlameBtn.setBounds(18, 70, 138, 24); panel_90.add(meshGenLoadFlameBtn); meshGenLoadFlameBtn.setToolTipText("Load flame from file and render"); meshGenLoadFlameBtn.setText("Load Flame"); meshGenLoadFlameBtn.setPreferredSize(new Dimension(125, 24)); meshGenLoadFlameBtn.setMinimumSize(new Dimension(100, 24)); meshGenLoadFlameBtn.setMaximumSize(new Dimension(32000, 24)); meshGenLoadFlameBtn.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); } return panel_90; } private JPanel getPanel_91() { if (panel_91 == null) { panel_91 = new JPanel(); panel_91.setPreferredSize(new Dimension(10, 110)); panel_91.setBorder(null); panel_91.setLayout(new GridLayout(0, 2, 0, 0)); JPanel panel_1 = new JPanel(); panel_1.setBorder(new TitledBorder(null, "Fractal position", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_91.add(panel_1); panel_1.setLayout(null); JLabel label_2 = new JLabel(); label_2.setText("CentreY"); label_2.setSize(new Dimension(68, 22)); label_2.setPreferredSize(new Dimension(94, 22)); label_2.setLocation(new Point(390, 28)); label_2.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); label_2.setBounds(16, 46, 68, 22); panel_1.add(label_2); meshGenCentreYREd = new JWFNumberField(); meshGenCentreYREd.setValueStep(0.05); meshGenCentreYREd.setText(""); meshGenCentreYREd.setSize(new Dimension(100, 24)); meshGenCentreYREd.setPreferredSize(new Dimension(100, 24)); meshGenCentreYREd.setLocation(new Point(456, 28)); meshGenCentreYREd.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10)); meshGenCentreYREd.setBounds(82, 46, 100, 24); meshGenCentreYREd.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { if (tinaController != null && tinaController.getMeshGenController() != null) { tinaController.getMeshGenController().centreYREd_changed(); } } }); panel_1.add(meshGenCentreYREd); meshGenCentreYSlider = new JSlider(); meshGenCentreYSlider.setValue(0); meshGenCentreYSlider.setSize(new Dimension(205, 19)); meshGenCentreYSlider.setPreferredSize(new Dimension(220, 19)); meshGenCentreYSlider.setMinimum(-25000); meshGenCentreYSlider.setMaximum(25000); meshGenCentreYSlider.setLocation(new Point(558, 28)); meshGenCentreYSlider.setBounds(184, 46, 308, 19); meshGenCentreYSlider.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { if (tinaController != null && tinaController.getMeshGenController() != null) { tinaController.getMeshGenController().centreYSlider_changed(); } } }); panel_1.add(meshGenCentreYSlider); JLabel label_4 = new JLabel(); label_4.setText("Zoom"); label_4.setSize(new Dimension(68, 22)); label_4.setPreferredSize(new Dimension(94, 22)); label_4.setLocation(new Point(390, 52)); label_4.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); label_4.setBounds(16, 70, 68, 22); panel_1.add(label_4); meshGenZoomREd = new JWFNumberField(); meshGenZoomREd.setValueStep(0.01); meshGenZoomREd.setText(""); meshGenZoomREd.setSize(new Dimension(100, 24)); meshGenZoomREd.setPreferredSize(new Dimension(100, 24)); meshGenZoomREd.setLocation(new Point(456, 52)); meshGenZoomREd.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10)); meshGenZoomREd.setBounds(82, 70, 100, 24); meshGenZoomREd.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { if (tinaController != null && tinaController.getMeshGenController() != null) { tinaController.getMeshGenController().zoomREd_changed(); } } }); panel_1.add(meshGenZoomREd); meshGenZoomSlider = new JSlider(); meshGenZoomSlider.setValue(0); meshGenZoomSlider.setSize(new Dimension(205, 19)); meshGenZoomSlider.setPreferredSize(new Dimension(220, 19)); meshGenZoomSlider.setMinimum(100); meshGenZoomSlider.setMaximum(10000); meshGenZoomSlider.setLocation(new Point(558, 52)); meshGenZoomSlider.setBounds(184, 70, 308, 19); meshGenZoomSlider.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { if (tinaController != null && tinaController.getMeshGenController() != null) { tinaController.getMeshGenController().zoomSlider_changed(); } } }); panel_1.add(meshGenZoomSlider); JLabel lblSlice = new JLabel(); lblSlice.setBounds(16, 22, 68, 22); panel_1.add(lblSlice); lblSlice.setText("CentreX"); lblSlice.setPreferredSize(new Dimension(94, 22)); lblSlice.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); meshGenCentreXREd = new JWFNumberField(); meshGenCentreXREd.setBounds(82, 20, 100, 24); panel_1.add(meshGenCentreXREd); meshGenCentreXREd.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { if (tinaController != null && tinaController.getMeshGenController() != null) { tinaController.getMeshGenController().centreXREd_changed(); } } }); meshGenCentreXREd.setValueStep(0.05); meshGenCentreXREd.setText(""); meshGenCentreXREd.setPreferredSize(new Dimension(100, 24)); meshGenCentreXREd.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10)); meshGenCentreXSlider = new JSlider(); meshGenCentreXSlider.setBounds(184, 22, 308, 19); panel_1.add(meshGenCentreXSlider); meshGenCentreXSlider.setValue(0); meshGenCentreXSlider.setPreferredSize(new Dimension(220, 19)); meshGenCentreXSlider.setMinimum(-25000); meshGenCentreXSlider.setMaximum(25000); meshGenCentreXSlider.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { if (tinaController != null && tinaController.getMeshGenController() != null) { tinaController.getMeshGenController().centreXSlider_changed(); } } }); JPanel panel_2 = new JPanel(); panel_2.setBorder(new TitledBorder(null, "Slice cutting range", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_91.add(panel_2); panel_2.setLayout(null); JLabel lblStartz = new JLabel(); lblStartz.setText("Position 1"); lblStartz.setSize(new Dimension(68, 22)); lblStartz.setPreferredSize(new Dimension(94, 22)); lblStartz.setLocation(new Point(390, 6)); lblStartz.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); lblStartz.setBounds(16, 32, 68, 22); panel_2.add(lblStartz); meshGenZMinREd = new JWFNumberField(); meshGenZMinREd.setMouseSpeed(0.01); meshGenZMinREd.setValueStep(0.05); meshGenZMinREd.setText(""); meshGenZMinREd.setSize(new Dimension(100, 24)); meshGenZMinREd.setPreferredSize(new Dimension(100, 24)); meshGenZMinREd.setLocation(new Point(456, 4)); meshGenZMinREd.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10)); meshGenZMinREd.setBounds(82, 30, 100, 24); meshGenZMinREd.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { if (tinaController != null && tinaController.getMeshGenController() != null) { tinaController.getMeshGenController().zminREd_changed(); } } }); panel_2.add(meshGenZMinREd); meshGenZMinSlider = new JSlider(); meshGenZMinSlider.setValue(0); meshGenZMinSlider.setSize(new Dimension(205, 19)); meshGenZMinSlider.setPreferredSize(new Dimension(220, 19)); meshGenZMinSlider.setMinimum(-25000); meshGenZMinSlider.setMaximum(25000); meshGenZMinSlider.setLocation(new Point(558, 4)); meshGenZMinSlider.setBounds(184, 30, 308, 19); meshGenZMinSlider.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { if (tinaController != null && tinaController.getMeshGenController() != null) { tinaController.getMeshGenController().zminSlider_changed(); } } }); panel_2.add(meshGenZMinSlider); JLabel lblEndz = new JLabel(); lblEndz.setText("Position 2"); lblEndz.setSize(new Dimension(68, 22)); lblEndz.setPreferredSize(new Dimension(94, 22)); lblEndz.setLocation(new Point(390, 28)); lblEndz.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); lblEndz.setBounds(16, 54, 68, 22); panel_2.add(lblEndz); meshGenZMaxREd = new JWFNumberField(); meshGenZMaxREd.setMouseSpeed(0.01); meshGenZMaxREd.setValueStep(0.05); meshGenZMaxREd.setText(""); meshGenZMaxREd.setSize(new Dimension(100, 24)); meshGenZMaxREd.setPreferredSize(new Dimension(100, 24)); meshGenZMaxREd.setLocation(new Point(456, 28)); meshGenZMaxREd.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10)); meshGenZMaxREd.setBounds(82, 54, 100, 24); meshGenZMaxREd.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { if (tinaController != null && tinaController.getMeshGenController() != null) { tinaController.getMeshGenController().zmaxREd_changed(); } } }); panel_2.add(meshGenZMaxREd); meshGenZMaxSlider = new JSlider(); meshGenZMaxSlider.setValue(0); meshGenZMaxSlider.setSize(new Dimension(205, 19)); meshGenZMaxSlider.setPreferredSize(new Dimension(220, 19)); meshGenZMaxSlider.setMinimum(-25000); meshGenZMaxSlider.setMaximum(25000); meshGenZMaxSlider.setLocation(new Point(558, 28)); meshGenZMaxSlider.setBounds(184, 54, 308, 19); meshGenZMaxSlider.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { if (tinaController != null && tinaController.getMeshGenController() != null) { tinaController.getMeshGenController().zmaxSlider_changed(); } } }); panel_2.add(meshGenZMaxSlider); } return panel_91; } JPanel getMeshGenTopViewRootPnl() { if (meshGenTopViewRootPnl == null) { meshGenTopViewRootPnl = new JPanel(); meshGenTopViewRootPnl.setLayout(new BorderLayout(0, 0)); } return meshGenTopViewRootPnl; } JPanel getMeshGenFrontViewRootPnl() { if (meshGenFrontViewRootPnl == null) { meshGenFrontViewRootPnl = new JPanel(); meshGenFrontViewRootPnl.setLayout(new BorderLayout(0, 0)); } return meshGenFrontViewRootPnl; } JPanel getMeshGenPerspectiveViewRootPnl() { if (meshGenPerspectiveViewRootPnl == null) { meshGenPerspectiveViewRootPnl = new JPanel(); meshGenPerspectiveViewRootPnl.setLayout(new BorderLayout(0, 0)); } return meshGenPerspectiveViewRootPnl; } public JButton getMeshGenFromEditorBtn() { return meshGenFromEditorBtn; } public JButton getMeshGenFromClipboardBtn() { return meshGenFromClipboardBtn; } public JButton getMeshGenLoadFlameBtn() { return meshGenLoadFlameBtn; } public JWFNumberField getMeshGenSliceCountREd() { return meshGenSliceCountREd; } public JWFNumberField getMeshGenSlicesPerRenderREd() { return meshGenSlicesPerRenderREd; } public JWFNumberField getMeshGenRenderWidthREd() { return meshGenRenderWidthREd; } public JWFNumberField getMeshGenRenderHeightREd() { return meshGenRenderHeightREd; } public JWFNumberField getMeshGenRenderQualityREd() { return meshGenRenderQualityREd; } public JProgressBar getMeshGenProgressbar() { return meshGenProgressbar; } public JButton getMeshGenGenerateBtn() { return meshGenGenerateBtn; } public JWFNumberField getMeshGenCentreXREd() { return meshGenCentreXREd; } public JWFNumberField getMeshGenCentreYREd() { return meshGenCentreYREd; } public JWFNumberField getMeshGenZoomREd() { return meshGenZoomREd; } public JSlider getMeshGenCentreXSlider() { return meshGenCentreXSlider; } public JSlider getMeshGenCentreYSlider() { return meshGenCentreYSlider; } public JSlider getMeshGenZoomSlider() { return meshGenZoomSlider; } public JWFNumberField getMeshGenZMinREd() { return meshGenZMinREd; } public JWFNumberField getMeshGenZMaxREd() { return meshGenZMaxREd; } public JSlider getMeshGenZMinSlider() { return meshGenZMinSlider; } public JSlider getMeshGenZMaxSlider() { return meshGenZMaxSlider; } private JPanel getPanel_96() { if (panel_96 == null) { panel_96 = new JPanel(); panel_96.setPreferredSize(new Dimension(52, 10)); panel_96.setLayout(null); meshGenTopViewRenderBtn = new JButton(); meshGenTopViewRenderBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { tinaController.getMeshGenController().topViewRenderButtonClicked(); } }); meshGenTopViewRenderBtn.setToolTipText("Render image"); meshGenTopViewRenderBtn.setPreferredSize(new Dimension(42, 24)); meshGenTopViewRenderBtn.setMnemonic(KeyEvent.VK_R); meshGenTopViewRenderBtn.setIconTextGap(0); meshGenTopViewRenderBtn.setIcon(new ImageIcon(TinaInternalFrame.class.getResource("/org/jwildfire/swing/icons/new/fraqtive.png"))); meshGenTopViewRenderBtn.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 9)); meshGenTopViewRenderBtn.setBounds(6, 99, 42, 24); panel_96.add(meshGenTopViewRenderBtn); meshGenTopViewToEditorBtn = new JButton(); meshGenTopViewToEditorBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { tinaController.getMeshGenController().topViewFlameToEditorBtn_clicked(); } }); meshGenTopViewToEditorBtn.setToolTipText("Render image"); meshGenTopViewToEditorBtn.setPreferredSize(new Dimension(42, 24)); meshGenTopViewToEditorBtn.setMnemonic(KeyEvent.VK_R); meshGenTopViewToEditorBtn.setIconTextGap(0); meshGenTopViewToEditorBtn.setIcon(new ImageIcon(TinaInternalFrame.class.getResource("/org/jwildfire/swing/icons/new/brick2.png"))); meshGenTopViewToEditorBtn.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 9)); meshGenTopViewToEditorBtn.setBounds(6, 6, 42, 24); panel_96.add(meshGenTopViewToEditorBtn); } return panel_96; } public JButton getMeshGenTopViewRenderBtn() { return meshGenTopViewRenderBtn; } public JButton getMeshGenFrontViewRenderBtn() { return meshGenFrontViewRenderBtn; } public JButton getMeshGenPerspectiveViewRenderBtn() { return meshGenPerspectiveViewRenderBtn; } public JButton getMeshGenTopViewToEditorBtn() { return meshGenTopViewToEditorBtn; } public JPanel getPanel_1() { return panel_93; } public JPanel getPanel_2() { return panel_94; } private JTabbedPane getTabbedPane_2() { if (tabbedPane_2 == null) { tabbedPane_2 = new JTabbedPane(JTabbedPane.TOP); tabbedPane_2.addTab("Voxelstack/Depthmap rendering", null, getPanel_95(), null); tabbedPane_2.addTab("Mesh generation", null, getPanel_97(), null); } return tabbedPane_2; } private JPanel getPanel_95() { if (panel_95 == null) { panel_95 = new JPanel(); panel_95.setLayout(new BorderLayout(0, 0)); panel_95.add(getPanel_89(), BorderLayout.NORTH); } return panel_95; } private JPanel getPanel_97() { if (panel_97 == null) { panel_97 = new JPanel(); panel_97.setLayout(new BorderLayout(0, 0)); panel_97.add(getPanel_98(), BorderLayout.NORTH); panel_97.add(getPanel_100(), BorderLayout.CENTER); } return panel_97; } private JPanel getPanel_98() { if (panel_98 == null) { panel_98 = new JPanel(); panel_98.setPreferredSize(new Dimension(10, 202)); panel_98.setLayout(new BorderLayout(0, 0)); panel_98.add(getPanel_99(), BorderLayout.WEST); JPanel panel_1 = new JPanel(); panel_1.setBorder(new TitledBorder(null, "Mesh generation", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_98.add(panel_1, BorderLayout.CENTER); panel_1.setLayout(new BorderLayout(0, 0)); JPanel panel_2 = new JPanel(); panel_2.setPreferredSize(new Dimension(10, 56)); panel_1.add(panel_2, BorderLayout.NORTH); panel_2.setLayout(new BorderLayout(0, 0)); JPanel panel_3 = new JPanel(); panel_3.setPreferredSize(new Dimension(430, 10)); panel_2.add(panel_3, BorderLayout.WEST); panel_3.setLayout(null); JLabel lblImageDownsample = new JLabel(); lblImageDownsample.setText("Image downsample"); lblImageDownsample.setSize(new Dimension(68, 22)); lblImageDownsample.setPreferredSize(new Dimension(94, 22)); lblImageDownsample.setName(""); lblImageDownsample.setLocation(new Point(6, 76)); lblImageDownsample.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); lblImageDownsample.setBounds(6, 8, 108, 22); panel_3.add(lblImageDownsample); meshGenSequenceDownSampleREd = new JWFNumberField(); meshGenSequenceDownSampleREd.setValueStep(1.0); meshGenSequenceDownSampleREd.setText(""); meshGenSequenceDownSampleREd.setSize(new Dimension(100, 24)); meshGenSequenceDownSampleREd.setPreferredSize(new Dimension(100, 24)); meshGenSequenceDownSampleREd.setOnlyIntegers(true); meshGenSequenceDownSampleREd.setMinValue(1.0); meshGenSequenceDownSampleREd.setMaxValue(12.0); meshGenSequenceDownSampleREd.setLocation(new Point(71, 76)); meshGenSequenceDownSampleREd.setHasMinValue(true); meshGenSequenceDownSampleREd.setHasMaxValue(true); meshGenSequenceDownSampleREd.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10)); meshGenSequenceDownSampleREd.setBounds(113, 6, 100, 24); panel_3.add(meshGenSequenceDownSampleREd); JLabel lblSpatialFilterRadius_1 = new JLabel(); lblSpatialFilterRadius_1.setText("Spatial filter radius"); lblSpatialFilterRadius_1.setSize(new Dimension(68, 22)); lblSpatialFilterRadius_1.setPreferredSize(new Dimension(94, 22)); lblSpatialFilterRadius_1.setName(""); lblSpatialFilterRadius_1.setLocation(new Point(4, 76)); lblSpatialFilterRadius_1.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); lblSpatialFilterRadius_1.setBounds(6, 32, 108, 22); panel_3.add(lblSpatialFilterRadius_1); meshGenSequenceFilterRadiusREd = new JWFNumberField(); meshGenSequenceFilterRadiusREd.setHasMaxValue(true); meshGenSequenceFilterRadiusREd.setValueStep(0.05); meshGenSequenceFilterRadiusREd.setText(""); meshGenSequenceFilterRadiusREd.setSize(new Dimension(100, 24)); meshGenSequenceFilterRadiusREd.setPreferredSize(new Dimension(100, 24)); meshGenSequenceFilterRadiusREd.setMaxValue(2.0); meshGenSequenceFilterRadiusREd.setLocation(new Point(71, 76)); meshGenSequenceFilterRadiusREd.setHasMinValue(true); meshGenSequenceFilterRadiusREd.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10)); meshGenSequenceFilterRadiusREd.setBounds(113, 30, 100, 24); panel_3.add(meshGenSequenceFilterRadiusREd); meshGenSequenceThresholdREd = new JWFNumberField(); meshGenSequenceThresholdREd.setValueStep(1.0); meshGenSequenceThresholdREd.setText(""); meshGenSequenceThresholdREd.setSize(new Dimension(100, 24)); meshGenSequenceThresholdREd.setPreferredSize(new Dimension(100, 24)); meshGenSequenceThresholdREd.setOnlyIntegers(true); meshGenSequenceThresholdREd.setMaxValue(255.0); meshGenSequenceThresholdREd.setLocation(new Point(71, 76)); meshGenSequenceThresholdREd.setHasMinValue(true); meshGenSequenceThresholdREd.setHasMaxValue(true); meshGenSequenceThresholdREd.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10)); meshGenSequenceThresholdREd.setBounds(325, 6, 100, 24); panel_3.add(meshGenSequenceThresholdREd); JLabel lblBrightnessThreshold = new JLabel(); lblBrightnessThreshold.setText("Brightness threshold"); lblBrightnessThreshold.setSize(new Dimension(68, 22)); lblBrightnessThreshold.setPreferredSize(new Dimension(94, 22)); lblBrightnessThreshold.setName(""); lblBrightnessThreshold.setLocation(new Point(6, 76)); lblBrightnessThreshold.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); lblBrightnessThreshold.setBounds(218, 8, 108, 22); panel_3.add(lblBrightnessThreshold); meshGenImageStepREd = new JWFNumberField(); meshGenImageStepREd.setValueStep(1.0); meshGenImageStepREd.setText(""); meshGenImageStepREd.setSize(new Dimension(100, 24)); meshGenImageStepREd.setPreferredSize(new Dimension(100, 24)); meshGenImageStepREd.setOnlyIntegers(true); meshGenImageStepREd.setMinValue(1.0); meshGenImageStepREd.setLocation(new Point(71, 76)); meshGenImageStepREd.setHasMinValue(true); meshGenImageStepREd.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10)); meshGenImageStepREd.setBounds(325, 30, 100, 24); panel_3.add(meshGenImageStepREd); JLabel lblImageStep = new JLabel(); lblImageStep.setText("Image step"); lblImageStep.setSize(new Dimension(68, 22)); lblImageStep.setPreferredSize(new Dimension(94, 22)); lblImageStep.setName(""); lblImageStep.setLocation(new Point(6, 76)); lblImageStep.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); lblImageStep.setBounds(218, 32, 108, 22); panel_3.add(lblImageStep); JPanel panel_8 = new JPanel(); panel_8.setPreferredSize(new Dimension(132, 10)); panel_2.add(panel_8, BorderLayout.EAST); meshGenGenerateMeshBtn = new JButton(); meshGenGenerateMeshBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { tinaController.getMeshGenController().generateMeshButton_clicked(); } }); meshGenGenerateMeshBtn.setText("Create Mesh"); meshGenGenerateMeshBtn.setIcon(new ImageIcon(TinaInternalFrame.class.getResource("/org/jwildfire/swing/icons/new/sports-soccer.png"))); meshGenGenerateMeshBtn.setPreferredSize(new Dimension(132, 48)); meshGenGenerateMeshBtn.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); panel_8.add(meshGenGenerateMeshBtn); meshGenGenerateMeshProgressbar = new JProgressBar(); meshGenGenerateMeshProgressbar.setValue(0); meshGenGenerateMeshProgressbar.setStringPainted(true); meshGenGenerateMeshProgressbar.setPreferredSize(new Dimension(568, 21)); panel_1.add(meshGenGenerateMeshProgressbar, BorderLayout.SOUTH); JPanel panel = new JPanel(); panel.setPreferredSize(new Dimension(10, 86)); panel_98.add(panel, BorderLayout.SOUTH); panel.setLayout(new BorderLayout(0, 0)); JPanel panel_4 = new JPanel(); panel_4.setBorder(new TitledBorder(null, "Image pre-filtering", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_4.setPreferredSize(new Dimension(400, 10)); panel.add(panel_4, BorderLayout.WEST); panel_4.setLayout(null); meshGenPreFilter1Cmb = new JComboBox(); meshGenPreFilter1Cmb.setBounds(82, 19, 117, 24); panel_4.add(meshGenPreFilter1Cmb); meshGenPreFilter1Cmb.setToolTipText(""); meshGenPreFilter1Cmb.setPreferredSize(new Dimension(50, 24)); meshGenPreFilter1Cmb.setMinimumSize(new Dimension(100, 24)); meshGenPreFilter1Cmb.setMaximumSize(new Dimension(32767, 24)); meshGenPreFilter1Cmb.setMaximumRowCount(32); meshGenPreFilter1Cmb.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); JLabel lblPrefilter = new JLabel(); lblPrefilter.setBounds(23, 21, 59, 22); panel_4.add(lblPrefilter); lblPrefilter.setText("PreFilter 1"); lblPrefilter.setPreferredSize(new Dimension(94, 22)); lblPrefilter.setName(""); lblPrefilter.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); JLabel lblPrefilter_1 = new JLabel(); lblPrefilter_1.setBounds(23, 45, 59, 22); panel_4.add(lblPrefilter_1); lblPrefilter_1.setText("PreFilter 2"); lblPrefilter_1.setPreferredSize(new Dimension(94, 22)); lblPrefilter_1.setName(""); lblPrefilter_1.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); meshGenPreFilter2Cmb = new JComboBox(); meshGenPreFilter2Cmb.setBounds(82, 43, 117, 24); panel_4.add(meshGenPreFilter2Cmb); meshGenPreFilter2Cmb.setToolTipText(""); meshGenPreFilter2Cmb.setPreferredSize(new Dimension(50, 24)); meshGenPreFilter2Cmb.setMinimumSize(new Dimension(100, 24)); meshGenPreFilter2Cmb.setMaximumSize(new Dimension(32767, 24)); meshGenPreFilter2Cmb.setMaximumRowCount(32); meshGenPreFilter2Cmb.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); JPanel panel_5 = new JPanel(); panel_5.setBorder(new TitledBorder(null, "Post smoothing", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel.add(panel_5, BorderLayout.CENTER); panel_5.setLayout(null); meshGenTaubinSmoothCbx = new JCheckBox("Taubin-Smooth"); meshGenTaubinSmoothCbx.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { tinaController.getMeshGenController().taubinSmoothCbx_clicked(); } }); meshGenTaubinSmoothCbx.setToolTipText(""); meshGenTaubinSmoothCbx.setSelected(true); meshGenTaubinSmoothCbx.setBounds(24, 18, 207, 18); panel_5.add(meshGenTaubinSmoothCbx); JLabel lblPasses = new JLabel(); lblPasses.setText("Passes"); lblPasses.setSize(new Dimension(68, 22)); lblPasses.setPreferredSize(new Dimension(94, 22)); lblPasses.setName(""); lblPasses.setLocation(new Point(6, 76)); lblPasses.setFont(new Font("Dialog", Font.BOLD, 10)); lblPasses.setBounds(24, 44, 108, 22); panel_5.add(lblPasses); meshGenSmoothPassesREd = new JWFNumberField(); meshGenSmoothPassesREd.setMouseSpeed(0.2); meshGenSmoothPassesREd.setValueStep(1.0); meshGenSmoothPassesREd.setText(""); meshGenSmoothPassesREd.setSize(new Dimension(100, 24)); meshGenSmoothPassesREd.setPreferredSize(new Dimension(100, 24)); meshGenSmoothPassesREd.setOnlyIntegers(true); meshGenSmoothPassesREd.setMaxValue(12.0); meshGenSmoothPassesREd.setLocation(new Point(71, 76)); meshGenSmoothPassesREd.setHasMinValue(true); meshGenSmoothPassesREd.setFont(new Font("Dialog", Font.PLAIN, 10)); meshGenSmoothPassesREd.setBounds(131, 42, 100, 24); panel_5.add(meshGenSmoothPassesREd); meshGenSmoothLambdaREd = new JWFNumberField(); meshGenSmoothLambdaREd.setMouseSpeed(0.04); meshGenSmoothLambdaREd.setMinValue(-10.0); meshGenSmoothLambdaREd.setHasMinValue(true); meshGenSmoothLambdaREd.setHasMaxValue(true); meshGenSmoothLambdaREd.setValueStep(0.01); meshGenSmoothLambdaREd.setText(""); meshGenSmoothLambdaREd.setSize(new Dimension(100, 24)); meshGenSmoothLambdaREd.setPreferredSize(new Dimension(100, 24)); meshGenSmoothLambdaREd.setMaxValue(10.0); meshGenSmoothLambdaREd.setLocation(new Point(71, 76)); meshGenSmoothLambdaREd.setFont(new Font("Dialog", Font.PLAIN, 10)); meshGenSmoothLambdaREd.setBounds(343, 18, 100, 24); panel_5.add(meshGenSmoothLambdaREd); JLabel lblLambda = new JLabel(); lblLambda.setText("Lambda"); lblLambda.setSize(new Dimension(68, 22)); lblLambda.setPreferredSize(new Dimension(94, 22)); lblLambda.setName(""); lblLambda.setLocation(new Point(6, 76)); lblLambda.setFont(new Font("Dialog", Font.BOLD, 10)); lblLambda.setBounds(236, 20, 108, 22); panel_5.add(lblLambda); JLabel lblMu = new JLabel(); lblMu.setText("Mu"); lblMu.setSize(new Dimension(68, 22)); lblMu.setPreferredSize(new Dimension(94, 22)); lblMu.setName(""); lblMu.setLocation(new Point(6, 76)); lblMu.setFont(new Font("Dialog", Font.BOLD, 10)); lblMu.setBounds(236, 44, 108, 22); panel_5.add(lblMu); meshGenSmoothMuREd = new JWFNumberField(); meshGenSmoothMuREd.setMouseSpeed(0.04); meshGenSmoothMuREd.setMaxValue(10.0); meshGenSmoothMuREd.setValueStep(0.01); meshGenSmoothMuREd.setText(""); meshGenSmoothMuREd.setSize(new Dimension(100, 24)); meshGenSmoothMuREd.setPreferredSize(new Dimension(100, 24)); meshGenSmoothMuREd.setMinValue(-10.0); meshGenSmoothMuREd.setLocation(new Point(71, 76)); meshGenSmoothMuREd.setHasMinValue(true); meshGenSmoothMuREd.setFont(new Font("Dialog", Font.PLAIN, 10)); meshGenSmoothMuREd.setBounds(343, 42, 100, 24); panel_5.add(meshGenSmoothMuREd); } return panel_98; } private JPanel getPanel_99() { if (panel_99 == null) { panel_99 = new JPanel(); panel_99.setBorder(new TitledBorder(null, "Input slices", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_99.setPreferredSize(new Dimension(400, 10)); panel_99.setLayout(null); meshGenLoadSequenceBtn = new JButton(); meshGenLoadSequenceBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { tinaController.getMeshGenController().loadSequenceButton_clicked(); } }); meshGenLoadSequenceBtn.setToolTipText("Load a previously rendered image sequence from harddisk"); meshGenLoadSequenceBtn.setText("Load sequence"); meshGenLoadSequenceBtn.setPreferredSize(new Dimension(125, 24)); meshGenLoadSequenceBtn.setMinimumSize(new Dimension(100, 24)); meshGenLoadSequenceBtn.setMaximumSize(new Dimension(32000, 24)); meshGenLoadSequenceBtn.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); meshGenLoadSequenceBtn.setBounds(18, 47, 176, 24); panel_99.add(meshGenLoadSequenceBtn); meshGenSequenceWidthREd = new JWFNumberField(); meshGenSequenceWidthREd.setValueStep(1.0); meshGenSequenceWidthREd.setText(""); meshGenSequenceWidthREd.setSize(new Dimension(100, 24)); meshGenSequenceWidthREd.setPreferredSize(new Dimension(100, 24)); meshGenSequenceWidthREd.setOnlyIntegers(true); meshGenSequenceWidthREd.setMinValue(16.0); meshGenSequenceWidthREd.setMaxValue(4096.0); meshGenSequenceWidthREd.setLocation(new Point(71, 76)); meshGenSequenceWidthREd.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10)); meshGenSequenceWidthREd.setBounds(282, 23, 100, 24); panel_99.add(meshGenSequenceWidthREd); JLabel lblWidth = new JLabel(); lblWidth.setText("Width"); lblWidth.setSize(new Dimension(68, 22)); lblWidth.setPreferredSize(new Dimension(94, 22)); lblWidth.setName(""); lblWidth.setLocation(new Point(4, 76)); lblWidth.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); lblWidth.setBounds(206, 25, 79, 22); panel_99.add(lblWidth); JLabel lblHeight = new JLabel(); lblHeight.setText("Height"); lblHeight.setSize(new Dimension(68, 22)); lblHeight.setPreferredSize(new Dimension(94, 22)); lblHeight.setName(""); lblHeight.setLocation(new Point(4, 76)); lblHeight.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); lblHeight.setBounds(206, 49, 79, 22); panel_99.add(lblHeight); meshGenSequenceHeightREd = new JWFNumberField(); meshGenSequenceHeightREd.setValueStep(1.0); meshGenSequenceHeightREd.setText(""); meshGenSequenceHeightREd.setSize(new Dimension(100, 24)); meshGenSequenceHeightREd.setPreferredSize(new Dimension(100, 24)); meshGenSequenceHeightREd.setOnlyIntegers(true); meshGenSequenceHeightREd.setMinValue(16.0); meshGenSequenceHeightREd.setMaxValue(4096.0); meshGenSequenceHeightREd.setLocation(new Point(71, 76)); meshGenSequenceHeightREd.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10)); meshGenSequenceHeightREd.setBounds(282, 47, 100, 24); panel_99.add(meshGenSequenceHeightREd); JLabel lblSlices = new JLabel(); lblSlices.setText("Slices"); lblSlices.setSize(new Dimension(68, 22)); lblSlices.setPreferredSize(new Dimension(94, 22)); lblSlices.setName(""); lblSlices.setLocation(new Point(4, 76)); lblSlices.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); lblSlices.setBounds(206, 74, 79, 22); panel_99.add(lblSlices); meshGenSequenceSlicesREd = new JWFNumberField(); meshGenSequenceSlicesREd.setValueStep(1.0); meshGenSequenceSlicesREd.setText(""); meshGenSequenceSlicesREd.setSize(new Dimension(100, 24)); meshGenSequenceSlicesREd.setPreferredSize(new Dimension(100, 24)); meshGenSequenceSlicesREd.setOnlyIntegers(true); meshGenSequenceSlicesREd.setMinValue(16.0); meshGenSequenceSlicesREd.setMaxValue(4096.0); meshGenSequenceSlicesREd.setLocation(new Point(71, 76)); meshGenSequenceSlicesREd.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10)); meshGenSequenceSlicesREd.setBounds(282, 72, 100, 24); panel_99.add(meshGenSequenceSlicesREd); meshGenSequenceFromRendererBtn = new JButton(); meshGenSequenceFromRendererBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { tinaController.getMeshGenController().importSequenceFromRendererButton_clicked(); } }); meshGenSequenceFromRendererBtn.setToolTipText("Load the previously rendered image sequence"); meshGenSequenceFromRendererBtn.setText("From renderer"); meshGenSequenceFromRendererBtn.setPreferredSize(new Dimension(125, 24)); meshGenSequenceFromRendererBtn.setMinimumSize(new Dimension(100, 24)); meshGenSequenceFromRendererBtn.setMaximumSize(new Dimension(32000, 24)); meshGenSequenceFromRendererBtn.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); meshGenSequenceFromRendererBtn.setBounds(18, 23, 176, 24); panel_99.add(meshGenSequenceFromRendererBtn); meshGenSequenceLbl = new JLabel(); meshGenSequenceLbl.setHorizontalAlignment(SwingConstants.RIGHT); meshGenSequenceLbl.setText("(none)"); meshGenSequenceLbl.setSize(new Dimension(68, 22)); meshGenSequenceLbl.setPreferredSize(new Dimension(94, 22)); meshGenSequenceLbl.setName(""); meshGenSequenceLbl.setLocation(new Point(4, 76)); meshGenSequenceLbl.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); meshGenSequenceLbl.setBounds(18, 75, 176, 22); panel_99.add(meshGenSequenceLbl); } return panel_99; } public JButton getMeshGenLoadSequenceBtn() { return meshGenLoadSequenceBtn; } public JWFNumberField getMeshGenSequenceWidthREd() { return meshGenSequenceWidthREd; } public JWFNumberField getMeshGenSequenceHeightREd() { return meshGenSequenceHeightREd; } public JWFNumberField getMeshGenSequenceSlicesREd() { return meshGenSequenceSlicesREd; } public JWFNumberField getMeshGenSequenceDownSampleREd() { return meshGenSequenceDownSampleREd; } public JWFNumberField getMeshGenSequenceFilterRadiusREd() { return meshGenSequenceFilterRadiusREd; } public JProgressBar getMeshGenGenerateMeshProgressbar() { return meshGenGenerateMeshProgressbar; } public JButton getMeshGenGenerateMeshBtn() { return meshGenGenerateMeshBtn; } public JButton getMeshGenSequenceFromRendererBtn() { return meshGenSequenceFromRendererBtn; } public JLabel getMeshGenSequenceLbl() { return meshGenSequenceLbl; } public JWFNumberField getMeshGenSequenceThresholdREd() { return meshGenSequenceThresholdREd; } private JPanel getPanel_100() { if (panel_100 == null) { panel_100 = new JPanel(); panel_100.setBorder(new TitledBorder(null, "Preview", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panel_100.setLayout(new BorderLayout(0, 0)); panel_100.add(getPanel_102(), BorderLayout.WEST); panel_100.add(getPanel_101(), BorderLayout.EAST); panel_100.add(getMeshGenPreviewRootPanel(), BorderLayout.CENTER); } return panel_100; } private JPanel getPanel_101() { if (panel_101 == null) { panel_101 = new JPanel(); panel_101.setPreferredSize(new Dimension(188, 10)); panel_101.setLayout(null); JLabel lblPositionY = new JLabel(); lblPositionY.setText("Position Y"); lblPositionY.setSize(new Dimension(68, 22)); lblPositionY.setPreferredSize(new Dimension(94, 22)); lblPositionY.setName(""); lblPositionY.setLocation(new Point(6, 76)); lblPositionY.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); lblPositionY.setBounds(6, 30, 78, 22); panel_101.add(lblPositionY); meshGenPreviewPositionYREd = new JWFNumberField(); meshGenPreviewPositionYREd.setMouseSpeed(0.05); meshGenPreviewPositionYREd.setValueStep(0.1); meshGenPreviewPositionYREd.setText(""); meshGenPreviewPositionYREd.setSize(new Dimension(100, 24)); meshGenPreviewPositionYREd.setPreferredSize(new Dimension(100, 24)); meshGenPreviewPositionYREd.setLocation(new Point(71, 76)); meshGenPreviewPositionYREd.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10)); meshGenPreviewPositionYREd.setBounds(84, 30, 100, 24); meshGenPreviewPositionYREd.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { if (tinaController != null && tinaController.getMeshGenController() != null) { tinaController.getMeshGenController().previewPositionY_changed(meshGenPreviewPositionYREd.isMouseAdjusting()); } } }); panel_101.add(meshGenPreviewPositionYREd); meshGenPreviewPositionXREd = new JWFNumberField(); meshGenPreviewPositionXREd.setMouseSpeed(0.05); meshGenPreviewPositionXREd.setValueStep(0.1); meshGenPreviewPositionXREd.setText(""); meshGenPreviewPositionXREd.setSize(new Dimension(100, 24)); meshGenPreviewPositionXREd.setPreferredSize(new Dimension(100, 24)); meshGenPreviewPositionXREd.setLocation(new Point(71, 76)); meshGenPreviewPositionXREd.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10)); meshGenPreviewPositionXREd.setBounds(84, 6, 100, 24); meshGenPreviewPositionXREd.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { if (tinaController != null && tinaController.getMeshGenController() != null) { tinaController.getMeshGenController().previewPositionX_changed(meshGenPreviewPositionXREd.isMouseAdjusting()); } } }); panel_101.add(meshGenPreviewPositionXREd); JLabel label_2 = new JLabel(); label_2.setText("Position X"); label_2.setSize(new Dimension(68, 22)); label_2.setPreferredSize(new Dimension(94, 22)); label_2.setName(""); label_2.setLocation(new Point(6, 76)); label_2.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); label_2.setBounds(6, 6, 78, 22); panel_101.add(label_2); meshGenPreviewSizeREd = new JWFNumberField(); meshGenPreviewSizeREd.setMouseSpeed(0.2); meshGenPreviewSizeREd.setValueStep(0.01); meshGenPreviewSizeREd.setText(""); meshGenPreviewSizeREd.setSize(new Dimension(100, 24)); meshGenPreviewSizeREd.setPreferredSize(new Dimension(100, 24)); meshGenPreviewSizeREd.setMinValue(0.01); meshGenPreviewSizeREd.setLocation(new Point(71, 76)); meshGenPreviewSizeREd.setHasMinValue(true); meshGenPreviewSizeREd.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10)); meshGenPreviewSizeREd.setBounds(84, 75, 100, 24); meshGenPreviewSizeREd.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { if (tinaController != null && tinaController.getMeshGenController() != null) { tinaController.getMeshGenController().previewSize_changed(meshGenPreviewSizeREd.isMouseAdjusting()); } } }); panel_101.add(meshGenPreviewSizeREd); JLabel lblSize = new JLabel(); lblSize.setText("Size"); lblSize.setSize(new Dimension(68, 22)); lblSize.setPreferredSize(new Dimension(94, 22)); lblSize.setName(""); lblSize.setLocation(new Point(6, 76)); lblSize.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); lblSize.setBounds(6, 75, 78, 22); panel_101.add(lblSize); JLabel lblScaleZ = new JLabel(); lblScaleZ.setText("Scale Z"); lblScaleZ.setSize(new Dimension(68, 22)); lblScaleZ.setPreferredSize(new Dimension(94, 22)); lblScaleZ.setName(""); lblScaleZ.setLocation(new Point(6, 76)); lblScaleZ.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); lblScaleZ.setBounds(6, 99, 78, 22); panel_101.add(lblScaleZ); meshGenPreviewScaleZREd = new JWFNumberField(); meshGenPreviewScaleZREd.setMouseSpeed(0.2); meshGenPreviewScaleZREd.setValueStep(0.01); meshGenPreviewScaleZREd.setText(""); meshGenPreviewScaleZREd.setSize(new Dimension(100, 24)); meshGenPreviewScaleZREd.setPreferredSize(new Dimension(100, 24)); meshGenPreviewScaleZREd.setMinValue(0.01); meshGenPreviewScaleZREd.setLocation(new Point(71, 76)); meshGenPreviewScaleZREd.setHasMinValue(true); meshGenPreviewScaleZREd.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10)); meshGenPreviewScaleZREd.setBounds(84, 99, 100, 24); meshGenPreviewScaleZREd.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { if (tinaController != null && tinaController.getMeshGenController() != null) { tinaController.getMeshGenController().previewScaleZ_changed(meshGenPreviewScaleZREd.isMouseAdjusting()); } } }); panel_101.add(meshGenPreviewScaleZREd); meshGenPreviewRotateAlphaREd = new JWFNumberField(); meshGenPreviewRotateAlphaREd.setValueStep(1.0); meshGenPreviewRotateAlphaREd.setText(""); meshGenPreviewRotateAlphaREd.setSize(new Dimension(100, 24)); meshGenPreviewRotateAlphaREd.setPreferredSize(new Dimension(100, 24)); meshGenPreviewRotateAlphaREd.setLocation(new Point(71, 76)); meshGenPreviewRotateAlphaREd.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10)); meshGenPreviewRotateAlphaREd.setBounds(84, 146, 100, 24); meshGenPreviewRotateAlphaREd.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { if (tinaController != null && tinaController.getMeshGenController() != null) { tinaController.getMeshGenController().previewRotateAlpha_changed(meshGenPreviewRotateAlphaREd.isMouseAdjusting()); } } }); panel_101.add(meshGenPreviewRotateAlphaREd); JLabel lblRotateAlpha = new JLabel(); lblRotateAlpha.setText("Rotate Alpha"); lblRotateAlpha.setSize(new Dimension(68, 22)); lblRotateAlpha.setPreferredSize(new Dimension(94, 22)); lblRotateAlpha.setName(""); lblRotateAlpha.setLocation(new Point(6, 76)); lblRotateAlpha.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); lblRotateAlpha.setBounds(6, 146, 78, 22); panel_101.add(lblRotateAlpha); JLabel lblRotateBeta = new JLabel(); lblRotateBeta.setText("Rotate Beta"); lblRotateBeta.setSize(new Dimension(68, 22)); lblRotateBeta.setPreferredSize(new Dimension(94, 22)); lblRotateBeta.setName(""); lblRotateBeta.setLocation(new Point(6, 76)); lblRotateBeta.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); lblRotateBeta.setBounds(6, 170, 78, 22); panel_101.add(lblRotateBeta); meshGenPreviewRotateBetaREd = new JWFNumberField(); meshGenPreviewRotateBetaREd.setValueStep(1.0); meshGenPreviewRotateBetaREd.setText(""); meshGenPreviewRotateBetaREd.setSize(new Dimension(100, 24)); meshGenPreviewRotateBetaREd.setPreferredSize(new Dimension(100, 24)); meshGenPreviewRotateBetaREd.setLocation(new Point(71, 76)); meshGenPreviewRotateBetaREd.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10)); meshGenPreviewRotateBetaREd.setBounds(84, 170, 100, 24); meshGenPreviewRotateBetaREd.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { if (tinaController != null && tinaController.getMeshGenController() != null) { tinaController.getMeshGenController().previewRotateBeta_changed(meshGenPreviewRotateBetaREd.isMouseAdjusting()); } } }); panel_101.add(meshGenPreviewRotateBetaREd); meshGenRefreshPreviewBtn = new JButton(); meshGenRefreshPreviewBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { tinaController.getMeshGenController().refreshPreviewButton_clicked(); } }); meshGenRefreshPreviewBtn.setToolTipText(""); meshGenRefreshPreviewBtn.setText("Refresh Preview"); meshGenRefreshPreviewBtn.setPreferredSize(new Dimension(125, 24)); meshGenRefreshPreviewBtn.setMinimumSize(new Dimension(100, 24)); meshGenRefreshPreviewBtn.setMaximumSize(new Dimension(32000, 24)); meshGenRefreshPreviewBtn.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); meshGenRefreshPreviewBtn.setBounds(6, 220, 176, 24); panel_101.add(meshGenRefreshPreviewBtn); meshGenPreviewSunflowExportBtn = new JButton(); meshGenPreviewSunflowExportBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { tinaController.getMeshGenController().previewSunflowExportButton_clicked(); } }); meshGenPreviewSunflowExportBtn.setToolTipText("Create a file which can be processed by the integrated sunflow renderer"); meshGenPreviewSunflowExportBtn.setText("Export to sunflow renderer"); meshGenPreviewSunflowExportBtn.setPreferredSize(new Dimension(125, 24)); meshGenPreviewSunflowExportBtn.setMinimumSize(new Dimension(100, 24)); meshGenPreviewSunflowExportBtn.setMaximumSize(new Dimension(32000, 24)); meshGenPreviewSunflowExportBtn.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); meshGenPreviewSunflowExportBtn.setBounds(6, 276, 176, 24); panel_101.add(meshGenPreviewSunflowExportBtn); } return panel_101; } JPanel getMeshGenPreviewRootPanel() { if (meshGenPreviewRootPanel == null) { meshGenPreviewRootPanel = new JPanel(); meshGenPreviewRootPanel.setLayout(new BorderLayout(0, 0)); } return meshGenPreviewRootPanel; } public JCheckBox getMeshGenAutoPreviewCBx() { return meshGenAutoPreviewCBx; } public JButton getMeshGenPreviewImportLastGeneratedMeshBtn() { return meshGenPreviewImportLastGeneratedMeshBtn; } public JButton getMeshGenPreviewImportFromFileBtn() { return meshGenPreviewImportFromFileBtn; } public JButton getMeshGenClearPreviewBtn() { return meshGenClearPreviewBtn; } public JWFNumberField getMeshGenPreviewPositionXREd() { return meshGenPreviewPositionXREd; } public JWFNumberField getMeshGenPreviewPositionYREd() { return meshGenPreviewPositionYREd; } public JWFNumberField getMeshGenPreviewSizeREd() { return meshGenPreviewSizeREd; } public JWFNumberField getMeshGenPreviewScaleZREd() { return meshGenPreviewScaleZREd; } public JWFNumberField getMeshGenPreviewRotateAlphaREd() { return meshGenPreviewRotateAlphaREd; } public JWFNumberField getMeshGenPreviewRotateBetaREd() { return meshGenPreviewRotateBetaREd; } public JWFNumberField getMeshGenPreviewPointsREd() { return meshGenPreviewPointsREd; } private JPanel getPanel_102() { if (panel_102 == null) { panel_102 = new JPanel(); panel_102.setPreferredSize(new Dimension(188, 10)); panel_102.setLayout(null); meshGenAutoPreviewCBx = new JCheckBox("Auto-Preview"); meshGenAutoPreviewCBx.setBounds(6, 6, 176, 18); panel_102.add(meshGenAutoPreviewCBx); meshGenAutoPreviewCBx.setSelected(true); meshGenAutoPreviewCBx.setToolTipText("Display preview after creating mesh (may be slow on slow machines)"); meshGenPreviewImportLastGeneratedMeshBtn = new JButton(); meshGenPreviewImportLastGeneratedMeshBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { tinaController.getMeshGenController().importLastGeneratedMeshIntoPreviewBtn_clicked(); } }); meshGenPreviewImportLastGeneratedMeshBtn.setBounds(6, 53, 176, 24); panel_102.add(meshGenPreviewImportLastGeneratedMeshBtn); meshGenPreviewImportLastGeneratedMeshBtn.setToolTipText("Display the previously created mesh"); meshGenPreviewImportLastGeneratedMeshBtn.setText("Import last generated"); meshGenPreviewImportLastGeneratedMeshBtn.setPreferredSize(new Dimension(125, 24)); meshGenPreviewImportLastGeneratedMeshBtn.setMinimumSize(new Dimension(100, 24)); meshGenPreviewImportLastGeneratedMeshBtn.setMaximumSize(new Dimension(32000, 24)); meshGenPreviewImportLastGeneratedMeshBtn.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); meshGenPreviewImportFromFileBtn = new JButton(); meshGenPreviewImportFromFileBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { tinaController.getMeshGenController().loadPreviewMeshBtn_clicked(); } }); meshGenPreviewImportFromFileBtn.setBounds(6, 78, 176, 24); panel_102.add(meshGenPreviewImportFromFileBtn); meshGenPreviewImportFromFileBtn.setToolTipText("Load and display a mesh from disc"); meshGenPreviewImportFromFileBtn.setText("Import from file"); meshGenPreviewImportFromFileBtn.setPreferredSize(new Dimension(125, 24)); meshGenPreviewImportFromFileBtn.setMinimumSize(new Dimension(100, 24)); meshGenPreviewImportFromFileBtn.setMaximumSize(new Dimension(32000, 24)); meshGenPreviewImportFromFileBtn.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); meshGenClearPreviewBtn = new JButton(); meshGenClearPreviewBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { tinaController.getMeshGenController().clearPreviewButton_clicked(); } }); meshGenClearPreviewBtn.setBounds(6, 120, 176, 24); panel_102.add(meshGenClearPreviewBtn); meshGenClearPreviewBtn.setToolTipText("Remove the currently displayed mesh from memory"); meshGenClearPreviewBtn.setText("Clear Preview"); meshGenClearPreviewBtn.setPreferredSize(new Dimension(125, 24)); meshGenClearPreviewBtn.setMinimumSize(new Dimension(100, 24)); meshGenClearPreviewBtn.setMaximumSize(new Dimension(32000, 24)); meshGenClearPreviewBtn.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); JLabel lblModelReduction = new JLabel(); lblModelReduction.setBounds(4, 194, 78, 22); panel_102.add(lblModelReduction); lblModelReduction.setToolTipText(""); lblModelReduction.setText("Points"); lblModelReduction.setPreferredSize(new Dimension(94, 22)); lblModelReduction.setName(""); lblModelReduction.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); meshGenPreviewPointsREd = new JWFNumberField(); meshGenPreviewPointsREd.setBounds(82, 194, 100, 24); panel_102.add(meshGenPreviewPointsREd); meshGenPreviewPointsREd.setValueStep(1.0); meshGenPreviewPointsREd.setText(""); meshGenPreviewPointsREd.setPreferredSize(new Dimension(100, 24)); meshGenPreviewPointsREd.setOnlyIntegers(true); meshGenPreviewPointsREd.setMinValue(1.0); meshGenPreviewPointsREd.setMaxValue(12.0); meshGenPreviewPointsREd.setHasMinValue(true); meshGenPreviewPointsREd.setHasMaxValue(true); meshGenPreviewPointsREd.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10)); meshGenPreviewPolygonsREd = new JWFNumberField(); meshGenPreviewPolygonsREd.setValueStep(1.0); meshGenPreviewPolygonsREd.setText(""); meshGenPreviewPolygonsREd.setPreferredSize(new Dimension(100, 24)); meshGenPreviewPolygonsREd.setOnlyIntegers(true); meshGenPreviewPolygonsREd.setMinValue(1.0); meshGenPreviewPolygonsREd.setMaxValue(12.0); meshGenPreviewPolygonsREd.setHasMinValue(true); meshGenPreviewPolygonsREd.setHasMaxValue(true); meshGenPreviewPolygonsREd.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10)); meshGenPreviewPolygonsREd.setBounds(82, 216, 100, 24); panel_102.add(meshGenPreviewPolygonsREd); JLabel lblPolygons = new JLabel(); lblPolygons.setToolTipText(""); lblPolygons.setText("Polygons"); lblPolygons.setPreferredSize(new Dimension(94, 22)); lblPolygons.setName(""); lblPolygons.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10)); lblPolygons.setBounds(4, 216, 78, 22); panel_102.add(lblPolygons); } return panel_102; } public JWFNumberField getMeshGenPreviewPolygonsREd() { return meshGenPreviewPolygonsREd; } public JButton getMeshGenRefreshPreviewBtn() { return meshGenRefreshPreviewBtn; } public JButton getMeshGenPreviewSunflowExportBtn() { return meshGenPreviewSunflowExportBtn; } public JButton getChannelMixerResetBtn() { return channelMixerResetBtn; } public JComboBox getChannelMixerModeCmb() { return channelMixerModeCmb; } public JComboBox getMeshGenPreFilter1Cmb() { return meshGenPreFilter1Cmb; } public JComboBox getMeshGenPreFilter2Cmb() { return meshGenPreFilter2Cmb; } public JWFNumberField getMeshGenImageStepREd() { return meshGenImageStepREd; } public void setTinaController(TinaController tinaController) { this.tinaController = tinaController; } public JComboBox getMeshGenOutputTypeCmb() { return meshGenOutputTypeCmb; } public JCheckBox getMeshGenTaubinSmoothCbx() { return meshGenTaubinSmoothCbx; } public JWFNumberField getMeshGenSmoothPassesREd() { return meshGenSmoothPassesREd; } public JWFNumberField getMeshGenSmoothLambdaREd() { return meshGenSmoothLambdaREd; } public JWFNumberField getMeshGenSmoothMuREd() { return meshGenSmoothMuREd; } }