Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## PER.rover
Class DriveToAction

    java.lang.Object
      PER.rover.DriveToAction

All Implemented Interfaces:
  Action, java.io.Serializable

public class DriveToAction
extends java.lang.Object
implements Action

Drives the trikebot a specified distance, after first turning by a set angle (which can be 0).

See Also:
  Serialized Form

Field Summary
`static byte` | `CYCLE_SAFETY` The safety level where it will cycle through the specified safety points
`static byte` | `NO_SAFETY` The safety level where no checking is done
`static byte` | `STATIC_SAFETY` The safety level where it will keep the head at pan=0, tilt=-35

Constructor Summary
`DriveToAction(int fwd)` Creates a new DriveToAction that moves straight ahead taking pictures with safety on.
`DriveToAction(int fwd, int ang, boolean safety)` Creates a new DriveToAction that takes pictures.
`DriveToAction(int fwd, int ang, byte safetyLevel, boolean takePics)` Creates a new DriveToAction.

Method Summary
`boolean` | `doAction(Rover r)` Tries to start the action.
`long` | `getImageUpdateTime()` Lets you know when the last image was taken by this action.
`java.awt.image.BufferedImage` | `getRecentImage()` Returns the most recent image taken by this Action.
`int` | `getReturnValue()` The return value of the Action.
`java.lang.String` | `getShortSummary()` Provides a shortened version of the summary returned by getSummary.
`java.lang.String` | `getSummary()` Provides a textual explanation of the Action, such as "turn 90 degrees"
`int` | `getTime()` How long the action will take, in milliseconds.
`int` | `getTimeRemaining()` How much time until the action finishes (in milliseconds), if it has already started.
`boolean` | `isCompleted()` Whether the action has completed.
`boolean` | `isSuccess()` Whether the action completed successfully.
`void` | `kill()` Emergency stop - end the action immediately, if it's running.
`void` | `setAngle(int ang)` Sets the angle to the given degree (0=straight, 90=left, -90=right).
`void` | `setDistance(int distance)` Sets the distance to the given cm value and recalculates how long the action will take.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### NO_SAFETY

    public static final byte NO_SAFETY

  The safety level where no checking is done

  See Also:
    Constant Field Values

### CYCLE_SAFETY

    public static final byte CYCLE_SAFETY

  The safety level where it will cycle through the specified safety points

  See Also:
    Constant Field Values

### STATIC_SAFETY

    public static final byte STATIC_SAFETY

  The safety level where it will keep the head at pan=0, tilt=-35

  See Also:
    Constant Field Values

Constructor Detail

### DriveToAction

    public DriveToAction(int fwd)

  Creates a new DriveToAction that moves straight ahead taking pictures with safety on.

Parameters:
  `fwd` - centimeters to move forward (after rotating)

### DriveToAction

    public DriveToAction(int fwd,
                         int ang,
                         boolean safety)

  Creates a new DriveToAction that takes pictures. Use Rover.receive.getRecentImage() to get the pictures as the robot is driving.

Parameters:
  `fwd` - centimeters to move forward
  `ang` - the angle to drive at (0=straight, 90=left, -90=right)
  `safety` - if true, rover will stop based on the range finder

### DriveToAction

    public DriveToAction(int fwd,
                         int ang,
                         byte safetyLevel,
                         boolean takePics)

  Creates a new DriveToAction. Use Rover.receive.getRecentImage() to get the pictures as the robot is driving.

Parameters:
  `fwd` - centimeters to move forward
  `ang` - the angle to drive at (0=straight, 90=left, -90=right)
  `safetyLevel` - CYCLE_SAFETY, STATIC_SAFETY, or NO_SAFETY
  `takePics` - if true, the rover will take pictures as it drives

Method Detail

### setDistance

    public void setDistance(int distance)

  Sets the distance to the given cm value and recalculates how long the action will take.

### setAngle

    public void setAngle(int ang)

  Sets the angle to the given degree (0=straight, 90=left, -90=right).

### doAction

    public boolean doAction(Rover r)

  Description copied from interface: `Action`
  Tries to start the action. Returns whether the action started.

  Specified by:
    `doAction` in interface `Action`

### getTime

    public int getTime()

  Description copied from interface: `Action`
  How long the action will take, in milliseconds.

  Specified by:
    `getTime` in interface `Action`

### getSummary

    public java.lang.String getSummary()

  Description copied from interface: `Action`
  Provides a textual explanation of the Action, such as "turn 90 degrees"

  Specified by:
    `getSummary` in interface `Action`

### getShortSummary

    public java.lang.String getShortSummary()

  Description copied from interface: `Action`
  Provides a shortened version of the summary returned by getSummary. For example, getSummary may return something like "Turn left and drive about 39 inches toward the red landmark," whereas getShortSummary might just return "Drive toward a landmark."

  Specified by:
    `getShortSummary` in interface `Action`

### getReturnValue

    public int getReturnValue()

  Description copied from interface: `Action`
  The return value of the Action. Zero is a success. Negative implies one of this class's constants. Other values should be interpreted as appropriate.

  Specified by:
    `getReturnValue` in interface `Action`
  See Also:
    `RoverState`, `ActionConstants`

### isSuccess

    public boolean isSuccess()

  Description copied from interface: `Action`
  Whether the action completed successfully. Undefined until isCompleted() returns true.

  Specified by:
    `isSuccess` in interface `Action`

### isCompleted

    public boolean isCompleted()

  Description copied from interface: `Action`
  Whether the action has completed. Undefined until doAction has been called.

  Specified by:
    `isCompleted` in interface `Action`

### kill

    public void kill()

  Description copied from interface: `Action`
  Emergency stop - end the action immediately, if it's running.

  Specified by:
    `kill` in interface `Action`

### getTimeRemaining

    public int getTimeRemaining()

  Description copied from interface: `Action`
  How much time until the action finishes (in milliseconds), if it has already started. Undefined behavior if the action has not yet begun, or has finished.

  Specified by:
    `getTimeRemaining` in interface `Action`

### getImageUpdateTime

    public long getImageUpdateTime()

  Description copied from interface: `Action`
  Lets you know when the last image was taken by this action. If the Action does not take pictures or the first picture has not yet been taken, will return 0.

  Specified by:
    `getImageUpdateTime` in interface `Action`
  Returns:
    the system time in milliseconds when the last image was taken or 0 if no images have been taken

### getRecentImage

    public java.awt.image.BufferedImage getRecentImage()

  Description copied from interface: `Action`
  Returns the most recent image taken by this Action. The image will be null if the Action does not take pictures or the first picture has not yet been taken.

  Specified by:
    `getRecentImage` in interface `Action`
  Returns:
    the most recent picture taken by the Action.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD