r5904 - trunk/misc/tools/ObjToMap
esteel at icculus.org
esteel at icculus.org
Fri Feb 20 03:54:37 EST 2009
Author: esteel
Date: 2009-02-20 03:54:30 -0500 (Fri, 20 Feb 2009)
New Revision: 5904
Added:
trunk/misc/tools/ObjToMap/objtomap/
Removed:
trunk/misc/tools/ObjToMap/AutoTexturingEntry.java
trunk/misc/tools/ObjToMap/Configuration.java
trunk/misc/tools/ObjToMap/JFrameMain.form
trunk/misc/tools/ObjToMap/JFrameMain.java
trunk/misc/tools/ObjToMap/Main.java
trunk/misc/tools/ObjToMap/ObjToMap.java
Log:
gnah, java.. how could i forget
Deleted: trunk/misc/tools/ObjToMap/AutoTexturingEntry.java
===================================================================
--- trunk/misc/tools/ObjToMap/AutoTexturingEntry.java 2009-02-20 08:30:03 UTC (rev 5903)
+++ trunk/misc/tools/ObjToMap/AutoTexturingEntry.java 2009-02-20 08:54:30 UTC (rev 5904)
@@ -1,11 +0,0 @@
-package objtomap;
-
-public class AutoTexturingEntry {
- public double angle;
- public String texturename;
-
- public AutoTexturingEntry() {
- angle = 0.0;
- texturename = "common/caulk";
- }
-}
Deleted: trunk/misc/tools/ObjToMap/Configuration.java
===================================================================
--- trunk/misc/tools/ObjToMap/Configuration.java 2009-02-20 08:30:03 UTC (rev 5903)
+++ trunk/misc/tools/ObjToMap/Configuration.java 2009-02-20 08:54:30 UTC (rev 5904)
@@ -1,23 +0,0 @@
-
-package objtomap;
-
-import java.util.Vector;
-
-public class Configuration {
-
- public double brush_thickness, scale, texture_scale, minz;
- public boolean detail, autotexture, simpleterrain;
- public String objfile, mapfile;
- public Vector autotexturing;
-
-
- /** Creates a new instance of Configuration */
- public Configuration() {
- brush_thickness = 4.0;
- texture_scale = 0.5;
- scale = 128.0;
- detail = true;
- autotexturing = new Vector();
- }
-
-}
Deleted: trunk/misc/tools/ObjToMap/JFrameMain.form
===================================================================
--- trunk/misc/tools/ObjToMap/JFrameMain.form 2009-02-20 08:30:03 UTC (rev 5903)
+++ trunk/misc/tools/ObjToMap/JFrameMain.form 2009-02-20 08:54:30 UTC (rev 5904)
@@ -1,348 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<Form version="1.3" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
- <Properties>
- <Property name="defaultCloseOperation" type="int" value="3"/>
- <Property name="title" type="java.lang.String" value="ObjToMap"/>
- </Properties>
- <SyntheticProperties>
- <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
- </SyntheticProperties>
- <AuxValues>
- <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="2"/>
- <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
- <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
- </AuxValues>
-
- <Layout>
- <DimensionLayout dim="0">
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" alignment="1" attributes="0">
- <EmptySpace max="-2" attributes="0"/>
- <Group type="103" groupAlignment="1" attributes="0">
- <Component id="jPanel4" alignment="0" max="32767" attributes="0"/>
- <Component id="jPanel3" alignment="0" max="32767" attributes="0"/>
- <Component id="jPanel2" alignment="0" max="32767" attributes="0"/>
- <Component id="jPanel1" alignment="0" max="32767" attributes="0"/>
- <Component id="jButtonStart" alignment="1" min="-2" max="-2" attributes="0"/>
- </Group>
- <EmptySpace max="-2" attributes="0"/>
- </Group>
- </Group>
- </DimensionLayout>
- <DimensionLayout dim="1">
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" alignment="0" attributes="0">
- <EmptySpace max="-2" attributes="0"/>
- <Component id="jPanel1" min="-2" max="-2" attributes="0"/>
- <EmptySpace max="-2" attributes="0"/>
- <Component id="jPanel2" min="-2" max="-2" attributes="0"/>
- <EmptySpace max="-2" attributes="0"/>
- <Component id="jPanel3" min="-2" max="-2" attributes="0"/>
- <EmptySpace max="-2" attributes="0"/>
- <Component id="jPanel4" max="32767" attributes="0"/>
- <EmptySpace max="-2" attributes="0"/>
- <Component id="jButtonStart" min="-2" max="-2" attributes="0"/>
- <EmptySpace max="-2" attributes="0"/>
- </Group>
- </Group>
- </DimensionLayout>
- </Layout>
- <SubComponents>
- <Container class="javax.swing.JPanel" name="jPanel1">
- <Properties>
- <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
- <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
- <TitledBorder title="Input File (.obj)"/>
- </Border>
- </Property>
- </Properties>
-
- <Layout>
- <DimensionLayout dim="0">
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" alignment="1" attributes="0">
- <EmptySpace max="-2" attributes="0"/>
- <Component id="jTextFieldInputFile" pref="477" max="32767" attributes="0"/>
- <EmptySpace max="-2" attributes="0"/>
- <Component id="jButtonSelectInputFile" min="-2" max="-2" attributes="0"/>
- <EmptySpace max="-2" attributes="0"/>
- </Group>
- </Group>
- </DimensionLayout>
- <DimensionLayout dim="1">
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" attributes="0">
- <Group type="103" groupAlignment="0" attributes="0">
- <Component id="jButtonSelectInputFile" alignment="0" min="-2" max="-2" attributes="0"/>
- <Component id="jTextFieldInputFile" alignment="0" min="-2" max="-2" attributes="0"/>
- </Group>
- <EmptySpace max="32767" attributes="0"/>
- </Group>
- </Group>
- </DimensionLayout>
- </Layout>
- <SubComponents>
- <Component class="javax.swing.JTextField" name="jTextFieldInputFile">
- <Events>
- <EventHandler event="focusLost" listener="java.awt.event.FocusListener" parameters="java.awt.event.FocusEvent" handler="jTextFieldInputFileFocusLost"/>
- </Events>
- </Component>
- <Component class="javax.swing.JButton" name="jButtonSelectInputFile">
- <Properties>
- <Property name="text" type="java.lang.String" value="Select file"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonSelectInputFileActionPerformed"/>
- </Events>
- </Component>
- </SubComponents>
- </Container>
- <Container class="javax.swing.JPanel" name="jPanel2">
- <Properties>
- <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
- <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
- <TitledBorder title="Output File (.map)"/>
- </Border>
- </Property>
- </Properties>
-
- <Layout>
- <DimensionLayout dim="0">
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" alignment="1" attributes="0">
- <EmptySpace max="-2" attributes="0"/>
- <Component id="jTextFieldOutputFile" pref="477" max="32767" attributes="0"/>
- <EmptySpace max="-2" attributes="0"/>
- <Component id="jButtonSelectOutputFile" min="-2" max="-2" attributes="0"/>
- <EmptySpace max="-2" attributes="0"/>
- </Group>
- </Group>
- </DimensionLayout>
- <DimensionLayout dim="1">
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" attributes="0">
- <Group type="103" groupAlignment="0" attributes="0">
- <Component id="jTextFieldOutputFile" min="-2" max="-2" attributes="0"/>
- <Component id="jButtonSelectOutputFile" alignment="0" min="-2" max="-2" attributes="0"/>
- </Group>
- <EmptySpace max="32767" attributes="0"/>
- </Group>
- </Group>
- </DimensionLayout>
- </Layout>
- <SubComponents>
- <Component class="javax.swing.JTextField" name="jTextFieldOutputFile">
- <Events>
- <EventHandler event="focusLost" listener="java.awt.event.FocusListener" parameters="java.awt.event.FocusEvent" handler="jTextFieldOutputFileFocusLost"/>
- </Events>
- </Component>
- <Component class="javax.swing.JButton" name="jButtonSelectOutputFile">
- <Properties>
- <Property name="text" type="java.lang.String" value="Select file"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonSelectOutputFileActionPerformed"/>
- </Events>
- </Component>
- </SubComponents>
- </Container>
- <Container class="javax.swing.JPanel" name="jPanel3">
- <Properties>
- <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
- <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
- <TitledBorder title="Configuration"/>
- </Border>
- </Property>
- </Properties>
-
- <Layout>
- <DimensionLayout dim="0">
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" attributes="0">
- <EmptySpace max="-2" attributes="0"/>
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" attributes="0">
- <Group type="103" groupAlignment="1" attributes="0">
- <Component id="jLabel2" alignment="1" min="-2" max="-2" attributes="0"/>
- <Component id="jLabel1" alignment="1" min="-2" max="-2" attributes="0"/>
- </Group>
- <EmptySpace max="-2" attributes="0"/>
- <Group type="103" groupAlignment="0" max="-2" attributes="0">
- <Component id="jTextFieldScale" max="32767" attributes="1"/>
- <Component id="jTextFieldThickness" alignment="0" pref="56" max="32767" attributes="1"/>
- </Group>
- <EmptySpace min="-2" pref="29" max="-2" attributes="0"/>
- <Component id="jLabel3" min="-2" max="-2" attributes="0"/>
- <EmptySpace min="12" pref="12" max="-2" attributes="0"/>
- <Component id="jTextFieldTextureScale" min="-2" pref="58" max="-2" attributes="0"/>
- </Group>
- <Component id="jCheckDetail" alignment="0" min="-2" max="-2" attributes="0"/>
- </Group>
- <EmptySpace pref="234" max="32767" attributes="0"/>
- </Group>
- </Group>
- </DimensionLayout>
- <DimensionLayout dim="1">
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" alignment="0" attributes="0">
- <Group type="103" groupAlignment="3" attributes="0">
- <Component id="jLabel1" alignment="3" min="-2" max="-2" attributes="0"/>
- <Component id="jTextFieldThickness" alignment="3" min="-2" max="-2" attributes="0"/>
- <Component id="jLabel3" alignment="3" min="-2" max="-2" attributes="0"/>
- <Component id="jTextFieldTextureScale" alignment="3" min="-2" max="-2" attributes="0"/>
- </Group>
- <EmptySpace max="-2" attributes="0"/>
- <Group type="103" groupAlignment="3" attributes="0">
- <Component id="jLabel2" alignment="3" min="-2" max="-2" attributes="0"/>
- <Component id="jTextFieldScale" alignment="3" min="-2" max="-2" attributes="0"/>
- </Group>
- <EmptySpace pref="19" max="32767" attributes="0"/>
- <Component id="jCheckDetail" min="-2" max="-2" attributes="0"/>
- <EmptySpace max="-2" attributes="0"/>
- </Group>
- </Group>
- </DimensionLayout>
- </Layout>
- <SubComponents>
- <Component class="javax.swing.JLabel" name="jLabel1">
- <Properties>
- <Property name="text" type="java.lang.String" value="Brush thickness:"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabel2">
- <Properties>
- <Property name="text" type="java.lang.String" value="Model scale:"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JCheckBox" name="jCheckDetail">
- <Properties>
- <Property name="text" type="java.lang.String" value="Make generated brushes detail"/>
- <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
- <Border info="org.netbeans.modules.form.compat2.border.EmptyBorderInfo">
- <EmptyBorder bottom="0" left="0" right="0" top="0"/>
- </Border>
- </Property>
- <Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
- <Insets value="[0, 0, 0, 0]"/>
- </Property>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jCheckDetailActionPerformed"/>
- </Events>
- </Component>
- <Component class="javax.swing.JTextField" name="jTextFieldThickness">
- <Events>
- <EventHandler event="focusLost" listener="java.awt.event.FocusListener" parameters="java.awt.event.FocusEvent" handler="jTextFieldThicknessFocusLost"/>
- </Events>
- </Component>
- <Component class="javax.swing.JTextField" name="jTextFieldScale">
- <Events>
- <EventHandler event="focusLost" listener="java.awt.event.FocusListener" parameters="java.awt.event.FocusEvent" handler="jTextFieldScaleFocusLost"/>
- </Events>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabel3">
- <Properties>
- <Property name="text" type="java.lang.String" value="Texture scale:"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JTextField" name="jTextFieldTextureScale">
- <Events>
- <EventHandler event="focusLost" listener="java.awt.event.FocusListener" parameters="java.awt.event.FocusEvent" handler="jTextFieldTextureScaleFocusLost"/>
- </Events>
- </Component>
- </SubComponents>
- </Container>
- <Component class="javax.swing.JButton" name="jButtonStart">
- <Properties>
- <Property name="text" type="java.lang.String" value="Start conversion"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonStartActionPerformed"/>
- </Events>
- </Component>
- <Container class="javax.swing.JPanel" name="jPanel4">
- <Properties>
- <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
- <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
- <TitledBorder title="Auto-texturing"/>
- </Border>
- </Property>
- </Properties>
-
- <Layout>
- <DimensionLayout dim="0">
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" alignment="1" attributes="0">
- <EmptySpace max="-2" attributes="0"/>
- <Component id="jScrollPane1" pref="473" max="32767" attributes="0"/>
- <EmptySpace max="-2" attributes="0"/>
- <Group type="103" groupAlignment="1" max="-2" attributes="0">
- <Component id="jButtonAdd" max="32767" attributes="1"/>
- <Component id="jButtonDelte" alignment="1" pref="104" max="32767" attributes="1"/>
- </Group>
- <EmptySpace max="-2" attributes="0"/>
- </Group>
- </Group>
- </DimensionLayout>
- <DimensionLayout dim="1">
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" attributes="0">
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" attributes="0">
- <EmptySpace max="-2" attributes="0"/>
- <Component id="jButtonAdd" min="-2" max="-2" attributes="0"/>
- <EmptySpace max="-2" attributes="0"/>
- <Component id="jButtonDelte" min="-2" max="-2" attributes="0"/>
- </Group>
- <Component id="jScrollPane1" alignment="1" pref="167" max="32767" attributes="0"/>
- </Group>
- <EmptySpace max="-2" attributes="0"/>
- </Group>
- </Group>
- </DimensionLayout>
- </Layout>
- <SubComponents>
- <Container class="javax.swing.JScrollPane" name="jScrollPane1">
- <AuxValues>
- <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
- </AuxValues>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
- <SubComponents>
- <Component class="javax.swing.JTable" name="jTableTexturing">
- <Properties>
- <Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
- <Table columnCount="4" rowCount="4">
- <Column editable="true" title="Title 1" type="java.lang.Object"/>
- <Column editable="true" title="Title 2" type="java.lang.Object"/>
- <Column editable="true" title="Title 3" type="java.lang.Object"/>
- <Column editable="true" title="Title 4" type="java.lang.Object"/>
- </Table>
- </Property>
- </Properties>
- </Component>
- </SubComponents>
- </Container>
- <Component class="javax.swing.JButton" name="jButtonAdd">
- <Properties>
- <Property name="text" type="java.lang.String" value="New"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonAddActionPerformed"/>
- </Events>
- </Component>
- <Component class="javax.swing.JButton" name="jButtonDelte">
- <Properties>
- <Property name="text" type="java.lang.String" value="Remove"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonDelteActionPerformed"/>
- </Events>
- </Component>
- </SubComponents>
- </Container>
- </SubComponents>
-</Form>
Deleted: trunk/misc/tools/ObjToMap/JFrameMain.java
===================================================================
--- trunk/misc/tools/ObjToMap/JFrameMain.java 2009-02-20 08:30:03 UTC (rev 5903)
+++ trunk/misc/tools/ObjToMap/JFrameMain.java 2009-02-20 08:54:30 UTC (rev 5904)
@@ -1,475 +0,0 @@
-/*
- * JFrameMain.java
- *
- * Created on 16. Januar 2007, 15:36
- */
-
-package objtomap;
-
-import java.io.IOException;
-import java.util.Vector;
-import javax.swing.JFileChooser;
-import javax.swing.table.AbstractTableModel;
-
-/**
- *
- * @author user
- */
-public class JFrameMain extends javax.swing.JFrame {
-
- private Configuration config;
-
- /** Creates new form JFrameMain */
- public JFrameMain(Configuration c) {
- config = c;
- initComponents();
-
- updateForms();
- }
-
- private void updateForms() {
- jTextFieldInputFile.setText(config.objfile);
- jTextFieldOutputFile.setText(config.mapfile);
- jTextFieldScale.setText(Double.toString(config.scale));
- jTextFieldTextureScale.setText(Double.toString(config.texture_scale));
- jTextFieldThickness.setText(Double.toString(config.brush_thickness));
- jCheckDetail.setSelected(config.detail);
-
- jTableTexturing.setModel(new AutoTexturingTableModel(config.autotexturing));
-
- /*try {
- jTableRelations.setDefaultEditor(Class.forName("businesslearner.Letter"), new DefaultCellEditor(comboBoxLetters));
- jTableRelations.setDefaultEditor("".getClass(), new DefaultCellEditor(comboBoxRelations));
- } catch (ClassNotFoundException ex) {
- ex.printStackTrace();
- }*/
-
- }
-
-
-
-
- /** 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.
- */
- // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
- private void initComponents() {
- jPanel1 = new javax.swing.JPanel();
- jTextFieldInputFile = new javax.swing.JTextField();
- jButtonSelectInputFile = new javax.swing.JButton();
- jPanel2 = new javax.swing.JPanel();
- jTextFieldOutputFile = new javax.swing.JTextField();
- jButtonSelectOutputFile = new javax.swing.JButton();
- jPanel3 = new javax.swing.JPanel();
- jLabel1 = new javax.swing.JLabel();
- jLabel2 = new javax.swing.JLabel();
- jCheckDetail = new javax.swing.JCheckBox();
- jTextFieldThickness = new javax.swing.JTextField();
- jTextFieldScale = new javax.swing.JTextField();
- jLabel3 = new javax.swing.JLabel();
- jTextFieldTextureScale = new javax.swing.JTextField();
- jButtonStart = new javax.swing.JButton();
- jPanel4 = new javax.swing.JPanel();
- jScrollPane1 = new javax.swing.JScrollPane();
- jTableTexturing = new javax.swing.JTable();
- jButtonAdd = new javax.swing.JButton();
- jButtonDelte = new javax.swing.JButton();
-
- setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
- setTitle("ObjToMap");
- jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Input File (.obj)"));
- jTextFieldInputFile.addFocusListener(new java.awt.event.FocusAdapter() {
- public void focusLost(java.awt.event.FocusEvent evt) {
- jTextFieldInputFileFocusLost(evt);
- }
- });
-
- jButtonSelectInputFile.setText("Select file");
- jButtonSelectInputFile.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButtonSelectInputFileActionPerformed(evt);
- }
- });
-
- org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1);
- jPanel1.setLayout(jPanel1Layout);
- jPanel1Layout.setHorizontalGroup(
- jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
- .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel1Layout.createSequentialGroup()
- .addContainerGap()
- .add(jTextFieldInputFile, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 477, Short.MAX_VALUE)
- .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
- .add(jButtonSelectInputFile)
- .addContainerGap())
- );
- jPanel1Layout.setVerticalGroup(
- jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
- .add(jPanel1Layout.createSequentialGroup()
- .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
- .add(jButtonSelectInputFile)
- .add(jTextFieldInputFile, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
- .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- );
-
- jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Output File (.map)"));
- jTextFieldOutputFile.addFocusListener(new java.awt.event.FocusAdapter() {
- public void focusLost(java.awt.event.FocusEvent evt) {
- jTextFieldOutputFileFocusLost(evt);
- }
- });
-
- jButtonSelectOutputFile.setText("Select file");
- jButtonSelectOutputFile.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButtonSelectOutputFileActionPerformed(evt);
- }
- });
-
- org.jdesktop.layout.GroupLayout jPanel2Layout = new org.jdesktop.layout.GroupLayout(jPanel2);
- jPanel2.setLayout(jPanel2Layout);
- jPanel2Layout.setHorizontalGroup(
- jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
- .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel2Layout.createSequentialGroup()
- .addContainerGap()
- .add(jTextFieldOutputFile, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 477, Short.MAX_VALUE)
- .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
- .add(jButtonSelectOutputFile)
- .addContainerGap())
- );
- jPanel2Layout.setVerticalGroup(
- jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
- .add(jPanel2Layout.createSequentialGroup()
- .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
- .add(jTextFieldOutputFile, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
- .add(jButtonSelectOutputFile))
- .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- );
-
- jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("Configuration"));
- jLabel1.setText("Brush thickness:");
-
- jLabel2.setText("Model scale:");
-
- jCheckDetail.setText("Make generated brushes detail");
- jCheckDetail.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
- jCheckDetail.setMargin(new java.awt.Insets(0, 0, 0, 0));
- jCheckDetail.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jCheckDetailActionPerformed(evt);
- }
- });
-
- jTextFieldThickness.addFocusListener(new java.awt.event.FocusAdapter() {
- public void focusLost(java.awt.event.FocusEvent evt) {
- jTextFieldThicknessFocusLost(evt);
- }
- });
-
- jTextFieldScale.addFocusListener(new java.awt.event.FocusAdapter() {
- public void focusLost(java.awt.event.FocusEvent evt) {
- jTextFieldScaleFocusLost(evt);
- }
- });
-
- jLabel3.setText("Texture scale:");
-
- jTextFieldTextureScale.addFocusListener(new java.awt.event.FocusAdapter() {
- public void focusLost(java.awt.event.FocusEvent evt) {
- jTextFieldTextureScaleFocusLost(evt);
- }
- });
-
- org.jdesktop.layout.GroupLayout jPanel3Layout = new org.jdesktop.layout.GroupLayout(jPanel3);
- jPanel3.setLayout(jPanel3Layout);
- jPanel3Layout.setHorizontalGroup(
- jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
- .add(jPanel3Layout.createSequentialGroup()
- .addContainerGap()
- .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
- .add(jPanel3Layout.createSequentialGroup()
- .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
- .add(jLabel2)
- .add(jLabel1))
- .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
- .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
- .add(jTextFieldScale)
- .add(jTextFieldThickness, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 56, Short.MAX_VALUE))
- .add(29, 29, 29)
- .add(jLabel3)
- .add(12, 12, 12)
- .add(jTextFieldTextureScale, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 58, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
- .add(jCheckDetail))
- .addContainerGap(234, Short.MAX_VALUE))
- );
- jPanel3Layout.setVerticalGroup(
- jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
- .add(jPanel3Layout.createSequentialGroup()
- .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
- .add(jLabel1)
- .add(jTextFieldThickness, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
- .add(jLabel3)
- .add(jTextFieldTextureScale, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
- .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
- .add(jLabel2)
- .add(jTextFieldScale, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 19, Short.MAX_VALUE)
- .add(jCheckDetail)
- .addContainerGap())
- );
-
- jButtonStart.setText("Start conversion");
- jButtonStart.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButtonStartActionPerformed(evt);
- }
- });
-
- jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder("Auto-texturing"));
- jTableTexturing.setModel(new javax.swing.table.DefaultTableModel(
- new Object [][] {
- {null, null, null, null},
- {null, null, null, null},
- {null, null, null, null},
- {null, null, null, null}
- },
- new String [] {
- "Title 1", "Title 2", "Title 3", "Title 4"
- }
- ));
- jScrollPane1.setViewportView(jTableTexturing);
-
- jButtonAdd.setText("New");
- jButtonAdd.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButtonAddActionPerformed(evt);
- }
- });
-
- jButtonDelte.setText("Remove");
- jButtonDelte.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButtonDelteActionPerformed(evt);
- }
- });
-
- org.jdesktop.layout.GroupLayout jPanel4Layout = new org.jdesktop.layout.GroupLayout(jPanel4);
- jPanel4.setLayout(jPanel4Layout);
- jPanel4Layout.setHorizontalGroup(
- jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
- .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel4Layout.createSequentialGroup()
- .addContainerGap()
- .add(jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 473, Short.MAX_VALUE)
- .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
- .add(jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING, false)
- .add(jButtonAdd, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .add(jButtonDelte, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 104, Short.MAX_VALUE))
- .addContainerGap())
- );
- jPanel4Layout.setVerticalGroup(
- jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
- .add(jPanel4Layout.createSequentialGroup()
- .add(jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
- .add(jPanel4Layout.createSequentialGroup()
- .addContainerGap()
- .add(jButtonAdd)
- .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
- .add(jButtonDelte))
- .add(org.jdesktop.layout.GroupLayout.TRAILING, jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 167, Short.MAX_VALUE))
- .addContainerGap())
- );
-
- org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
- getContentPane().setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
- .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
- .addContainerGap()
- .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
- .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel4, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel3, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .add(jButtonStart))
- .addContainerGap())
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
- .add(layout.createSequentialGroup()
- .addContainerGap()
- .add(jPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
- .add(jPanel2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
- .add(jPanel3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
- .add(jPanel4, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
- .add(jButtonStart)
- .addContainerGap())
- );
- pack();
- }// </editor-fold>//GEN-END:initComponents
-
- private void jButtonDelteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonDelteActionPerformed
- int index = jTableTexturing.getSelectedRow();
- if(index < 0) return;
- config.autotexturing.remove(index);
- updateForms();
- }//GEN-LAST:event_jButtonDelteActionPerformed
-
- private void jButtonAddActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonAddActionPerformed
- config.autotexturing.add(new AutoTexturingEntry());
- updateForms();
- }//GEN-LAST:event_jButtonAddActionPerformed
-
- private void jTextFieldOutputFileFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTextFieldOutputFileFocusLost
- config.mapfile = jTextFieldOutputFile.getText();
- updateForms();
- }//GEN-LAST:event_jTextFieldOutputFileFocusLost
-
- private void jTextFieldInputFileFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTextFieldInputFileFocusLost
- config.objfile = jTextFieldInputFile.getText();
- updateForms();
- }//GEN-LAST:event_jTextFieldInputFileFocusLost
-
- private void jTextFieldTextureScaleFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTextFieldTextureScaleFocusLost
- try {
- config.texture_scale = Double.parseDouble(jTextFieldTextureScale.getText());
- } catch(Exception e) {}
- updateForms();
- }//GEN-LAST:event_jTextFieldTextureScaleFocusLost
-
- private void jButtonSelectOutputFileActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonSelectOutputFileActionPerformed
- JFileChooser fc = new JFileChooser();
- int returnval = fc.showSaveDialog(this);
- if(returnval == JFileChooser.APPROVE_OPTION) {
- config.mapfile = fc.getSelectedFile().getPath();
- }
- updateForms();
- }//GEN-LAST:event_jButtonSelectOutputFileActionPerformed
-
- private void jButtonSelectInputFileActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonSelectInputFileActionPerformed
- JFileChooser fc = new JFileChooser();
- int returnval = fc.showOpenDialog(this);
- if(returnval == JFileChooser.APPROVE_OPTION) {
- config.objfile = fc.getSelectedFile().getPath();
- }
- updateForms();
- }//GEN-LAST:event_jButtonSelectInputFileActionPerformed
-
- private void jButtonStartActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonStartActionPerformed
- config.objfile = jTextFieldInputFile.getText();
- config.mapfile = jTextFieldOutputFile.getText();
-
- ObjToMap converter = new ObjToMap(config);
- try {
- converter.parseOBJ();
- converter.writeMap();
- } catch(Exception e) {
- e.printStackTrace();
- }
- }//GEN-LAST:event_jButtonStartActionPerformed
-
- private void jCheckDetailActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckDetailActionPerformed
- config.detail = jCheckDetail.isSelected();
- updateForms();
- }//GEN-LAST:event_jCheckDetailActionPerformed
-
- private void jTextFieldScaleFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTextFieldScaleFocusLost
- try {
- config.scale = Double.parseDouble(jTextFieldScale.getText());
- } catch(Exception e) {}
- updateForms();
- }//GEN-LAST:event_jTextFieldScaleFocusLost
-
- private void jTextFieldThicknessFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTextFieldThicknessFocusLost
- try {
- config.brush_thickness = Double.parseDouble(jTextFieldThickness.getText());
- } catch(Exception e) {}
- updateForms();
- }//GEN-LAST:event_jTextFieldThicknessFocusLost
-
-
- // Variables declaration - do not modify//GEN-BEGIN:variables
- private javax.swing.JButton jButtonAdd;
- private javax.swing.JButton jButtonDelte;
- private javax.swing.JButton jButtonSelectInputFile;
- private javax.swing.JButton jButtonSelectOutputFile;
- private javax.swing.JButton jButtonStart;
- private javax.swing.JCheckBox jCheckDetail;
- private javax.swing.JLabel jLabel1;
- private javax.swing.JLabel jLabel2;
- private javax.swing.JLabel jLabel3;
- private javax.swing.JPanel jPanel1;
- private javax.swing.JPanel jPanel2;
- private javax.swing.JPanel jPanel3;
- private javax.swing.JPanel jPanel4;
- private javax.swing.JScrollPane jScrollPane1;
- private javax.swing.JTable jTableTexturing;
- private javax.swing.JTextField jTextFieldInputFile;
- private javax.swing.JTextField jTextFieldOutputFile;
- private javax.swing.JTextField jTextFieldScale;
- private javax.swing.JTextField jTextFieldTextureScale;
- private javax.swing.JTextField jTextFieldThickness;
- // End of variables declaration//GEN-END:variables
-
- private class AutoTexturingTableModel extends AbstractTableModel {
-
- Vector texturing;
-
- public AutoTexturingTableModel(Vector t) {
- texturing = t;
- }
-
- private String[] columnNames = {"Starting angle (against xy plane)","Texture name"};
-
-
- public int getColumnCount() {
- return 2;
- }
-
- public int getRowCount() {
- return texturing.size();
- }
-
- public String getColumnName(int col) {
- return columnNames[col];
- }
-
- public Object getValueAt(int row, int col) {
- if(row < 0 | row > texturing.size()) return null;
-
- AutoTexturingEntry e = (AutoTexturingEntry)texturing.get(row);
- if(col == 0)
- return new Double(e.angle);
- else
- return e.texturename;
- }
-
- public Class getColumnClass(int c) {
- return getValueAt(0, c).getClass();
- }
-
- public boolean isCellEditable(int row, int col) {
- return true;
- }
-
- public void setValueAt(Object value, int row, int col) {
-
- AutoTexturingEntry e = (AutoTexturingEntry)texturing.get(row);
-
- if(col == 0) {
- Double angle = (Double)value;
- e.angle = angle.doubleValue();
- } else {
- e.texturename = (String)value;
- }
-
- fireTableCellUpdated(row, col);
- }
- }
-
-}
Deleted: trunk/misc/tools/ObjToMap/Main.java
===================================================================
--- trunk/misc/tools/ObjToMap/Main.java 2009-02-20 08:30:03 UTC (rev 5903)
+++ trunk/misc/tools/ObjToMap/Main.java 2009-02-20 08:54:30 UTC (rev 5904)
@@ -1,36 +0,0 @@
-/*
- * Main.java
- *
- * Created on 16. Januar 2007, 15:24
- *
- * To change this template, choose Tools | Template Manager
- * and open the template in the editor.
- */
-
-package objtomap;
-
-import java.io.IOException;
-import java.util.Vector;
-import javax.swing.UIManager;
-
-/**
- *
- * @author user
- */
-public class Main {
-
-
- public static void main(String[] args) throws IOException {
-
- try {
- UIManager.setLookAndFeel(
- UIManager.getSystemLookAndFeelClassName());
- } catch (Exception e) { }
-
- Configuration config = new Configuration();
-
- JFrameMain main = new JFrameMain(config);
- main.setVisible(true);
-
- }
-}
Deleted: trunk/misc/tools/ObjToMap/ObjToMap.java
===================================================================
--- trunk/misc/tools/ObjToMap/ObjToMap.java 2009-02-20 08:30:03 UTC (rev 5903)
+++ trunk/misc/tools/ObjToMap/ObjToMap.java 2009-02-20 08:54:30 UTC (rev 5904)
@@ -1,318 +0,0 @@
-/* This code is *ugly*. It may blind you.
- *
- * I hereby pollute the software world by putting this into public domain.
- *
- * SavageX
- */
-
-
-package objtomap;
-
-import java.io.BufferedReader;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.Vector;
-
-public class ObjToMap {
-
- private Vector points, faces;
- private Configuration config;
-
- public ObjToMap(Configuration c) {
- config = c;
- }
-
- public void parseOBJ() throws IOException {
-
- points = new Vector();
- faces = new Vector();
- double scale = config.scale;
- config.simpleterrain = true;
- config.minz = Double.MAX_VALUE;
-
-
- BufferedReader in = null;
- try {
- in = new BufferedReader(new FileReader(config.objfile));
- } catch(Exception e) {
- System.err.println("Input file not found!");
- return;
- }
-
- String currentmat = "common/caulk";
-
- while(in.ready()) {
- String line = in.readLine();
- line.trim();
- line = line.replaceAll(" ", " ");
- String[] tokens = line.split(" ");
- if(tokens.length > 1) {
-
- if(tokens[0].equals("v")) {
- // vertices
- Vector3D p = new Vector3D();
- p.x = Double.parseDouble(tokens[3]) * scale;
- p.y = Double.parseDouble(tokens[1]) * scale;
- p.z = Double.parseDouble(tokens[2]) * scale;
- points.add(p);
-
- if(p.z < config.minz)
- config.minz = p.z;
-
- } else if(tokens[0].equals("f")) {
- // faces
-
- if(tokens.length == 4) {
- // TriFace
-
- String[] facetokens1 = tokens[1].split("/");
- String[] facetokens2 = tokens[2].split("/");
- String[] facetokens3 = tokens[3].split("/");
-
- Face f = new Face();
- f.material = currentmat;
- Vector3D p1, p2, p3;
- p1 = (Vector3D)points.get(Integer.parseInt(facetokens1[0]) - 1);
- p2 = (Vector3D)points.get(Integer.parseInt(facetokens2[0]) - 1);
- p3 = (Vector3D)points.get(Integer.parseInt(facetokens3[0]) - 1);
-
- f.setPoints(p1, p2, p3);
- if(f.getXYangle() >= 90.0)
- config.simpleterrain = false;
-
- faces.add(f);
-
- } else if(tokens.length == 5) {
- // QuadFace
- String[] facetokens1 = tokens[1].split("/");
- String[] facetokens2 = tokens[2].split("/");
- String[] facetokens3 = tokens[3].split("/");
- String[] facetokens4 = tokens[4].split("/");
-
- Vector3D p1, p2, p3;
-
- Face f1 = new Face();
- f1.material = currentmat;
- p1 = (Vector3D)points.get(Integer.parseInt(facetokens1[0]) - 1);
- p2 = (Vector3D)points.get(Integer.parseInt(facetokens2[0]) - 1);
- p3 = (Vector3D)points.get(Integer.parseInt(facetokens3[0]) - 1);
- f1.setPoints(p1, p2, p3);
-
- if(f1.getXYangle() >= 90.0)
- config.simpleterrain = false;
-
- faces.add(f1);
-
- Face f2 = new Face();
- f2.material = currentmat;
- p1 = (Vector3D)points.get(Integer.parseInt(facetokens1[0]) - 1);
- p2 = (Vector3D)points.get(Integer.parseInt(facetokens3[0]) - 1);
- p3 = (Vector3D)points.get(Integer.parseInt(facetokens4[0]) - 1);
- f2.setPoints(p1, p2, p3);
-
- if(f2.getXYangle() >= 90.0)
- config.simpleterrain = false;
-
- faces.add(f2);
- }
- } else if(tokens[0].equals("usemtl")) {
- //change material
-
- currentmat = tokens[1];
- }
- }
-
- }
-
- System.out.println("Read points: " + points.size() + " Read faces: " + faces.size());
-
- }
-
- public void writeMap() {
- if(faces == null) return;
-
- PrintWriter out = null;
- try {
- out = new PrintWriter(new FileWriter(config.mapfile));
- } catch(Exception e) {
- System.err.println("Can't open output file?!");
- return;
- }
-
- out.print("{\n\"classname\" \"worldspawn\"\n");
-
- for(int i = 0; i < faces.size(); i++) {
- Face f = (Face)faces.get(i);
- out.print(f.generateBrush());
- }
-
- out.print("}\n");
- out.flush();
- out.close();
- }
-
-
- private class Vector3D {
- public double x, y, z;
-
- public Vector3D() {
- this(0.0, 0.0, 0.0);
- }
-
- public Vector3D(double x, double y, double z) {
- this.x = x;
- this.y = y;
- this.z = z;
- }
-
- public Vector3D crossproduct(Vector3D p1) {
- Vector3D result = new Vector3D();
-
- result.x = this.y * p1.z - this.z * p1.y;
- result.y = this.z * p1.x - this.x * p1.z;
- result.z = this.x * p1.y - this.y * p1.x;
-
- return result;
- }
-
- public double dotproduct(Vector3D p1) {
- return this.x * p1.x + this.y * p1.y + this.z * p1.z;
- }
-
- public Vector3D substract(Vector3D p1) {
- Vector3D result = new Vector3D();
-
- result.x = this.x - p1.x;
- result.y = this.y - p1.y;
- result.z = this.z - p1.z;
-
- return result;
- }
-
- public void scale(double factor) {
- x *= factor;
- y *= factor;
- z *= factor;
- }
-
- public double length() {
- return Math.sqrt((x*x) + (y*y) + (z*z));
- }
-
- public void normalize() {
- double l = length();
-
- x /= l;
- y /= l;
- z /= l;
- }
-
- }
-
-
- private class Face {
- private Vector3D p1, p2, p3, normal;
- private double angle_xy = 0.0;
- public String material;
-
- public void setPoints(Vector3D p1, Vector3D p2, Vector3D p3) {
- this.p1 = p1;
- this.p2 = p2;
- this.p3 = p3;
-
- computeNormal();
- computeXYangle();
- }
-
- public double getXYangle() {
- return angle_xy;
- }
-
- private void computeNormal() {
- Vector3D vector1 = p1.substract(p2);
- Vector3D vector2 = p1.substract(p3);
-
- normal = vector1.crossproduct(vector2);
- normal.normalize();
- }
-
- private void computeXYangle() {
- Vector3D normal_xy = new Vector3D(0.0, 0.0, 1.0);
- angle_xy = Math.acos(normal.dotproduct(normal_xy)) / (2 * Math.PI) * 360.0;
- }
-
- public String generateBrush() {
- String result = "{\n";
-
- // this looks like a floor, extrude along the z-axis
- if(angle_xy < 70.0) {
- normal.x = 0.0;
- normal.y = 0.0;
- normal.z = 1.0;
- }
-
- normal.scale(config.brush_thickness);
-
- Vector3D p1_, p2_, p3_;
-
- if(!config.simpleterrain) {
- p1_ = p1.substract(normal);
- p2_ = p2.substract(normal);
- p3_ = p3.substract(normal);
- } else {
- double min = config.minz;
- min -= 16.0;
- p1_ = new Vector3D(p1.x, p1.y, min);
- p2_ = new Vector3D(p2.x, p2.y, min);
- p3_ = new Vector3D(p3.x, p3.y, min);
- }
-
- String mat = material;
-
- if(config.autotexturing.size() > 0) {
- double maxangle = -1.0;
- for(int i = 0; i < config.autotexturing.size(); i++) {
- AutoTexturingEntry e = (AutoTexturingEntry)config.autotexturing.get(i);
- if(angle_xy >= e.angle && e.angle > maxangle) {
- mat = e.texturename;
- maxangle = e.angle;
- }
- }
- }
-
- // top face, apply texture here
- result += getMapPlaneString(p3, p2, p1, mat);
-
- // bottom face
- result += getMapPlaneString(p1_, p2_, p3_, "common/caulk");
-
- // extruded side 1
- result += getMapPlaneString(p1, p1_, p3_, "common/caulk");
-
- // extruded side 2
- result += getMapPlaneString(p2, p3, p3_, "common/caulk");
-
- // extruded side 3
- result += getMapPlaneString(p1, p2, p2_, "common/caulk");
-
- result += "}\n";
-
- return result;
- }
-
-
- private String getMapPlaneString(Vector3D p1, Vector3D p2, Vector3D p3, String material) {
- int flag;
- if(config.detail)
- flag = 134217728;
- else
- flag = 0;
-
- return "( " + p1.x + " " + p1.y + " " + p1.z + " ) ( " + p2.x + " " + p2.y + " " + p2.z + " ) ( " + p3.x + " " + p3.y + " " + p3.z + " ) " + material + " 0 0 0 " + config.texture_scale + " " + config.texture_scale + " " + flag + " 0 0\n";
- }
-
- }
-
-}
Copied: trunk/misc/tools/ObjToMap/objtomap (from rev 5902, trunk/misc/tools/ObjToMap/objtomap)
More information about the nexuiz-commits
mailing list