algoanim.animalscript
Class AnimalScript

java.lang.Object
  extended by algoanim.primitives.generators.Language
      extended by algoanim.primitives.generators.VHDLLanguage
          extended by algoanim.animalscript.AnimalScript

public class AnimalScript
extends VHDLLanguage

Author:
Jens Pfau, Stephan Mehlhase, Dima Vronskyi
See Also:
Language

Field Summary
static java.lang.String COLORCHANGE_COLOR
          The color colortype constant.
static java.lang.String COLORCHANGE_COLORSETTING
          The colorsetting colortype constant.
static java.lang.String COLORCHANGE_FILLCOLOR
          The fillcolor colortype constant.
static java.lang.String COLORCHANGE_TEXTCOLOR
          The textcolor colortype constant.
static java.lang.String DIRECTION_BASELINE_END
          The direction constant for alignment from the (text) baseline's end.
static java.lang.String DIRECTION_BASELINE_START
          The direction constant for alignment from the (text) baseline's start.
static java.lang.String DIRECTION_C
          The central direction constant.
static java.lang.String DIRECTION_E
          The east direction constant.
static java.lang.String DIRECTION_N
          The north direction constant.
static java.lang.String DIRECTION_NE
          The north east direction constant.
static java.lang.String DIRECTION_NW
          The north west direction constant.
static java.lang.String DIRECTION_S
          The south direction constant.
static java.lang.String DIRECTION_SE
          The south east direction constant.
static java.lang.String DIRECTION_SW
          The south west direction constant.
static java.lang.String DIRECTION_W
          The west direction constant.
static int INITIAL_ERRORBUFFER_SIZE
          The initial size in kilobytes of the error buffer.
static int INITIAL_GENBUFFER_SIZE
          The initial size in kilobytes of the buffers used by generators.
static int INITIAL_OUTPUTBUFFER_SIZE
          The initial size in kilobytes of the output buffer.
static int INITIAL_STEPBUFFER_SIZE
          The initial size in kilobytes of the buffer used by the step mode.
 
Fields inherited from class algoanim.primitives.generators.Language
hideInThisStep, INTERACTION_TYPE_AVINTERACTION, INTERACTION_TYPE_JHAVE_TEXT, INTERACTION_TYPE_JHAVE_XML, INTERACTION_TYPE_NONE, interactiveElements, showInThisStep, UNDEFINED_SIZE
 
Constructor Summary
AnimalScript(java.lang.String title, java.lang.String author, int x, int y)
          Creates the headline of the AnimalScript File and the AnimalScript Object.
 
Method Summary
 void addDocumentationLink(DocumentationLink docuLink)
           
 void addError(java.lang.StringBuilder error)
          Adds another line at the end of the error buffer.
 void addFIBQuestion(FillInBlanksQuestion fibQuestion)
           
 void addItem(Primitive p)
          Adds the given Primitive to the internal database, which is used to control that dupes are produced.
 void addLabel(java.lang.String label)
          Adds a label to the current AnimalScript which can be used for navigation.
 void addLine(java.lang.StringBuilder line)
          Adds a line to the concurrent buffer and determines if in stepmode or not.
 void addMCQuestion(MultipleChoiceQuestion mcQuestion)
           
 void addMSQuestion(MultipleSelectionQuestion msQuestion)
           
 void addQuestionGroup(GroupInfo group)
           
 void addTFQuestion(TrueFalseQuestion tfQuestion)
           
 void finalizeGeneration()
          Method to be called before the content is accessed or written
 java.lang.String getAnimationCode()
          Returns the generated animation code
 java.lang.String getErrorOutput()
          Returns the current error buffer.
 int getStep()
          Gives the current animation step.
 void hideAllPrimitives()
           
 void hideAllPrimitivesExcept(java.util.List<Primitive> keepThese)
           
 void hideAllPrimitivesExcept(Primitive keepThisOne)
           
 boolean isNameUsed(java.lang.String name)
          Checks the internal primitive registry for the given name.
 boolean isValidDirection(java.lang.String direction)
          Evaluates whether a given String describes a valid direction for movement operations.
 AndGate newAndGate(Node upperLeft, int width, int height, java.lang.String name, java.util.List<VHDLPin> pins, DisplayOptions display, VHDLElementProperties properties)
          Creates a new AndGate object.
 Arc newArc(Node center, Node radius, java.lang.String name, DisplayOptions display, ArcProperties ep)
           
<T> ArrayBasedQueue<T>
newArrayBasedQueue(Node upperLeft, java.util.List<T> content, java.lang.String name, DisplayOptions display, QueueProperties qp, int capacity)
          Creates a new ArrayBasedQueue object.
<T> ArrayBasedStack<T>
newArrayBasedStack(Node upperLeft, java.util.List<T> content, java.lang.String name, DisplayOptions display, StackProperties sp, int capacity)
          Creates a new ArrayBasedStack object.
 ArrayMarker newArrayMarker(ArrayPrimitive a, int index, java.lang.String name, DisplayOptions display, ArrayMarkerProperties ap)
          Creates a new ArrayMarker object.
 Circle newCircle(Node center, int radius, java.lang.String name, DisplayOptions display, CircleProperties cp)
          Creates a new Circle object.
 CircleSeg newCircleSeg(Node center, int radius, java.lang.String name, DisplayOptions display, CircleSegProperties cp)
          Creates a new CircleSeg object.
<T> ConceptualQueue<T>
newConceptualQueue(Node upperLeft, java.util.List<T> content, java.lang.String name, DisplayOptions display, QueueProperties qp)
          Creates a new ConceptualQueue object.
<T> ConceptualStack<T>
newConceptualStack(Node upperLeft, java.util.List<T> content, java.lang.String name, DisplayOptions display, StackProperties sp)
          Creates a new ConceptualStack object.
 Demultiplexer newDemultiplexer(Node upperLeft, int width, int height, java.lang.String name, java.util.List<VHDLPin> pins, DisplayOptions display, VHDLElementProperties properties)
          Creates a new Demultiplexer object.
 DFlipflop newDFlipflop(Node upperLeft, int width, int height, java.lang.String name, java.util.List<VHDLPin> pins, DisplayOptions display, VHDLElementProperties properties)
          Creates a new DFlipflop object.
 DoubleArray newDoubleArray(Node upperLeft, double[] data, java.lang.String name, ArrayDisplayOptions display, ArrayProperties iap)
          Creates a new DoubleArray object.
 DoubleMatrix newDoubleMatrix(Node upperLeft, double[][] data, java.lang.String name, DisplayOptions display, MatrixProperties iap)
          Creates a new DoubleMatrix object.
 Ellipse newEllipse(Node center, Node radius, java.lang.String name, DisplayOptions display, EllipseProperties ep)
          Creates a new Ellipse object.
 EllipseSeg newEllipseSeg(Node center, Node radius, java.lang.String name, DisplayOptions display, EllipseSegProperties cp)
          Creates a new EllipseSeg object.
 Graph newGraph(java.lang.String name, int[][] graphAdjacencyMatrix, Node[] graphNodes, java.lang.String[] labels, DisplayOptions display, GraphProperties graphProps)
          Creates a new Ellipse object.
 Group newGroup(java.util.LinkedList<Primitive> primitives, java.lang.String name)
          Creates a new element Group with a list of contained Primitives and a distinct name.
 IntArray newIntArray(Node upperLeft, int[] data, java.lang.String name, ArrayDisplayOptions display, ArrayProperties iap)
          Creates a new IntArray object.
 IntMatrix newIntMatrix(Node upperLeft, int[][] data, java.lang.String name, DisplayOptions display, MatrixProperties iap)
          Creates a new IntMatrix object.
 JKFlipflop newJKFlipflop(Node upperLeft, int width, int height, java.lang.String name, java.util.List<VHDLPin> pins, DisplayOptions display, VHDLElementProperties properties)
          Creates a new JKFlipflop object.
