# Serialized Form

## Package <Unnamed>

### Class AnimatedGraph

class AnimatedGraph extends GenericGraphApplet implements Serializable

#### Serialized Fields

##### animator

    Animator animator

##### func

    Function func

##### graph

    Graph1D graph

##### kIntervals

    VariableInput kIntervals

##### kMax

    VariableInput kMax

##### kMin

    VariableInput kMin

##### kVar

    Variable kVar

### Class Derivatives

class Derivatives extends GenericGraphApplet implements Serializable

#### Serialized Fields

##### deriv

    Function deriv

##### deriv2

    Function deriv2

##### derivExpression

    Expression derivExpression

##### func

    Function func

##### functionName

    String functionName

##### subController

    Controller subController

##### xInput

    VariableInput xInput

### Class EpsilonDelta

class EpsilonDelta extends GenericGraphApplet implements Serializable

#### Serialized Fields

##### deltaInput

    VariableInput deltaInput

##### deltaSlider

    VariableSlider deltaSlider

##### epsilonInput

    VariableInput epsilonInput

##### epsilonSlider

    VariableSlider epsilonSlider

##### func

    Function func

##### graph

    Graph1D graph

##### limitInput

    VariableInput limitInput

##### limitSlider

    VariableSlider limitSlider

##### limitValue

    Variable limitValue

##### subController

    Controller subController

##### xInput

    VariableInput xInput

##### xSlider

    VariableSlider xSlider

##### xValue

    Variable xValue

### Class Evaluator

class Evaluator extends Applet implements Serializable

#### Serialized Fields

##### colorNames

    String[] colorNames

##### colors

    Color[] colors

##### frame

    Frame frame

##### frameTitle

    String frameTitle

##### launchButton

    Button launchButton

##### launchButtonName

    String launchButtonName

### Class FamiliesOfGraphs

class FamiliesOfGraphs extends GenericGraphApplet implements Serializable

#### Serialized Fields

##### func

    Function func

##### graph

    Graph1D graph

##### sliders

    Vector sliders

### Class FunctionComposition

class FunctionComposition extends GenericGraphApplet implements Serializable

#### Serialized Fields

##### equalizeButton

    Button equalizeButton

##### fCheck

    Checkbox fCheck

##### fComputeButton

    Button fComputeButton

##### fFunc

    Function fFunc

##### fGraph

    Graph1D fGraph

##### fInput

    ExpressionInput fInput

##### fSaveText

    String fSaveText

##### fTable

    TableFunction fTable

##### fTableGraph

    TableFunctionGraph fTableGraph

##### fTableShown

    boolean fTableShown

##### fWrapper

    WrapperFunction fWrapper

##### gCheck

    Checkbox gCheck

##### gComputeButton

    Button gComputeButton

##### gFunc

    Function gFunc

##### gGraph

    Graph1D gGraph

##### gInput

    ExpressionInput gInput

##### gSaveText

    String gSaveText

##### gTable

    TableFunction gTable

##### gTableGraph

    TableFunctionGraph gTableGraph

##### gTableShown

    boolean gTableShown

##### gWrapper

    WrapperFunction gWrapper

##### pointX

    Variable pointX

##### restoreButton

    Button restoreButton

##### zoomInButton

    Button zoomInButton

##### zoomOutButton

    Button zoomOutButton

### Class GenericGraphApplet

class GenericGraphApplet extends Applet implements Serializable

#### Serialized Fields

##### canvas

    DisplayCanvas canvas

The canvas for displaying axes, graphs, etc.

##### colorNames

    String[] colorNames

##### colors

    Color[] colors

##### computeButton

    Button computeButton

A button that the user presses to recompute the display. (Ths user can also just press return in one of the input boxes.)

##### defaultFrameSize

    int[] defaultFrameSize

The default size for the frame when the applet runs a launch button. Can be overidden by the FrameSize applet param.

##### exampleMenu

    Choice exampleMenu

##### exampleMenuPanel

    JCMPanel exampleMenuPanel

A panel containing examples specified in applet parameters, if any. It appears at the top of the main panel.

##### exampleStrings

    Vector exampleStrings

##### frame

    Frame frame

##### frameTitle

    String frameTitle

The string that is used as the title of the frame, if the applet appears as a launch button. This title is also used on the launch button, unless the applet parameter "LaunchButtonName" has a value. This is set in the init() method.

##### functionInput

    ExpressionInput functionInput

An input box for inputting an expression.

##### inputPanel

    JCMPanel inputPanel

A panel containing the functionInput. It appears at the bottom of the main panel.

##### launchButton

    Button launchButton

##### launchButtonName

    String launchButtonName

##### limitsPanel

    LimitControlPanel limitsPanel

Controls the limits of the x- and y-coordinates on the canvas.

