source: cpp/frams/model/f0-SDK-classes.h @ 1189

Last change on this file since 1189 was 1186, checked in by Maciej Komosinski, 16 months ago

For consistency with other numerical types, unlimited string length is now indicated by "-1" as the second value of the definition of the "s" property

  • Property svn:eol-style set to native
File size: 8.7 KB
RevLine 
[286]1// This file is a part of Framsticks SDK.  http://www.framsticks.com/
[952]2// Copyright (C) 1999-2020  Maciej Komosinski and Szymon Ulatowski.
[286]3// See LICENSE.txt for details.
[109]4
[121]5
[109]6#define FIELDSTRUCT Model
7ParamEntry f0_model_paramtab[]=
8{
[952]9 {"Properties",2,2,"m",NULL,0,NULL,NULL,"Model"},
[109]10 {"Visual",},
11 {"se",0,1024,"startenergy","f",FIELD(startenergy),},
[1186]12 {"Vstyle",1,0,"Visual style","s 0 -1 ",FIELD(vis_style),"See the \"Visual style definition\" context for more information",},
[109]13 {0,0,0,}
14};
15ParamEntry f0_model_xtra_paramtab[]=
16{
17 {"Extra properties",1,0,"m"},
18 {0,0,0,}
19};
20#undef FIELDSTRUCT
21
22
23#define FIELDSTRUCT Part
24ParamEntry f0_part_paramtab[]=
25{
[1039]26 {"Geometry",3,21,"p",NULL,0,NULL,NULL,"Part"},
[109]27 {"Other properties",},
28 {"Visual",},
29 {"x",0,1024,"position.x","f",FIELD(p.x),},
30 {"y",0,1024,"position.y","f",FIELD(p.y),},
31 {"z",0,1024,"position.z","f",FIELD(p.z),},
[920]32 {"sh",0,0,"shape","d 0 3 0",FIELD(shape),},
33 {"s",0,0,"size","f 0.1 10.0 1.0",FIELD(size),},
[1012]34 {"sx",0,0,"scale.x","f 0.05 5.0 1.0",FIELD(scale.x),},
35 {"sy",0,0,"scale.y","f 0.05 5.0 1.0",FIELD(scale.y),},
36 {"sz",0,0,"scale.z","f 0.05 5.0 1.0",FIELD(scale.z),},
[270]37 {"h",1,0,"hollow","f 0 1 0",FIELD(hollow),},
[109]38 {"dn",1,0,"density","f 0.2 5.0 1.0",FIELD(density),},
39 {"fr",1,0,"friction","f 0.0 4.0 0.4",FIELD(friction),},
40 {"ing",1,0,"ingestion","f 0.0 1.0 0.25",FIELD(ingest),},
41 {"as",1,0,"assimilation","f 0.0 1.0 0.25",FIELD(assim),},
42 {"rx",0,0,"rot.x","f",FIELD(rot.x),},
43 {"ry",0,1024,"rot.y","f",FIELD(rot.y),},
44 {"rz",0,1024,"rot.z","f",FIELD(rot.z),},
45 {"i",1,0,"info","s",FIELD(info),},
[1186]46 {"Vstyle",2,0,"Visual style","s 0 -1 part",FIELD(vis_style),"See the \"Visual style definition\" context for more information",},
[1142]47 {"vr",2,0,"red component","f 0.0 1.0 0.5",FIELD(vcolor.x),},
48 {"vg",2,1024,"green component","f 0.0 1.0 0.5",FIELD(vcolor.y),},
49 {"vb",2,1024,"blue component","f 0.0 1.0 0.5",FIELD(vcolor.z),},
[109]50 {0,0,0,}
51};
52ParamEntry f0_part_xtra_paramtab[]=
53{
[1039]54 {"Extra properties",1,8,"p"},
[528]55 {"h",0,0,"hollow","f 0 1 0",FIELD(hollow),},
[109]56 {"dn",0,0,"density","f 0.2 5.0 1.0",FIELD(density),},
57 {"fr",0,0,"friction","f 0.0 4.0 0.4",FIELD(friction),},
58 {"ing",0,0,"ingestion","f 0.0 1.0 0.25",FIELD(ingest),},
59 {"as",0,0,"assimilation","f 0.0 1.0 0.25",FIELD(assim),},
[1142]60 {"vr",0,0,"red component","f 0.0 1.0 0.5",FIELD(vcolor.x),},
61 {"vg",0,1024,"green component","f 0.0 1.0 0.5",FIELD(vcolor.y),},
62 {"vb",0,1024,"blue component","f 0.0 1.0 0.5",FIELD(vcolor.z),},
[109]63 {0,0,0,}
64};
65#undef FIELDSTRUCT
66
67
[934]68#define FIELDSTRUCT Part_MinMaxDef
69ParamEntry f0_part_minmaxdef_paramtab[]=
70{
[952]71 {"Geometry",1,1,"p"},
[945]72 {"f",0,0,"volume","f 0.83776 20.94395 4.18879",FIELD(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.",},
[934]73 {0,0,0,}
74};
75ParamEntry f0_part_minmaxdef_xtra_paramtab[]=
76{
77 {"Extra properties",1,0,"p"},
78 {0,0,0,}
79};
80#undef FIELDSTRUCT
81
82
[109]83#define FIELDSTRUCT Joint
84ParamEntry f0_joint_paramtab[]=
85{
[952]86 {"Connections",4,27,"j",NULL,0,NULL,NULL,"Joint"},
[109]87 {"Geometry",},
88 {"Other properties",},
89 {"Visual",},
90 {"p1",0,1024,"part1 ref#","d -1 999999 -1",FIELD(p1_refno),},
91 {"p2",0,1024,"part2 ref#","d -1 999999 -1",FIELD(p2_refno),},
92 {"rx",1,0,"rotation.x","f",FIELD(rot.x),},
93 {"ry",1,1024,"rotation.y","f",FIELD(rot.y),},
94 {"rz",1,1024,"rotation.z","f",FIELD(rot.z),},
95 {"dx",1,0,"delta.x","f -2 2 0",FIELD(d.x),},
96 {"dy",1,1024,"delta.y","f -2 2 0",FIELD(d.y),},
97 {"dz",1,1024,"delta.z","f -2 2 0",FIELD(d.z),},
[920]98 {"sh",1,0,"shape","d 0 3 0",FIELD(shape),},
[915]99 {"hx",1,0,"hinge position.x","f",FIELD(hinge_pos.x),},
100 {"hy",1,1024,"hinge position.y","f",FIELD(hinge_pos.y),},
101 {"hz",1,1024,"hinge position.z","f",FIELD(hinge_pos.z),},
102 {"hrx",1,0,"hinge rotation.x","f",FIELD(hinge_rot.x),},
103 {"hry",1,1024,"hinge rotation.y","f",FIELD(hinge_rot.y),},
104 {"hrz",1,1024,"hinge rotation.z","f",FIELD(hinge_rot.z),},
105 {"hxn",1,0,"hinge x negative limit","f -6.2832 0 -1.5708",FIELD(hinge_limit_x[0]),},
106 {"hxp",1,1024,"hinge x positive limit","f 0 6.2832 1.5708",FIELD(hinge_limit_x[1]),},
107 {"hyn",1,0,"hinge y negative limit","f -6.2832 0 -1.5708",FIELD(hinge_limit_y[0]),},
108 {"hyp",1,1024,"hinge y positive limit","f 0 6.2832 1.5708",FIELD(hinge_limit_y[1]),},
[109]109 {"stif",2,0,"stiffness","f 0.0 1.0 1.0",FIELD(stif),},
110 {"rotstif",2,0,"rotation stiffness","f 0.0 1.0 1.0",FIELD(rotstif),},
111 {"stam",2,0,"stamina","f 0.0 1.0 0.25",FIELD(stamina),},
112 {"i",2,0,"info","s",FIELD(info),},
[1186]113 {"Vstyle",3,0,"Visual style","s 0 -1 joint",FIELD(vis_style),"See the \"Visual style definition\" context for more information",},
[1142]114 {"vr",3,0,"red component","f 0.0 1.0 0.5",FIELD(vcolor.x),},
115 {"vg",3,1024,"green component","f 0.0 1.0 0.5",FIELD(vcolor.y),},
116 {"vb",3,1024,"blue component","f 0.0 1.0 0.5",FIELD(vcolor.z),},
[109]117 {0,0,0,}
118};
119ParamEntry f0_joint_xtra_paramtab[]=
120{
121 {"Extra properties",1,5,"j"},
122 {"stif",0,0,"stiffness","f 0.0 1.0 1.0",FIELD(stif),},
123 {"rotstif",0,0,"rotation stiffness","f 0.0 1.0 1.0",FIELD(rotstif),},
[1142]124 {"vr",0,0,"red component","f 0.0 1.0 0.5",FIELD(vcolor.x),},
125 {"vg",0,1024,"green component","f 0.0 1.0 0.5",FIELD(vcolor.y),},
126 {"vb",0,1024,"blue component","f 0.0 1.0 0.5",FIELD(vcolor.z),},
[109]127 {0,0,0,}
128};
129#undef FIELDSTRUCT
130
131
132#define FIELDSTRUCT Joint
133ParamEntry f0_nodeltajoint_paramtab[]=
134{
[952]135 {"Connections",4,21,"j",NULL,0,NULL,NULL,"Joint"},
[109]136 {"Geometry",},
137 {"Other properties",},
138 {"Visual",},
139 {"p1",0,1024,"part1 ref#","d -1 999999 -1",FIELD(p1_refno),},
140 {"p2",0,1024,"part2 ref#","d -1 999999 -1",FIELD(p2_refno),},
[920]141 {"sh",1,0,"shape","d 0 3 0",FIELD(shape),},
[915]142 {"hx",1,0,"hinge position.x","f",FIELD(hinge_pos.x),},
143 {"hy",1,1024,"hinge position.y","f",FIELD(hinge_pos.y),},
144 {"hz",1,1024,"hinge position.z","f",FIELD(hinge_pos.z),},
145 {"hrx",1,0,"hinge rotation.x","f",FIELD(hinge_rot.x),},
146 {"hry",1,1024,"hinge rotation.y","f",FIELD(hinge_rot.y),},
147 {"hrz",1,1024,"hinge rotation.z","f",FIELD(hinge_rot.z),},
148 {"hxn",1,0,"hinge x negative limit","f -6.2832 0 -1.5708",FIELD(hinge_limit_x[0]),},
149 {"hxp",1,1024,"hinge x positive limit","f 0 6.2832 1.5708",FIELD(hinge_limit_x[1]),},
150 {"hyn",1,0,"hinge y negative limit","f -6.2832 0 -1.5708",FIELD(hinge_limit_y[0]),},
151 {"hyp",1,1024,"hinge y positive limit","f 0 6.2832 1.5708",FIELD(hinge_limit_y[1]),},
[109]152 {"stif",2,0,"stiffness","f 0.0 1.0 1.0",FIELD(stif),},
153 {"rotstif",2,0,"rotation stiffness","f 0.0 1.0 1.0",FIELD(rotstif),},
154 {"stam",2,0,"stamina","f 0.0 1.0 0.25",FIELD(stamina),},
155 {"i",2,0,"info","s",FIELD(info),},
[1186]156 {"Vstyle",3,0,"Visual style","s 0 -1 joint",FIELD(vis_style),"See the \"Visual style definition\" context for more information",},
[1142]157 {"vr",3,0,"red component","f 0.0 1.0 0.5",FIELD(vcolor.x),},
158 {"vg",3,1024,"green component","f 0.0 1.0 0.5",FIELD(vcolor.y),},
159 {"vb",3,1024,"blue component","f 0.0 1.0 0.5",FIELD(vcolor.z),},
[109]160 {0,0,0,}
161};
162ParamEntry f0_nodeltajoint_xtra_paramtab[]=
163{
164 {"Extra properties",1,5,"j"},
165 {"stif",0,0,"stiffness","f 0.0 1.0 1.0",FIELD(stif),},
166 {"rotstif",0,0,"rotation stiffness","f 0.0 1.0 1.0",FIELD(rotstif),},
[1142]167 {"vr",0,0,"red component","f 0.0 1.0 0.5",FIELD(vcolor.x),},
168 {"vg",0,1024,"green component","f 0.0 1.0 0.5",FIELD(vcolor.y),},
169 {"vb",0,1024,"blue component","f 0.0 1.0 0.5",FIELD(vcolor.z),},
[109]170 {0,0,0,}
171};
172#undef FIELDSTRUCT
173
174
175#define FIELDSTRUCT Neuro
176ParamEntry f0_neuro_paramtab[]=
177{
[952]178 {"Connections",3,10,"n",NULL,0,NULL,NULL,"Neuro"},
[109]179 {"Other",},
180 {"Visual",},
181 {"p",0,0,"part ref#","d -1 999999 -1",FIELD(part_refno),},
182 {"j",0,0,"joint ref#","d -1 999999 -1",FIELD(joint_refno),},
[289]183 {"d",1,0,"details","s",GETSET(details),},
[109]184 {"i",1,0,"info","s",FIELD(info),},
[1186]185 {"Vstyle",2,0,"Visual style","s 0 -1 neuro",FIELD(vis_style),"See the \"Visual style definition\" context for more information",},
[109]186 {"getInputCount",0,1+2,"input count","d",GETONLY(inputCount),},
[932]187 {"getInputNeuroDef",0,0,"get input neuron","p oNeuroDef(d)",PROCEDURE(p_getInputNeuroDef),},
188 {"getInputNeuroIndex",0,0,"get input neuron index","p d(d)",PROCEDURE(p_getInputNeuroIndex),},
189 {"getInputWeight",0,0,"get input weight","p f(d)",PROCEDURE(p_getInputWeight),},
[732]190 {"classObject",0,1+2,"neuron class","oNeuroClass",GETONLY(classObject),},
[109]191 {0,0,0,}
192};
193ParamEntry f0_neuro_xtra_paramtab[]=
194{
195 {"Extra properties",1,0,"n"},
196 {0,0,0,}
197};
198#undef FIELDSTRUCT
199
200
201#define FIELDSTRUCT NeuroConn
202ParamEntry f0_neuroconn_paramtab[]=
203{
[952]204 {"Connection",2,4,"c",NULL,0,NULL,NULL,"Neuron connection"},
[109]205 {"Other",},
206 {"n1",0,1024,"this neuro ref#","d -1 999999 -1",FIELD(n1_refno),},
207 {"n2",0,1024,"connected neuro ref#","d -1 999999 -1",FIELD(n2_refno),},
208 {"w",0,1024,"weight","f -999999 999999 1.0",FIELD(weight),},
209 {"i",1,0,"info","s",FIELD(info),},
210 {0,0,0,}
211};
212ParamEntry f0_neuroconn_xtra_paramtab[]=
213{
214 {"Extra properties",1,0,"c"},
215 {0,0,0,}
216};
217#undef FIELDSTRUCT
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
[920]238
[952]239
240
241
Note: See TracBrowser for help on using the repository browser.