<T> ListBasedQueue<T>
newListBasedQueue(Node upperLeft, java.util.List<T> content, java.lang.String name, DisplayOptions display, QueueProperties qp)
          Creates a new ListBasedQueue object.
<T> ListBasedStack<T>
newListBasedStack(Node upperLeft, java.util.List<T> content, java.lang.String name, DisplayOptions display, StackProperties sp)
          Creates a new ListBasedStack object.
 ListElement newListElement(Node upperLeft, int pointers, java.util.LinkedList<java.lang.Object> pointerLocations, ListElement prev, ListElement next, java.lang.String name, DisplayOptions display, ListElementProperties lp)
          Creates a new ListElement object.
 Multiplexer newMultiplexer(Node upperLeft, int width, int height, java.lang.String name, java.util.List<VHDLPin> pins, DisplayOptions display, VHDLElementProperties properties)
          Creates a new Multiplexer object.
 NAndGate newNAndGate(Node upperLeft, int width, int height, java.lang.String name, java.util.List<VHDLPin> pins, DisplayOptions display, VHDLElementProperties properties)
          Creates a new NAndGate object.
 NorGate newNorGate(Node upperLeft, int width, int height, java.lang.String name, java.util.List<VHDLPin> pins, DisplayOptions display, VHDLElementProperties properties)
          Creates a new NorGate object.
 NotGate newNotGate(Node upperLeft, int width, int height, java.lang.String name, java.util.List<VHDLPin> pins, DisplayOptions display, VHDLElementProperties properties)
          Creates a new NotGate object.
 OrGate newOrGate(Node upperLeft, int width, int height, java.lang.String name, java.util.List<VHDLPin> pins, DisplayOptions display, VHDLElementProperties properties)
          Creates a new OrGate object.
 Point newPoint(Node coords, java.lang.String name, DisplayOptions display, PointProperties pp)
          Creates a new Point object.
 Polygon newPolygon(Node[] vertices, java.lang.String name, DisplayOptions display, PolygonProperties pp)
          Creates a new Polygon object.
 Polyline newPolyline(Node[] vertices, java.lang.String name, DisplayOptions display, PolylineProperties pp)
          Creates a new Polyline object.
 Rect newRect(Node upperLeft, Node lowerRight, java.lang.String name, DisplayOptions display, RectProperties rp)
          Creates a new Rect object.
 RSFlipflop newRSFlipflop(Node upperLeft, int width, int height, java.lang.String name, java.util.List<VHDLPin> pins, DisplayOptions display, VHDLElementProperties properties)
          Creates a new RSFlipflop object.
 SourceCode newSourceCode(Node upperLeft, java.lang.String name, DisplayOptions display, SourceCodeProperties sp)
          Creates a new SourceCode object.
 Square newSquare(Node upperLeft, int width, java.lang.String name, DisplayOptions display, SquareProperties sp)
          Creates a new Square.
 StringArray newStringArray(Node upperLeft, java.lang.String[] data, java.lang.String name, ArrayDisplayOptions display, ArrayProperties sap)
          Creates a new StringArray object.
 StringMatrix newStringMatrix(Node upperLeft, java.lang.String[][] data, java.lang.String name, DisplayOptions display, MatrixProperties iap)
          Creates a new StringMatrix object.
 Text newText(Node upperLeft, java.lang.String text, java.lang.String name, DisplayOptions display, TextProperties tp)
          Creates a new Text object.
 TFlipflop newTFlipflop(Node upperLeft, int width, int height, java.lang.String name, java.util.List<VHDLPin> pins, DisplayOptions display, VHDLElementProperties properties)
          Creates a new TFlipflop object.
 Triangle newTriangle(Node x, Node y, Node z, java.lang.String name, DisplayOptions display, TriangleProperties tp)
          Creates a new Triangle object.
 Variables newVariables()
          Creates a new Variables object.
 VHDLWire newWire(java.util.List<Node> nodes, int speed, java.lang.String name, DisplayOptions display, VHDLWireProperties properties)
          Creates a new wire object.
 XNorGate newXNorGate(Node upperLeft, int width, int height, java.lang.String name, java.util.List<VHDLPin> pins, DisplayOptions display, VHDLElementProperties properties)
          Creates a new XNorGate object.
 XOrGate newXOrGate(Node upperLeft, int width, int height, java.lang.String name, java.util.List<VHDLPin> pins, DisplayOptions display, VHDLElementProperties properties)
          Creates a new XOrGate object.
 void nextStep(int delay, java.lang.String label)
          Flushes the stepbuffer to the output variable.
 void resetAnimation()
          Clears all animation data.
 void setInteractionType(int interactionTypeCode)
           
 void setInteractionType(int interactionTypeCode, java.lang.String key)
           
 void setStepMode(boolean mode)
          Enables or disables Step mode.
 java.lang.String toString()
          Returns a String with the generated AnimalScript.
 java.util.Vector<java.lang.String> validDirections()
          The vector which is returned describes the valid direction statements regarding this actual language object.
 void writeFile(java.lang.String fileName)
          Writes all AnimalScript commands to the file given to that function.
 
Methods inherited from class algoanim.primitives.generators.VHDLLanguage
newAndGate, newAndGate, newDemultiplexer, newDemultiplexer, newDFlipflop, newJKFlipflop, newMultiplexer, newMultiplexer, newNAndGate, newNAndGate, newNorGate, newNorGate, newNotGate, newNotGate, newOrGate, newOrGate, newRSFlipflop, newTFlipflop, newXNorGate, newXNorGate, newXOrGate, newXOrGate
 
