source: cpp/gdk/f0.def @ 5

Last change on this file since 5 was 5, checked in by sz, 15 years ago

added the GDK (Genotype Development Kit)

File size: 8.0 KB
Line 
1CLASS(Part,f0_part,p)
2GROUP(Geometry)
3GROUP(Other properties)
4GROUP(Visual)
5PROP(x,0,1024,position.x,f,,,,p.x)
6PROP(y,0,1024,position.y,f,,,,p.y)
7PROP(z,0,1024,position.z,f,,,,p.z)
8XPROP(m,1,0,mass,f,0.1,999.0,1.0,mass)
9PROP(s,1,0,size,f,0.1,10.0,1.0,size)
10XPROP(dn,1,0,density,f,0.2,5.0,1.0,density)
11XPROP(fr,1,0,friction,f,0.0,4.0,0.4,friction)
12XPROP(ing,1,0,ingestion,f,0.0,1.0,0.25,ingest)
13XPROP(as,1,0,assimilation,f,0.0,1.0,0.25,assim)
14PROP(rx,0,0,rot.x,f,,,,rot.x)
15PROP(ry,0,1024,rot.y,f,,,,rot.y)
16PROP(rz,0,1024,rot.z,f,,,,rot.z)
17PROP(i,1,0,`info',s,,,,info)
18PROP(Vstyle,2,0,vis_style,s,0,-1,part,vis_style)
19ENDCLASS
20
21CLASS(Joint,f0_joint,j)
22GROUP(Connections)
23GROUP(Geometry)
24GROUP(Other properties)
25GROUP(Visual)
26PROP(p1,0,1024,`part1 ref#',d,-1,999999,-1,p1_refno)
27PROP(p2,0,1024,`part2 ref#',d,-1,999999,-1,p2_refno)
28PROP(rx,1,0,rotation.x,f,,,,rot.x)
29PROP(ry,1,1024,rotation.y,f,,,,rot.y)
30PROP(rz,1,1024,rotation.z,f,,,,rot.z)
31PROP(dx,1,0,delta.x,f,-2,2,0,d.x)
32PROP(dy,1,1024,delta.y,f,-2,2,0,d.y)
33PROP(dz,1,1024,delta.z,f,-2,2,0,d.z)
34XPROP(stif,2,0,stiffness,f,0.0,1.0,1.0,stif)
35XPROP(rotstif,2,0,rotation stiffness,f,0.0,1.0,1.0,rotstif)
36PROP(stam,2,0,stamina,f,0.0,1.0,0.25,stamina)
37PROP(i,2,0,`info',s,,,,info)
38PROP(Vstyle,3,0,vis_style,s,0,-1,joint,vis_style)
39ENDCLASS
40
41CLASS(Joint,f0_nodeltajoint,j,NOXML)
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)
48XPROP(stif,2,0,stiffness,f,0.0,1.0,1.0,stif)
49XPROP(rotstif,2,0,rotation stiffness,f,0.0,1.0,1.0,rotstif)
50PROP(stam,2,0,stamina,f,0.0,1.0,0.25,stamina)
51PROP(i,2,0,`info',s,,,,info)
52PROP(Vstyle,3,0,vis_style,s,0,-1,joint,vis_style)
53ENDCLASS
54
55CLASS(Neuro,f0_neuro,n)
56GROUP(Connections)
57GROUP(Other)
58GROUP(Visual)
59PROP(p,0,0,`part ref#',d,-1,999999,-1,part_refno)
60PROP(j,0,0,`joint ref#',d,-1,999999,-1,joint_refno)
61PROP(d,1,0,item details,s,,,,details,GETSET)
62PROP(i,1,0,`info',s,,,,info)
63PROP(Vstyle,2,0,vis_style,s,0,-1,neuro,vis_style)
64PROP(getInputCount,0,1+2,`input count',d,,,,inputCount,GETONLY)
65PROP(getInputNeuroDef,0,1+2,`get input neuron',p oNeuroDef(d),,,,p_getInputNeuroDef,PROCEDURE)
66PROP(getInputNeuroIndex,0,1+2,`get input neuron index',p d(d),,,,p_getInputNeuroIndex,PROCEDURE)
67PROP(getInputWeight,0,1+2,`get input weight',p f(d),,,,p_getInputWeight,PROCEDURE)
68ENDCLASS
69
70CLASS(NeuroConn,f0_neuroconn,c)
71GROUP(Connection)
72GROUP(Other)
73PROP(n1,0,1024,`this neuro ref#',d,-1,999999,-1,n1_refno)
74PROP(n2,0,1024,`connected neuro ref#',d,-1,999999,-1,n2_refno)
75PROP(w,0,1024,weight,f,-999999,999999,1.0,weight)
76PROP(i,1,0,`info',s,,,,info)
77ENDCLASS
78
79NEUROCLASS(StdNeuron,N,Neuron,`Standard neuron',-1,1,0)
80VISUALHINTS(DontShowClass)
81NEUROPROP(in,1,0,Inertia,f,0.0,1.0,0.8,inertia)
82NEUROPROP(fo,1,0,Force,f,0.0,999.0,0.04,force)
83NEUROPROP(si,1,0,Sigmoid,f,-99999.0,99999.0,2.0,sigmo)
84NEUROPROP(s,2,0,State,f,-1.0,1.0,0.0,newstate)
85ENDNEUROCLASS
86
87NEUROCLASS(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)
88NEUROPROP(in,1,0,Inertia,f,0.0,1.0,0.8,inertia)
89NEUROPROP(fo,1,0,Force,f,0.0,999.0,0.04,force)
90NEUROPROP(si,1,0,Sigmoid,f,-99999.0,99999.0,2.0,sigmo)
91NEUROPROP(s,2,0,State,f,-1.0,1.0,0.0,newstate)
92ENDNEUROCLASS
93
94NEUROCLASS(Gyro,G,Gyroscope,`Equilibrium sensor.\n0=the stick is horizontal\n+1/-1=the stick is vertical',0,1,2)
95VISUALHINTS(ReceptorClass)
96SYMBOL(`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')
97ENDNEUROCLASS
98
99NEUROCLASS(Touch,T,Touch,`Touch sensor.\n-1=no contact\n0=just touching\n>0=pressing, value depends on the force applied',0,1,1)
100VISUALHINTS(ReceptorClass)
101SYMBOL(`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')
102ENDNEUROCLASS
103
104NEUROCLASS(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)
105VISUALHINTS(ReceptorClass)
106SYMBOL(`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')
107ENDNEUROCLASS
108
109NEUROCLASS(Const,*,Constant,Constant value,0,1,0)
110VISUALHINTS(Invisible)
111SYMBOL(`3,6,100,50,90,50,90,40,70,40,70,60,90,60,90,50,1,85,50,75,50,1,80,45,80,55')
112ENDNEUROCLASS
113
114NEUROCLASS(BendMuscle,|,Bend muscle,,1,0,2)
115VISUALHINTS(DontShowClass+MuscleClass+V1BendMuscle+AtFirstPart)
116SYMBOL(`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')
117NEUROPROP(p,0,0,power,f,0.01,1.0,0.25,power)
118NEUROPROP(r,0,0,bending range,f,0.0,1.0,1.0,bendrange)
119ENDNEUROCLASS
120
121NEUROCLASS(RotMuscle,@,Rotation muscle,,1,0,2)
122VISUALHINTS(DontShowClass+MuscleClass+V1RotMuscle+AtFirstPart)
123SYMBOL(`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')
124NEUROPROP(p,0,0,power,f,0.01,1.0,1.0,power)
125ENDNEUROCLASS
126
127NEUROCLASS(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)
128ENDNEUROCLASS
129
130NEUROCLASS(FuzzyNeuro,Fuzzy,Fuzzy system [EXPERIMENTAL!],Refer to publications to learn about this neuron,-1,1,0)
131SYMBOL(`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')
132NEUROPROP(ns,0,0,number of fuzzy sets,d,1,,,fuzzySetsNr)
133NEUROPROP(nr,0,0,number of rules,d,1,,,rulesNr)
134NEUROPROP(fs,0,0,fuzzy sets,s,0,-1,0,fuzzySetString)
135NEUROPROP(fr,0,0,fuzzy rules,s,0,-1,0,fuzzyRulesString)
136ENDNEUROCLASS
137
138NEUROCLASS(Sticky,Sti,Sticky [EXPERIMENTAL!],,1,0,1)
139VISUALHINTS(ReceptorClass)
140ENDNEUROCLASS
141
142NEUROCLASS(LinearMuscle,LMu,Linear muscle [EXPERIMENTAL!],,1,0,2)
143VISUALHINTS(MuscleClass)
144NEUROPROP(p,0,0,power,f,0.01,1.0,1.0,power)
145ENDNEUROCLASS
146
147NEUROCLASS(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)
148VISUALHINTS(ReceptorClass)
149ENDNEUROCLASS
150
151NEUROCLASS(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)
152VISUALHINTS(ReceptorClass)
153ENDNEUROCLASS
154
155NEUROCLASS(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)
156ENDNEUROCLASS
157
158NEUROCLASS(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)
159ENDNEUROCLASS
160
161NEUROCLASS(ChSel,ChSel,Channel selector,`Outputs a single channel (selected by the \"ch\" parameter) from multichannel input',1,1,0)
162NEUROPROP(ch,0,0,channel,d,,,,ch)
163ENDNEUROCLASS
164
165NEUROCLASS(Random,Rnd,Random noise,`Generates random noise (subsequent random values in the range of -1..+1)',0,1,0)
166ENDNEUROCLASS
167
168NEUROCLASS(Sinus,Sin,Sinus generator,`Output frequency = f0+input',1,1,0)
169SYMBOL(`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')
170NEUROPROP(f0,0,0,base frequency,f,-1.0,1.0,0.06283185307,f0)
171NEUROPROP(t,0,0,time,f,0,6.283185307,0,t)
172ENDNEUROCLASS
Note: See TracBrowser for help on using the repository browser.