8 #include "IMovableItemCallback.h"
9 #include "ISimGUICallback.h"
14 #include "IPhysicsMovableItem.h"
15 #include "IPhysicsBody.h"
17 #include "MovableItem.h"
46 namespace ExternalStimuli
84 {
Std_TraceMsg(0,
"Caught Error in desctructor of VoltageClamp\r\n",
"", -1,
false,
true);}
110 THROW_ERROR(Al_Err_lBodyIDBlank, Al_Err_strBodyIDBlank);
146 THROW_PARAM_ERROR(Al_Err_lNodeNotFound, Al_Err_strNodeNotFound,
"ID: ",
m_strTargetNodeID);
157 THROW_TEXT_ERROR(Al_Err_lDataPointNotFound, Al_Err_strDataPointNotFound,
193 if(strType ==
"CLAMPCURRENT")
196 THROW_TEXT_ERROR(Al_Err_lInvalidDataType, Al_Err_strInvalidDataType,
"StimulusName: " + STR(
m_strName) +
" DataType: " + strDataType);
208 if(strType ==
"VTARGET")
210 Vtarget((
float) atof(strValue.c_str()));
216 THROW_PARAM_ERROR(Al_Err_lInvalidDataType, Al_Err_strInvalidDataType,
"Data Type", strDataType);
225 aryProperties.Add(
new TypeProperty(
"ClampCurrent", AnimatPropertyType::Float, AnimatPropertyDirection::Get));
227 aryProperties.Add(
new TypeProperty(
"Vtarget", AnimatPropertyType::Float, AnimatPropertyDirection::Set));
230 void VoltageClamp::Load(
CStdXml &oXml)
232 ActivatedItem::Load(oXml);
virtual void ResetSimulation()
Resets the simulation back to time 0.
Declares the external stimulus base class.
Base class file for all Animat simulation objects.
Declares the nervous system class.
VoltageClamp()
Default constructor.
virtual void Activate()
Activates this item.
Declares the simulation recorder class.
Root namespace for the base simulation library for AnimatLab.
float * m_lpVrest
The resting voltage data variable within the node to clamp.
Declares the body part class.
virtual std::string Type()
returns the string type name of this object.
Simulator * m_lpSim
The pointer to a Simulation.
virtual bool IntoElem()
Goes into the next element where the cursor is located.
virtual float * GetDataPointer(const std::string &strDataType)
Returns a float pointer to a data item of interest in this object.
Class that stores information about types for QueryProperty information.
virtual void QueryProperties(CStdPtrArray< TypeProperty > &aryProperties)
Queries this object for a list of properties that can be changed using SetData.
float * m_lpTotalCurrent
The total current data variable within the node that is clamped.
virtual void StepSimulation()
Step the simulation for this object.
Declares the link base class.
Declares the key frame class.
Declares the joint class.
Declares the organism class.
virtual float * GetDataPointer(const std::string &strDataType)
Returns a float pointer to a data item of interest in this object.
std::string m_strID
The unique Id for this object.
Declares the activated item class.
Declares a light manager object.
virtual void Activate()
Activates this item.
Declares the bounding box class.
Declares the gain base class.
A standard xml manipulation class.
float * m_lpExternalCurrent
Node * m_lpNode
The pointer to this items parent Node. If this is not relevant for this object then this is NULL...
virtual void ResetSimulation()
Resets the simulation back to time 0.
virtual std::string TargetNodeID()
Gets the GUID ID of the target node that will be enabled.
virtual std::string GetChildString(std::string strElementName)
Gets a string value from the element with the specified name.
virtual AnimatBase * FindByID(std::string strID, bool bThrowError=true)
Searches for the object with the specified ID.
float * m_lpGm
The conductance data variable within the node to clamp.
void Std_TraceMsg(const int iLevel, std::string strMessage, std::string strSourceFile, int iSourceLine, bool bLogToFile, bool bPrintHeader)
Traces a message to the debugger window.
Declares the voltage clamp class.
float m_fltTargetCurrent
The target current for the clamp.
float m_fltActiveCurrent
The active current is the target current - total current in the cell.
Base class for body parts and neural network nodes.
virtual bool OutOfElem()
Goes out of the element where the cursor is located.
virtual void Deactivate()
Deactivates this item.
virtual float Vtarget()
Gets the target voltage for the clamp.
float m_fltVtarget
The target voltage for the clamp.
bool Std_IsBlank(std::string strVal)
Trims a string and tests if a string is blank.
Declares the data chart manager class.
Declares the rigid body class.
std::string Std_CheckString(std::string strVal)
Converts a string to upper case and trims it.
Declares the structure class.
Declares the odor type class.
virtual void Initialize()
Initializes this object.
virtual void QueryProperties(CStdPtrArray< TypeProperty > &aryProperties)
Queries this object for a list of properties that can be changed using SetData.
Declares the simulator class.
Declares the neural module class.
Declares the activated item manager class.
Declares the external stimuli manager class.
std::string m_strTargetNodeID
GUID ID of the node that will be clamped.
virtual void Deactivate()
Deactivates this item.
virtual ~VoltageClamp()
Destructor.
Declares the receptive field class.
virtual void Initialize()
Initializes this object.
std::string m_strName
The name for this object.
virtual bool SetData(const std::string &strDataType, const std::string &strValue, bool bThrowError=true)
Set a variable based on a string data type name.
virtual float GetChildFloat(std::string strElementName)
Gets a float value from the element with the specified name.
virtual bool SetData(const std::string &strDataType, const std::string &strValue, bool bThrowError=true)
Set a variable based on a string data type name.