Exemplo n.º 1
0
    SocketInitData[] CreateSockets()
    {
        SortNeuronsByIO(neurons);

        SocketInitData[] sockets = new SocketInitData[neurons.Count];
        //Debug.Log($"sockets: {sockets.Length}, input: {inputNeurons.Count}, output: {outputNeurons.Count}, " +
        //          $"hidden: {hiddenNeurons.Count}, total: {inputNeurons.Count + outputNeurons.Count + hiddenNeurons.Count}");

        // Place input and output neurons before hidden neurons
        // because hidden neurons are between connected input and output neurons.

        /*int offset = 0;
         * for (int i = 0; i < inputNeurons.Count; i++)
         *  sockets[i + offset].position = placement.GetNeuronPosition(inputNeurons[i]);
         *
         * offset = inputNeurons.Count;
         * for (int i = 0; i < outputNeurons.Count; i++)
         *  sockets[i + offset].position = placement.GetNeuronPosition(outputNeurons[i]);
         *
         * offset = inputNeurons.Count + outputNeurons.Count;
         * for (int i = 0; i < hiddenNeurons.Count; i++) {
         *  sockets[i + offset].position = placement.GetHiddenNeuronPosition(hiddenNeurons[i]);
         *  //Debug.Log("HID " + sockets[i + offset].position);
         * }*/
        // WPP: delegated branching to placement to simplify interface
        // + placement calculated during neuron creation
        for (int i = 0; i < sockets.Length; i++)
        {
            sockets[i].position = neurons[i].data.iconPosition;
        }

        return(sockets);
    }
Exemplo n.º 2
0
    SocketInitData[] CreateSockets(List <Neuron> neurons)
    {
        SocketInitData[] sockets = new SocketInitData[neuronCount];

        for (int i = 0; i < neuronCount; i++)
        {
            var list = neurons[i].io == NeuronType.In ? inputNeurons : outputNeurons;
            list.Add(neurons[i]);
        }

        AssignNeuralPositions(ref sockets, inputNeurons.Count, 0, inputZ);
        AssignNeuralPositions(ref sockets, outputNeurons.Count, inputNeurons.Count, outputZ);

        return(sockets);
    }