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

Last change on this file since 934 was 934, checked in by Maciej Komosinski, 5 years ago

Introduced 'volume' field available by getMinPart(), getMaxPart(), getDefPart() for genetic operators to limit the range of volumes (~mass) in simulation of solids

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