Methods inherited from class algoanim.primitives.generators.Language
addError, addLine, newArc, newArrayBasedQueue, newArrayBasedStack, newArrayMarker, newCircle, newCircleSeg, newConceptualQueue, newConceptualStack, newDoubleArray, newDoubleMatrix, newEllipse, newEllipseSeg, newGraph, newIntArray, newIntMatrix, newListBasedQueue, newListBasedStack, newListElement, newListElement, newPolygon, newPolyline, newRect, newSourceCode, newSquare, newStringArray, newStringMatrix, newText, newTriangle, nextStep, nextStep, nextStep
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

INITIAL_STEPBUFFER_SIZE

public static int INITIAL_STEPBUFFER_SIZE
The initial size in kilobytes of the buffer used by the step mode.


INITIAL_OUTPUTBUFFER_SIZE

public static int INITIAL_OUTPUTBUFFER_SIZE
The initial size in kilobytes of the output buffer.


INITIAL_GENBUFFER_SIZE

public static int INITIAL_GENBUFFER_SIZE
The initial size in kilobytes of the buffers used by generators.


INITIAL_ERRORBUFFER_SIZE

public static int INITIAL_ERRORBUFFER_SIZE
The initial size in kilobytes of the error buffer.


DIRECTION_NW

public static final java.lang.String DIRECTION_NW
The north west direction constant.

See Also:
Constant Field Values

DIRECTION_N

public static final java.lang.String DIRECTION_N
The north direction constant.

See Also:
Constant Field Values

DIRECTION_NE

public static final java.lang.String DIRECTION_NE
The north east direction constant.

See Also:
Constant Field Values

DIRECTION_W

public static final java.lang.String DIRECTION_W
The west direction constant.

See Also:
Constant Field Values

DIRECTION_C

public static final java.lang.String DIRECTION_C
The central direction constant.

See Also:
Constant Field Values

DIRECTION_E

public static final java.lang.String DIRECTION_E
The east direction constant.

See Also:
Constant Field Values

DIRECTION_SW

public static final java.lang.String DIRECTION_SW
The south west direction constant.

See Also:
Constant Field Values

DIRECTION_S

public static final java.lang.String DIRECTION_S
The south direction constant.

See Also:
Constant Field Values

DIRECTION_SE

public static final java.lang.String DIRECTION_SE
The south east direction constant.

See Also:
Constant Field Values

DIRECTION_BASELINE_START

public static final java.lang.String DIRECTION_BASELINE_START
The direction constant for alignment from the (text) baseline's start.

See Also:
Constant Field Values

DIRECTION_BASELINE_END

public static final java.lang.String DIRECTION_BASELINE_END
The direction constant for alignment from the (text) baseline's end.

See Also:
Constant Field Values

COLORCHANGE_COLOR

public static final java.lang.String COLORCHANGE_COLOR
The color colortype constant.

See Also:
Constant Field Values

COLORCHANGE_FILLCOLOR

public static final java.lang.String COLORCHANGE_FILLCOLOR
The fillcolor colortype constant.

See Also:
Constant Field Values

COLORCHANGE_TEXTCOLOR

public static final java.lang.String COLORCHANGE_TEXTCOLOR
The textcolor colortype constant.

See Also:
Constant Field Values

COLORCHANGE_COLORSETTING

public static final java.lang.String COLORCHANGE_COLORSETTING
The colorsetting colortype constant.

See Also:
Constant Field Values
Constructor Detail

AnimalScript

public AnimalScript(java.lang.String title,
                    java.lang.String author,
                    int x,
                    int y)
Creates the headline of the AnimalScript File and the AnimalScript Object.

Parameters:
title - the title of this AnimalScript. may be null.
author - the autor of this AnimalScript. may be null.
x - the width of the animation window.
y - the height of the animation window.
Method Detail

addLine

public void addLine(java.lang.StringBuilder line)
Adds a line to the concurrent buffer and determines if in stepmode or not. The given string must not end with a newline character, which is automatically appended.

Specified by:
addLine in class Language
Parameters:
line - the line of AnimalScript code added, must NOT end with a newline.

addLabel

public void addLabel(java.lang.String label)
Adds a label to the current AnimalScript which can be used for navigation. If the given label is null, no label is inserted.

Parameters:
label - The label

addError

public void addError(java.lang.StringBuilder error)
Description copied from class: Language
Adds another line at the end of the error buffer.

Specified by:
addError in class Language
Parameters:
error - the line to add.
See Also:
#addError(java.lang.StringBuilder)

getErrorOutput

public java.lang.String getErrorOutput()
Returns the current error buffer.

Returns:
the current error buffer.

addItem

public void addItem(Primitive p)
Adds the given Primitive to the internal database, which is used to control that dupes are produced.

Specified by:
addItem in class Language
Parameters:
p - the Primitive to add.

writeFile

public void writeFile(java.lang.String fileName)
Writes all AnimalScript commands to the file given to that function. If in stepmode, Stepmode is diasabled and added to output.

Specified by:
writeFile in class Language
Parameters:
fileName - the name of the file to write to.

toString

public java.lang.String toString()
Returns a String with the generated AnimalScript.

Overrides:
toString in class java.lang.Object

setStepMode

public void setStepMode(boolean mode)
Enables or disables Step mode. All lines added after that statement is cached in a buffer and flushed when the step mode is disabled. All lines in one step are executed concurrently.

Specified by:
setStepMode in class Language
Parameters:
mode - whether to enable step mode or not.
See Also:
Language.nextStep()

getStep

public int getStep()
Description copied from class: Language
Gives the current animation step. This step is created by calling nextStep().

Specified by:
getStep in class Language
Returns:
the current animation step.

nextStep

public void nextStep(int delay,
                     java.lang.String label)
Flushes the stepbuffer to the output variable.

Specified by:
nextStep in class Language
Parameters:
delay - the delay in ms to wait before the next step starts. Use -1 to specify that the next step will not start automatically.
label - the label associated with the current step (may be null). If a label is given, it may be used as an anchor for navigating to the step.
See Also:
Language.setStepMode(boolean)

resetAnimation

public void resetAnimation()
Clears all animation data.


isNameUsed

public boolean isNameUsed(java.lang.String name)
Description copied from class: Language
Checks the internal primitive registry for the given name.

Specified by:
isNameUsed in class Language
Parameters:
name - the name to check.
Returns:
if the given name is already in use.
See Also:
#isNameUsed(java.lang.String)

validDirections

public java.util.Vector<java.lang.String> validDirections()
Description copied from class: Language
The vector which is returned describes the valid direction statements regarding this actual language object.

Specified by:
validDirections in class Language
Returns:
the directions which can be applied to move methods.
See Also:
Language.validDirections()

isValidDirection

public boolean isValidDirection(java.lang.String direction)
Description copied from class: Language
Evaluates whether a given String describes a valid direction for movement operations.

