public class FunctionInput extends java.lang.Object implements Node, Probeable
VisiblyMutable.Event, VisiblyMutable.Listener, VisiblyMutable.NameChangeEvent, VisiblyMutable.NodeRemovedEvent
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ORIGIN_NAME
Name for the default origin
|
static java.lang.String |
STATE_NAME
Name for the default input
|
Constructor and Description |
---|
FunctionInput(java.lang.String name,
Function[] functions,
Units units) |
Modifier and Type | Method and Description |
---|---|
void |
addChangeListener(VisiblyMutable.Listener listener) |
Node |
clone() |
Node[] |
getChildren() |
java.lang.String |
getDocumentation() |
Function[] |
getFunctions() |
TimeSeries |
getHistory(java.lang.String stateName)
Note that the units of TimeSeries' for a given state do not change over time (ie at different
time steps).
|
SimulationMode |
getMode() |
java.lang.String |
getName() |
Origin |
getOrigin(java.lang.String name) |
Origin[] |
getOrigins() |
Termination |
getTermination(java.lang.String name) |
Termination[] |
getTerminations() |
java.util.Properties |
listStates() |
void |
notifyAboutDeletion()
This method tells the Node (network) that is being deleted from Nengo,
Node can inform its children (child Nodes) that are being deleted,
these nodes can e.g.
|
void |
removeChangeListener(VisiblyMutable.Listener listener) |
void |
reset(boolean randomize)
This method does nothing, as the FunctionInput has no state.
|
void |
run(float startTime,
float endTime)
Runs the Node (including all its components), updating internal state and outputs as needed.
|
void |
setDocumentation(java.lang.String text) |
void |
setFunctions(Function[] functions) |
void |
setMode(SimulationMode mode)
This call has no effect.
|
void |
setName(java.lang.String name) |
java.lang.String |
toScript(java.util.HashMap<java.lang.String,java.lang.Object> scriptData) |
public static final java.lang.String ORIGIN_NAME
public static final java.lang.String STATE_NAME
public FunctionInput(java.lang.String name, Function[] functions, Units units) throws StructuralException
name
- The name of this Nodefunctions
- Functions of time (simulation time) that produce the values
that will be output by this Node. Each given function corresponds to
a dimension in the output vectors. Each function must have input dimension 1.units
- The units in which the output values are to be interpretedStructuralException
- if functions are not all 1D functions of timepublic void setFunctions(Function[] functions) throws StructuralException
functions
- New list of functions (of simulation time) that define the output of this Node.
(Must have the same length as existing Function list.)StructuralException
- if functions are not all 1D functions of timepublic Function[] getFunctions()
public java.lang.String getName()
getName
in interface Node
Node.getName()
public void setName(java.lang.String name) throws StructuralException
setName
in interface Node
name
- The new nameStructuralException
- if name already exists?public void run(float startTime, float endTime)
Node
run
in interface Node
startTime
- simulation time at which running starts (s)endTime
- simulation time at which running ends (s)Node.run(float, float)
public void reset(boolean randomize)
reset
in interface Resettable
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.Resettable.reset(boolean)
public void setMode(SimulationMode mode)
setMode
in interface SimulationMode.ModeConfigurable
mode
- SimulationMode in which it is desired that the object runs.SimulationMode.ModeConfigurable.setMode(ca.nengo.model.SimulationMode)
public SimulationMode getMode()
getMode
in interface SimulationMode.ModeConfigurable
SimulationMode.ModeConfigurable.getMode()
public TimeSeries getHistory(java.lang.String stateName) throws SimulationException
Probeable
getHistory
in interface Probeable
stateName
- A state variable nameSimulationException
- if the Probeable does not have the requested stateProbeable.getHistory(java.lang.String)
public java.util.Properties listStates()
listStates
in interface Probeable
Probeable.listStates()
public Origin getOrigin(java.lang.String name) throws StructuralException
getOrigin
in interface Node
name
- Name of an Origin on this NodeStructuralException
- if the named Origin does not existNode.getOrigin(java.lang.String)
public Origin[] getOrigins()
getOrigins
in interface Node
Node.getOrigins()
public Termination getTermination(java.lang.String name) throws StructuralException
getTermination
in interface Node
name
- Name of a Termination onto this NodeStructuralException
- if the named Termination does not existNode.getTermination(java.lang.String)
public Termination[] getTerminations()
getTerminations
in interface Node
Node.getTerminations()
public java.lang.String getDocumentation()
getDocumentation
in interface Node
Node.getDocumentation()
public void setDocumentation(java.lang.String text)
setDocumentation
in interface Node
text
- New user-specified documentation for the NodeNode.setDocumentation(java.lang.String)
public void addChangeListener(VisiblyMutable.Listener listener)
addChangeListener
in interface VisiblyMutable
listener
- Listener to addVisiblyMutable.addChangeListener(ca.nengo.util.VisiblyMutable.Listener)
public void removeChangeListener(VisiblyMutable.Listener listener)
removeChangeListener
in interface VisiblyMutable
listener
- Listener to removeVisiblyMutable.removeChangeListener(ca.nengo.util.VisiblyMutable.Listener)
public java.lang.String toScript(java.util.HashMap<java.lang.String,java.lang.Object> scriptData) throws ScriptGenException
toScript
in interface Node
scriptData
- Map of class parent and prefix data for generating python scriptScriptGenException
- if the node cannot be generated in scriptpublic Node clone() throws java.lang.CloneNotSupportedException
public Node[] getChildren()
getChildren
in interface Node
public void notifyAboutDeletion()
Node
notifyAboutDeletion
in interface Node