##### loadExampleButton

    Button loadExampleButton

##### mainController

    Controller mainController

The Controller from the mainPanel.

##### mainPanel

    JCMPanel mainPanel

The main panel of the applet, containing a display canvas and other components.

##### parameterDefaults

    Hashtable parameterDefaults

A hash table that, if non-null, can hold values for applet params. While this is not set to a non-null value in this class, its value can be set in the setUpAppletDefaults() method. The values in this hash table will be returned by the getParameter() method when no value is provided in the applet. For example, this class uses a default value of "s" vor the the param "Variable". A subclass could put a different value in the parameterDefaults hash table, and this value will be used in preference to "x".

##### parser

    Parser parser

The parser which is used for parsing input from the functionInput box.

##### xVar

    Variable xVar

The variable that is created and added to the parser. The default name of this variable is "x", but that can be changed using the "Variable" applet param. The variable is created in the setUpParser() method.

### Class IntegralCurves

class IntegralCurves extends GenericGraphApplet implements Serializable

#### Serialized Fields

##### animator

    Animator animator

##### clearButton

    Button clearButton

##### curveColor

    Color curveColor

##### curveDrawer

    IntegralCurves.Draw curveDrawer

##### curves

    Vector curves

##### deltaT

    VariableInput deltaT

##### dt

    double dt

##### field

    VectorField field

##### functionInput2

    ExpressionInput functionInput2

##### methodChoice

    Choice methodChoice

##### nextPoint

    double[] nextPoint

##### params

    double[] params

##### startCurveButton

    Button startCurveButton

##### xFunc

    Function xFunc

##### xStart

    VariableInput xStart

##### yFunc

    Function yFunc

##### yStart

    VariableInput yStart

##### yVar

    Variable yVar

### Class MultiGraph

class MultiGraph extends GenericGraphApplet implements Serializable

#### Serialized Fields

##### functionCt

    int functionCt

##### graphColors

    Color[] graphColors

##### graphs

    Graph1D[] graphs

##### inputs

    MultiGraph.ExprIn[] inputs

##### sliders

    Vector sliders

### Class Parametric

class Parametric extends GenericGraphApplet implements Serializable

#### Serialized Fields

##### crosshair

    Crosshair crosshair

##### functionInput2

    ExpressionInput functionInput2

##### graph

    ParametricCurve graph

##### tIntervals

    VariableInput tIntervals

##### tMax

    VariableInput tMax

##### tMin

    VariableInput tMin

##### tracer

    Animator tracer

##### xFunc

    Function xFunc

##### yFunc

    Function yFunc

### Class RiemannSums

class RiemannSums extends GenericGraphApplet implements Serializable

#### Serialized Fields

##### func

    Function func

##### graph

    Graph1D graph

##### intCtInput

    VariableInput intCtInput

##### intervals

    Variable intervals

##### methodChoice

    Choice methodChoice

##### sums

    RiemannSumRects sums

### Class ScatterPlotApplet

class ScatterPlotApplet extends Applet implements Serializable

#### Serialized Fields

##### canvas

    DisplayCanvas canvas

##### fileMenu

    Choice fileMenu

##### fileNames

    String[] fileNames

##### frame

    Frame frame

##### frameTitle

    String frameTitle

##### launchButton

    Button launchButton

##### launchButtonName

    String launchButtonName

##### loadFileButton

    Button loadFileButton

##### mainController

    Controller mainController

##### scatterPlot

    ScatterPlot scatterPlot

##### table

    DataTableInput table

### Class SecantTangent

class SecantTangent extends GenericGraphApplet implements Serializable

#### Serialized Fields

##### func

    Function func

##### x1Input

    VariableInput x1Input

##### x2Input

    VariableInput x2Input

### Class SimpleGraph

class SimpleGraph extends GenericGraphApplet implements Serializable

#### Serialized Fields

##### func

    Function func

##### graph

    Graph1D graph

##### hLine

    DrawGeometric hLine

##### point

    DrawGeometric point

##### vLine

    DrawGeometric vLine

##### xInput

    VariableInput xInput

## Package edu.hws.jcm.awt

### Class edu.hws.jcm.awt.Animator

class Animator extends Panel implements Serializable

#### Serialized Fields

##### frame

    int frame

##### intervals

    Value intervals

##### intervals_val

    int intervals_val

##### loopChoice

    Choice loopChoice

##### loopStyle

    int loopStyle

##### max

    Value max

##### max_val

    double max_val

##### maxFrame

    int maxFrame

##### millisPerFrame

    int millisPerFrame

##### min

    Value min

##### min_val

    double min_val

##### needsValueCheck

    boolean needsValueCheck

##### nextButton

    Button nextButton

##### onChange

    Computable onChange

##### orientation

    int orientation