Specified by:
isValidDirection in class Language
Parameters:
direction - the String to check.
Returns:
whether the given String describes a valid direction.
See Also:
#isValidDirection(java.lang.String)

newArc

public Arc newArc(Node center,
                  Node radius,
                  java.lang.String name,
                  DisplayOptions display,
                  ArcProperties ep)
Specified by:
newArc in class Language
Parameters:
center - the center of the Arc.
radius - the radius of the Arc.
name - [optional] an arbitrary name which uniquely identifies this Arc. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
ep - [optional] user-defined properties to apply to this Arc. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
the new arc
See Also:
#newArc( algoanim.util.Node, algoanim.util.Node, java.lang.String, algoanim.util.DisplayOptions, algoanim.properties.ArcProperties)

newCircle

public Circle newCircle(Node center,
                        int radius,
                        java.lang.String name,
                        DisplayOptions display,
                        CircleProperties cp)
Description copied from class: Language
Creates a new Circle object.

Specified by:
newCircle in class Language
Parameters:
center - the center of the Circle.
radius - the radius of the Circle.
name - [optional] an arbitrary name which uniquely identifies this Circle. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
cp - [optional] user-defined properties to apply to this Circle. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a Circle.
See Also:
#newCircle( algoanim.util.Node, int, java.lang.String, algoanim.util.DisplayOptions, algoanim.properties.CircleProperties)

newCircleSeg

public CircleSeg newCircleSeg(Node center,
                              int radius,
                              java.lang.String name,
                              DisplayOptions display,
                              CircleSegProperties cp)
Description copied from class: Language
Creates a new CircleSeg object.

Specified by:
newCircleSeg in class Language
Parameters:
center - the center of the CircleSeg.
radius - the radius of this CircleSeg.
name - [optional] an arbitrary name which uniquely identifies this CircleSeg. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
cp - [optional] user-defined properties to apply to this CircleSeg. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a CircleSeg.
See Also:
#newCircleSeg( algoanim.util.Node, int, java.lang.String, algoanim.util.DisplayOptions, algoanim.properties.CircleSegProperties)

newEllipse

public Ellipse newEllipse(Node center,
                          Node radius,
                          java.lang.String name,
                          DisplayOptions display,
                          EllipseProperties ep)
Description copied from class: Language
Creates a new Ellipse object.

Specified by:
newEllipse in class Language
Parameters:
center - the center of the Ellipse.
radius - the radius of the Ellipse.
name - [optional] an arbitrary name which uniquely identifies this Ellipse. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
ep - [optional] user-defined properties to apply to this Ellipse. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a Ellipse.
See Also:
#newEllipse(algoanim.util.Node, algoanim.util.Node, java.lang.String, algoanim.util.DisplayOptions, algoanim.properties.EllipseProperties)

newEllipseSeg

public EllipseSeg newEllipseSeg(Node center,
                                Node radius,
                                java.lang.String name,
                                DisplayOptions display,
                                EllipseSegProperties cp)
Description copied from class: Language
Creates a new EllipseSeg object.

Specified by:
newEllipseSeg in class Language
Parameters:
center - the center of the EllipseSeg.
radius - the radius of this EllipseSeg.
name - [optional] an arbitrary name which uniquely identifies this EllipseSeg. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
cp - [optional] user-defined properties to apply to this EllipseSeg. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a CircleSeg.

newIntArray

public IntArray newIntArray(Node upperLeft,
                            int[] data,
                            java.lang.String name,
                            ArrayDisplayOptions display,
                            ArrayProperties iap)
Description copied from class: Language
Creates a new IntArray object.

Specified by:
newIntArray in class Language
Parameters:
upperLeft - the upper left coordinates of the IntArray.
data - the initial data of the IntArray.
name - [optional] an arbitrary name which uniquely identifies this IntArray. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
iap - [optional] user-defined properties to apply to this IntArray. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a IntArray.
See Also:
Language.newIntArray( algoanim.util.Node, int[], java.lang.String, algoanim.util.ArrayDisplayOptions)

newIntMatrix

public IntMatrix newIntMatrix(Node upperLeft,
                              int[][] data,
                              java.lang.String name,
                              DisplayOptions display,
                              MatrixProperties iap)
Description copied from class: Language
Creates a new IntMatrix object.

Specified by:
newIntMatrix in class Language
Parameters:
upperLeft - the upper left coordinates of the IntMatrix.
data - the initial data of the IntMatrix.
name - [optional] an arbitrary name which uniquely identifies this IntMatrix. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
iap - [optional] user-defined properties to apply to this IntMatrix. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a IntArray.
See Also:
Language.newIntMatrix( algoanim.util.Node, int[][], java.lang.String, algoanim.util.DisplayOptions, algoanim.properties.MatrixProperties)

newDoubleMatrix

public DoubleMatrix newDoubleMatrix(Node upperLeft,
                                    double[][] data,
                                    java.lang.String name,
                                    DisplayOptions display,
                                    MatrixProperties iap)
Description copied from class: Language
Creates a new DoubleMatrix object.

Specified by:
newDoubleMatrix in class Language
Parameters:
upperLeft - the upper left coordinates of the DoubleMatrix.
data - the initial data of the DoubleMatrix.
name - [optional] an arbitrary name which uniquely identifies this DoubleMatrix. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
iap - [optional] user-defined properties to apply to this DoubleMatrix. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a DoubleMatrix.
See Also:
Language.newDoubleMatrix( algoanim.util.Node, double[][], java.lang.String, algoanim.util.DisplayOptions, algoanim.properties.MatrixProperties)

newListElement

public ListElement newListElement(Node upperLeft,
                                  int pointers,
                                  java.util.LinkedList<java.lang.Object> pointerLocations,
                                  ListElement prev,
                                  ListElement next,
                                  java.lang.String name,
                                  DisplayOptions display,
                                  ListElementProperties lp)
Description copied from class: Language
Creates a new ListElement object.

Specified by:
newListElement in class Language
Parameters:
upperLeft - the upper left coordinates of the ListElement.
pointers - the number of pointers between 0 and 255.
name - [optional] an arbitrary name which uniquely identifies this ListElement. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
lp - [optional] user-defined properties to apply to this ListElement. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a ListElement.
See Also:
#newListElement( algoanim.util.Node, int, java.util.LinkedList, algoanim.primitives.ListElement, java.lang.String, algoanim.util.DisplayOptions, algoanim.properties.ListElementProperties)

newPoint

public Point newPoint(Node coords,
                      java.lang.String name,
                      DisplayOptions display,
                      PointProperties pp)
Description copied from class: Language
Creates a new Point object.

Specified by:
newPoint in class Language
Parameters:
coords - the Points coordinates.
name - [optional] an arbitrary name which uniquely identifies this Point. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
pp - [optional] user-defined properties to apply to this Point. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a Point
See Also:
#newPoint( algoanim.util.Node, java.lang.String, algoanim.util.DisplayOptions, algoanim.properties.PointProperties)

newPolygon

public Polygon newPolygon(Node[] vertices,
                          java.lang.String name,
                          DisplayOptions display,
                          PolygonProperties pp)
                   throws NotEnoughNodesException
Description copied from class: Language
Creates a new Polygon object.

Specified by:
newPolygon in class Language
Parameters:
vertices - the vertices of this Polygon.
name - [optional] an arbitrary name which uniquely identifies this Polygon. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
pp - [optional] user-defined properties to apply to this Polygon. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a Polygon.
Throws:
NotEnoughNodesException - Thrown if vertices contains less than 2 nodes.
See Also:
#newPolygon( algoanim.util.Node[], java.lang.String, algoanim.util.DisplayOptions, algoanim.properties.PolygonProperties)

newRect

public Rect newRect(Node upperLeft,
                    Node lowerRight,
                    java.lang.String name,
                    DisplayOptions display,
                    RectProperties rp)
Description copied from class: Language
Creates a new Rect object.

Specified by:
newRect in class Language
Parameters:
upperLeft - the coordinates of the upper left corner of this Rect .
lowerRight - the coordinates of the lower right corner of this Rect.
name - [optional] an arbitrary name which uniquely identifies this Rect. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
rp - [optional] user-defined properties to apply to this Rect. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a Rect.
See Also:
#newRect( algoanim.util.Node, algoanim.util.Node, java.lang.String, algoanim.util.DisplayOptions, algoanim.properties.RectProperties)

newSourceCode

public SourceCode newSourceCode(Node upperLeft,
                                java.lang.String name,
                                DisplayOptions display,
                                SourceCodeProperties sp)
Description copied from class: Language
Creates a new SourceCode object.

Specified by:
newSourceCode in class Language
Parameters:
upperLeft - the upper left coordinates of this SourceCode.
name - [optional] an arbitrary name which uniquely identifies this SourceCode. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
sp - [optional] user-defined properties to apply to this SourceCode. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a SourceCode.
See Also:
#newSourceCode( algoanim.util.Node, java.lang.String, algoanim.util.DisplayOptions, algoanim.properties.SourceCodeProperties)

newSquare

public Square newSquare(Node upperLeft,
                        int width,
                        java.lang.String name,
                        DisplayOptions display,
                        SquareProperties sp)
Description copied from class: Language
Creates a new Square.

Specified by:
newSquare in class Language
Parameters:
upperLeft - the coordinates of the upper left corner the Square.
width - the length of the edges of the Square.
name - [optional] an arbitrary name which uniquely identifies this Square. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
sp - [optional] user-defined properties to apply to this Square. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a Square.
See Also:
#newSquare( algoanim.util.Node, int, java.lang.String, algoanim.util.DisplayOptions, algoanim.properties.SquareProperties)

newStringArray

public StringArray newStringArray(Node upperLeft,
                                  java.lang.String[] data,
                                  java.lang.String name,
                                  ArrayDisplayOptions display,
                                  ArrayProperties sap)
Description copied from class: Language
Creates a new StringArray object.

Specified by:
newStringArray in class Language
Parameters:
upperLeft - the upper left coordinates of the StringArray.
data - the initial data of the StringArray.
name - [optional] an arbitrary name which uniquely identifies this StringArray. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
sap - [optional] user-defined properties to apply to this StringArray. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a StringArray.
See Also:
Language.newStringArray( algoanim.util.Node, java.lang.String[], java.lang.String, algoanim.util.ArrayDisplayOptions)

newStringMatrix

public StringMatrix newStringMatrix(Node upperLeft,
                                    java.lang.String[][] data,
                                    java.lang.String name,
                                    DisplayOptions display,
                                    MatrixProperties iap)
Description copied from class: Language
Creates a new StringMatrix object.

Specified by:
newStringMatrix in class Language
Parameters:
upperLeft - the upper left coordinates of the StringMatrix.
data - the initial data of the StringMatrix.
name - [optional] an arbitrary name which uniquely identifies this StringMatrix. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
iap - [optional] user-defined properties to apply to this StringMatrix. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a StringMatrix.
See Also:
Language.newStringMatrix( algoanim.util.Node, String[][], java.lang.String, algoanim.util.DisplayOptions)

newText

public Text newText(Node upperLeft,
                    java.lang.String text,
                    java.lang.String name,
                    DisplayOptions display,
                    TextProperties tp)
Description copied from class: Language
Creates a new Text object.

Specified by:
newText in class Language
Parameters:
upperLeft - the upper left coordinates of the Text
text - the content of the Text element
name - [optional] an arbitrary name which uniquely identifies this Text. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
tp - [optional] user-defined properties to apply to this Text. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a Text.
See Also:
#newText( algoanim.util.Node, java.lang.String, java.lang.String, algoanim.util.DisplayOptions, algoanim.properties.TextProperties)

newTriangle

public Triangle newTriangle(Node x,
                            Node y,
                            Node z,
                            java.lang.String name,
                            DisplayOptions display,
                            TriangleProperties tp)
Description copied from class: Language
Creates a new Triangle object.

Specified by:
newTriangle in class Language
Parameters:
x - the coordinates of the first node of the Triangle.
y - the coordinates of the second node of the Triangle.
z - the coordinates of the third node of the Triangle.
name - [optional] an arbitrary name which uniquely identifies this Triangle. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
tp - [optional] user-defined properties to apply to this Triangle. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a Triangle.
See Also:
#newTriangle( algoanim.util.Node, algoanim.util.Node, algoanim.util.Node, java.lang.String, algoanim.util.DisplayOptions, algoanim.properties.TriangleProperties)

newVariables

public Variables newVariables()
Description copied from class: Language
Creates a new Variables object.

Specified by:
newVariables in class Language
Returns:
Variables
See Also:
#newVariables()

newArrayMarker

public ArrayMarker newArrayMarker(ArrayPrimitive a,
                                  int index,
                                  java.lang.String name,
                                  DisplayOptions display,
                                  ArrayMarkerProperties ap)
Description copied from class: Language
Creates a new ArrayMarker object.

Specified by:
newArrayMarker in class Language
Parameters:
a - the array which this ArrayMarker belongs to.
index - the current index at which this ArrayMarker is located.
name - [optional] an arbitrary name which uniquely identifies this ArrayMarker. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
ap - [optional] user-defined properties to apply to this ArrayMarker. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
an ArrayMarker.
See Also:
#newArrayMarker( algoanim.primitives.ArrayPrimitive, int, java.lang.String, algoanim.util.DisplayOptions, algoanim.properties.ArrayMarkerProperties)

newGroup

public Group newGroup(java.util.LinkedList<Primitive> primitives,
                      java.lang.String name)
