ca.nengo.model.muscle.impl
Class LinkSegmentModelImpl
java.lang.Object
ca.nengo.model.muscle.impl.LinkSegmentModelImpl
- All Implemented Interfaces:
- LinkSegmentModel, Node, Probeable, Resettable, SimulationMode.ModeConfigurable, VisiblyMutable, java.io.Serializable, java.lang.Cloneable
public class LinkSegmentModelImpl
- extends java.lang.Object
- implements LinkSegmentModel
Default implementation of LinkSegmentModel.
- See Also:
- Serialized Form
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
LinkSegmentModelImpl
public LinkSegmentModelImpl(java.lang.String name,
DynamicalSystem dynamics,
float timeStep)
- Parameters:
name
- Segment namedynamics
- Dynamical system governing functiontimeStep
- dt
defineJoint
public void defineJoint(java.lang.String name,
Function[] definition)
- Parameters:
name
- Name of jointdefinition
- 2 or 3 Functions of generalized coordinates, corresponding to (x,y) position
of the joint or (x,y,z) position of the joint
defineMuscle
public void defineMuscle(int input,
SkeletalMuscle muscle,
Function length,
Function momentArm)
- Parameters:
input
- Which of the n inputs are we defining?muscle
- Muscle being definedlength
- Function defining length?momentArm
- Function defining momentum?
getJointNames
public java.lang.String[] getJointNames()
- Specified by:
getJointNames
in interface LinkSegmentModel
- Returns:
- Names of joints
- See Also:
LinkSegmentModel.getJointNames()
getMuscles
public SkeletalMuscle[] getMuscles()
- Specified by:
getMuscles
in interface LinkSegmentModel
- Returns:
- Array of SkeletalMuscles
- See Also:
LinkSegmentModel.getMuscles()
getMode
public SimulationMode getMode()
- Specified by:
getMode
in interface SimulationMode.ModeConfigurable
- Returns:
- The SimulationMode in which the object is running
- See Also:
SimulationMode.ModeConfigurable.getMode()
getName
public java.lang.String getName()
- Specified by:
getName
in interface Node
- Returns:
- Name of Node (must be unique in a Network)
- See Also:
Node.getName()
setName
public void setName(java.lang.String name)
throws StructuralException
- Specified by:
setName
in interface Node
- Parameters:
name
- The new name
- Throws:
StructuralException
- if name already exists?- See Also:
Node.setName(java.lang.String)
getOrigin
public Origin getOrigin(java.lang.String name)
throws StructuralException
- Specified by:
getOrigin
in interface Node
- Parameters:
name
- Name of an Origin on this Node
- Returns:
- The named Origin if it exists
- Throws:
StructuralException
- if the named Origin does not exist- See Also:
Node.getOrigin(java.lang.String)
getOrigins
public Origin[] getOrigins()
- Specified by:
getOrigins
in interface Node
- Returns:
- Sets of ouput channels (eg spiking outputs, gap junctional outputs, etc.)
- See Also:
Node.getOrigins()
getTermination
public Termination getTermination(java.lang.String name)
throws StructuralException
- Specified by:
getTermination
in interface Node
- Parameters:
name
- Name of a Termination onto this Node
- Returns:
- The named Termination if it exists
- Throws:
StructuralException
- if the named Termination does not exist- See Also:
Node.getTermination(java.lang.String)
getTerminations
public Termination[] getTerminations()
- Specified by:
getTerminations
in interface Node
- Returns:
- Sets of input channels (these have the same dimension as corresponding Origins
to which they are connected).
- See Also:
Node.getTerminations()
run
public void run(float startTime,
float endTime)
throws SimulationException
- Description copied from interface:
Node
- Runs the Node (including all its components), updating internal state and outputs as needed.
Runs should be short (eg 1ms), because inputs can not be changed during a run, and outputs
will only be communicated to other Nodes after a run.
- Specified by:
run
in interface Node
- Parameters:
startTime
- simulation time at which running starts (s)endTime
- simulation time at which running ends (s)
- Throws:
SimulationException
- if a problem is encountered while trying to run- See Also:
Node.run(float, float)
setMode
public void setMode(SimulationMode mode)
- Description copied from interface:
SimulationMode.ModeConfigurable
- Sets the object to run in either the given mode or the closest mode that it supports
(all ModeConfigurables must support SimulationMode.DEFAULT, and must default to this mode).
- Specified by:
setMode
in interface SimulationMode.ModeConfigurable
- Parameters:
mode
- SimulationMode in which it is desired that the object runs.- See Also:
SimulationMode.ModeConfigurable.setMode(ca.nengo.model.SimulationMode)
reset
public void reset(boolean randomize)
- Specified by:
reset
in interface Resettable
- Parameters:
randomize
- True indicates that the object should be reset to a
randomly selected initial state (the object must be aware of the
distribution from which to draw from). False indicates that the
object should be reset to a fixed initial state (which it must
also know). Some objects may not support randomization of the initial
state, in which case a fixed state will be used in either case.- See Also:
Resettable.reset(boolean)
getHistory
public TimeSeries getHistory(java.lang.String stateName)
throws SimulationException
- Description copied from interface:
Probeable
- Note that the units of TimeSeries' for a given state do not change over time (ie at different
time steps).
CAUTION: The TimeSeries should not contain a reference to any arrays that you are going to change
later. The caller owns what you return.
- Specified by:
getHistory
in interface Probeable
- Parameters:
stateName
- A state variable name
- Returns:
- History of values for the named state variable. The history must cover the most recent
network time step, and no more. There should be no overlap in the time points returned
for different steps.
- Throws:
SimulationException
- if the Probeable does not have the requested state- See Also:
Probeable.getHistory(java.lang.String)
listStates
public java.util.Properties listStates()
- Specified by:
listStates
in interface Probeable
- Returns:
- List of state variable names, eg "V", and associated descriptions
eg "membrane potential (mV)"
- See Also:
Probeable.listStates()
getDocumentation
public java.lang.String getDocumentation()
- Specified by:
getDocumentation
in interface Node
- Returns:
- User-specified documentation for the Node, if any
- See Also:
Node.getDocumentation()
setDocumentation
public void setDocumentation(java.lang.String text)
- Specified by:
setDocumentation
in interface Node
- Parameters:
text
- New user-specified documentation for the Node- See Also:
Node.setDocumentation(java.lang.String)
addChangeListener
public void addChangeListener(VisiblyMutable.Listener listener)
- Specified by:
addChangeListener
in interface VisiblyMutable
- Parameters:
listener
- Listener to add- See Also:
VisiblyMutable.addChangeListener(ca.nengo.util.VisiblyMutable.Listener)
removeChangeListener
public void removeChangeListener(VisiblyMutable.Listener listener)
- Specified by:
removeChangeListener
in interface VisiblyMutable
- Parameters:
listener
- Listener to remove- See Also:
VisiblyMutable.removeChangeListener(ca.nengo.util.VisiblyMutable.Listener)
clone
public LinkSegmentModel clone()
throws java.lang.CloneNotSupportedException
- Specified by:
clone
in interface Node
- Overrides:
clone
in class java.lang.Object
- Returns:
- An independent copy of the Node
- Throws:
java.lang.CloneNotSupportedException
- if clone can't be made
getChildren
public Node[] getChildren()
- Specified by:
getChildren
in interface Node
toScript
public java.lang.String toScript(java.util.HashMap<java.lang.String,java.lang.Object> scriptData)
throws ScriptGenException
- Specified by:
toScript
in interface Node
- Parameters:
scriptData
- Map of class parent and prefix data for generating python script
- Returns:
- Python script for generating the node
- Throws:
ScriptGenException
- if the node cannot be generated in script