##### pauseButton

    Button pauseButton

##### prevButton

    Button prevButton

##### runner

    Thread runner

##### runningBackwards

    boolean runningBackwards

##### serialNumber

    long serialNumber

##### speedChoice

    Choice speedChoice

##### startButton

    Button startButton

##### startButtonName

    String startButtonName

##### startStopButton

    Button startStopButton

##### status

    int status

##### stopButton

    Button stopButton

##### stopButtonName

    String stopButtonName

##### undefinedWhenNotRunning

    boolean undefinedWhenNotRunning

##### value

    double value

### Class edu.hws.jcm.awt.ComputeButton

class ComputeButton extends Button implements Serializable

#### Serialized Fields

##### onUserAction

    Controller onUserAction

### Class edu.hws.jcm.awt.Controller

class Controller extends Object implements Serializable

#### Serialized Fields

##### computables

    Vector computables

Computable objects controlled by this controller. Note that Controllers are Computables, so this list can include sub-controllers.

##### errorMessage

    String errorMessage

If non-null, this is an error message that has been reported and not yet cleared.

##### errorReporter

    ErrorReporter errorReporter

Used for reporting errors that occur in the compute() method of this controller. If the errorReporter is null and if this controller has a parent, then the parent will report the error. If no ancestor has an errorReporter, the error message is written to standard output.

##### inputs

    Vector inputs

InputObjects controlled by this controller. Note that Controllers are InputObjects, so this list can include sub-controllers.

##### parent

    Controller parent

The parent of this controller, if any. This is set automatically when one controller is added to another.

##### ties

    Vector ties

Ties that have been added to this controller.

### Class edu.hws.jcm.awt.DataTableInput

class DataTableInput extends Panel implements Serializable

#### Serialized Fields

##### autoAddRows

    boolean autoAddRows

##### blankBackground

    Color blankBackground

##### canvas

    edu.hws.jcm.awt.DataTableInput.DisplayPanel canvas

##### cellBackground

    Color cellBackground

##### columnCount

    int columnCount

##### columnName

    String[] columnName

##### currentRow

    int currentRow

##### emptyCellValue

    double emptyCellValue

##### gridColor

    Color gridColor

##### labelBackground

    Color labelBackground

##### objectName

    String objectName

##### rows

    Vector rows

##### rowStrings

    Vector rowStrings

##### serialNumber

    long serialNumber

##### showColumnTitles

    boolean showColumnTitles

##### showRowNumbers

    boolean showRowNumbers

##### throwErrors

    boolean throwErrors

### Class edu.hws.jcm.awt.DisplayLabel

class DisplayLabel extends Label implements Serializable

#### Serialized Fields

##### numSize

    int numSize

Desired maximum number of characters in displayed numbers.

##### text

    String text

Unsubstituted text for display.

##### values

    Value[] values

Value objects whose values will be substituted for #'s in text.

### Class edu.hws.jcm.awt.ExpressionInput

class ExpressionInput extends TextField implements Serializable

#### Serialized Fields

##### errorMessage

    String errorMessage

Error message from the most recent time the input was checked by a call to checkInput(). If this is null, then no error occurred.

##### expr

    ExpressionInput.EI expr

The Expression associate with this input box. Class EI is a private nested class.

##### onTextChange

    Controller onTextChange

##### onUserAction

    Controller onUserAction

##### parser

    Parser parser

A parser for parsing the user's input expression. If this is null, a default parser will be used and only constant expressions will be allowed.

##### previousContents

    String previousContents

##### serialNumber

    long serialNumber

##### throwErrors

    boolean throwErrors

True if an error should be thrown when checkInput() is called, but the content of the box is not a legal expression. Otherwise, the expression will become a constant expression with value Double.NaN.

### Class edu.hws.jcm.awt.ExpressionInput.EI

class EI extends Object implements Serializable

#### Serialized Fields

##### derivativeOf

    ExpressionInput.EI derivativeOf

This is null for the original expression input by the user. If this EI was formed by taking the derivative of anotehr EI, that EI is stored here.

##### exp

    ExpressionProgram exp

The actual expression, or null if the expression is undefined. If this is a derivative of another EI, this will be recomputed as necessary when the expression is used in some way.

##### serialNumber

    int serialNumber

For the original expression input by the user, this goes up by one each time checkInput() is called and finds a change in the user's input. For derivative EI, this is the serial number of "derivativeOf" at the time this derivative expression was last computed.

##### wrt

    Variable wrt

Which Variable is this a derivative with respect to? If derivativeOf is null, so is wrt.

### Exception Class edu.hws.jcm.awt.JCMError

class JCMError extends RuntimeException implements Serializable

#### Serialized Fields

##### object

    Object object

Object, possibly null, associated with this error.

