Neuro class, available in: Neuron definitionsLive Neuron object.This class has 30 members:
sdleiF
int channelCountNumber of output channels
NeuroClass classObject RONeuron class for this neuron
Creature creature ROGets owner creature
float currStateCurrent neuron state (channel 0)When read, it behaves just like the 'state' field.
When written, changes the current neuron state immediately, which disturbs the regular synchronous NN operation.
This feature should only be used while controlling the neuron 'from outside' (like a neuro probe) and not in the neuron definition. See also: Neuro.hold
NeuroDef def RONeuron definition from which this live neuron was built
int getInputCount ROGet input count
int hold0 .. 1 (false/true)Hold state"Holding" means keeping the neuron state as is, blocking the regular neuron operation. This is useful when your script needs to inject some control signals into the NN. Without "holding", live neurons would be constantly overwriting your changes, and the rest of the NN could see inconsistent states, depending on the connections. Setting hold=1 ensures the neuron state will be only set by you, and not by the neuron. The enforced signal value can be set using Neuro.currState before or after setting hold=1. Set hold=0 to resume normal operation.
float inputSum ROFull signal sum
MechJoint mechjoint ROMechJoint objectThe MechJoint object where this neuron is located
MechPart mechpart ROMechPart objectThe MechPart object where this neuron is located
NeuroProperties neuroproperties ROCustom neuron fieldsNeurons can have different fields depending on their class. Script neurons have their fields defined using the "property:" syntax. If you develop a custom neuron script you should use the NeuroProperties object for accessing your own neuron fields. The Neuro.neuroproperties property is meant for accessing the neuron fields from the outside script.
Examples:
var c=Populations.createFromString("X[N]");
Simulator.print("standard neuron inertia="+c.getNeuro(0).neuroproperties.in);
c=Populations.createFromString("X[Nn,e:0.1]");
Simulator.print("noisy neuron error rate="+c.getNeuro(0).neuroproperties.e);

The Interface object can be used to discover which fields are available for a certain neuron object:
c=Populations.createFromString("X[N]");
var iobj=Interface.makeFrom(c.getNeuro(0).neuroproperties);
var i;
for(i=0;i<iobj.size;i++)
Simulator.print(iobj.getId(i)+" ("+iobj.getName(i)+")");
float position_x ROPosition x
float position_y ROPosition y
float position_z ROPosition z
Orient relative_orient RORelative orientation
XYZ relative_pos RORelative position
NeuroSignals signals ROSignals
float stateNeuron state (channel 0)When read, returns the current neuron state.
When written, sets the 'internal' neuron state that will become current in the next step.
Typically you should use this field, and not currState.
float weightedInputSum ROFull weighted signal sum
snoitcnuF
function getInputChannelCount(int input)returns intGet channel count for input
function getInputState(int input)returns floatGet input signal
function getInputStateChannel(int input, int channel)returns floatGet input signal from channel
function getInputSum(int input)returns floatGet signal sum
function getInputWeight(int input)returns floatGet input weight
function getStateChannel(int channel)returns floatGet state for channel
function getWeightedInputState(int input)returns floatGet weighted input signal
function getWeightedInputStateChannel(int input, int channel)returns floatGet weighted input signal from channel
function getWeightedInputSum(int input)returns floatGet weighted signal sumUses any number of inputs starting with the specified input. getWeightedInputSum(0)=weightedInputSum
function setCurrStateChannel(int channel, float value)doesn't return a valueSet current neuron state for channelAnalogous to "currState".
function setStateChannel(int channel, float value)doesn't return a valueSet state for channel
Global context>>Experiment definition>>Neuron definitions