net.cscott.sdr.calls.ast
Class Prim
java.lang.Object
net.cscott.sdr.calls.ast.AstNode
net.cscott.sdr.calls.ast.SeqCall
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
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 |
|
accept(TransformVisitor<T> v,
T t)
|
|
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. |
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
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)
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.
Copyright (c) 2006 C. Scott Ananian