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 FindRockAction

    java.lang.Object
      PER.rover.FindRockAction

All Implemented Interfaces:
  Action, java.io.Serializable

public class FindRockAction
extends java.lang.Object
implements Action

An action to search for a rock intelligently. If the rover had to stop early because it detected an obstacle, the scan will cover a smaller range. If the first scan, which only looks short

See Also:
  Serialized Form

Constructor Summary
`FindRockAction(boolean obstacleDetected)` FindRockAction constructor

Method Summary
`int` | `closestReading()` Gives you the minimum rock distance in cm.
`boolean` | `doAction(Rover r)` Tries to start the action.
`long` | `getImageUpdateTime()` Lets you know when the last image was taken by this action.
`int` | `getMaxRockAngle()` Gives you the maximum angle at which the rock was found
`int` | `getMinRockAngle()` Gives you the minimum angle at which the rock was found
`java.awt.image.BufferedImage` | `getRecentImage()` Returns the most recent image taken by this Action.
`int` | `getReturnValue()` The return value of the Action.
`int` | `getRockAngle()` Getter for property rockAngle.
`int` | `getRockDist()` Getter for property rockDist.
`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` | `hasFoundRock()` Tells you whether the FindRockAction found a rock
`boolean` | `isCompleted()` Whether the action has completed.
`boolean` | `isSuccess()` Tells you whether the Action completed successfully.
`void` | `kill()` this action can't currently be killed
`int` | `moveFromRock(Rover rov, int turnAngle)` If the rover is near a rock and will turn into it, this function should make it so that the rover won't hit the rock

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

Constructor Detail

### FindRockAction

    public FindRockAction(boolean obstacleDetected)

  FindRockAction constructor

Parameters:
  `obstacleDetected` - should be set to true if the rover stopped early because of a detected obstacle.

Method Detail

### 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`

### 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`

### 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`

### 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`

### getTime

    public int getTime()

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

  Specified by:
    `getTime` 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`

### 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`

### isSuccess

    public boolean isSuccess()

  Tells you whether the Action completed successfully. To find out if a rock was found call hasFoundRock();

  Specified by:
    `isSuccess` in interface `Action`
  Returns:
    true if the action completed successfully

### kill

    public void kill()

  this action can't currently be killed

  Specified by:
    `kill` in interface `Action`

### hasFoundRock

    public boolean hasFoundRock()

  Tells you whether the FindRockAction found a rock

  Returns:
    true if rover found a rock, only valid once action is complete.

### getRockAngle

    public int getRockAngle()

  Getter for property rockAngle.

  Returns:
    The angle to the nearest rock in degrees, but only if hasFoundRock() == true.

### getRockDist

    public int getRockDist()

  Getter for property rockDist.

  Returns:
    The distance to the nearest rock in cm, but only if hasFoundRock() == true.

### getMinRockAngle

    public int getMinRockAngle()

  Gives you the minimum angle at which the rock was found

  Returns:
    the minimum rock angle, but only if hasFoundRock() == true.

### getMaxRockAngle

    public int getMaxRockAngle()

  Gives you the maximum angle at which the rock was found

  Returns:
    the maximum rock angle, but only if hasFoundRock() == true.

### closestReading

    public int closestReading()

  Gives you the minimum rock distance in cm.

  Returns:
    the minimum rock distance, but only if hasFoundRock() == true.

### moveFromRock

    public int moveFromRock(Rover rov,
                            int turnAngle)

  If the rover is near a rock and will turn into it, this function should make it so that the rover won't hit the rock

  Parameters:
    `rov` - An active instantion of a Rover
    `turnAngle` - the angle that the rover is about to turn

### 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