Description copied from class: Language
Creates a new element Group with a list of contained Primitives and a distinct name.

Specified by:
newGroup in class Language
Parameters:
primitives - the contained Primitives.
name - the name of this Group.
Returns:
a new Group nobject.
See Also:
#newGroup(java.util.LinkedList, java.lang.String)

newPolyline

public Polyline newPolyline(Node[] vertices,
                            java.lang.String name,
                            DisplayOptions display,
                            PolylineProperties pp)
Description copied from class: Language
Creates a new Polyline object.

Specified by:
newPolyline in class Language
Parameters:
vertices - the vertices of this Polyline.
name - [optional] an arbitrary name which uniquely identifies this Polyline. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
pp - [optional] user-defined properties to apply to this Polyline. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a Polyline.
See Also:
#newPolyline( algoanim.util.Node[], java.lang.String, algoanim.util.DisplayOptions, algoanim.properties.PolylineProperties)

newGraph

public Graph newGraph(java.lang.String name,
                      int[][] graphAdjacencyMatrix,
                      Node[] graphNodes,
                      java.lang.String[] labels,
                      DisplayOptions display,
                      GraphProperties graphProps)
Description copied from class: Language
Creates a new Ellipse object.

Specified by:
newGraph in class Language
Parameters:
name - [optional] an arbitrary name which uniquely identifies this Ellipse. If you don't want to set this, set this parameter to "null". The name is then created automatically.
graphAdjacencyMatrix - the graph's adjacency matrix
graphNodes - the nodes of the graph
labels - the labels of the graph's nodes
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
graphProps - [optional] user-defined properties to apply to this Graph. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a Graph.
See Also:
#newGraph( java.lang.String, int[][], algoanim.util.Node[], java.lang.String[], algoanim.util.DisplayOptions, algoanim.properties.GraphProperties)

newConceptualStack

public <T> ConceptualStack<T> newConceptualStack(Node upperLeft,
                                                 java.util.List<T> content,
                                                 java.lang.String name,
                                                 DisplayOptions display,
                                                 StackProperties sp)
Description copied from class: Language
Creates a new ConceptualStack object.

Specified by:
newConceptualStack in class Language
Parameters:
upperLeft - the upper left coordinates of the ConceptualStack.
content - the initial content of the ConceptualStack, consisting of the elements of the generic type T. If the initial ConceptualStack has no elements, content can be null or an empty List.
name - [optional] an arbitrary name which uniquely identifies this ConceptualStack. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
sp - [optional] user-defined properties to apply to this ConceptualStack. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a ConceptualStack.
See Also:
Language.newConceptualStack( algoanim.util.Node, java.util.List, java.lang.String, algoanim.util.DisplayOptions, algoanim.properties.StackProperties)

newArrayBasedStack

public <T> ArrayBasedStack<T> newArrayBasedStack(Node upperLeft,
                                                 java.util.List<T> content,
                                                 java.lang.String name,
                                                 DisplayOptions display,
                                                 StackProperties sp,
                                                 int capacity)
Description copied from class: Language
Creates a new ArrayBasedStack object.

Specified by:
newArrayBasedStack in class Language
Parameters:
upperLeft - the upper left coordinates of the ArrayBasedStack.
content - the initial content of the ConceptualStack, consisting of the elements of the generic type T. If the initial ArrayBasedStack has no elements, content can be null or an empty List.
name - [optional] an arbitrary name which uniquely identifies this ArrayBasedStack. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
sp - [optional] user-defined properties to apply to this ArrayBasedStack. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
capacity - the capacity limit of this ArrayBasedStack; must be nonnegative.
Returns:
an ArrayBasedStack.
See Also:
Language.newArrayBasedStack( algoanim.util.Node, java.util.List, java.lang.String, algoanim.util.DisplayOptions, algoanim.properties.StackProperties, int)

newListBasedStack

public <T> ListBasedStack<T> newListBasedStack(Node upperLeft,
                                               java.util.List<T> content,
                                               java.lang.String name,
                                               DisplayOptions display,
                                               StackProperties sp)
Description copied from class: Language
Creates a new ListBasedStack object.

Specified by:
newListBasedStack in class Language
Parameters:
upperLeft - the upper left coordinates of the ListBasedStack.
content - the initial content of the ConceptualStack, consisting of the elements of the generic type T. If the initial ListBasedStack has no elements, content can be null or an empty List.
name - [optional] an arbitrary name which uniquely identifies this ListBasedStack. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
sp - [optional] user-defined properties to apply to this ListBasedStack. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a ListBasedStack.
See Also:
Language.newListBasedStack( algoanim.util.Node, java.util.List, java.lang.String, algoanim.util.DisplayOptions, algoanim.properties.StackProperties)

newConceptualQueue

public <T> ConceptualQueue<T> newConceptualQueue(Node upperLeft,
                                                 java.util.List<T> content,
                                                 java.lang.String name,
                                                 DisplayOptions display,
                                                 QueueProperties qp)
Description copied from class: Language
Creates a new ConceptualQueue object.

Specified by:
newConceptualQueue in class Language
Parameters:
upperLeft - the upper left coordinates of the ConceptualQueue.
content - the initial content of the ConceptualQueue, consisting of the elements of the generic type T. If the initial ConceptualQueue has no elements, content can be null or an empty List.
name - [optional] an arbitrary name which uniquely identifies this ConceptualQueue. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
qp - [optional] user-defined properties to apply to this ConceptualQueue. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a ConceptualQueue.
See Also:
Language.newConceptualQueue( algoanim.util.Node, java.util.List, java.lang.String, algoanim.util.DisplayOptions, algoanim.properties.QueueProperties)

newArrayBasedQueue

public <T> ArrayBasedQueue<T> newArrayBasedQueue(Node upperLeft,
                                                 java.util.List<T> content,
                                                 java.lang.String name,
                                                 DisplayOptions display,
                                                 QueueProperties qp,
                                                 int capacity)
Description copied from class: Language
Creates a new ArrayBasedQueue object.

Specified by:
newArrayBasedQueue in class Language
Parameters:
upperLeft - the upper left coordinates of the ArrayBasedQueue.
content - the initial content of the ConceptualQueue, consisting of the elements of the generic type T. If the initial ArrayBasedQueue has no elements, content can be null or an empty List.
name - [optional] an arbitrary name which uniquely identifies this ArrayBasedQueue. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
qp - [optional] user-defined properties to apply to this ArrayBasedQueue. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
capacity - the capacity limit of this ArrayBasedQueue; must be nonnegative.
Returns:
an ArrayBasedQueue.
See Also:
Language.newArrayBasedQueue( algoanim.util.Node, java.util.List, java.lang.String, algoanim.util.DisplayOptions, algoanim.properties.QueueProperties, int)

newListBasedQueue

