Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   Related Pages  

rdGeneralizedForceAtv Class Reference

An actuator that exerts a generalized force and that incorporates activation dynamics. More...

#include <rdGeneralizedForceAtv.h>

Inheritance diagram for rdGeneralizedForceAtv:

rdGeneralizedForce rdActuator rdObject List of all members.

Public Member Functions

 rdGeneralizedForceAtv (int aQID=-1, int aNX=1, int aNY=1, int aNYP=0)
 Default constructor.

 rdGeneralizedForceAtv (IDOM_Element *aElement, int aNX=1, int aNY=1, int aNYP=0)
 Construct the actuator from an XML Element.

 rdGeneralizedForceAtv (const rdGeneralizedForceAtv &aActuator)
 Copy constructor.

virtual ~rdGeneralizedForceAtv ()
 Destructor.

virtual rdActuatorcopy () const
 Copy this actuator and return a pointer to the copy.

virtual rdActuatorcopy (IDOM_Element *aElement) const
 Copy this actuator and modify the copy so that it is consistent with a specified XML element node.

rdGeneralizedForceAtv & operator= (const rdGeneralizedForceAtv &aActuator)
 Assignment operator.

virtual void setControls (const double aX[])
 Set the controls.

virtual void getControls (double rX[]) const
 Get the controls.

virtual void setStates (const double aY[])
 Set the states.

virtual void getStates (double rY[]) const
 Get the states.

void setOptimalForce (double aOptimalForce)
 Set the optimal force of the actuator.

double getOptimalForce () const
 Get the optimal force of the actuator.

void setRiseTime (double aRiseTime)
 Set the rise time of the actuator.

double getRiseTime () const
 Get the rise time of the actuator.

void setFallTime (double aFallTime)
 Set the fall time of the actuator.

double getFallTime () const
 Get the fall time of the actuator.

virtual void promoteControlsToStates (const double aX[], double aDT)
 Set the activation level of this actuator equal to the neural excitation.

virtual void computeActuation ()
 Compute all quantities necessary for applying the actuator force to the model.

virtual void computeStateDerivatives (double rDYDT[])
 Compute the time derivatives of the states for this actuator.

virtual void updateObject (bool aDeep=true)
 Update this object based on its XML node.

virtual void updateNode (bool aDeep=true)
 Update the XML node representing this object.

virtual void generateNode (IDOM_Element *aParent)
 Generate an XML node representing this object.

void updateData ()
 Update the member data of this object based on its XML node.


Protected Attributes

double _x
 Excitation (control 0).

double _a
 Activation level (state 0).

double _optimalForce
 Optimal force.

double _riseTime
 Rise time of activation.

double _fallTime
 Fall time of activation.


Private Member Functions

void setNull ()
 Set the data members of this actuator to their null values.

void copyData (const rdGeneralizedForceAtv &aActuator)
 Copy the member data of the specified actuator.


Static Private Attributes

const char PROP_OPTIMAL_FORCE [] = "optimal_force"
const char PROP_RISE_TIME [] = "rise_time"
const char PROP_FALL_TIME [] = "fall_time"

Detailed Description

An actuator that exerts a generalized force and that incorporates activation dynamics.

It has 1 control (excitation) and 1 state (activation level).

Controls: 1) excitation

States: 1) activation level

Author:
Frank C. Anderson
Version:
1.0


Constructor & Destructor Documentation

rdGeneralizedForceAtv::rdGeneralizedForceAtv IDOM_Element *  aElement,
int  aNX = 1,
int  aNY = 1,
int  aNYP = 0
 

Construct the actuator from an XML Element.

Parameters:
aElement XML element.
aNX Number of controls.
aNY Number of states.
aNYP Number of pseudo-states.

rdGeneralizedForceAtv::rdGeneralizedForceAtv const rdGeneralizedForceAtv &  aActuator  ) 
 

Copy constructor.

Parameters:
aActuator Actuator to be copied.


Member Function Documentation

void rdGeneralizedForceAtv::computeStateDerivatives double  rDYDT[]  )  [virtual]
 

Compute the time derivatives of the states for this actuator.

Parameters:
rDYDT Time derivatives of the states-- should have a length of at least the value returned by getNY().
See also:
getNY()

Reimplemented from rdActuator.

