sdr 0.2

net.cscott.sdr.calls.ast
Class Prim

java.lang.Object
  extended by net.cscott.sdr.calls.ast.AstNode
      extended by net.cscott.sdr.calls.ast.SeqCall
          extended by net.cscott.sdr.calls.ast.Prim

public class Prim
extends SeqCall

A Prim represents a primitive action: a certain distance travelled forward and to the side, while rotating a certain amount, performed in a certain number of beats. PRIM is a leaf node in a our AST.

Version:
$Id: Prim.java,v 1.10 2006-10-25 20:39:36 cananian Exp $
Author:
C. Scott Ananian

Nested Class Summary
static class Prim.Direction
           
 
Field Summary
 Prim.Direction dirRot
           
 Prim.Direction dirX
           
 Prim.Direction dirY
           
 boolean passRight
           
 ExactRotation rot
           
static Prim STAND_STILL
           
 Fraction time
           
 Fraction x
           
 Fraction y
           
 
Fields inherited from class net.cscott.sdr.calls.ast.AstNode
type
 
Constructor Summary
Prim(Prim.Direction dirX, Fraction x, Prim.Direction dirY, Fraction y, Prim.Direction dirRot, ExactRotation rot)
           
Prim(Prim.Direction dirX, Fraction x, Prim.Direction dirY, Fraction y, Prim.Direction dirRot, ExactRotation rot, Fraction time, boolean passRight)
           
 
Method Summary
<T> SeqCall
accept(TransformVisitor<T> v, T t)
           
<RESULT,CLOSURE>
RESULT
accept(ValueVisitor<RESULT,CLOSURE> v, CLOSURE cl)
           
 String argsToString()
           
 Prim build(Prim.Direction dirX, Fraction x, Prim.Direction dirY, Fraction y, Prim.Direction dirRot, ExactRotation rot, Fraction time, boolean passRight)
          Factory: creates new Prim only if it would differ from this.
 boolean equals(Object o)
           
 int hashCode()
           
 Prim scaleTime(Fraction f)
          Create a new Prim, identical to this one except that the time is scaled by the given fraction.
 
Methods inherited from class net.cscott.sdr.calls.ast.AstNode
toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

x

public final Fraction x

y

public final Fraction y

rot

public final ExactRotation rot

dirX

public final Prim.Direction dirX

dirY

public final Prim.Direction dirY

dirRot

public final Prim.Direction dirRot

time

public final Fraction time

passRight

public final boolean passRight

STAND_STILL

public static final Prim STAND_STILL
Constructor Detail

Prim

public Prim(Prim.Direction dirX,
            Fraction x,
            Prim.Direction dirY,
            Fraction y,
            Prim.Direction dirRot,
            ExactRotation rot)

Prim

public Prim(Prim.Direction dirX,
            Fraction x,
            Prim.Direction dirY,
            Fraction y,
            Prim.Direction dirRot,
            ExactRotation rot,
            Fraction time,
            boolean passRight)
Method Detail

accept

public <T> SeqCall accept(TransformVisitor<T> v,
                          T t)
Specified by:
accept in class SeqCall

accept

public <RESULT,CLOSURE> RESULT accept(ValueVisitor<RESULT,CLOSURE> v,
                                      CLOSURE cl)
Specified by:
accept in class AstNode

argsToString

public String argsToString()
Overrides:
argsToString in class AstNode

equals

public boolean equals(Object o)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

scaleTime

public Prim scaleTime(Fraction f)
Create a new Prim, identical to this one except that the time is scaled by the given fraction.


build

public Prim build(Prim.Direction dirX,
                  Fraction x,
                  Prim.Direction dirY,
                  Fraction y,
                  Prim.Direction dirRot,
                  ExactRotation rot,
                  Fraction time,
                  boolean passRight)
Factory: creates new Prim only if it would differ from this.


sdr 0.2

Copyright (c) 2006 C. Scott Ananian