public class PassthroughNode extends java.lang.Object implements Node
A Node that passes values through unaltered.
This can be useful if an input to a Network is actually routed to multiple destinations, but you want to handle this connectivity within the Network rather than expose multiple terminations.
Modifier and Type | Class and Description |
---|---|
static class |
PassthroughNode.PassthroughTermination
Termination that receives input unaltered.
|
VisiblyMutable.Event, VisiblyMutable.Listener, VisiblyMutable.NameChangeEvent, VisiblyMutable.NodeRemovedEvent
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ORIGIN
Default name for an origin
|
static java.lang.String |
TERMINATION
Default name for a termination
|
Constructor and Description |
---|
PassthroughNode(java.lang.String name,
int dimension)
Constructor for a simple passthrough with single input.
|
PassthroughNode(java.lang.String name,
int dimension,
java.util.Map<java.lang.String,float[][]> termDefinitions)
Constructor for a summing junction with multiple inputs.
|
Modifier and Type | Method and Description |
---|---|
void |
addChangeListener(VisiblyMutable.Listener listener) |
Node |
clone() |
Node[] |
getChildren() |
java.lang.String |
getDocumentation() |
SimulationMode |
getMode() |
java.lang.String |
getName() |
Origin |
getOrigin(java.lang.String name) |
Origin[] |
getOrigins() |
Termination |
getTermination(java.lang.String name) |
Termination[] |
getTerminations() |
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) |
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 |
setMode(SimulationMode mode)
Does nothing (only DEFAULT mode is supported).
|
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 TERMINATION
public static final java.lang.String ORIGIN
public PassthroughNode(java.lang.String name, int dimension)
name
- Node namedimension
- Dimension of data passing throughpublic PassthroughNode(java.lang.String name, int dimension, java.util.Map<java.lang.String,float[][]> termDefinitions)
name
- Node namedimension
- Dimension of data passing throughtermDefinitions
- Name of each Termination (TERMINATION is used for the single-input case)
and associated transformpublic 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 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 void run(float startTime, float endTime) throws SimulationException
Node
run
in interface Node
startTime
- simulation time at which running starts (s)endTime
- simulation time at which running ends (s)SimulationException
- if a problem is encountered while trying to runNode.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 SimulationMode getMode()
getMode
in interface SimulationMode.ModeConfigurable
SimulationMode.ModeConfigurable.getMode()
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 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 Node clone() throws java.lang.CloneNotSupportedException
public Node[] getChildren()
getChildren
in interface Node
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 void notifyAboutDeletion()
Node
notifyAboutDeletion
in interface Node