rdActuator * rdGeneralizedForceAtv::copy IDOM_Element *  aElement  )  const [virtual]
 

Copy this actuator and modify the copy so that it is consistent with a specified XML element node.

The copy is constructed by first using the contructor for the IDOM_Element in order to establish the relationship of the rdForce object with the XML node. Then, the assignment operator is used to set all data members of the copy to the values of this object. Finally, the data members of the copy are updated from the IDOM_Elment using updateObject().

Parameters:
aElement XML element.
Returns:
Pointer to a copy of this actuator.

Reimplemented from rdGeneralizedForce.

rdActuator * rdGeneralizedForceAtv::copy  )  const [virtual]
 

Copy this actuator and return a pointer to the copy.

The copy constructor for this class is used.

Returns:
Pointer to a copy of this actuator.

Reimplemented from rdGeneralizedForce.

void rdGeneralizedForceAtv::generateNode IDOM_Element *  aParent  )  [virtual]
 

Generate an XML node representing this object.

Parameters:
aParent Intended parent of the node to be generated. If aParent is NULL, the intent is for this object to serve as the root element of a new document.
See also:
rdObject::generateNode()

Reimplemented from rdGeneralizedForce.

void rdGeneralizedForceAtv::getControls double  rX[]  )  const [virtual]
 

Get the controls.

This actuator has 1 control: excitation.

Parameters:
rX Control array- should have a length of at least 1.

Reimplemented from rdGeneralizedForce.

double rdGeneralizedForceAtv::getFallTime  )  const
 

Get the fall time of the actuator.

Returns:
Fall time of activation dynamics.

double rdGeneralizedForceAtv::getOptimalForce  )  const
 

Get the optimal force of the actuator.

Returns:
Optimal force.

double rdGeneralizedForceAtv::getRiseTime  )  const
 

Get the rise time of the actuator.

Returns:
Rise time of activation dynamics.

void rdGeneralizedForceAtv::getStates double  rY[]  )  const [virtual]
 

Get the states.

This actuator has 1 state: activation.

Parameters:
rY States array- should have a length of at least 1.

Reimplemented from rdActuator.

rdGeneralizedForceAtv & rdGeneralizedForceAtv::operator= const rdGeneralizedForceAtv &  aActuator  ) 
 

Assignment operator.

Returns:
Reference to the altered object.

void rdGeneralizedForceAtv::setControls const double  aX[]  )  [virtual]
 

Set the controls.

This actuator has 1 control: excitation.

Parameters:
aX Control array- should have a length of at least 1.

Reimplemented from rdGeneralizedForce.

void rdGeneralizedForceAtv::setFallTime double  aFallTime  ) 
 

Set the fall time of the actuator.

Parameters:
aFallTime Fall time of activation dynamics.

void rdGeneralizedForceAtv::setOptimalForce double  aOptimalForce  ) 
 

Set the optimal force of the actuator.

Parameters:
aOptimalForce Optimal force.

void rdGeneralizedForceAtv::setRiseTime double  aRiseTime  ) 
 

Set the rise time of the actuator.

Parameters:
aRiseTime Rise time of activation dynamics.

void rdGeneralizedForceAtv::setStates const double  aY[]  )  [virtual]
 

Set the states.

This actuator has 1 state: activation.

Parameters:
aY States array- should have a length of at least 1.

Reimplemented from rdActuator.

void rdGeneralizedForceAtv::updateData  ) 
 

Update the member data of this object based on its XML node.

Member objects (children) are not updated.

Reimplemented from rdGeneralizedForce.

void rdGeneralizedForceAtv::updateNode bool  aDeep = true  )  [virtual]
 

Update the XML node representing this object.

Parameters:
aDeep If true, update the XML node of this object AND the XML nodes of all class members that are rdObjects (child nodes); if false, update only the XML node of this object without updating the XML nodes of its children.

Reimplemented from rdGeneralizedForce.

void rdGeneralizedForceAtv::updateObject bool  aDeep = true  )  [virtual]
 

Update this object based on its XML node.

Parameters:
aDeep If true, update this object and all its child objects (that is, member variables that are rdObject's); if false, update only the member variables that are not rdObject's.

Reimplemented from rdGeneralizedForce.


The documentation for this class was generated from the following files:
Generated on Wed Aug 20 02:17:10 2003 for Simulation Software by doxygen1.3