### Class edu.hws.jcm.awt.JCMPanel

class JCMPanel extends Panel implements Serializable

#### Serialized Fields

##### controller

    Controller controller

##### insetGap

    int insetGap

### Class edu.hws.jcm.awt.VariableInput

class VariableInput extends TextField implements Serializable

#### Serialized Fields

##### errorMessage

    String errorMessage

Error message from the most recent time checkInput() as called. Null if there was no error.

##### inputStyle

    int inputStyle

One of the constant values EXPRESSION, REAL, or INTEGER, specifying the style of input.

##### maxValue

    double maxValue

Largest allowable value.

##### minValue

    double minValue

Smallest allowable value.

##### onTextChange

    Controller onTextChange

##### onUserAction

    Controller onUserAction

##### previousContents

    String previousContents

This is set to true if the text in the box has been changed since the last time the value of the variable was checked by checkInput().

##### serialNumber

    long serialNumber

This serial number is increased each time the value of the variable changes.

##### throwErrors

    boolean throwErrors

True if an error should be thrown when checkInput() is calles and the contents do not define a legal number. True by default.

##### variable

    edu.hws.jcm.awt.VariableInput.VI variable

The Variable that represents the value of this input box. (VI is a private nested class inside VariableInput.)

### Class edu.hws.jcm.awt.VariableSlider

class VariableSlider extends Scrollbar implements Serializable

#### Serialized Fields

##### integerValued

    boolean integerValued

If this is true, then the value of the variable associated with this slider is an integer. Furthermore, the number of intervals on the slider is set to be the same as the range of possible values (unless this range is too big).

##### intervals

    int intervals

The number of possible value of the scrollbar (Unless integerValued is true.)

##### max

    Value max

The Values that specify the range of values represented by the slider. min does not have to be less than max.

##### maxVal

    double maxVal

The values found for min and max the last time checkInput() was called.

##### min

    Value min

The Values that specify the range of values represented by the slider. min does not have to be less than max.

##### minVal

    double minVal

The values found for min and max the last time checkInput() was called.

##### needsValueCheck

    boolean needsValueCheck

This is set to true when checkInput() is called to indicate that the min and max values must be checked the next time getVal() is called.

##### oldPosition

    int oldPosition

This is the position of the scrollbar the last time getVal() or setVal() was called. It is used to check whether the user has repositioned the slider.

##### onUserAction

    Controller onUserAction

##### serialNumber

    long serialNumber

This increases every time the value of the variable changes.

##### variable

    edu.hws.jcm.awt.VariableSlider.VS variable

The variable associated with this VariableSlider. VS is a nested private class, defined below.

## Package edu.hws.jcm.data

### Class edu.hws.jcm.data.ConditionalExpression

class ConditionalExpression extends Object implements Serializable

#### Serialized Fields

##### falseCase

    ExpressionProgram falseCase

##### trueCase

    ExpressionProgram trueCase

### Class edu.hws.jcm.data.Constant

class Constant extends Object implements Serializable

#### Serialized Fields

##### name

    String name

##### value

    double value

The value of this Constant.

### Class edu.hws.jcm.data.ExpressionProgram

class ExpressionProgram extends Object implements Serializable

#### Serialized Fields

##### cases

    Cases cases

##### command

    ExpressionCommand[] command

##### commandCt

    int commandCt

##### constant

    double[] constant

##### constantCt

    int constantCt

##### prog

    int[] prog

##### progCt

    int progCt

##### sourceString

    String sourceString

If this is non-null, it is used as the print string for this expression in the toString() method. (When an expression is created by a Parser by parsing a string, the parse stores that string in this variable.)

##### stack

    StackOfDouble stack

### Exception Class edu.hws.jcm.data.ParseError

class ParseError extends RuntimeException implements Serializable

#### Serialized Fields

##### context

    ParserContext context

The parsing context that was in effect at the time the error occurred. This includes the string that was being processed and the position in the string where the error occured. These values are context.data and context.pos.

### Class edu.hws.jcm.data.Parser

class Parser extends Object implements Serializable

#### Serialized Fields

##### options

    int options

The set of options that have been enabled for this parser.

##### symbols

    SymbolTable symbols

The symbol table that contains the MathObjects that have been registered with this parser.

### Class edu.hws.jcm.data.ParserContext

class ParserContext extends Object implements Serializable

#### Serialized Fields

##### data

    String data

The string that is being parsed.

##### options

    int options

The options from the Parser. Some of these options affect tokenization, such as whether BOOLEANS is enabled.

##### pos

    int pos

Current position in that string, indicating how many characters have been consumed.

##### prog

    ExpressionProgram prog

The ExpressionProgram that is being generated as the string is parsed. Note that while parsing a ConditionalExpression, the value of prog is temporarily changed. ParserExtensions might want to do something similar.

##### symbols

    SymbolTable symbols

The Parser's symbol table, which is used for looking up tokens of type IDENTIFIER.

##### tokBuf

    StringBuffer tokBuf

##### token

    int token

The most recently read token type, or NONE if that token has been consumed by a call to next(). The value NONE is never returned by look() or next().

##### tokenObject

    MathObject tokenObject

If the most recently read token was of type IDENTIFIER, then this is the corresponding MathObject from the symbol table, or null if the identifier is not in the symbol table.

##### tokenString

    String tokenString

The substring of the parse string that corresponds to the most recently read token. This can change when look() or next() is called.

##### tokenValue

    double tokenValue

If the most recently read token was of type NUMBER, then this is its numerical value.

### Class edu.hws.jcm.data.SimpleFunction

class SimpleFunction extends Object implements Serializable

#### Serialized Fields

##### e

    Expression e

##### name

    String name

##### save

    double[] save

##### v

    Variable[] v

### Class edu.hws.jcm.data.StackOfDouble

class StackOfDouble extends Object implements Serializable

#### Serialized Fields

##### data

    double[] data

##### top

    int top

### Class edu.hws.jcm.data.StandardFunction

class StandardFunction extends Object implements Serializable

#### Serialized Fields

##### code

    int code

##### name

    String name

### Class edu.hws.jcm.data.SymbolTable

class SymbolTable extends Object implements Serializable

#### Serialized Fields

##### parent

    SymbolTable parent

##### symbols

    Hashtable symbols

### Class edu.hws.jcm.data.ValueMath

class ValueMath extends Object implements Serializable

#### Serialized Fields

##### f

    Function f

##### op

    char op

##### param

    double[] param

##### x

    Value x

##### y

    Value y

### Class edu.hws.jcm.data.Variable

class Variable extends Constant implements Serializable

## Package edu.hws.jcm.draw

### Class edu.hws.jcm.draw.Axes

class Axes extends Drawable implements Serializable

#### Serialized Fields

##### axesColor

    Color axesColor

##### labelColor

    Color labelColor

##### lightAxesColor

    Color lightAxesColor

##### xAxisPosition

    int xAxisPosition

##### xLabel

    String xLabel

##### yAxisPosition

    int yAxisPosition

##### yLabel

    String yLabel

### Class edu.hws.jcm.draw.CoordinateRect

class CoordinateRect extends Object implements Serializable

#### Serialized Fields

##### canvas

    DisplayCanvas canvas

##### changed

    boolean changed

Set to true when one of the limits or the gap has changed.

##### drawItems

    Vector drawItems

Drawable items contained in this CoordinateRect

##### gap

    int gap

##### height

    int height

##### left

    int left

##### onChange

    Controller onChange

If non-null, this is the Controller that is notified when the limits change.

##### restore_xmax

    double restore_xmax

##### restore_xmin

    double restore_xmin

##### restore_ymax

    double restore_ymax

##### restore_ymin

    double restore_ymin

##### serialNumber

    long serialNumber

##### syncWith

    Tie syncWith

This contains other Limit objects with which the CoordinateRect is synchronizing. This is ordinarily managed by a LimitControlPanel, so you don't have to worry about it. (However, you can also sync several CoordinateRects even in the absense of a LimitControlPanel. To do so, create the Tie that ties the CoordinateRect and pass it to the setSyncWith() method of each CoordinateRect. It is NOT necessary to add the Tie to a Controller. Synchronization is handled by the CoordinateRects themselves.

##### top

    int top

##### width

    int width

##### xmax

    double xmax

##### xmin

    double xmin

##### ymax

    double ymax

##### ymin

    double ymin

### Class edu.hws.jcm.draw.Crosshair

class Crosshair extends DrawGeometric implements Serializable

### Class edu.hws.jcm.draw.DisplayCanvas

class DisplayCanvas extends Canvas implements Serializable

#### Serialized Fields

##### coordinateRects

    Vector coordinateRects

##### dragged

    Draggable dragged

##### errorBackground

    Color errorBackground

##### errorForeground

    Color errorForeground

##### errorMessage

    String errorMessage

##### errorSource

    Controller errorSource

##### handleMouseZooms

    boolean handleMouseZooms

##### useOffscreenCanvas

    boolean useOffscreenCanvas

### Class edu.hws.jcm.draw.DraggablePoint

class DraggablePoint extends Drawable implements Serializable

#### Serialized Fields

##### clampX

    Value clampX

##### clampY

    Value clampY

##### color

    Color color

##### dragging

    boolean dragging

##### ghostColor

    Color ghostColor

##### onUserAction

    Controller onUserAction

##### radius

    int radius

##### style

    int style

##### useGhost

    boolean useGhost