public <T> ListBasedQueue<T> newListBasedQueue(Node upperLeft,
                                               java.util.List<T> content,
                                               java.lang.String name,
                                               DisplayOptions display,
                                               QueueProperties qp)
Description copied from class: Language
Creates a new ListBasedQueue object.

Specified by:
newListBasedQueue in class Language
Parameters:
upperLeft - the upper left coordinates of the ListBasedQueue.
content - the initial content of the ConceptualQueue, consisting of the elements of the generic type T. If the initial ListBasedQueue has no elements, content can be null or an empty List.
name - [optional] an arbitrary name which uniquely identifies this ListBasedQueue. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
qp - [optional] user-defined properties to apply to this ListBasedQueue. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a ListBasedQueue.
See Also:
Language.newListBasedQueue( algoanim.util.Node, java.util.List, java.lang.String, algoanim.util.DisplayOptions, algoanim.properties.QueueProperties)

addDocumentationLink

public void addDocumentationLink(DocumentationLink docuLink)
Specified by:
addDocumentationLink in class Language

addTFQuestion

public void addTFQuestion(TrueFalseQuestion tfQuestion)
Specified by:
addTFQuestion in class Language

addFIBQuestion

public void addFIBQuestion(FillInBlanksQuestion fibQuestion)
Specified by:
addFIBQuestion in class Language

addMCQuestion

public void addMCQuestion(MultipleChoiceQuestion mcQuestion)
Specified by:
addMCQuestion in class Language

addMSQuestion

public void addMSQuestion(MultipleSelectionQuestion msQuestion)
Specified by:
addMSQuestion in class Language

addQuestionGroup

public void addQuestionGroup(GroupInfo group)
Specified by:
addQuestionGroup in class Language

finalizeGeneration

public void finalizeGeneration()
Description copied from class: Language
Method to be called before the content is accessed or written

Specified by:
finalizeGeneration in class Language

getAnimationCode

public java.lang.String getAnimationCode()
Description copied from class: Language
Returns the generated animation code

Specified by:
getAnimationCode in class Language
Returns:
the animation code

setInteractionType

public void setInteractionType(int interactionTypeCode)
Specified by:
setInteractionType in class Language

setInteractionType

public void setInteractionType(int interactionTypeCode,
                               java.lang.String key)

newDoubleArray

public DoubleArray newDoubleArray(Node upperLeft,
                                  double[] data,
                                  java.lang.String name,
                                  ArrayDisplayOptions display,
                                  ArrayProperties iap)
Description copied from class: Language
Creates a new DoubleArray object.

Specified by:
newDoubleArray in class Language
Parameters:
upperLeft - the upper left coordinates of the DoubleArray.
data - the initial data of the DoubleArray.
name - [optional] an arbitrary name which uniquely identifies this DoubleArray. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
iap - [optional] user-defined properties to apply to this IntArray. If you don't want any user-defined properties to be set, then set this parameter to "null", default properties will be applied in that case.
Returns:
a IntArray.

newAndGate

public AndGate newAndGate(Node upperLeft,
                          int width,
                          int height,
                          java.lang.String name,
                          java.util.List<VHDLPin> pins,
                          DisplayOptions display,
                          VHDLElementProperties properties)
Description copied from class: VHDLLanguage
Creates a new AndGate object.

Specified by:
newAndGate in class VHDLLanguage
Parameters:
upperLeft - the upper left coordinates of the AndGate
width - the width of the gate element
height - the height of the gate element
name - [optional] an arbitrary name which uniquely identifies this element. If you don't want to set this, set this parameter to "null". The name is then created automatically.
pins - the pins used for this gate
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
properties - the graphical properties of this element
Returns:
a AndGate.

newNAndGate

public NAndGate newNAndGate(Node upperLeft,
                            int width,
                            int height,
                            java.lang.String name,
                            java.util.List<VHDLPin> pins,
                            DisplayOptions display,
                            VHDLElementProperties properties)
Description copied from class: VHDLLanguage
Creates a new NAndGate object.

Specified by:
newNAndGate in class VHDLLanguage
Parameters:
upperLeft - the upper left coordinates of the NAndGate
width - the width of the gate element
height - the height of the gate element
name - [optional] an arbitrary name which uniquely identifies this element. If you don't want to set this, set this parameter to "null". The name is then created automatically.
pins - the pins used for this gate
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
properties - the graphical properties of this element
Returns:
a NAndGate.

newNorGate

public NorGate newNorGate(Node upperLeft,
                          int width,
                          int height,
                          java.lang.String name,
                          java.util.List<VHDLPin> pins,
                          DisplayOptions display,
                          VHDLElementProperties properties)
Description copied from class: VHDLLanguage
Creates a new NorGate object.

Specified by:
newNorGate in class VHDLLanguage
Parameters:
upperLeft - the upper left coordinates of the NorGate
width - the width of the gate element
height - the height of the gate element
name - [optional] an arbitrary name which uniquely identifies this element. If you don't want to set this, set this parameter to "null". The name is then created automatically.
pins - the pins used for this gate
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
properties - the graphical properties of this element
Returns:
a NorGate.

newNotGate

public NotGate newNotGate(Node upperLeft,
                          int width,
                          int height,
                          java.lang.String name,
                          java.util.List<VHDLPin> pins,
                          DisplayOptions display,
                          VHDLElementProperties properties)
Description copied from class: VHDLLanguage
Creates a new NotGate object.

Specified by:
newNotGate in class VHDLLanguage
Parameters:
upperLeft - the upper left coordinates of the NotGate
width - the width of the gate element
height - the height of the gate element
name - [optional] an arbitrary name which uniquely identifies this element. If you don't want to set this, set this parameter to "null". The name is then created automatically.
pins - the pins used for this gate
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
properties - the graphical properties of this element
Returns:
a NotGate.

newOrGate

public OrGate newOrGate(Node upperLeft,
                        int width,
                        int height,
                        java.lang.String name,
                        java.util.List<VHDLPin> pins,
                        DisplayOptions display,
                        VHDLElementProperties properties)
Description copied from class: VHDLLanguage
Creates a new OrGate object.

Specified by:
newOrGate in class VHDLLanguage
Parameters:
upperLeft - the upper left coordinates of the OrGate
width - the width of the gate element
height - the height of the gate element
name - [optional] an arbitrary name which uniquely identifies this element. If you don't want to set this, set this parameter to "null". The name is then created automatically.
pins - the pins used for this gate
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
properties - the graphical properties of this element
Returns:
a OrGate.

newXNorGate

public XNorGate newXNorGate(Node upperLeft,
                            int width,
                            int height,
                            java.lang.String name,
                            java.util.List<VHDLPin> pins,
                            DisplayOptions display,
                            VHDLElementProperties properties)
Description copied from class: VHDLLanguage
Creates a new XNorGate object.

