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

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