Realistic Monkey Eye or Head controller. More...
#include <Neuro/SaccadeControllers.H>
Public Member Functions | |
MonkeySaccadeController (OptionManager &mgr, const SaccadeBodyPart bodypart) | |
Constructor. | |
~MonkeySaccadeController () | |
Destructor. | |
Protected Member Functions | |
virtual void | doEvolve (SimEventQueue &q) |
evolve one time step | |
virtual void | computeWhenNewPercept (SimEventQueue &q) |
This method is called each time a new percept has arrived. | |
virtual void | computeWhenResetPos (SimEventQueue &q) |
This method is called each time a reset is made. | |
virtual Point2D< int > | computeWhenNewDecision (SaccadeState &sacstate, bool &blinkstate, SimEventQueue &q) |
This method is called each time a new decision is requested. |
Realistic Monkey Eye or Head controller.
This is part of an attempt at a simplified approach to the MonkeySaccadeCopntroller, which turned out quite complex because of the interdependency between head and eye movements. Here, we fake it by having independent controllers for the eyes and the head, such that we don't need to even deal with gaze stabilization during head movements and VOR. This controller will do either the head or the eye. For a controller that does both, see Monkey2SaccadeController.
Definition at line 339 of file SaccadeControllers.H.
MonkeySaccadeController::MonkeySaccadeController | ( | OptionManager & | mgr, | |
const SaccadeBodyPart | bodypart | |||
) |
Constructor.
Parameters are similar to the FrictionSaccadeController, plus
part | As this controller may be used either for the eye or for the head (as part of bigger controllers that include both eye and head), this should be either SaccadeBodyPartEye or SaccadeBodyPartHead and will determine which model options we use for our internal parameters (eye or head) |
Definition at line 605 of file SaccadeControllers.C.
References ModelComponent::addSubComponent(), and SimTime::ZERO().
MonkeySaccadeController::~MonkeySaccadeController | ( | ) |
Destructor.
Definition at line 619 of file SaccadeControllers.C.
Point2D< int > MonkeySaccadeController::computeWhenNewDecision | ( | SaccadeState & | sacstate, | |
bool & | blinkstate, | |||
SimEventQueue & | q | |||
) | [protected, virtual] |
This method is called each time a new decision is requested.
Implements SaccadeController.
Definition at line 733 of file SaccadeControllers.C.
References SaccadeController::getPreviousDecision(), Point2D< T >::isValid(), and Point2DT::p.
void MonkeySaccadeController::computeWhenNewPercept | ( | SimEventQueue & | q | ) | [protected, virtual] |
This method is called each time a new percept has arrived.
Implements SaccadeController.
Definition at line 663 of file SaccadeControllers.C.
References SaccadeController::getPreviousPercept().
void MonkeySaccadeController::computeWhenResetPos | ( | SimEventQueue & | q | ) | [protected, virtual] |
This method is called each time a reset is made.
Implements SaccadeController.
Definition at line 719 of file SaccadeControllers.C.
References SaccadeController::getPreviousPercept(), and WTAwinner::p.
void MonkeySaccadeController::doEvolve | ( | SimEventQueue & | q | ) | [protected, virtual] |
evolve one time step
Implements SaccadeController.
Definition at line 673 of file SaccadeControllers.C.
References SimEventQueue::now().