vmm.ode.secondorder3D
Class ChargedParticles

java.lang.Object
  extended by vmm.core.Exhibit
      extended by vmm.core3D.Exhibit3D
          extended by vmm.ode.ODE_3D
              extended by vmm.ode.secondorder3D.ChargedParticles
All Implemented Interfaces:
java.util.EventListener, javax.swing.event.ChangeListener, Decorateable, Parameterizable
Direct Known Subclasses:
ConstantMagneticField, CurrentInStraightWire, MagneticDipole, ToroidalMagneticField, UserMagneticField

public abstract class ChargedParticles
extends ODE_3D


Nested Class Summary
 
Nested classes/interfaces inherited from class vmm.ode.ODE_3D
ODE_3D.ODEView
 
Field Summary
 
Fields inherited from class vmm.ode.ODE_3D
addAnimateCheckBoxontrolPanel, addLinesCheckBoxontrolPanel, addOrbitTypesToControlPanel, anaglyphIsDefault, canShowVectorField, dtDefault, initialDataDefault, inputLabelNames, isAutonomous, ORBIT_TYPE_BOTH, ORBIT_TYPE_EULER, ORBIT_TYPE_RUNGE_KUTTA, showAxes, timeSpanDefault
 
Fields inherited from class vmm.core3D.Exhibit3D
defaultViewpoint, defaultViewUp, previousTransform3D
 
Fields inherited from class vmm.core.Exhibit
decorations, exhibitNeedsRedraw, isMorphing, morphingView, parameters, previousTransform
 
Constructor Summary
ChargedParticles()
           
 
Method Summary
protected abstract  void magneticField(double x, double y, double z, Vector3D answer)
          Store the value of the magnetice field at x,y,z into the prexisting vector answer
protected  MouseTask makeDefaultMouseTask(ODE_3D.ODEView view)
          Should construct and return a mouse task appropriate for this exhibit, to be used in the specified view.
protected  void nextEulerPoint(double[] pointData, double dt)
          Computes the next point on an integral curve, using Euler's method.
protected  void nextRungeKuttaPoint(double[] pointData, double dt)
          Computes the next point on an integral curve, using the Runge-Kutta method.
 
Methods inherited from class vmm.ode.ODE_3D
doDraw, extractPointFromData, getCreateAnimation, getDefaultView, screenPointTo3DPoint, vectorField_x, vectorField_y
 
Methods inherited from class vmm.core3D.Exhibit3D
computeDrawData3D, computeDrawDataHook, doDraw3D, doDrawHook, getDefaultTransform, getDefaultViewpoint, getDefaultViewUp, setDefaultViewpoint, setDefaultViewUp
 
Methods inherited from class vmm.core.Exhibit
addChangeListener, addDecoration, addExtraXML, addParameter, addView, clearDecorations, computeDrawData, fireExhibitChangeEvent, forceRedraw, getActionsForView, getAdditionalAnimationsForView, getAlternativeViews, getBuildAnimation, getDecorations, getDefaultBackground, getDefaultForeground, getDefaultWindow, getFramesForMorphing, getMorphingAnimation, getName, getParameterByName, getParameters, getSettingsCommandsForView, getTitle, getUseFilmstripForMorphing, getViews, parameterChanged, readExtraXML, removeChangeListener, removeDecoration, removeParameter, removeView, render, setDefaultBackground, setDefaultForeground, setDefaultWindow, setDefaultWindow, setFramesForMorphing, setName, setUseFilmstripForMorphing, stateChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ChargedParticles

public ChargedParticles()
Method Detail

nextEulerPoint

protected void nextEulerPoint(double[] pointData,
                              double dt)
Description copied from class: ODE_3D
Computes the next point on an integral curve, using Euler's method. The pointData parameter array contains the data for the current point. This data should be replaced with the data for the next point. The size of the array and the meaning of the data that it contains will vary from one subclass to another. However, for non-autonomous ODEs, the time should always be the first parameter in the array. The second parameter, dt, gives the time step from the current point to the next point.

Specified by:
nextEulerPoint in class ODE_3D

nextRungeKuttaPoint

protected void nextRungeKuttaPoint(double[] pointData,
                                   double dt)
Description copied from class: ODE_3D
Computes the next point on an integral curve, using the Runge-Kutta method. The pointData parameter array contains the data for the current point. This data should be replaced with the data for the next point. The size of the array and the meaning of the data that it contains will vary from one subclass to another. But for the non-autonmous case, the time should always be the first value in the array. The second parameter, dt, gives the time step from the current point to the next point.

Specified by:
nextRungeKuttaPoint in class ODE_3D

magneticField

protected abstract void magneticField(double x,
                                      double y,
                                      double z,
                                      Vector3D answer)
Store the value of the magnetice field at x,y,z into the prexisting vector answer


makeDefaultMouseTask

protected MouseTask makeDefaultMouseTask(ODE_3D.ODEView view)
Description copied from class: ODE_3D
Should construct and return a mouse task appropriate for this exhibit, to be used in the specified view. The default return value is a standard BasicMouseTask3D; subclasses can redefine this to add the ability to input the initial conditions with the mouse.

Overrides:
makeDefaultMouseTask in class ODE_3D