Exemplo n.º 1
0
		/// <summary>
		/// Helper Method to get color from proximal synapse state
		/// </summary>
		/// <param name="distalSynapse"></param>
		/// <param name="color"></param>
		/// <param name="alphaValue"></param>
		private void  GetColorFromDistalSynapse ( DistalSynapse distalSynapse, out Color color, out float alphaValue )
		{
			color = this._dictionaryDistalSynapseColors[HtmDistalSynapseColors.Default].HtmColor;
			alphaValue = .1f; // All conditions can be false. 
			Simulation3DForm visualizerForm = Simulation3D.Form;

			//Color color = distalSynapse.IsActive ( Global.T ) ? Color.Black : Color.White;
			try
			{
				if (distalSynapse.IsActive ( Global.T ))
				{
					alphaValue = 1f;
					color = this._dictionaryDistalSynapseColors[HtmDistalSynapseColors.Active].HtmColor;
				}
				else	// Not Active.
				{
					alphaValue = 1f;
					color = this._dictionaryDistalSynapseColors[HtmDistalSynapseColors.Default].HtmColor;
				}

				//selected
				if (distalSynapse.mouseSelected)
				{
					color = selectedColor;
					alphaValue = 1f;
					//color = this._dictionaryProximalSynapseColors[HtmProximalSynapseColors.MouseSelected].HtmColor;
				}
				//mouseOver
				if (distalSynapse.mouseOver)
				{
					color = mouseOverColor;
					alphaValue = 1f;
					//color = this._dictionaryProximalSynapseColors[HtmProximalSynapseColors.MouseOver].HtmColor;
				}
			}
			catch (Exception)
			{

			}
		}
Exemplo n.º 2
0
        public void TestSynapse()
        {
            this.DefaultSynapseValues();

            var cell = new Cell(null, 0);
            cell.ActiveState[Global.T] = true;
            cell.LearnState[Global.T] = true;

            Synapse syn = new DistalSynapse(cell, Synapse.ConnectedPermanence);
            Assert.Equal(true, syn.IsConnected());

            Assert.Equal(true, syn.IsActive(Global.T));
            Assert.Equal(false, syn.IsActive(Global.T - 1));
            Assert.Equal(false, syn.IsActiveFromLearning(Global.T - 1));

            syn.DecreasePermanence();
            Assert.Equal(false, syn.IsConnected());
            Assert.Equal(true, syn.IsActive(Global.T));

            cell.ActiveState[Global.T] = false;
            Assert.Equal(false, syn.IsActive(Global.T));
        }