- Main Page
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# Mers::Executives::DeductiveController::Stub::DCStub Class Reference

`#include <DCStub.h>`

Inheritance diagram for Mers::Executives::DeductiveController::Stub::DCStub:

[legend]
Collaboration diagram for Mers::Executives::DeductiveController::Stub::DCStub:

[legend]
List of all members.

## Public Member Functions
| DCStub (Mers::Models::Base::BaseModel *model)
virtual int | step (bool block=true)
virtual void | setInitialState (unsigned int state_index, unsigned int value_index)
virtual void | requestAbort ()
virtual void | requestFullState ()
virtual void | requestMR ()

## Detailed Description

Stub for the DeductiveController class

Author:
  Paul H. Elliott

Definition at line 31 of file DCStub.h.

## Constructor & Destructor Documentation

DCStub::DCStub | ( | Mers::Models::Base::BaseModel * | model | ) |

Constructs this object.

Definition at line 37 of file DCStub.cpp.

## Member Function Documentation

int DCStub::step | ( | bool | block = `true` | ) | `[virtual]`

Takes a single processing step. If block is false, then this executive will only progress if it is ready to progress. If block is true, then this executive will wait until progress can be made before returning. Generally, block should be false for reactive systems, and should be true when running this task-step process on a seperate thread.

Parameters:

  | block | If true, this procedure will always progress before returning. If false, this procedure will not block but will return an error if blocking is required to make progress.

Returns:
  the following values:
  * -1: no progress could be made w/o blocking
  * 0: successfully progressed
  * 1: execution failure
  * 2: exception (designers intent)

Reimplemented from Mers::Executives::DeductiveController::DCInterface.

Definition at line 44 of file DCStub.cpp.

References Mers::Utils::Containers::dynamic_pointer_cast(), Mers::Executives::DeductiveController::DCInterface::mActiveGoals, and Mers::Executives::DeductiveController::DCInterface::post_observation().

Here is the call graph for this function:

void DCStub::setInitialState | ( | unsigned int | state_index,
|  | unsigned int | value_index |
| ) |  |  | `[virtual]`

Adds monitor state value to the message queue for assignment. This method does NOT use RTAPI timers.

Parameters:

  | state_index | The index of the state variable
  | value_index | The index of the state's new value

Reimplemented from Mers::Executives::DeductiveController::DCInterface.

Definition at line 68 of file DCStub.cpp.

References Mers::Executives::DeductiveController::DCInterface::post_observation().

Here is the call graph for this function:

void DCStub::requestAbort | ( |  | ) | `[virtual]`

Terminates estimation as soon as it has finished with its current work.

Reimplemented from Mers::Executives::DeductiveController::DCInterface.

Definition at line 76 of file DCStub.cpp.

void DCStub::requestFullState | ( |  | ) | `[virtual]`

This method can be used to request the transmission of a full state estimate. This is different from the default "partial" state estimate produced, which only shows items that have changed since the previous timestep.

Reimplemented from Mers::Executives::DeductiveController::DCInterface.

Definition at line 82 of file DCStub.cpp.

void DCStub::requestMR | ( |  | ) | `[virtual]`

This method must be called once the goal state has been completely specified, and the client wishes to receive the next command that should be issued to the plant.

This method is needed as MR cannot determine how many goals need to be queued to define the full goal state.

On the other hand, if there were a method that took an array of goals (i.e. a goal state), this method would be unnecessary?

Reimplemented from Mers::Executives::DeductiveController::DCInterface.

Definition at line 88 of file DCStub.cpp.

The documentation for this class was generated from the following files:

- /Users/fpy/titan-1-5-MBARI/Mers/Executives/DeductiveController/Stub/DCStub.h
- /Users/fpy/titan-1-5-MBARI/Mers/Executives/DeductiveController/Stub/DCStub.cpp