From: Kevin R. <kr...@su...> - 2012-12-22 14:49:43
|
Sampo, I forgot to mention, I can easily take care of this today sometime. I'll try to reproduce with one of the motors with multiple curves and commit a fix. BTW - I'm traveling over the holidays and won't have any chance to hack on the code. Pretty much Dec 24 - Jan 1. If you can, please try to look at the tumble-recovery branch (in my repo). I think something like this is necessary to achieve numerical stability while simulating booster recovery. Also, I'm thinking about changing the way simulations abort when NaN is detected. It would be useful (at least to me a developer) to be able to graph the data even when a NaN occurs. I think the simulation should be marked "Red" and the data stored for viewing. Kevin On 12/22/2012 6:56 AM, kr...@su... wrote: > Sampo, > > I've seen this before and know what the problem is. I updated to > JFreeChart 1.0.14 and it now has this issue if you try to use the same > string name for two different series in the plot. > > If I remember correctly, the plot shown for a motor will show all the > thrust curves available. It should be a simple matter to generate a > unique label for each of them ("1", "2", etc). I don't think the label > is shown in that graph so it wouldn't be a big deal. > > Kevin > > Sampo Niskanen <sam...@ik...> wrote: > > Hi, > > Something has changed in kruland-integration branch that breaks the > motor selector dialog. Whenever you select any motor, it causes an > exception. Does someone know what may have broken it? > > > java.lang.IllegalArgumentException: This dataset already contains a > series with the key Thrust > at org.jfree.data.xy.XYSeriesCollection.addSeries(XYSeriesCollection.java:153) > at net.sf.openrocket.gui.dialogs.motor.thrustcurve.ThrustCurveMotorSelectionPanel.updateData(ThrustCurveMotorSelectionPanel.java:724) > at net.sf.openrocket.gui.dialogs.motor.thrustcurve.ThrustCurveMotorSelectionPanel.select(ThrustCurveMotorSelectionPanel.java:628) > at net.sf.openrocket.gui.dialogs.motor.thrustcurve.ThrustCurveMotorSelectionPanel.access$13(ThrustCurveMotorSelectionPanel.java:615) > at > net.sf.openrocket.gui.dialogs.motor.thrustcurve.ThrustCurveMotorSelectionPanel$3.valueChanged(ThrustCurveMotorSelectionPanel.java:274) > at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:184) > at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:164) > at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:211) > at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:405) > at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:415) > at javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:459) > at javax.swing.JTable.changeSelectionModel(JTable.java:2375) > at javax.swing.JTable.changeSelection(JTable.java:2444) > at javax.swing.plaf.basic.BasicTableUI$Handler.adjustSelection(BasicTableUI.java:1112) > at > javax.swing.plaf.basic.BasicTableUI$Handler.mousePressed(BasicTableUI.java:1035) > at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:280) > at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:279) > at java.awt.Component.processMouseEvent(Component.java:6386) > at javax.swing.JComponent.processMouseEvent(JComponent.java:3268) > at java.awt.Component.processEvent(Component.java:6154) > at java.awt.Container.processEvent(Container.java:2045) > at java.awt.Component.dispatchEventImpl(Component.java:4750) > at java.awt.Container.dispatchEventImpl(Container.java:2103) > at java.awt.Component.dispatchEvent(Component.java:4576) > at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4633) > at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4294) > at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4227) > at > java.awt.Container.dispatchEventImpl(Container.java:2089) > at java.awt.Window.dispatchEventImpl(Window.java:2518) > at java.awt.Component.dispatchEvent(Component.java:4576) > at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:672) > at java.awt.EventQueue.access$400(EventQueue.java:96) > at java.awt.EventQueue$2.run(EventQueue.java:631) > at java.awt.EventQueue$2.run(EventQueue.java:629) > at java.security.AccessController.doPrivileged(Native Method) > at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105) > at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116) > at java.awt.EventQueue$3.run(EventQueue.java:645) > at java.awt.EventQueue$3.run(EventQueue.java:643) > at java.security.AccessController.doPrivileged(Native Method) > at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105) > at > java.awt.EventQueue.dispatchEvent(EventQueue.java:642) > at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275) > at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200) > at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:194) > at java.awt.Dialog$1.run(Dialog.java:1073) > at java.awt.Dialog$3.run(Dialog.java:1127) > at java.security.AccessController.doPrivileged(Native Method) > at java.awt.Dialog.show(Dialog.java:1125) > at java.awt.Component.show(Component.java:1672) > at java.awt.Component.setVisible(Component.java:1624) > at java.awt.Window.setVisible(Window.java:882) > at java.awt.Dialog.setVisible(Dialog.java:1012) > at net.sf.openrocket.gui.configdialog.MotorConfig$3.actionPerformed(MotorConfig.java:176) > at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012) > at > javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335) > at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404) > at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) > at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) > at java.awt.Component.processMouseEvent(Component.java:6389) > at javax.swing.JComponent.processMouseEvent(JComponent.java:3268) > at java.awt.Component.processEvent(Component.java:6154) > at java.awt.Container.processEvent(Container.java:2045) > at java.awt.Component.dispatchEventImpl(Component.java:4750) > at java.awt.Container.dispatchEventImpl(Container.java:2103) > at java.awt.Component.dispatchEvent(Component.java:4576) > at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4633) > at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4297) > at > java.awt.LightweightDispatcher.dispatchEvent(Container.java:4227) > at java.awt.Container.dispatchEventImpl(Container.java:2089) > at java.awt.Window.dispatchEventImpl(Window.java:2518) > at java.awt.Component.dispatchEvent(Component.java:4576) > at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:672) > at java.awt.EventQueue.access$400(EventQueue.java:96) > at java.awt.EventQueue$2.run(EventQueue.java:631) > at java.awt.EventQueue$2.run(EventQueue.java:629) > at java.security.AccessController.doPrivileged(Native Method) > at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105) > at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116) > at java.awt.EventQueue$3.run(EventQueue.java:645) > at java.awt.EventQueue$3.run(EventQueue.java:643) > at java.security.AccessController.doPrivileged(Native Method) > at > java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105) > at java.awt.EventQueue.dispatchEvent(EventQueue.java:642) > at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275) > at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200) > at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190) > at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185) > at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177) > at java.awt.EventDispatchThread.run(EventDispatchThread.java:138) > > > > > -- > Sent from my Android phone with K-9 Mail. Please excuse my brevity. > > > ------------------------------------------------------------------------------ > LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial > Remotely access PCs and mobile devices and provide instant support > Improve your efficiency, and focus on delivering more value-add services > Discover what IT Professionals Know. Rescue delivers > http://p.sf.net/sfu/logmein_12329d2d > > > _______________________________________________ > Openrocket-devel mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/openrocket-devel |