1 | class: |
---|
2 | id:Creature |
---|
3 | |
---|
4 | prop: |
---|
5 | name:Name |
---|
6 | id:name |
---|
7 | type:s |
---|
8 | flags:0 |
---|
9 | |
---|
10 | prop: |
---|
11 | name:Genotype |
---|
12 | id:genotype |
---|
13 | type:s |
---|
14 | flags:0 |
---|
15 | |
---|
16 | prop: |
---|
17 | name:Info |
---|
18 | id:info |
---|
19 | type:s |
---|
20 | help:Additional info or comments |
---|
21 | flags:0 |
---|
22 | |
---|
23 | prop: |
---|
24 | name:group |
---|
25 | id:group |
---|
26 | type:x |
---|
27 | flags:33 |
---|
28 | |
---|
29 | prop: |
---|
30 | name:Generation |
---|
31 | id:gnum |
---|
32 | type:d |
---|
33 | flags:0 |
---|
34 | |
---|
35 | prop: |
---|
36 | name:Build problems |
---|
37 | id:buildproblems |
---|
38 | type:d |
---|
39 | flags:32 |
---|
40 | |
---|
41 | prop: |
---|
42 | name:Starting energy |
---|
43 | id:energ0 |
---|
44 | type:f |
---|
45 | flags:0 |
---|
46 | |
---|
47 | prop: |
---|
48 | name:Idle power consumption |
---|
49 | id:idleen |
---|
50 | type:f |
---|
51 | flags:0 |
---|
52 | |
---|
53 | prop: |
---|
54 | name:Energy |
---|
55 | id:energy |
---|
56 | type:f |
---|
57 | flags:0 |
---|
58 | |
---|
59 | prop: |
---|
60 | name:Energy income |
---|
61 | id:energy_p |
---|
62 | type:f |
---|
63 | flags:0 |
---|
64 | |
---|
65 | prop: |
---|
66 | name:Energy costs |
---|
67 | id:energy_m |
---|
68 | type:f |
---|
69 | flags:0 |
---|
70 | |
---|
71 | prop: |
---|
72 | name:Energy balance |
---|
73 | id:energy_b |
---|
74 | type:f |
---|
75 | flags:0 |
---|
76 | |
---|
77 | prop: |
---|
78 | name:Performance calculation |
---|
79 | id:perf |
---|
80 | type:d |
---|
81 | help:Initial value of this property is taken from Population.enableperf |
---|
82 | flags:0 |
---|
83 | |
---|
84 | prop: |
---|
85 | name:NN enabled |
---|
86 | id:nnenabled |
---|
87 | type:d 0 1 |
---|
88 | flags:0 |
---|
89 | |
---|
90 | prop: |
---|
91 | name:Body simulation |
---|
92 | id:bodysim |
---|
93 | type:d 0 1 |
---|
94 | help:~ |
---|
95 | (Physical) body simulation can be disabled for individual objects which makes them immovable. Disabled objects can still participate in collisions depending on their collisions masks. |
---|
96 | |
---|
97 | Bugs: the standard collision handler does not work for disabled objects when ODE simulation is used. It means that these objects won't physically interact with other objects. The custom (scripting) handlers work as expected.~ |
---|
98 | flags:0 |
---|
99 | |
---|
100 | prop: |
---|
101 | name:Self-collisions |
---|
102 | id:selfcol |
---|
103 | type:d 0 1 |
---|
104 | help:Enable/disable detection of self-collisions (within a creature body). They can only occur when using the ODE simulation engine. If enabled, the creature will have its sticks collide during lifespan. |
---|
105 | flags:0 |
---|
106 | |
---|
107 | prop: |
---|
108 | name:Self-collisions |
---|
109 | id:selfcolstate |
---|
110 | type:d 0 1 |
---|
111 | help:Current self-collision state |
---|
112 | flags:35 |
---|
113 | |
---|
114 | prop: |
---|
115 | name:Life span |
---|
116 | id:lifespan |
---|
117 | type:d |
---|
118 | flags:0 |
---|
119 | |
---|
120 | prop: |
---|
121 | name:Distance |
---|
122 | id:distance |
---|
123 | type:f |
---|
124 | flags:0 |
---|
125 | |
---|
126 | prop: |
---|
127 | name:Velocity |
---|
128 | id:c_velocity |
---|
129 | type:f |
---|
130 | flags:0 |
---|
131 | |
---|
132 | prop: |
---|
133 | name:Vertical velocity |
---|
134 | id:c_vertvelocity |
---|
135 | type:f |
---|
136 | flags:0 |
---|
137 | |
---|
138 | prop: |
---|
139 | name:Vertical position |
---|
140 | id:c_vertpos |
---|
141 | type:f |
---|
142 | flags:0 |
---|
143 | |
---|
144 | prop: |
---|
145 | name:Avg. velocity |
---|
146 | id:velocity |
---|
147 | type:f |
---|
148 | flags:0 |
---|
149 | |
---|
150 | prop: |
---|
151 | name:Avg. vertical position |
---|
152 | id:vertpos |
---|
153 | type:f |
---|
154 | flags:0 |
---|
155 | |
---|
156 | prop: |
---|
157 | name:Avg. vertical velocity |
---|
158 | id:vertvel |
---|
159 | type:f |
---|
160 | flags:0 |
---|
161 | |
---|
162 | prop: |
---|
163 | name:position.x |
---|
164 | id:pos_x |
---|
165 | type:f |
---|
166 | help:(pos_x,pos_y,pos_z) is the point of minimal coordinates ("bottom left corner") of the creature, including imaginary Part sizes (Part.s, usually 1.0). See also: Creature.moveAbs |
---|
167 | flags:3 |
---|
168 | |
---|
169 | prop: |
---|
170 | name:position.y |
---|
171 | id:pos_y |
---|
172 | type:f |
---|
173 | help:See Creature.pos_x |
---|
174 | flags:3 |
---|
175 | |
---|
176 | prop: |
---|
177 | name:position.z |
---|
178 | id:pos_z |
---|
179 | type:f |
---|
180 | help:See Creature.pos_x |
---|
181 | flags:3 |
---|
182 | |
---|
183 | prop: |
---|
184 | name:bounding box x size |
---|
185 | id:size_x |
---|
186 | type:f |
---|
187 | help:~ |
---|
188 | (size_x,size_y,size_z) are dimensions of the axis-aligned bounding box of the creature, including the imaginary part sizes (Part.s, usually 1.0). A creature consisting of a single default Part has the size of (2.0,2.0,2.0) - twice the Part.s value (like a sphere diameter is twice its radius). |
---|
189 | See also: Creature.moveAbs~ |
---|
190 | flags:3 |
---|
191 | |
---|
192 | prop: |
---|
193 | name:bounding box y size |
---|
194 | id:size_y |
---|
195 | type:f |
---|
196 | help:See Creature.size_x |
---|
197 | flags:3 |
---|
198 | |
---|
199 | prop: |
---|
200 | name:bounding box z size |
---|
201 | id:size_z |
---|
202 | type:f |
---|
203 | help:See Creature.size_x |
---|
204 | flags:3 |
---|
205 | |
---|
206 | prop: |
---|
207 | name:center.x |
---|
208 | id:center_x |
---|
209 | type:f |
---|
210 | help:Center of gravity |
---|
211 | flags:3 |
---|
212 | |
---|
213 | prop: |
---|
214 | name:center.y |
---|
215 | id:center_y |
---|
216 | type:f |
---|
217 | help:Center of gravity |
---|
218 | flags:3 |
---|
219 | |
---|
220 | prop: |
---|
221 | name:center.z |
---|
222 | id:center_z |
---|
223 | type:f |
---|
224 | help:Center of gravity |
---|
225 | flags:3 |
---|
226 | |
---|
227 | prop: |
---|
228 | name:number of parts |
---|
229 | id:numparts |
---|
230 | type:d |
---|
231 | flags:3 |
---|
232 | |
---|
233 | prop: |
---|
234 | name:number of joints |
---|
235 | id:numjoints |
---|
236 | type:d |
---|
237 | flags:3 |
---|
238 | |
---|
239 | prop: |
---|
240 | name:number of neurons |
---|
241 | id:numneurons |
---|
242 | type:d |
---|
243 | flags:3 |
---|
244 | |
---|
245 | prop: |
---|
246 | name:User field 1 |
---|
247 | id:user1 |
---|
248 | type:x |
---|
249 | flags:0 |
---|
250 | |
---|
251 | prop: |
---|
252 | name:User field 2 |
---|
253 | id:user2 |
---|
254 | type:x |
---|
255 | flags:0 |
---|
256 | |
---|
257 | prop: |
---|
258 | name:User field 3 |
---|
259 | id:user3 |
---|
260 | type:x |
---|
261 | flags:0 |
---|
262 | |
---|
263 | prop: |
---|
264 | name:move |
---|
265 | id:move |
---|
266 | type:p |
---|
267 | help:Shift the creature by a given vector. |
---|
268 | flags:32 |
---|
269 | |
---|
270 | prop: |
---|
271 | name:move to absolute location |
---|
272 | id:moveAbs |
---|
273 | type:p |
---|
274 | help:~ |
---|
275 | Moves the creature so that its origin (pos_x,pos_y,pos_z) is placed at the given location. The origin is the point of minimal coordinates ("bottom left corner"), including imaginary part sizes (Part.s, usually 1.0). |
---|
276 | Assuming a simple single-stick creature "X" having parts at (0,0,0) and (1,0,0), |
---|
277 | |
---|
278 | origin (pos_x,pos_y,pos_z) = (-1,-1,-1) |
---|
279 | size (size_x,size_y,size_z) = (3,2,2) |
---|
280 | |
---|
281 | The following example places the bottom of a creature at a given location (x,y,z): |
---|
282 | Creature.moveAbs(x-(Creature.size_x/2),y-(Creature.size_y/2),z-1.0) |
---|
283 | (assuming that the part size is 1.0)~ |
---|
284 | flags:32 |
---|
285 | |
---|
286 | prop: |
---|
287 | name:move in local coordinates |
---|
288 | id:moveLocal |
---|
289 | type:p |
---|
290 | help:Local coordinates are measured with respect to the position and orientation of the first Part |
---|
291 | flags:32 |
---|
292 | |
---|
293 | prop: |
---|
294 | name:return world coordinates |
---|
295 | id:localToWorld |
---|
296 | type:p |
---|
297 | help:Local coordinates are measured with respect to the position and orientation of the first Part |
---|
298 | flags:32 |
---|
299 | |
---|
300 | prop: |
---|
301 | name:return local coordinates |
---|
302 | id:worldToLocal |
---|
303 | type:p |
---|
304 | help:Local coordinates are measured with respect to the position and orientation of the first Part |
---|
305 | flags:32 |
---|
306 | |
---|
307 | prop: |
---|
308 | name:rotate |
---|
309 | id:rotate |
---|
310 | type:p |
---|
311 | help:Rotate the creature around X, Y and Z axes. Should only be used immediately after creating a new creature (before the first simulation step is performed for this creature), otherwise further simulation can be disturbed. |
---|
312 | flags:32 |
---|
313 | |
---|
314 | prop: |
---|
315 | name:rotate in local coordinates |
---|
316 | id:rotateLocal |
---|
317 | type:p |
---|
318 | help:Rotate the creature around (local) X, Y and Z axes. Should only be used immediately after creating a new creature (before the first simulation step is performed for this creature), otherwise further simulation can be disturbed. |
---|
319 | flags:32 |
---|
320 | |
---|
321 | prop: |
---|
322 | name:getPart (static Model information) |
---|
323 | id:getPart |
---|
324 | type:p |
---|
325 | flags:32 |
---|
326 | |
---|
327 | prop: |
---|
328 | name:getJoint (static Model information) |
---|
329 | id:getJoint |
---|
330 | type:p |
---|
331 | flags:32 |
---|
332 | |
---|
333 | prop: |
---|
334 | name:getNeuroDef |
---|
335 | id:getNeuroDef |
---|
336 | type:p |
---|
337 | flags:32 |
---|
338 | |
---|
339 | prop: |
---|
340 | name:getMechPart (current properties) |
---|
341 | id:getMechPart |
---|
342 | type:p |
---|
343 | flags:32 |
---|
344 | |
---|
345 | prop: |
---|
346 | name:getMechJoint (current properties) |
---|
347 | id:getMechJoint |
---|
348 | type:p |
---|
349 | flags:32 |
---|
350 | |
---|
351 | prop: |
---|
352 | name:getNeuro |
---|
353 | id:getNeuro |
---|
354 | type:p |
---|
355 | flags:32 |
---|
356 | |
---|
357 | prop: |
---|
358 | name:Collision mask (self) |
---|
359 | id:selfmask |
---|
360 | type:db |
---|
361 | flags:32 |
---|
362 | |
---|
363 | prop: |
---|
364 | name:Collision mask (other) |
---|
365 | id:othermask |
---|
366 | type:db |
---|
367 | flags:32 |
---|
368 | |
---|
369 | prop: |
---|
370 | name:currentGeometryAsF0 |
---|
371 | id:currentGeometryAsF0 |
---|
372 | type:p |
---|
373 | flags:32 |
---|
374 | |
---|
375 | prop: |
---|
376 | name:# |
---|
377 | id:uid |
---|
378 | type:s |
---|
379 | flags:33 |
---|
380 | |
---|
381 | prop: |
---|
382 | name:Index |
---|
383 | id:index |
---|
384 | type:d |
---|
385 | help:Index of this Creature in its Population. |
---|
386 | flags:1 |
---|
387 | |
---|
388 | prop: |
---|
389 | name:Model Parts |
---|
390 | id:parts |
---|
391 | type:l Part |
---|
392 | flags:0 |
---|
393 | |
---|
394 | prop: |
---|
395 | name:Model Joints |
---|
396 | id:joints |
---|
397 | type:l Joint |
---|
398 | flags:0 |
---|
399 | |
---|
400 | prop: |
---|
401 | name:Neuron Definitions |
---|
402 | id:neurodefs |
---|
403 | type:l NeuroDef |
---|
404 | flags:0 |
---|
405 | |
---|
406 | prop: |
---|
407 | name:Simulated Parts |
---|
408 | id:mechparts |
---|
409 | type:l MechPart |
---|
410 | flags:0 |
---|
411 | |
---|
412 | prop: |
---|
413 | name:Simulated Joints |
---|
414 | id:mechjoints |
---|
415 | type:l MechJoint |
---|
416 | flags:0 |
---|
417 | |
---|
418 | prop: |
---|
419 | name:Live Neurons |
---|
420 | id:neurons |
---|
421 | type:l Neuro |
---|
422 | flags:0 |
---|
423 | |
---|