source: cpp/frams/config/f0.def @ 1000

Last change on this file since 1000 was 976, checked in by Maciej Komosinski, 4 years ago

Renamed three "solid-compatible" receptors to have more informative names

  • Property svn:eol-style set to native
File size: 14.8 KB
Line 
1CLASS(Model,f0_model,m,Model)
2GROUP(Properties)
3GROUP(Visual)
4PROP(se,0,1024,startenergy,f,,,,startenergy)
5PROP(Vstyle,1,0,vis_style,s,0,0,,vis_style)
6ENDCLASS
7
8CLASS(Part,f0_part,p,Part)
9GROUP(Geometry)
10GROUP(Other properties)
11GROUP(Visual)
12PROP(x,0,1024,position.x,f,,,,p.x)
13PROP(y,0,1024,position.y,f,,,,p.y)
14PROP(z,0,1024,position.z,f,,,,p.z)
15PROP(sh,0,0,shape,d,0,3,0,shape)
16PROP(s,0,0,size,f,0.1,10.0,1.0,size)
17PROP(sx,0,0,scale.x,f,0.001,1000.0,1.0,scale.x)
18PROP(sy,0,0,scale.y,f,0.001,1000.0,1.0,scale.y)
19PROP(sz,0,0,scale.z,f,0.001,1000.0,1.0,scale.z)
20XPROP(h,1,0,hollow,f,0,1,0,hollow)
21XPROP(dn,1,0,density,f,0.2,5.0,1.0,density)
22XPROP(fr,1,0,friction,f,0.0,4.0,0.4,friction)
23XPROP(ing,1,0,ingestion,f,0.0,1.0,0.25,ingest)
24XPROP(as,1,0,assimilation,f,0.0,1.0,0.25,assim)
25PROP(rx,0,0,rot.x,f,,,,rot.x)
26PROP(ry,0,1024,rot.y,f,,,,rot.y)
27PROP(rz,0,1024,rot.z,f,,,,rot.z)
28PROP(i,1,0,`info',s,,,,info)
29PROP(Vstyle,2,0,vis_style,s,0,0,part,vis_style)
30XPROP(vs,2,0,visual thickness,f,0.05,0.7,0.2,vsize)
31XPROP(vr,2,0,red component,f,0.0,1.0,1.0,vcolor.x)
32XPROP(vg,2,1024,green component,f,0.0,1.0,1.0,vcolor.y)
33XPROP(vb,2,1024,blue component,f,0.0,1.0,1.0,vcolor.z)
34ENDCLASS
35
36CLASS(Part_MinMaxDef,f0_part_minmaxdef,p)
37GROUP(Geometry)
38PROP(f,0,0,volume,f,0.83776,20.94395,4.18879,volume,,``Recommended default and min,max range for solid-shape Parts created and modified by genetic operators which are responsible for setting sizex,y,z. Default is the volume of the solid sphere (ball) with default radius=1 (radius is the same as sizex,y,z). Minimum is 5x less, maximum is 5x more.'')
39ENDCLASS
40
41CLASS(Joint,f0_joint,j,Joint)
42GROUP(Connections)
43GROUP(Geometry)
44GROUP(Other properties)
45GROUP(Visual)
46PROP(p1,0,1024,`part1 ref#',d,-1,999999,-1,p1_refno)
47PROP(p2,0,1024,`part2 ref#',d,-1,999999,-1,p2_refno)
48PROP(rx,1,0,rotation.x,f,,,,rot.x)
49PROP(ry,1,1024,rotation.y,f,,,,rot.y)
50PROP(rz,1,1024,rotation.z,f,,,,rot.z)
51PROP(dx,1,0,delta.x,f,-2,2,0,d.x)
52PROP(dy,1,1024,delta.y,f,-2,2,0,d.y)
53PROP(dz,1,1024,delta.z,f,-2,2,0,d.z)
54PROP(sh,1,0,shape,d,0,3,0,shape)
55PROP(hx,1,0,hinge position.x,f,,,0,hinge_pos.x)
56PROP(hy,1,1024,hinge position.y,f,,,0,hinge_pos.y)
57PROP(hz,1,1024,hinge position.z,f,,,0,hinge_pos.z)
58PROP(hrx,1,0,hinge rotation.x,f,,,0,hinge_rot.x)
59PROP(hry,1,1024,hinge rotation.y,f,,,0,hinge_rot.y)
60PROP(hrz,1,1024,hinge rotation.z,f,,,0,hinge_rot.z)
61PROP(hxn,1,0,hinge x negative limit,f,-6.2832,0,-1.5708,hinge_limit_x[0])
62PROP(hxp,1,1024,hinge x positive limit,f,0,6.2832,1.5708,hinge_limit_x[1])
63PROP(hyn,1,0,hinge y negative limit,f,-6.2832,0,-1.5708,hinge_limit_y[0])
64PROP(hyp,1,1024,hinge y positive limit,f,0,6.2832,1.5708,hinge_limit_y[1])
65XPROP(stif,2,0,stiffness,f,0.0,1.0,1.0,stif)
66XPROP(rotstif,2,0,rotation stiffness,f,0.0,1.0,1.0,rotstif)
67PROP(stam,2,0,stamina,f,0.0,1.0,0.25,stamina)
68PROP(i,2,0,`info',s,,,,info)
69PROP(Vstyle,3,0,vis_style,s,0,0,joint,vis_style)
70XPROP(vr,3,0,red component,f,0.0,1.0,1.0,vcolor.x)
71XPROP(vg,3,1024,green component,f,0.0,1.0,1.0,vcolor.y)
72XPROP(vb,3,1024,blue component,f,0.0,1.0,1.0,vcolor.z)
73ENDCLASS
74
75CLASS(Joint,f0_nodeltajoint,j,Joint,NOXML)
76GROUP(Connections)
77GROUP(Geometry)
78GROUP(Other properties)
79GROUP(Visual)
80PROP(p1,0,1024,`part1 ref#',d,-1,999999,-1,p1_refno)
81PROP(p2,0,1024,`part2 ref#',d,-1,999999,-1,p2_refno)
82PROP(sh,1,0,shape,d,0,3,0,shape)
83PROP(hx,1,0,hinge position.x,f,,,0,hinge_pos.x)
84PROP(hy,1,1024,hinge position.y,f,,,0,hinge_pos.y)
85PROP(hz,1,1024,hinge position.z,f,,,0,hinge_pos.z)
86PROP(hrx,1,0,hinge rotation.x,f,,,0,hinge_rot.x)
87PROP(hry,1,1024,hinge rotation.y,f,,,0,hinge_rot.y)
88PROP(hrz,1,1024,hinge rotation.z,f,,,0,hinge_rot.z)
89PROP(hxn,1,0,hinge x negative limit,f,-6.2832,0,-1.5708,hinge_limit_x[0])
90PROP(hxp,1,1024,hinge x positive limit,f,0,6.2832,1.5708,hinge_limit_x[1])
91PROP(hyn,1,0,hinge y negative limit,f,-6.2832,0,-1.5708,hinge_limit_y[0])
92PROP(hyp,1,1024,hinge y positive limit,f,0,6.2832,1.5708,hinge_limit_y[1])
93XPROP(stif,2,0,stiffness,f,0.0,1.0,1.0,stif)
94XPROP(rotstif,2,0,rotation stiffness,f,0.0,1.0,1.0,rotstif)
95PROP(stam,2,0,stamina,f,0.0,1.0,0.25,stamina)
96PROP(i,2,0,`info',s,,,,info)
97PROP(Vstyle,3,0,vis_style,s,0,0,joint,vis_style)
98XPROP(vr,3,0,red component,f,0.0,1.0,1.0,vcolor.x)
99XPROP(vg,3,1024,green component,f,0.0,1.0,1.0,vcolor.y)
100XPROP(vb,3,1024,blue component,f,0.0,1.0,1.0,vcolor.z)
101ENDCLASS
102
103CLASS(Neuro,f0_neuro,n,Neuro)
104GROUP(Connections)
105GROUP(Other)
106GROUP(Visual)
107PROP(p,0,0,`part ref#',d,-1,999999,-1,part_refno)
108PROP(j,0,0,`joint ref#',d,-1,999999,-1,joint_refno)
109PROP(d,1,0,details,s,,,N,details,GETSET)
110PROP(i,1,0,`info',s,,,,info)
111PROP(Vstyle,2,0,vis_style,s,0,0,neuro,vis_style)
112PROP(getInputCount,0,1+2,`input count',d,,,,inputCount,GETONLY)
113PROP(getInputNeuroDef,0,0,`get input neuron',p oNeuroDef(d),,,,p_getInputNeuroDef,PROCEDURE)
114PROP(getInputNeuroIndex,0,0,`get input neuron index',p d(d),,,,p_getInputNeuroIndex,PROCEDURE)
115PROP(getInputWeight,0,0,`get input weight',p f(d),,,,p_getInputWeight,PROCEDURE)
116PROP(classObject,0,1+2,`neuron class',oNeuroClass,,,,classObject,GETONLY)
117ENDCLASS
118
119CLASS(NeuroConn,f0_neuroconn,c,Neuron connection)
120GROUP(Connection)
121GROUP(Other)
122PROP(n1,0,1024,`this neuro ref#',d,-1,999999,-1,n1_refno)
123PROP(n2,0,1024,`connected neuro ref#',d,-1,999999,-1,n2_refno)
124PROP(w,0,1024,weight,f,-999999,999999,1.0,weight)
125PROP(i,1,0,`info',s,,,,info)
126ENDCLASS
127
128NEUROCLASS(StdNeuron,N,Neuron,`Standard neuron',-1,1,0)
129VISUALHINTS(DontShowClass)
130NEUROPROP(in,1,0,Inertia,f,0.0,1.0,0.8,inertia)
131NEUROPROP(fo,1,0,Force,f,0.0,999.0,0.04,force)
132NEUROPROP(si,1,0,Sigmoid,f,-99999.0,99999.0,2.0,sigmo)
133NEUROPROP(s,2,0,State,f,-1.0,1.0,0.0,newstate)
134ENDNEUROCLASS
135
136NEUROCLASS(StdUNeuron,Nu,`Unipolar neuron [EXPERIMENTAL!]',`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)
137NEUROPROP(in,1,0,Inertia,f,0.0,1.0,0.8,inertia)
138NEUROPROP(fo,1,0,Force,f,0.0,999.0,0.04,force)
139NEUROPROP(si,1,0,Sigmoid,f,-99999.0,99999.0,2.0,sigmo)
140NEUROPROP(s,2,0,State,f,-1.0,1.0,0.0,newstate)
141ENDNEUROCLASS
142
143NEUROCLASS(Gyro,G,Gyroscope,`Tilt sensor.\nSignal is proportional to sin(angle) = most sensitive in horizontal orientation.\n0=the stick is horizontal\n+1/-1=the stick is vertical',0,1,2)
144SHAPETYPE(BallAndStickShapeType)
145VISUALHINTS(ReceptorClass)
146SYMBOL(`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')
147ENDNEUROCLASS
148
149NEUROCLASS(GyroP,Gpart,Part Gyroscope,`Tilt sensor. Signal is directly proportional to the tilt angle.\n0=the part X axis is horizontal\n+1/-1=the axis is vertical',0,1,1)
150VISUALHINTS(ReceptorClass)
151SYMBOL(`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')
152NEUROPROP(ry,1,0,rotation.y,f,-6.282,6.282,0,ry)
153NEUROPROP(rz,1,0,rotation.z,f,-6.282,6.282,0,rz)
154ENDNEUROCLASS
155
156NEUROCLASS(Touch,T,Touch,`Touch and proximity sensor (Tc+Tp combined)\n-1=no contact\n0=just touching\n>0=pressing, value depends on the force applied (not implemented in ODE mode)',0,1,1)
157VISUALHINTS(ReceptorClass)
158SYMBOL(`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')
159NEUROPROP(r,1,0,Range,f,0.0,1.0,1.0,range)
160NEUROPROP(ry,1,0,rotation.y,f,-6.282,6.282,0,ry)
161NEUROPROP(rz,1,0,rotation.z,f,-6.282,6.282,0,rz)
162ENDNEUROCLASS
163
164NEUROCLASS(TouchC,Tcontact,Touch contact,`Touch sensor.\n-1=no contact\n0=the Part is touching the obstacle\n>0=pressing, value depends on the force applied (not implemented in ODE mode)',0,1,1)
165VISUALHINTS(ReceptorClass)
166SYMBOL(`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')
167ENDNEUROCLASS
168
169NEUROCLASS(TouchP,Tproximity,Touch proximity,`Proximity sensor detecting obstacles along the X axis.\n-1=distance is \'r\' or more\n0=zero distance',0,1,1)
170VISUALHINTS(ReceptorClass)
171SYMBOL(`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')
172NEUROPROP(r,1,0,Range,f,0.0,1.0,1.0,range)
173NEUROPROP(ry,1,0,rotation.y,f,-6.282,6.282,0,ry)
174NEUROPROP(rz,1,0,rotation.z,f,-6.282,6.282,0,rz)
175ENDNEUROCLASS
176
177NEUROCLASS(Smell,S,Smell,`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)
178VISUALHINTS(ReceptorClass)
179SYMBOL(`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')
180ENDNEUROCLASS
181
182NEUROCLASS(Const,*,Constant,Constant value,0,1,0)
183VISUALHINTS(Invisible)
184SYMBOL(`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')
185ENDNEUROCLASS
186
187NEUROCLASS(BendMuscle,|,Bend muscle,,1,0,2)
188SHAPETYPE(BallAndStickShapeType)
189VISUALHINTS(DontShowClass+EffectorClass+V1BendMuscle+AtFirstPart)
190SYMBOL(`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')
191NEUROPROP(p,0,0,power,f,0.01,1.0,0.25,power)
192NEUROPROP(r,0,0,bending range,f,0.0,1.0,1.0,bendrange)
193ENDNEUROCLASS
194
195NEUROCLASS(RotMuscle,@,Rotation muscle,,1,0,2)
196SHAPETYPE(BallAndStickShapeType)
197VISUALHINTS(DontShowClass+EffectorClass+V1RotMuscle+AtFirstPart)
198SYMBOL(`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')
199NEUROPROP(p,0,0,power,f,0.01,1.0,1.0,power)
200ENDNEUROCLASS
201
202NEUROCLASS(SolidMuscle,M,Muscle for solids,,1,0,2)
203SHAPETYPE(SolidsShapeType)
204JOINTTYPE(SUPPORTED_JOINT_HINGE_X+SUPPORTED_JOINT_HINGE_XY)
205VISUALHINTS(EffectorClass+AtFirstPart+SolidMuscleFlag)
206SYMBOL(`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')
207NEUROPROP(p,0,0,power,f,0.01,1.0,1.0,power)
208NEUROPROP(a,0,0,axis,d,0,1,0,axis)
209ENDNEUROCLASS
210
211NEUROCLASS(Diff,D,Differentiate,Calculate the difference between the current and previous input value. Multiple inputs are aggregated with respect to their weights,-1,1,0)
212SYMBOL(`3,3,25,0,25,100,75,50,25,0,1,75,50,100,50,3,44,42,51,57,36,57,44,42')
213ENDNEUROCLASS
214
215NEUROCLASS(FuzzyNeuro,Fuzzy,Fuzzy system [EXPERIMENTAL!],Refer to publications to learn more about this neuron.,-1,1,0)
216SYMBOL(`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')
217NEUROPROP(ns,0,0,number of fuzzy sets,d,1,,,fuzzySetsNr)
218NEUROPROP(nr,0,0,number of rules,d,1,,,rulesNr)
219NEUROPROP(fs,0,0,fuzzy sets,s,0,-1,,fuzzySetString)
220NEUROPROP(fr,0,0,fuzzy rules,s,0,-1,,fuzzyRulesString)
221ENDNEUROCLASS
222
223NEUROCLASS(VectorEye,VEye,Vector Eye [EXPERIMENTAL!],Refer to publications to learn more about this neuron.,1,1,1)
224SYMBOL(`11,7,100,50,90,50,90,40,70,40,80,50,70,60,90,60,90,50,14,70,50,65,40,60,35,45,30,30,30,15,35,10,40,5,50,10,60,15,65,30,70,45,70,60,65,65,60,70,50,8,38,67,28,62,23,52,28,42,38,37,48,42,53,52,48,62,38,67,4,33,52,38,47,43,52,38,57,33,52,5,70,50,60,40,45,35,30,35,15,40,5,50,1,53,33,58,22,1,62,36,68,26,1,45,30,47,19,1,35,30,35,19,1,27,31,24,20,1,18,34,12,24')
225NEUROPROP(tx,0,0,target.x,f,,,,target.x)
226NEUROPROP(ty,0,0,target.y,f,,,,target.y)
227NEUROPROP(tz,0,0,target.z,f,,,,target.z)
228NEUROPROP(ts,0,0,target shape,s,0,-1,,targetShape)
229NEUROPROP(p,0,0,perspective,f,0.1,10.0,1.0,perspz)
230NEUROPROP(s,0,0,scale,f,0.1,100.0,1.0,perspscale)
231NEUROPROP(h,0,0,show hidden lines,d,0,1,0,showhidden)
232NEUROPROP(o,0,0,`output lines count (each line needs four channels)',d,0,99,0,outputcount)
233NEUROPROP(d,0,0,debug,d,0,1,0,showdebug)
234ENDNEUROCLASS
235
236NEUROCLASS(VisualMotorNeuron,VMotor,Visual-Motor Cortex [EXPERIMENTAL!],`Must be connected to the VEye and properly set up. Refer to publications to learn more about this neuron.',-1,1,0)
237NEUROPROP(noIF,0,0,number of basic features,d,,,,noIF)
238NEUROPROP(noDim,0,0,number of degrees of freedom,d,,,,noDim)
239NEUROPROP(params,0,0,parameters,s,,,,params)
240ENDNEUROCLASS
241
242NEUROCLASS(Sticky,Sti,Sticky [EXPERIMENTAL!],,1,0,1)
243SHAPETYPE(BallAndStickShapeType)
244VISUALHINTS(EffectorClass)
245ENDNEUROCLASS
246
247NEUROCLASS(LinearMuscle,LMu,Linear muscle [EXPERIMENTAL!],,1,0,2)
248SHAPETYPE(BallAndStickShapeType)
249VISUALHINTS(EffectorClass+LinearMuscleFlag)
250NEUROPROP(p,0,0,power,f,0.01,1.0,1.0,power)
251ENDNEUROCLASS
252
253NEUROCLASS(WaterDetect,Water,Water detector,`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)
254VISUALHINTS(ReceptorClass)
255ENDNEUROCLASS
256
257NEUROCLASS(Energy,Energy,Energy level,`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)
258VISUALHINTS(ReceptorClass)
259ENDNEUROCLASS
260
261NEUROCLASS(Channelize,Ch,Channelize,`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)
262SYMBOL(`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')
263ENDNEUROCLASS
264
265NEUROCLASS(ChMux,ChMux,Channel multiplexer,`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)
266SYMBOL(`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')
267ENDNEUROCLASS
268
269NEUROCLASS(ChSel,ChSel,Channel selector,`Outputs a single channel (selected by the \"ch\" parameter) from multichannel input',1,1,0)
270SYMBOL(`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')
271NEUROPROP(ch,0,0,channel,d,,,,ch)
272ENDNEUROCLASS
273
274NEUROCLASS(Random,Rnd,Random noise,`Generates random noise (subsequent random values in the range of -1..+1)',0,1,0)
275ENDNEUROCLASS
276
277NEUROCLASS(Sinus,Sin,Sinus generator,`Output frequency = f0+input',1,1,0)
278SYMBOL(`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')
279NEUROPROP(f0,0,0,base frequency,f,-1.0,1.0,0.06283185307,f0)
280NEUROPROP(t,0,0,time,f,0,6.283185307,0,t)
281ENDNEUROCLASS
Note: See TracBrowser for help on using the repository browser.