##### xLoc

    double xLoc

##### xPosition

    int xPosition

##### xVar

    edu.hws.jcm.draw.DraggablePoint.DPV xVar

##### yLoc

    double yLoc

##### yPosition

    int yPosition

##### yVar

    edu.hws.jcm.draw.DraggablePoint.DPV yVar

### Class edu.hws.jcm.draw.Drawable

class Drawable extends Object implements Serializable

#### Serialized Fields

##### canvas

    DisplayCanvas canvas

The canvas on which this Drawable is drawn. This is set automatically when the Drawable is added to a CoordinateRect and it should not be changed. (It will be changed automatically if the Drawable is removed from the CoordinateRect.)

##### coords

    CoordinateRect coords

The CoordinateRect for the rectagular area where this Drawable is drawn. This is set automatically when the Drawable is added to a CoordingteRect and should not be changed. (It will be changed automatically if the Drawable is removed from the CoordinateRect.)

##### visible

    boolean visible

### Class edu.hws.jcm.draw.DrawBorder

class DrawBorder extends Drawable implements Serializable

#### Serialized Fields

##### color

    Color color

A non-null Color, giving the color of the bortder.

##### width

    int width

A non-negative integer giving the width of the border in pixels.

### Class edu.hws.jcm.draw.DrawGeometric

class DrawGeometric extends Drawable implements Serializable

#### Serialized Fields

##### a

    double a

Value of x1. This is re-computed when the compute() method is called.

##### b

    double b

Value of y1. This is re-computed when the compute() method is called.

##### c

    double c

Value of x2. This is re-computed when the compute() method is called.

##### changed

    boolean changed

##### color

    Color color

Color of the shappe. Color will be black if this is null. For shapes that have "insides", such as rects, this is the color of the outline.

##### d

    double d

Value of y2. This is re-computed when the compute() method is called.

##### fillColor

    Color fillColor

Rects and ovals are filled with this color, if it is non-null. If this is null, only the outline of the shape is drawn.

##### h

    int h

Integer that gives horizontal pixel offset from x1. This is only used if x2 is null.

##### lineWidth

    int lineWidth

The width, in pixels, of lines, including the outlines of rects and ovals. It is restricted to being an integer in the range from 0 to 10. A value of 0 means that lines won't be drawn at all; this would only be useful for a filled shape that has a colored interior.

##### shape

    int shape

One of the constants such as OVAL_CENTERED, specifying the shape to be drawn

##### v

    int v

Integer that gives vertical pixel offset fromy1. This is only used if y2 is null.

##### x1

    Value x1

One of the Value objects that determine the shape that is drawn. The shape is specified by two points, (x1,y1) and (x2,y2). x1 must be non-null.

##### x2

    Value x2

One of the Value objects that determine the shape that is drawn. The shape is specified by two points, (x1,y1) and (x2,y2). x2 must be non-null for the "ABSOLUTE" shapes. (If not, they revert to "RELATIVE" shapes and use h,v as the offset values.)

##### y1

    Value y1

One of the Value objects that determine the shape that is drawn. The shape is specified by two points, (x1,y1) and (x2,y2). y1 must be non-null.

##### y2

    Value y2

One of the Value objects that determine the shape that is drawn. The shape is specified by two points, (x1,y1) and (x2,y2). y2 must be non-null for the "ABSOLUTE" shapes. (If not, they revert to "RELATIVE" shapes and use h,v as the offset values.)

### Class edu.hws.jcm.draw.DrawString

class DrawString extends Drawable implements Serializable

#### Serialized Fields

##### backgroundColor

    Color backgroundColor

If backgroundColor is non-null, then a rectangle of this color is filled as a background for the string;

##### baseString

    String baseString

String, possibly with \n and #'s. This is used as a base to get the actual string that is drawn.

##### changed

    boolean changed

##### clamp

    boolean clamp

If true, the string is clamped to lie within the CoordinateRect.

##### color

    Color color

Color of string. If null, black is used as the default.

##### font

    Font font

Font for drawing string. If null, get font from graphics context.

##### frameColor

    Color frameColor

If frameWidth is greate than zero, then a frame is drawn around the string in this color. If the value is null, then the color will be the same as the color of the string.

##### frameWidth

    int frameWidth

If frameWidth is greater than zero, then a frame of this width is drawn around the string in the color given by frameColor.

##### justification

    int justification

Left, right, or center justification of lines in the text.

##### numSize

    int numSize

Maximum number of characters desired in numbers; actual number might actually be larger.

##### offset

    int offset

If absolute positioning is used, then this gives a gap between the string and edge of rect. For relative positioning, this gives an offset from the value of xPos yPos.

##### position

    int position

one of the constants defined in this class for specifying position

##### strings

    String[] strings

