Note: The coordinate system begins at the upper left corner
with (0,0).
Primitive Objects
circle -
name - string uniquely identifying this object
x - x coordinate (int)
y - y coordinate (int)
diameter - (int)
color - color of circle drawn
bkgrd - color indicating background
Example: circle c1 20 20 30 black transparent
This creates a circle with the upper left corner at coordinate
20, 20, with a diameter of 20 and with the circle black and the
interior transparent.
line -
name - string uniquely identifying this object
x1 - starting x coordinate (int)
y1 - starting y coordinate (int)
x2 - ending x coordinate (int)
y2 - ending y coordinate (int)
color - color of line drawn
Example: line l1 20 20 40 40 black
This will create a black line extending from 20,20 to 40,40
text -
name - quoted string uniquely identifying this object
x - x coordinate (int)
y - y coordinate (int)
text - string of text, in quotes
color - color of text
Example: text t1 40 40 "HELLO" red
This will write the string "HELLO" at 40,40 in red.
rectangle -
name - string uniquely identifying this object
x1 - top-left x coordinate (int)
y1 - top-left y coordinate (int)
width - width of the rectangle (int)
height - height of the rectangle (int)
color - color of rectangle drawn
bkgrd - background color
Example: rectangle r1 10 20 100 120 black red
This will create a rectangle with its upper left corner at 10,20
and lower right corner at 100,120. It will be outlined in black
and red in the interior.
polygon -
name - string uniquely identifying this object
length - number of points in coordinate list
x1 y1 ... xn yn - list of coordinates connected by lines
to form the polygon
color - color of polygon drawn
bkgrd - color of polygon background
Example: polygon p1 3 15 10 30 5 40 20 yellow blue
This will create a triangle with vertices at (15,10), (30,5),
and (40,20). The edge will be yellow with blue on the interior.
tree -
name - string uniquely identifying this object
x - x coordinate of root node(int)
y - y coordinate of root node(int)
width - (int)
(startNode, endNode) ... (startNode, endNode)
- list of connections between nodes. The startNode
must have already been mentioned as an endNode or
must be the root node.
Example: tree t1 20 20 300 (1,2) (1,3) (2,4)
This will create a tree with width 300 at 20,20 with the
connections described
addNode -
name - name of tree
(startNode, endNode) - connection to add to tree
Example: addNode t1 (3,5)
This will add the connection (3,5) to tree t1.
Example:
After the above tree is created, a could be moved from node 1 to
node 2 with a command like:
moveMarker m1 1 2 1-2 black red
node -
name - string uniquely identifying this object
x - x coordinate (int)
y - y coordinate (int)
diameter - int
color - color of circle drawn
color - color indicating background
Example: node n1 40 30 20 black transparent
This will create a node at 40,30 with diameter 20 using a black
outline and a transparent interior.
connectNodes -
name - string uniquely identifying this object
node1 - string name of the node arc is coming from
node2 - string name of the node arc is going to
color - color of arc
animateDraw - ``true'' or ``false'' indicating whether to
animate the arc draw
Example: connectNodes a1 2 3 black true
This command will animate the connection of node 2 to node 3.
marker -
name - string uniquely identifying this object
nodeName - node where marker starts
diameter - radius of marker (int)
color - color of marker edge
color - color of background
Example: marker m1 2 10 black red
This will create a black marker with red interior located at
node 2.
moveMarker -
name - string uniquely identifying this object
node1 - string identifying the node to leave
node2 - string identifying the node to go to
connectionName - string identifying the node to follow
color - color of marker edge
bkgrd - color of background
Example: moveMarker m1 2 3 a1 black blue
This will animate the movement of the marker from node 2 to node
3 along connection "a1".
graph -
name - name of graph to create
x - x coordinate of upper left corner of graph
y - y coordinate of upper left corner of graph
type - string indicating drawing style, can be "CIRCLE" or "NORMAL"
width - width of graph
(startNode, endNode) ... (startNode, endNode) -
list of connections that make up the graph
Example: graph g1 1 1 NORMAL 300 (1,2) (1, 6) (6, 2) (6,3) (2,3) (5, 1)
Creates a normal graph at 1,1 with width 300 using the listed
connections to build the connections. As with trees, the
connections created are named with the form: "startNode"-"endNode".
Note that NORMAL graphs must be connected, while CIRCLE graphs
can have unconnected nodes.
addNode -
name - name of graph
node - name of node to add
Example: addNode g1 10
Adds node 10 to graph g1. Note that this command can only be
used with graphs of type CIRCLE.
addEdge -
name - name of graph
(startNode, endNode) - connection between two nodes
Example: addNode g1 (10,11)
Adds a connection between nodes 10 and 11. Note that if used
with a CIRCLE graph neither node must already be in the graph, but when
used with NORMAL graph one of the nodes must already be in the graph.
array -
name - name of array
x - x coordinate
y - y coordinate
length - number of cells in array
value1 ... valueN - list of cell values
orientation - can be "horz" or "vert"
color - color of array outline
bkgrd - color of background
Example: array a1 20 30 3 4d " " hello horz black red
Creates a horizontal array at 20,30 with 3 cells. This first
cell contains "4d", the second is blank, and the third contains
"hello".
All cells in arrays can be accessed individually as rectangles. After
creating an array called ``a1'' we could access the fourth cell by referring
to an object called ``a1[3]''. For example if we wanted to change the color
of this cell to blue we would use the command:
changeParam a1[3] bkgrd blue
stack -
name - name of stack
x - x coordinate
y - y coordinate
length - length of stack contents
value1 ... valueN - list of stack values, beginning with top item
color - color of stack
color - color of elements on the stack
Example: stack s1 30 40 3 1 fred 56 black red
Creates a black stack with the red elements 1, "fred", and 56.
push -
name - name of stack to push on
value - value to push on stack
Example: push s1 34
Pushes the value "34" on stack s1.
pop -
name - name of stack to pop from
Example: pop s1
Pops the top item off stack s1.
queue -
name - name of queue
x - x coordinate
y - y coordinate
length - current length of queue contents
value1 ... valueN - list of queue values,
beginning with first item
color - color of queue
color - color of strings in the queue
Example: queue q1 30 40 3 1 fred 56 black red
Creates a black queue with the red elements 1, "fred", and 56.
enqueue -
name - name of queue to push on
value - value to put on the queue
Example: enqeue q1 34
Puts the value "34" on the end of queue q1.
dequeue -
name - name of queue to dequeue
Example: deqeue q1
Removes the first value of queue q1.
begin end
- put around commands you want to appear together on the screen
Example:
begin
circle c1 20 20 30 black transparent
circle c2 40 20 20 red transparent
end
Both circles appear on the screen at the same time.
delay - (NOTE: This does not appear to work)
length - int indicating length of pause in milliseconds
Example: delay 100
This will delay the animation for 1/10 a second
changeParam -
name - string indicating which object will be altered
ParamName - name of parameter to change
NewValue - new value of parameter
Example: changeParam c1 color red
This will change the color of c1's outline to red.
Example: changeParam c1 bkgrd blue
This will change the color of c1's interior to blue.
Example: changeParam t1 text "HELLO"
The text object t1 will now display "HELLO".
moveRelative -( NOTE: only works with circle, rectangle and text)
name - object to move
x - amount to add to x position
y - amount to add to y position
animateDraw - ``true'' or ``false'' indicating whether to
animate the move
Example: moveRelative r1 30 -40 true
This will animate the movement of r1 to a point above and to the
left of its current position.
groupObject- (NOTE: cannot group more than 10 items in an object)
name - name of aggregate of several objects
length - number of objects in group (int) (must be 10 or less)
name1 ... nameN - list of objects to group together
Example: groupObject group1 3 c1 r1 b2
This will create a new object that contains the objects c1, r1,
and b2 which can then be treated as one object. For example,
they could be moved together.
This command only works with primitive objects.
delete
name - name of object to delete
Example: delete g1
This will remove g1 from the animation.