Trying out an "Unfinished" view... Jury is out

This commit is contained in:
bkuker 2013-01-10 15:36:08 -05:00
parent 67c1a3c553
commit c1c4f99992
4 changed files with 213 additions and 215 deletions

View File

@ -47,7 +47,8 @@ RocketActions.MoveDownAct.ttip.Movedown = Move this component downwards.
RocketPanel.FigTypeAct.Sideview = Side view RocketPanel.FigTypeAct.Sideview = Side view
RocketPanel.FigTypeAct.Backview = Back view RocketPanel.FigTypeAct.Backview = Back view
RocketPanel.FigTypeAct.Figure3D = 3D Figure RocketPanel.FigTypeAct.Figure3D = 3D Figure
RocketPanel.FigTypeAct.Realistic3D = 3D Realistic RocketPanel.FigTypeAct.Finished = 3D Finished
RocketPanel.FigTypeAct.Unfinished = 3D Unfinished
RocketPanel.lbl.Flightcfg = Flight configuration: RocketPanel.lbl.Flightcfg = Flight configuration:

View File

@ -51,8 +51,9 @@ import com.jogamp.opengl.util.awt.Overlay;
*/ */
public class RocketFigure3d extends JPanel implements GLEventListener { public class RocketFigure3d extends JPanel implements GLEventListener {
public static final int TYPE_REALISTIC = 0; public static final int TYPE_FIGURE = 0;
public static final int TYPE_FIGURE = 1; public static final int TYPE_UNFINISHED = 1;
public static final int TYPE_FINISHED = 2;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private static final LogHelper log = Application.getLogger(); private static final LogHelper log = Application.getLogger();
@ -644,8 +645,10 @@ public class RocketFigure3d extends JPanel implements GLEventListener {
rr.dispose(drawable); rr.dispose(drawable);
if (t == TYPE_FIGURE) { if (t == TYPE_FIGURE) {
rr = new FigureRenderer(); rr = new FigureRenderer();
} else { } else if (t == TYPE_FINISHED) {
rr = new RealisticRenderer(document); rr = new RealisticRenderer(document);
} else if (t == TYPE_UNFINISHED) {
rr = new UnfinishedRenderer(document);
} }
rr.init(drawable); rr.init(drawable);
return false; return false;

View File

@ -90,18 +90,23 @@ public class RocketPanel extends JPanel implements TreeSelectionListener, Change
private static final Translator trans = Application.getTranslator(); private static final Translator trans = Application.getTranslator();
/*RocketPanel.FigTypeAct.Sideview = Side view public static enum VIEW_TYPE {
RocketPanel.FigTypeAct.Backview = Back view Sideview(false, RocketFigure.TYPE_SIDE),
RocketPanel.FigViewAct.3DFigure = 3D Figure Backview(false, RocketFigure.TYPE_BACK),
RocketPanel.FigViewAct.3DRealistic = 3D Realistic*/ Figure3D(true, RocketFigure3d.TYPE_FIGURE),
Unfinished(true, RocketFigure3d.TYPE_UNFINISHED),
Finished(true, RocketFigure3d.TYPE_FINISHED);
public final boolean is3d;
private final int type;
private VIEW_TYPE(final boolean is3d, final int type) {
this.is3d = is3d;
this.type = type;
};
private static enum VIEW_TYPE {
Sideview,
Backview,
Figure3D,
Realistic3D;
@Override @Override
public String toString(){ public String toString() {
return trans.get("RocketPanel.FigTypeAct." + super.toString()); return trans.get("RocketPanel.FigTypeAct." + super.toString());
} }
@ -272,23 +277,12 @@ public class RocketPanel extends JPanel implements TreeSelectionListener, Change
public void setSelectedItem(Object o) { public void setSelectedItem(Object o) {
super.setSelectedItem(o); super.setSelectedItem(o);
VIEW_TYPE v = (VIEW_TYPE) o; VIEW_TYPE v = (VIEW_TYPE) o;
switch (v) { if (v.is3d) {
case Sideview: figure3d.setType(v.type);
figure.setType(RocketFigure.TYPE_SIDE);
go2D();
break;
case Backview:
figure.setType(RocketFigure.TYPE_BACK);
go2D();
break;
case Realistic3D:
figure3d.setType(RocketFigure3d.TYPE_REALISTIC);
go3D(); go3D();
break; } else {
case Figure3D: figure.setType(v.type);
figure3d.setType(RocketFigure3d.TYPE_FIGURE); go2D();
go3D();
break;
} }
} }
}; };
@ -320,7 +314,7 @@ public class RocketPanel extends JPanel implements TreeSelectionListener, Change
button.addActionListener(new ActionListener() { button.addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
JDialog configDialog = new FlightConfigurationDialog(document.getRocket(),SwingUtilities.windowForComponent(RocketPanel.this)); JDialog configDialog = new FlightConfigurationDialog(document.getRocket(), SwingUtilities.windowForComponent(RocketPanel.this));
configDialog.show(); configDialog.show();
} }
}); });
@ -494,8 +488,8 @@ public class RocketPanel extends JPanel implements TreeSelectionListener, Change
protected void fireChangeEvent() { protected void fireChangeEvent() {
EventObject e = new EventObject(this); EventObject e = new EventObject(this);
for (EventListener l : listeners) { for (EventListener l : listeners) {
if ( l instanceof StateChangeListener ) { if (l instanceof StateChangeListener) {
((StateChangeListener)l).stateChanged(e); ((StateChangeListener) l).stateChanged(e);
} }
} }
} }
@ -527,10 +521,10 @@ public class RocketPanel extends JPanel implements TreeSelectionListener, Change
handleComponentClick(clicked, event); handleComponentClick(clicked, event);
} }
private void handleComponentClick(RocketComponent[] clicked, MouseEvent event){ private void handleComponentClick(RocketComponent[] clicked, MouseEvent event) {
// If no component is clicked, do nothing // If no component is clicked, do nothing
if (clicked.length == 0){ if (clicked.length == 0) {
selectionModel.setSelectionPath(null); selectionModel.setSelectionPath(null);
return; return;
} }
@ -711,7 +705,7 @@ public class RocketPanel extends JPanel implements TreeSelectionListener, Change
extraText.setCalculatingData(true); extraText.setCalculatingData(true);
Rocket duplicate = (Rocket) configuration.getRocket().copy(); Rocket duplicate = (Rocket) configuration.getRocket().copy();
Simulation simulation = ((SwingPreferences)Application.getPreferences()).getBackgroundSimulation(duplicate); Simulation simulation = ((SwingPreferences) Application.getPreferences()).getBackgroundSimulation(duplicate);
simulation.getOptions().setMotorConfigurationID( simulation.getOptions().setMotorConfigurationID(
configuration.getFlightConfigurationID()); configuration.getFlightConfigurationID());
@ -777,7 +771,7 @@ public class RocketPanel extends JPanel implements TreeSelectionListener, Change
return new SimulationListener[] { return new SimulationListener[] {
InterruptListener.INSTANCE, InterruptListener.INSTANCE,
ApogeeEndListener.INSTANCE, ApogeeEndListener.INSTANCE,
exprListener}; exprListener };
} }