The actual lines to draw, derived from baseString.

##### values

    Value[] values

Values to be substituted for #'s in the baseString.

##### xPos

    Value xPos

xy-coords for drawing the string. If non-null then relative positioning is used. If null, then positioning is absolute.

##### xRef

    double xRef

##### yPos

    Value yPos

xy-coords for drawing the string. If non-null then relative positioning is used. If null, then positioning is absolute.

##### yRef

    double yRef

### Class edu.hws.jcm.draw.Graph1D

class Graph1D extends Drawable implements Serializable

#### Serialized Fields

##### absoluteYmax

    double absoluteYmax

##### absoluteYmin

    double absoluteYmin

##### case1

    Cases case1

##### case2

    Cases case2

##### changed

    boolean changed

##### func

    Function func

##### graphColor

    Color graphColor

##### onscreenymax

    double onscreenymax

##### onscreenymin

    double onscreenymin

##### v

    double[] v

### Class edu.hws.jcm.draw.Grid

class Grid extends Drawable implements Serializable

#### Serialized Fields

##### gcol

    Color gcol

##### PIX_MAX

    int PIX_MAX

##### PIX_MIN

    int PIX_MIN

##### xsp

    double xsp

##### ysp

    double ysp

### Class edu.hws.jcm.draw.LimitControlPanel

class LimitControlPanel extends Panel implements Serializable

#### Serialized Fields

##### buttons

    int buttons

Set of installed buttons.

##### coords

    CoordinateRect coords

The first CoordinateRect tied to this LimitControlPanel.

##### errorReporter

    ErrorReporter errorReporter

For reporting errors in user input.

##### items

    Vector items

Vector of components and component pairs that have been added to this panel, including at least the xmin, xmax, ymin, ymax input boxes.

##### serialNumber

    long serialNumber

This is increased when the user changes the limits. (The -1 will make this LimitControlPanel get its limits from the first CoordinateRect that is added to it.) This variable is used to implement syncronization of limits with the limits on CoordinateRects.

##### syncWith

    Tie syncWith

A Tie holding this panel and the CoordinateRects that it controls.

##### twoColumn

    boolean twoColumn

Use two columns for display, if possible.

##### xmax

    VariableInput xmax

The input boxes for the x- and y-value ranges.

##### xmin

    VariableInput xmin

The input boxes for the x- and y-value ranges.

##### ymax

    VariableInput ymax

The input boxes for the x- and y-value ranges.

##### ymin

    VariableInput ymin

The input boxes for the x- and y-value ranges.

### Class edu.hws.jcm.draw.MouseTracker

class MouseTracker extends Drawable implements Serializable

#### Serialized Fields

##### clampX

    boolean clampX

If thie is true, then the value of the variable associated with the x-ccordinate of the mouse is clamped to lie within the xmin and xmax of the coordinate rect.

##### clampY

    boolean clampY

If thie is true, then the value of the variable associated with the y-ccordinate of the mouse is clamped to lie within the ymin and ymax of the coordinate rect.

##### inRect

    boolean inRect

##### listenForDrags

    boolean listenForDrags

If true, the MouseTracker responds to both clicks and drags. If false, it responds only to clicks.

##### onUserAction

    Controller onUserAction

If this is non-null, then its compute() method is called when the user clicks the mouse and, if listenForDrags is also true, when the user drags and releases the mouse.

##### undefinedWhenNotDragging

    boolean undefinedWhenNotDragging

If true, the values of the associated variables are undefined except during the time that the user is clicking and dragging the mouse. This is ignored if listenForDrags is false.

##### xClick

    int xClick

##### xVar

    edu.hws.jcm.draw.MouseTracker.MTVariable xVar

##### yClick

    int yClick

##### yVar

    edu.hws.jcm.draw.MouseTracker.MTVariable yVar

### Class edu.hws.jcm.draw.Panner

class Panner extends Drawable implements Serializable

#### Serialized Fields

##### dragging

    boolean dragging

##### modifiers

    int modifiers

##### onFinishDrag

    Controller onFinishDrag

##### onUserAction

    Controller onUserAction

##### prevX

    int prevX

##### prevY

    int prevY

### Class edu.hws.jcm.draw.ParametricCurve

class ParametricCurve extends Drawable implements Serializable

#### Serialized Fields

##### case1x

    Cases case1x

##### case1y

    Cases case1y

##### case2x

    Cases case2x

##### case2y

    Cases case2y

##### case3x

    Cases case3x

##### case3y

    Cases case3y

##### changed

    boolean changed

##### graphColor

    Color graphColor

##### intervals

    Value intervals

##### intervals_val

    int intervals_val

##### points

    Vector points

##### tmax

    Value tmax

##### tmax_val

    double tmax_val

##### tmin

    Value tmin

