Esempio n. 1
0
        private void UndoSynapse()
        {
            if (synapseUndoInfo.Count == 0)
            {
                return;
            }
            SynapseUndo s = synapseUndoInfo.Last();

            synapseUndoInfo.RemoveAt(synapseUndoInfo.Count - 1);

            Neuron n = GetNeuron(s.source);

            if (s.newSynapse) //the synapse was added so delete it
            {
                n.DeleteSynapse(s.target);
            }
            else if (s.delSynapse) //the synapse was deleted so add it back
            {
                n.AddSynapse(s.target, s.weight, s.model);
            }
            else //weight/type changed
            {
                n.AddSynapse(s.target, s.weight, s.model);
            }
            n.Update();
        }
Esempio n. 2
0
        public void AddSynapseUndo(int source, int target, float weight, Synapse.modelType model, bool newSynapse, bool delSynapse)
        {
            SynapseUndo s;

            s = new SynapseUndo
            {
                source     = source,
                target     = target,
                weight     = weight,
                model      = model,
                newSynapse = newSynapse,
                delSynapse = delSynapse,
            };
            synapseUndoInfo.Add(s);
        }