Specified by:
newXNorGate in class VHDLLanguage
Parameters:
upperLeft - the upper left coordinates of the XNorGate
width - the width of the gate element
height - the height of the gate element
name - [optional] an arbitrary name which uniquely identifies this element. If you don't want to set this, set this parameter to "null". The name is then created automatically.
pins - the pins used for this gate
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
properties - the graphical properties of this element
Returns:
a AndGate.

newXOrGate

public XOrGate newXOrGate(Node upperLeft,
                          int width,
                          int height,
                          java.lang.String name,
                          java.util.List<VHDLPin> pins,
                          DisplayOptions display,
                          VHDLElementProperties properties)
Description copied from class: VHDLLanguage
Creates a new XOrGate object.

Specified by:
newXOrGate in class VHDLLanguage
Parameters:
upperLeft - the upper left coordinates of the XOrGate
width - the width of the gate element
height - the height of the gate element
name - [optional] an arbitrary name which uniquely identifies this element. If you don't want to set this, set this parameter to "null". The name is then created automatically.
pins - the pins used for this gate
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
properties - the graphical properties of this element
Returns:
a XOrGate.

newDFlipflop

public DFlipflop newDFlipflop(Node upperLeft,
                              int width,
                              int height,
                              java.lang.String name,
                              java.util.List<VHDLPin> pins,
                              DisplayOptions display,
                              VHDLElementProperties properties)
Description copied from class: VHDLLanguage
Creates a new DFlipflop object.

Specified by:
newDFlipflop in class VHDLLanguage
Parameters:
upperLeft - the upper left coordinates of the DFlipflop
width - the width of the gate element
height - the height of the gate element
name - [optional] an arbitrary name which uniquely identifies this element. If you don't want to set this, set this parameter to "null". The name is then created automatically.
pins - the pins used for this gate
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
properties - the graphical properties of this element
Returns:
a DFlipflop.

newJKFlipflop

public JKFlipflop newJKFlipflop(Node upperLeft,
                                int width,
                                int height,
                                java.lang.String name,
                                java.util.List<VHDLPin> pins,
                                DisplayOptions display,
                                VHDLElementProperties properties)
Description copied from class: VHDLLanguage
Creates a new JKFlipflop object.

Specified by:
newJKFlipflop in class VHDLLanguage
Parameters:
upperLeft - the upper left coordinates of the JKFlipflop
width - the width of the gate element
height - the height of the gate element
name - [optional] an arbitrary name which uniquely identifies this element. If you don't want to set this, set this parameter to "null". The name is then created automatically.
pins - the pins used for this gate
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
properties - the graphical properties of this element
Returns:
a JKFlipflop.

newRSFlipflop

public RSFlipflop newRSFlipflop(Node upperLeft,
                                int width,
                                int height,
                                java.lang.String name,
                                java.util.List<VHDLPin> pins,
                                DisplayOptions display,
                                VHDLElementProperties properties)
Description copied from class: VHDLLanguage
Creates a new RSFlipflop object.

Specified by:
newRSFlipflop in class VHDLLanguage
Parameters:
upperLeft - the upper left coordinates of the RSFlipflop
width - the width of the gate element
height - the height of the gate element
name - [optional] an arbitrary name which uniquely identifies this element. If you don't want to set this, set this parameter to "null". The name is then created automatically.
pins - the pins used for this gate
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
properties - the graphical properties of this element
Returns:
a RSFlipflop.

newTFlipflop

public TFlipflop newTFlipflop(Node upperLeft,
                              int width,
                              int height,
                              java.lang.String name,
                              java.util.List<VHDLPin> pins,
                              DisplayOptions display,
                              VHDLElementProperties properties)
Description copied from class: VHDLLanguage
Creates a new TFlipflop object.

Specified by:
newTFlipflop in class VHDLLanguage
Parameters:
upperLeft - the upper left coordinates of the TFlipflop
width - the width of the gate element
height - the height of the gate element
name - [optional] an arbitrary name which uniquely identifies this element. If you don't want to set this, set this parameter to "null". The name is then created automatically.
pins - the pins used for this gate
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
properties - the graphical properties of this element
Returns:
a TFlipflop.

newDemultiplexer

public Demultiplexer newDemultiplexer(Node upperLeft,
                                      int width,
                                      int height,
                                      java.lang.String name,
                                      java.util.List<VHDLPin> pins,
                                      DisplayOptions display,
                                      VHDLElementProperties properties)
Description copied from class: VHDLLanguage
Creates a new Demultiplexer object.

Specified by:
newDemultiplexer in class VHDLLanguage
Parameters:
upperLeft - the upper left coordinates of the Demultiplexer
width - the width of the gate element
height - the height of the gate element
name - [optional] an arbitrary name which uniquely identifies this element. If you don't want to set this, set this parameter to "null". The name is then created automatically.
pins - the pins used for this gate
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
properties - the graphical properties of this element
Returns:
a Demultiplexer.

newMultiplexer

public Multiplexer newMultiplexer(Node upperLeft,
                                  int width,
                                  int height,
                                  java.lang.String name,
                                  java.util.List<VHDLPin> pins,
                                  DisplayOptions display,
                                  VHDLElementProperties properties)
Description copied from class: VHDLLanguage
Creates a new Multiplexer object.

Specified by:
newMultiplexer in class VHDLLanguage
Parameters:
upperLeft - the upper left coordinates of the Multiplexer
width - the width of the gate element
height - the height of the gate element
name - [optional] an arbitrary name which uniquely identifies this element. If you don't want to set this, set this parameter to "null". The name is then created automatically.
pins - the pins used for this gate
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
properties - the graphical properties of this element
Returns:
a Multiplexer.

newWire

public VHDLWire newWire(java.util.List<Node> nodes,
                        int speed,
                        java.lang.String name,
                        DisplayOptions display,
                        VHDLWireProperties properties)
Description copied from class: VHDLLanguage
Creates a new wire object.

Specified by:
newWire in class VHDLLanguage
Parameters:
nodes - the nodes of this wire
speed - the display speed of this wire element
name - [optional] an arbitrary name which uniquely identifies this Multiplexer. If you don't want to set this, set this parameter to "null". The name is then created automatically.
display - [optional] a subclass of DisplayOptions which describes additional display options like a hidden flag or timings.
Returns:
a Multiplexer.

hideAllPrimitives

public void hideAllPrimitives()
Specified by:
hideAllPrimitives in class Language

hideAllPrimitivesExcept

public void hideAllPrimitivesExcept(Primitive keepThisOne)
Specified by:
hideAllPrimitivesExcept in class Language

hideAllPrimitivesExcept

public void hideAllPrimitivesExcept(java.util.List<Primitive> keepThese)
Specified by:
hideAllPrimitivesExcept in class Language