source: cpp/frams/neuro/neurocls-f0-SDK-library.h @ 934

Last change on this file since 934 was 934, checked in by Maciej Komosinski, 5 years ago

Introduced 'volume' field available by getMinPart(), getMaxPart(), getDefPart() for genetic operators to limit the range of volumes (~mass) in simulation of solids

  • Property svn:eol-style set to native
File size: 8.4 KB
Line 
1// This file is a part of Framsticks SDK.  http://www.framsticks.com/
2// Copyright (C) 1999-2015  Maciej Komosinski and Szymon Ulatowski.
3// See LICENSE.txt for details.
4
5
6// do not edit - generated automatically from "f0.def"
7// (to be included in "neurolibrary.cpp")
8
9
10
11
12
13
14
15     
16static ParamEntry NI_StdNeuron_tab[]={
17{"Neuron",1, 4 ,"N",},
18
19{"in",1,0,"Inertia","f 0.0 1.0 0.8",},
20{"fo",1,0,"Force","f 0.0 999.0 0.04",},
21{"si",1,0,"Sigmoid","f -99999.0 99999.0 2.0",},
22{"s",2,0,"State","f -1.0 1.0 0.0",},
23 
24{0,0,0,},};
25addClass(new NeuroClass(NI_StdNeuron_tab,"Standard neuron",-1,1,0, NULL,false, 2, 3));
26
27     
28static ParamEntry NI_StdUNeuron_tab[]={
29{"Unipolar neuron [EXPERIMENTAL!]",1, 4 ,"Nu",},
30{"in",1,0,"Inertia","f 0.0 1.0 0.8",},
31{"fo",1,0,"Force","f 0.0 999.0 0.04",},
32{"si",1,0,"Sigmoid","f -99999.0 99999.0 2.0",},
33{"s",2,0,"State","f -1.0 1.0 0.0",},
34 
35{0,0,0,},};
36addClass(new NeuroClass(NI_StdUNeuron_tab,"Works like standard neuron (N) but the output value is scaled to 0...+1 instead of -1...+1.\nHaving 0 as one of the saturation states should help in \"gate circuits\", where input signal is passed through or blocked depending on the other singal.",-1,1,0, NULL,false, 0, 3));
37
38      static int Gyro_xy[]={83,8,7,100,50,90,50,90,40,70,40,80,50,70,60,90,60,90,50,12,43,24,48,24,48,19,38,19,38,24,43,24,43,54,48,54,48,64,43,69,38,64,38,54,43,54,5,63,69,58,74,48,79,38,79,28,74,23,69,1,43,79,43,74,1,23,69,26,66,1,63,69,60,66,1,55,76,53,73,1,31,75,33,72};   
39static ParamEntry NI_Gyro_tab[]={
40{"Gyroscope",1, 0 ,"G",},
41
42
43 
44{0,0,0,},};
45addClass(new NeuroClass(NI_Gyro_tab,"Equilibrium sensor.\n0=the stick is horizontal\n+1/-1=the stick is vertical",0,1,2, Gyro_xy,false, 32, 3));
46
47      static int Touch_xy[]={43,2,7,100,50,90,50,90,40,70,40,80,50,70,60,90,60,90,50,11,75,50,65,50,60,55,55,45,50,55,45,45,40,50,35,50,30,45,25,50,30,55,35,50};   
48static ParamEntry NI_Touch_tab[]={
49{"Touch",1, 1 ,"T",},
50
51
52{"r",1,0,"Range","f 0.0 1.0 1.0",},
53 
54{0,0,0,},};
55addClass(new NeuroClass(NI_Touch_tab,"Touch sensor.\n-1=no contact\n0=just touching\n>0=pressing, value depends on the force applied",0,1,1, Touch_xy,false, 32, 3));
56
57      static int Smell_xy[]={64,5,7,100,50,90,50,90,40,70,40,80,50,70,60,90,60,90,50,3,10,40,15,45,15,55,10,60,5,20,30,25,35,30,45,30,55,25,65,20,70,4,15,35,20,40,22,50,20,60,15,65,5,75,50,50,50,45,45,40,50,45,55,50,50};   
58static ParamEntry NI_Smell_tab[]={
59{"Smell",1, 0 ,"S",},
60
61
62 
63{0,0,0,},};
64addClass(new NeuroClass(NI_Smell_tab,"Smell sensor. Aggregated \"smell of energy\" experienced from all energy objects (creatures and food pieces).\nClose objects have bigger influence than the distant ones: for each energy source, its partial feeling is proportional to its energy/(distance^2)",0,1,1, Smell_xy,false, 32, 3));
65
66      static int Const_xy[]={29,4,4,26,27,26,73,73,73,73,27,26,27,1,73,50,100,50,1,56,68,46,68,2,41,47,51,32,51,68};   
67static ParamEntry NI_Const_tab[]={
68{"Constant",1, 0 ,"*",},
69
70
71 
72{0,0,0,},};
73addClass(new NeuroClass(NI_Const_tab,"Constant value",0,1,0, Const_xy,false, 1, 3));
74
75      static int BendMuscle_xy[]={63,6,5,25,40,35,40,45,50,35,60,25,60,25,40,4,65,85,65,50,75,50,75,85,65,85,3,65,56,49,29,57,24,72,50,4,68,53,70,53,70,55,68,55,68,53,5,50,21,60,15,70,14,79,15,87,20,81,10,1,86,20,77,21};   
76static ParamEntry NI_BendMuscle_tab[]={
77{"Bend muscle",1, 2 ,"|",},
78
79
80
81{"p",0,0,"power","f 0.01 1.0 0.25",},
82{"r",0,0,"bending range","f 0.0 1.0 1.0",},
83 
84{0,0,0,},};
85addClass(new NeuroClass(NI_BendMuscle_tab,"",1,0,2, BendMuscle_xy,false, 2+16+64+4, 1));
86
87      static int RotMuscle_xy[]={62,5,5,25,40,35,40,45,50,35,60,25,60,25,40,4,65,85,65,50,75,50,75,85,65,85,1,69,10,77,17,10,59,15,57,17,57,22,60,26,69,27,78,26,82,21,82,16,79,12,69,10,80,6,3,65,50,65,20,75,20,75,50};   
88static ParamEntry NI_RotMuscle_tab[]={
89{"Rotation muscle",1, 1 ,"@",},
90
91
92
93{"p",0,0,"power","f 0.01 1.0 1.0",},
94 
95{0,0,0,},};
96addClass(new NeuroClass(NI_RotMuscle_tab,"",1,0,2, RotMuscle_xy,false, 2+16+128+4, 1));
97
98      static int SolidMuscle_xy[]={63,6,5,25,40,35,40,45,50,35,60,25,60,25,40,4,65,85,65,50,75,50,75,85,65,85,3,65,56,49,29,57,24,72,50,4,68,53,70,53,70,55,68,55,68,53,5,50,21,60,15,70,14,79,15,87,20,81,10,1,86,20,77,21};   
99static ParamEntry NI_SolidMuscle_tab[]={
100{"Muscle",1, 2 ,"M",},
101
102
103
104{"p",0,0,"power","f 0.01 1.0 1.0",},
105{"a",0,0,"axis","d 0 1 0",},
106 
107{0,0,0,},};
108addClass(new NeuroClass(NI_SolidMuscle_tab,"",1,0,2, SolidMuscle_xy,false, 16+4+512, 2));
109
110      static int Diff_xy[]={24,3,3,25,0,25,100,75,50,25,0,1,75,50,100,50,3,44,42,51,57,36,57,44,42};   
111static ParamEntry NI_Diff_tab[]={
112{"Differentiate",1, 0 ,"D",},
113
114 
115{0,0,0,},};
116addClass(new NeuroClass(NI_Diff_tab,"Calculate the difference between the current and previous input value. Multiple inputs are aggregated with respect to their weights",-1,1,0, Diff_xy,false, 0, 3));
117
118      static int FuzzyNeuro_xy[]={44,5,2,30,65,37,37,44,65,3,37,65,44,37,51,37,58,65,2,51,65,58,37,65,65,6,100,50,70,50,70,25,25,10,25,90,70,75,70,50,1,70,65,25,65};   
119static ParamEntry NI_FuzzyNeuro_tab[]={
120{"Fuzzy system [EXPERIMENTAL!]",1, 4 ,"Fuzzy",},
121
122{"ns",0,0,"number of fuzzy sets","d 1  ",},
123{"nr",0,0,"number of rules","d 1  ",},
124{"fs",0,0,"fuzzy sets","s 0 -1 ",},
125{"fr",0,0,"fuzzy rules","s 0 -1 ",},
126 
127{0,0,0,},};
128addClass(new NeuroClass(NI_FuzzyNeuro_tab,"Refer to publications to learn more about this neuron.",-1,1,0, FuzzyNeuro_xy,false, 0, 3));
129
130     
131static ParamEntry NI_Sticky_tab[]={
132{"Sticky [EXPERIMENTAL!]",1, 0 ,"Sti",},
133
134
135 
136{0,0,0,},};
137addClass(new NeuroClass(NI_Sticky_tab,"",1,0,1, NULL,false, 16, 1));
138
139     
140static ParamEntry NI_LinearMuscle_tab[]={
141{"Linear muscle [EXPERIMENTAL!]",1, 1 ,"LMu",},
142
143
144{"p",0,0,"power","f 0.01 1.0 1.0",},
145 
146{0,0,0,},};
147addClass(new NeuroClass(NI_LinearMuscle_tab,"",1,0,2, NULL,false, 16+256, 1));
148
149     
150static ParamEntry NI_WaterDetect_tab[]={
151{"Water detector",1, 0 ,"Water",},
152
153 
154{0,0,0,},};
155addClass(new NeuroClass(NI_WaterDetect_tab,"Output signal:\n0=on or above water surface\n1=under water (deeper than 1)\n0..1=in the transient area just below water surface",0,1,1, NULL,false, 32, 3));
156
157     
158static ParamEntry NI_Energy_tab[]={
159{"Energy level",1, 0 ,"Energy",},
160
161 
162{0,0,0,},};
163addClass(new NeuroClass(NI_Energy_tab,"The current energy level divided by the initial energy level.\nUsually falls from initial 1.0 down to 0.0 and then the creature dies. It can rise above 1.0 if enough food is ingested",0,1,0, NULL,false, 32, 3));
164
165      static int Channelize_xy[]={57,10,4,25,0,25,100,75,70,75,30,25,0,1,75,50,100,50,1,70,50,55,50,1,30,80,55,50,1,30,20,55,50,1,30,35,55,50,1,30,45,55,50,1,30,55,55,50,1,61,53,65,47,1,30,65,55,50};   
166static ParamEntry NI_Channelize_tab[]={
167{"Channelize",1, 0 ,"Ch",},
168
169 
170{0,0,0,},};
171addClass(new NeuroClass(NI_Channelize_tab,"Combines all input signals into a single multichannel output; Note: ChSel and ChMux are the only neurons which support multiple channels. Other neurons discard everything except the first channel.",-1,1,0, Channelize_xy,false, 0, 3));
172
173      static int ChMux_xy[]={52,7,4,25,0,25,100,75,70,75,30,25,0,1,75,50,100,50,1,70,50,55,50,3,50,55,55,50,50,45,50,55,3,30,67,45,67,45,50,50,50,1,35,70,39,64,2,30,33,53,33,53,48};   
174static ParamEntry NI_ChMux_tab[]={
175{"Channel multiplexer",1, 0 ,"ChMux",},
176
177 
178{0,0,0,},};
179addClass(new NeuroClass(NI_ChMux_tab,"Outputs the selected channel from the second (multichannel) input. The first input is used as the selector value (-1=select first channel, .., 1=last channel)",2,1,0, ChMux_xy,false, 0, 3));
180
181      static int ChSel_xy[]={41,6,4,25,0,25,100,75,70,75,30,25,0,1,75,50,100,50,1,70,50,55,50,3,50,55,55,50,50,45,50,55,1,30,50,50,50,1,35,53,39,47};   
182static ParamEntry NI_ChSel_tab[]={
183{"Channel selector",1, 1 ,"ChSel",},
184
185{"ch",0,0,"channel","d   ",},
186 
187{0,0,0,},};
188addClass(new NeuroClass(NI_ChSel_tab,"Outputs a single channel (selected by the \"ch\" parameter) from multichannel input",1,1,0, ChSel_xy,false, 0, 3));
189
190     
191static ParamEntry NI_Random_tab[]={
192{"Random noise",1, 0 ,"Rnd",},
193 
194{0,0,0,},};
195addClass(new NeuroClass(NI_Random_tab,"Generates random noise (subsequent random values in the range of -1..+1)",0,1,0, NULL,false, 0, 3));
196
197      static int Sinus_xy[]={46,3,12,75,50,71,37,62,28,50,25,37,28,28,37,25,50,28,62,37,71,50,75,62,71,71,62,75,50,1,75,50,100,50,5,35,50,40,35,45,35,55,65,60,65,65,50};   
198static ParamEntry NI_Sinus_tab[]={
199{"Sinus generator",1, 2 ,"Sin",},
200
201{"f0",0,0,"base frequency","f -1.0 1.0 0.06283185307",},
202{"t",0,0,"time","f 0 6.283185307 0",},
203 
204{0,0,0,},};
205addClass(new NeuroClass(NI_Sinus_tab,"Output frequency = f0+input",1,1,0, Sinus_xy,false, 0, 3));
Note: See TracBrowser for help on using the repository browser.