##### tmin_val

    double tmin_val

##### v

    double[] v

##### xFunc

    Function xFunc

##### yFunc

    Function yFunc

### Class edu.hws.jcm.draw.RiemannSumRects

class RiemannSumRects extends Drawable implements Serializable

#### Serialized Fields

##### changed

    boolean changed

##### color

    Color color

##### deriv

    Function deriv

##### endpointVals

    double[] endpointVals

##### func

    Function func

##### intervalCount

    Value intervalCount

##### maxVals

    double[] maxVals

##### method

    int method

##### midpointVals

    double[] midpointVals

##### minVals

    double[] minVals

##### outlineColor

    Color outlineColor

##### param

    double[] param

##### rectHeights

    double[] rectHeights

##### sum

    double[] sum

### Class edu.hws.jcm.draw.ScatterPlot

class ScatterPlot extends Drawable implements Serializable

#### Serialized Fields

##### autoChangeLimits

    boolean autoChangeLimits

##### column1

    int column1

##### column2

    int column2

##### correlation

    double correlation

##### data

    double[][] data

##### dataColor

    Color dataColor

##### dataCt

    int dataCt

##### exp1

    Expression exp1

##### exp2

    Expression exp2

##### intercept

    double intercept

##### lastTableSN

    long lastTableSN

##### lineColor

    Color lineColor

##### missingCt

    int missingCt

##### missingValueIsError

    boolean missingValueIsError

##### showRegressionLine

    boolean showRegressionLine

##### slope

    double slope

##### standardError

    double standardError

##### table

    DataTableInput table

### Class edu.hws.jcm.draw.TangentLine

class TangentLine extends DrawGeometric implements Serializable

### Class edu.hws.jcm.draw.VectorField

class VectorField extends Drawable implements Serializable

#### Serialized Fields

##### changed

    boolean changed

##### graphColor

    Color graphColor

##### pixelSpacing

    int pixelSpacing

##### style

    int style

##### xFunc

    Function xFunc

##### yFunc

    Function yFunc

## Package edu.hws.jcm.functions

### Class edu.hws.jcm.functions.ExpressionFunction

class ExpressionFunction extends FunctionParserExtension implements Serializable

#### Serialized Fields

##### definition

    Expression definition

##### params

    Variable[] params

### Class edu.hws.jcm.functions.FunctionParserExtension

class FunctionParserExtension extends Object implements Serializable

#### Serialized Fields

##### name

    String name

The name of this MathObject, possibly null.

##### parensCanBeOptional

    boolean parensCanBeOptional

### Class edu.hws.jcm.functions.SummationParser

class SummationParser extends Object implements Serializable

#### Serialized Fields

##### name

    String name

### Class edu.hws.jcm.functions.TableFunction

class TableFunction extends FunctionParserExtension implements Serializable

#### Serialized Fields

##### pointCt

    int pointCt

##### segments

    edu.hws.jcm.functions.CubicSegment[] segments

##### style

    int style

##### xCoords

    double[] xCoords

##### yCoords

    double[] yCoords

### Class edu.hws.jcm.functions.TableFunctionGraph

class TableFunctionGraph extends Drawable implements Serializable

#### Serialized Fields

##### color

    Color color

##### dragPoint

    int dragPoint

##### function

    TableFunction function

##### interactive

    boolean interactive

##### moved

    boolean moved

##### onDrag

    Computable onDrag

##### onFinishDrag

    Computable onFinishDrag

##### prevY

    int prevY

##### showPoints

    boolean showPoints

##### startX

    int startX

##### startY

    int startY

### Class edu.hws.jcm.functions.TableFunctionInput

class TableFunctionInput extends Panel implements Serializable

#### Serialized Fields

##### addButton

    Button addButton

##### canvas

    DisplayCanvas canvas

##### clearButton

    Button clearButton

##### deleteButton

    Button deleteButton

##### dragPoint

    int dragPoint

##### editFunction

    TableFunction editFunction

##### function

    TableFunction function

##### moved

    boolean moved

##### onChange

    Controller onChange

##### pointList

    List pointList

##### prevY

    int prevY

##### startX

    int startX

##### startY

    int startY

##### styleCheckbox

    Checkbox[] styleCheckbox

##### styleGroup

    CheckboxGroup styleGroup

##### xInput

    VariableInput xInput

##### yInput

    VariableInput yInput

### Class edu.hws.jcm.functions.WrapperFunction

class WrapperFunction extends FunctionParserExtension implements Serializable

#### Serialized Fields

##### derivativeIndex

    int derivativeIndex

##### derivativeOf

    WrapperFunction derivativeOf

##### derivativeVar

    Variable derivativeVar

##### func

    Function func

##### params

    double[] params

##### serialNumber

    int serialNumber