source: cpp/gdk/f0.def @ 80

Last change on this file since 80 was 80, checked in by Maciej Komosinski, 11 years ago
  • new properties in Parts and Joints: visual red, green, blue, thickness
  • updated list of Neurons and their properties
  • Property svn:eol-style set to native
File size: 10.7 KB
Line 
1CLASS(Model,f0_model,m)
2GROUP(Properties)
3GROUP(Visual)
4PROP(se,0,1024,startenergy,f,,,,startenergy)
5PROP(Vstyle,1,0,vis_style,s,0,-1,,vis_style)
6ENDCLASS
7
8CLASS(Part,f0_part,p)
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)
15XPROP(m,1,0,mass,f,0.1,999.0,1.0,mass)
16PROP(s,1,0,size,f,0.1,10.0,1.0,size)
17XPROP(dn,1,0,density,f,0.2,5.0,1.0,density)
18XPROP(fr,1,0,friction,f,0.0,4.0,0.4,friction)
19XPROP(ing,1,0,ingestion,f,0.0,1.0,0.25,ingest)
20XPROP(as,1,0,assimilation,f,0.0,1.0,0.25,assim)
21PROP(rx,0,0,rot.x,f,,,,rot.x)
22PROP(ry,0,1024,rot.y,f,,,,rot.y)
23PROP(rz,0,1024,rot.z,f,,,,rot.z)
24PROP(i,1,0,`info',s,,,,info)
25PROP(Vstyle,2,0,vis_style,s,0,-1,part,vis_style)
26XPROP(vs,2,0,visual thickness,f,0.05,0.7,0.2,vsize)
27XPROP(vr,2,0,red component,f,0.0,1.0,0.5,vcolor.x)
28XPROP(vg,2,1024,green component,f,0.0,1.0,0.5,vcolor.y)
29XPROP(vb,2,1024,blue component,f,0.0,1.0,0.5,vcolor.z)
30ENDCLASS
31
32CLASS(Joint,f0_joint,j)
33GROUP(Connections)
34GROUP(Geometry)
35GROUP(Other properties)
36GROUP(Visual)
37PROP(p1,0,1024,`part1 ref#',d,-1,999999,-1,p1_refno)
38PROP(p2,0,1024,`part2 ref#',d,-1,999999,-1,p2_refno)
39PROP(rx,1,0,rotation.x,f,,,,rot.x)
40PROP(ry,1,1024,rotation.y,f,,,,rot.y)
41PROP(rz,1,1024,rotation.z,f,,,,rot.z)
42PROP(dx,1,0,delta.x,f,-2,2,0,d.x)
43PROP(dy,1,1024,delta.y,f,-2,2,0,d.y)
44PROP(dz,1,1024,delta.z,f,-2,2,0,d.z)
45XPROP(stif,2,0,stiffness,f,0.0,1.0,1.0,stif)
46XPROP(rotstif,2,0,rotation stiffness,f,0.0,1.0,1.0,rotstif)
47PROP(stam,2,0,stamina,f,0.0,1.0,0.25,stamina)
48PROP(i,2,0,`info',s,,,,info)
49PROP(Vstyle,3,0,vis_style,s,0,-1,joint,vis_style)
50XPROP(vr,3,0,red component,f,0.0,1.0,0.5,vcolor.x)
51XPROP(vg,3,1024,green component,f,0.0,1.0,0.5,vcolor.y)
52XPROP(vb,3,1024,blue component,f,0.0,1.0,0.5,vcolor.z)
53ENDCLASS
54
55CLASS(Joint,f0_nodeltajoint,j,NOXML)
56GROUP(Connections)
57GROUP(Geometry)
58GROUP(Other properties)
59GROUP(Visual)
60PROP(p1,0,1024,`part1 ref#',d,-1,999999,-1,p1_refno)
61PROP(p2,0,1024,`part2 ref#',d,-1,999999,-1,p2_refno)
62XPROP(stif,2,0,stiffness,f,0.0,1.0,1.0,stif)
63XPROP(rotstif,2,0,rotation stiffness,f,0.0,1.0,1.0,rotstif)
64PROP(stam,2,0,stamina,f,0.0,1.0,0.25,stamina)
65PROP(i,2,0,`info',s,,,,info)
66PROP(Vstyle,3,0,vis_style,s,0,-1,joint,vis_style)
67XPROP(vr,3,0,red component,f,0.0,1.0,0.5,vcolor.x)
68XPROP(vg,3,1024,green component,f,0.0,1.0,0.5,vcolor.y)
69XPROP(vb,3,1024,blue component,f,0.0,1.0,0.5,vcolor.z)
70ENDCLASS
71
72CLASS(Neuro,f0_neuro,n)
73GROUP(Connections)
74GROUP(Other)
75GROUP(Visual)
76PROP(p,0,0,`part ref#',d,-1,999999,-1,part_refno)
77PROP(j,0,0,`joint ref#',d,-1,999999,-1,joint_refno)
78PROP(d,1,0,item details,s,,,N,details,GETSET)
79PROP(i,1,0,`info',s,,,,info)
80PROP(Vstyle,2,0,vis_style,s,0,-1,neuro,vis_style)
81PROP(getInputCount,0,1+2,`input count',d,,,,inputCount,GETONLY)
82PROP(getInputNeuroDef,0,1+2,`get input neuron',p oNeuroDef(d),,,,p_getInputNeuroDef,PROCEDURE)
83PROP(getInputNeuroIndex,0,1+2,`get input neuron index',p d(d),,,,p_getInputNeuroIndex,PROCEDURE)
84PROP(getInputWeight,0,1+2,`get input weight',p f(d),,,,p_getInputWeight,PROCEDURE)
85PROP(classObject,0,1+2,`neuron class',o NeuroClass,,,,classObject,GETONLY)
86ENDCLASS
87
88CLASS(NeuroConn,f0_neuroconn,c)
89GROUP(Connection)
90GROUP(Other)
91PROP(n1,0,1024,`this neuro ref#',d,-1,999999,-1,n1_refno)
92PROP(n2,0,1024,`connected neuro ref#',d,-1,999999,-1,n2_refno)
93PROP(w,0,1024,weight,f,-999999,999999,1.0,weight)
94PROP(i,1,0,`info',s,,,,info)
95ENDCLASS
96
97NEUROCLASS(StdNeuron,N,Neuron,`Standard neuron',-1,1,0)
98VISUALHINTS(DontShowClass)
99NEUROPROP(in,1,0,Inertia,f,0.0,1.0,0.8,inertia)
100NEUROPROP(fo,1,0,Force,f,0.0,999.0,0.04,force)
101NEUROPROP(si,1,0,Sigmoid,f,-99999.0,99999.0,2.0,sigmo)
102NEUROPROP(s,2,0,State,f,-1.0,1.0,0.0,newstate)
103ENDNEUROCLASS
104
105NEUROCLASS(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)
106NEUROPROP(in,1,0,Inertia,f,0.0,1.0,0.8,inertia)
107NEUROPROP(fo,1,0,Force,f,0.0,999.0,0.04,force)
108NEUROPROP(si,1,0,Sigmoid,f,-99999.0,99999.0,2.0,sigmo)
109NEUROPROP(s,2,0,State,f,-1.0,1.0,0.0,newstate)
110ENDNEUROCLASS
111
112NEUROCLASS(Gyro,G,Gyroscope,`Equilibrium sensor.\n0=the stick is horizontal\n+1/-1=the stick is vertical',0,1,2)
113VISUALHINTS(ReceptorClass)
114SYMBOL(`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')
115ENDNEUROCLASS
116
117NEUROCLASS(Touch,T,Touch,`Touch sensor.\n-1=no contact\n0=just touching\n>0=pressing, value depends on the force applied',0,1,1)
118VISUALHINTS(ReceptorClass)
119SYMBOL(`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')
120NEUROPROP(r,1,0,Range,f,0.0,1.0,1.0,range)
121ENDNEUROCLASS
122
123NEUROCLASS(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)
124VISUALHINTS(ReceptorClass)
125SYMBOL(`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')
126ENDNEUROCLASS
127
128NEUROCLASS(Const,*,Constant,Constant value,0,1,0)
129VISUALHINTS(Invisible)
130SYMBOL(`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')
131ENDNEUROCLASS
132
133NEUROCLASS(BendMuscle,|,Bend muscle,,1,0,2)
134VISUALHINTS(DontShowClass+EffectorClass+V1BendMuscle+AtFirstPart)
135SYMBOL(`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')
136NEUROPROP(p,0,0,power,f,0.01,1.0,0.25,power)
137NEUROPROP(r,0,0,bending range,f,0.0,1.0,1.0,bendrange)
138ENDNEUROCLASS
139
140NEUROCLASS(RotMuscle,@,Rotation muscle,,1,0,2)
141VISUALHINTS(DontShowClass+EffectorClass+V1RotMuscle+AtFirstPart)
142SYMBOL(`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')
143NEUROPROP(p,0,0,power,f,0.01,1.0,1.0,power)
144ENDNEUROCLASS
145
146NEUROCLASS(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)
147SYMBOL(`3,3,25,0,25,100,75,50,25,0,1,75,50,100,50,3,44,42,51,57,36,57,44,42')
148ENDNEUROCLASS
149
150NEUROCLASS(FuzzyNeuro,Fuzzy,Fuzzy system [EXPERIMENTAL!],Refer to publications to learn more about this neuron.,-1,1,0)
151SYMBOL(`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')
152NEUROPROP(ns,0,0,number of fuzzy sets,d,1,,,fuzzySetsNr)
153NEUROPROP(nr,0,0,number of rules,d,1,,,rulesNr)
154NEUROPROP(fs,0,0,fuzzy sets,s,0,-1,0,fuzzySetString)
155NEUROPROP(fr,0,0,fuzzy rules,s,0,-1,0,fuzzyRulesString)
156ENDNEUROCLASS
157
158NEUROCLASS(VectorEye,VEye,Vector Eye [EXPERIMENTAL!],Refer to publications to learn more about this neuron.,1,1,1)
159SYMBOL(`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')
160NEUROPROP(tx,0,0,target.x,f,,,,target.x)
161NEUROPROP(ty,0,0,target.y,f,,,,target.y)
162NEUROPROP(tz,0,0,target.z,f,,,,target.z)
163NEUROPROP(ts,0,0,target shape,s,0,-1,0,targetShape)
164NEUROPROP(p,0,0,perspective,f,0.1,10.0,1.0,perspz)
165NEUROPROP(s,0,0,scale,f,0.1,100.0,1.0,perspscale)
166NEUROPROP(h,0,0,show hidden lines,d,0,1,0,showhidden)
167NEUROPROP(o,0,0,`output lines count (each line needs four channels)',d,0,99,0,outputcount)
168NEUROPROP(d,0,0,debug,d,0,1,0,showdebug)
169ENDNEUROCLASS
170
171NEUROCLASS(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)
172NEUROPROP(noIF,0,0,number of basic features,d,,,,noIF)
173NEUROPROP(noDim,0,0,number of degrees of freedom,d,,,,noDim)
174NEUROPROP(params,0,0,parameters,s,,,,params)
175ENDNEUROCLASS
176
177NEUROCLASS(Sticky,Sti,Sticky [EXPERIMENTAL!],,1,0,1)
178VISUALHINTS(EffectorClass)
179ENDNEUROCLASS
180
181NEUROCLASS(LinearMuscle,LMu,Linear muscle [EXPERIMENTAL!],,1,0,2)
182VISUALHINTS(EffectorClass)
183NEUROPROP(p,0,0,power,f,0.01,1.0,1.0,power)
184ENDNEUROCLASS
185
186NEUROCLASS(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)
187VISUALHINTS(ReceptorClass)
188ENDNEUROCLASS
189
190NEUROCLASS(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)
191VISUALHINTS(ReceptorClass)
192ENDNEUROCLASS
193
194NEUROCLASS(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)
195SYMBOL(`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')
196ENDNEUROCLASS
197
198NEUROCLASS(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)
199SYMBOL(`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')
200ENDNEUROCLASS
201
202NEUROCLASS(ChSel,ChSel,Channel selector,`Outputs a single channel (selected by the \"ch\" parameter) from multichannel input',1,1,0)
203SYMBOL(`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')
204NEUROPROP(ch,0,0,channel,d,,,,ch)
205ENDNEUROCLASS
206
207NEUROCLASS(Random,Rnd,Random noise,`Generates random noise (subsequent random values in the range of -1..+1)',0,1,0)
208ENDNEUROCLASS
209
210NEUROCLASS(Sinus,Sin,Sinus generator,`Output frequency = f0+input',1,1,0)
211SYMBOL(`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')
212NEUROPROP(f0,0,0,base frequency,f,-1.0,1.0,0.06283185307,f0)
213NEUROPROP(t,0,0,time,f,0,6.283185307,0,t)
214ENDNEUROCLASS
215
Note: See TracBrowser for help on using the repository browser.