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

Last change on this file since 568 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: 6.4 KB
RevLine 
[286]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.
[109]4
[121]5
[109]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 -1 ",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{
[528]26 {"Geometry",3,22,"p" },
[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),},
32 {"sh",1,0,"shape","d 0 3 0",FIELD(shape),},
33 {"s",1,0,"size","f 0.1 10.0 1.0",FIELD(size),},
34 {"sx",1,0,"scale.x","f 0.001 1000.0 1.0",FIELD(scale.x),},
35 {"sy",1,0,"scale.y","f 0.001 1000.0 1.0",FIELD(scale.y),},
36 {"sz",1,0,"scale.z","f 0.001 1000.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),},
46 {"Vstyle",2,0,"vis_style","s 0 -1 part",FIELD(vis_style),},
47 {"vs",2,0,"visual thickness","f 0.05 0.7 0.2",FIELD(vsize),},
[507]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),},
[109]51 {0,0,0,}
52};
53ParamEntry f0_part_xtra_paramtab[]=
54{
55 {"Extra properties",1,9,"p"},
[528]56 {"h",0,0,"hollow","f 0 1 0",FIELD(hollow),},
[109]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),},
[507]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),},
[109]65 {0,0,0,}
66};
67#undef FIELDSTRUCT
68
69
70#define FIELDSTRUCT Joint
71ParamEntry f0_joint_paramtab[]=
72{
73 {"Connections",4,17,"j" },
74 {"Geometry",},
75 {"Other properties",},
76 {"Visual",},
77 {"p1",0,1024,"part1 ref#","d -1 999999 -1",FIELD(p1_refno),},
78 {"p2",0,1024,"part2 ref#","d -1 999999 -1",FIELD(p2_refno),},
79 {"rx",1,0,"rotation.x","f",FIELD(rot.x),},
80 {"ry",1,1024,"rotation.y","f",FIELD(rot.y),},
81 {"rz",1,1024,"rotation.z","f",FIELD(rot.z),},
82 {"dx",1,0,"delta.x","f -2 2 0",FIELD(d.x),},
83 {"dy",1,1024,"delta.y","f -2 2 0",FIELD(d.y),},
84 {"dz",1,1024,"delta.z","f -2 2 0",FIELD(d.z),},
85 {"sh",1,0,"shape","d 0 1 0",FIELD(shape),},
86 {"stif",2,0,"stiffness","f 0.0 1.0 1.0",FIELD(stif),},
87 {"rotstif",2,0,"rotation stiffness","f 0.0 1.0 1.0",FIELD(rotstif),},
88 {"stam",2,0,"stamina","f 0.0 1.0 0.25",FIELD(stamina),},
89 {"i",2,0,"info","s",FIELD(info),},
90 {"Vstyle",3,0,"vis_style","s 0 -1 joint",FIELD(vis_style),},
[507]91 {"vr",3,0,"red component","f 0.0 1.0 1.0",FIELD(vcolor.x),},
92 {"vg",3,1024,"green component","f 0.0 1.0 1.0",FIELD(vcolor.y),},
93 {"vb",3,1024,"blue component","f 0.0 1.0 1.0",FIELD(vcolor.z),},
[109]94 {0,0,0,}
95};
96ParamEntry f0_joint_xtra_paramtab[]=
97{
98 {"Extra properties",1,5,"j"},
99 {"stif",0,0,"stiffness","f 0.0 1.0 1.0",FIELD(stif),},
100 {"rotstif",0,0,"rotation stiffness","f 0.0 1.0 1.0",FIELD(rotstif),},
[507]101 {"vr",0,0,"red component","f 0.0 1.0 1.0",FIELD(vcolor.x),},
102 {"vg",0,1024,"green component","f 0.0 1.0 1.0",FIELD(vcolor.y),},
103 {"vb",0,1024,"blue component","f 0.0 1.0 1.0",FIELD(vcolor.z),},
[109]104 {0,0,0,}
105};
106#undef FIELDSTRUCT
107
108
109#define FIELDSTRUCT Joint
110ParamEntry f0_nodeltajoint_paramtab[]=
111{
112 {"Connections",4,11,"j" },
113 {"Geometry",},
114 {"Other properties",},
115 {"Visual",},
116 {"p1",0,1024,"part1 ref#","d -1 999999 -1",FIELD(p1_refno),},
117 {"p2",0,1024,"part2 ref#","d -1 999999 -1",FIELD(p2_refno),},
118 {"sh",1,0,"shape","d 0 1 0",FIELD(shape),},
119 {"stif",2,0,"stiffness","f 0.0 1.0 1.0",FIELD(stif),},
120 {"rotstif",2,0,"rotation stiffness","f 0.0 1.0 1.0",FIELD(rotstif),},
121 {"stam",2,0,"stamina","f 0.0 1.0 0.25",FIELD(stamina),},
122 {"i",2,0,"info","s",FIELD(info),},
123 {"Vstyle",3,0,"vis_style","s 0 -1 joint",FIELD(vis_style),},
[507]124 {"vr",3,0,"red component","f 0.0 1.0 1.0",FIELD(vcolor.x),},
125 {"vg",3,1024,"green component","f 0.0 1.0 1.0",FIELD(vcolor.y),},
126 {"vb",3,1024,"blue component","f 0.0 1.0 1.0",FIELD(vcolor.z),},
[109]127 {0,0,0,}
128};
129ParamEntry f0_nodeltajoint_xtra_paramtab[]=
130{
131 {"Extra properties",1,5,"j"},
132 {"stif",0,0,"stiffness","f 0.0 1.0 1.0",FIELD(stif),},
133 {"rotstif",0,0,"rotation stiffness","f 0.0 1.0 1.0",FIELD(rotstif),},
[507]134 {"vr",0,0,"red component","f 0.0 1.0 1.0",FIELD(vcolor.x),},
135 {"vg",0,1024,"green component","f 0.0 1.0 1.0",FIELD(vcolor.y),},
136 {"vb",0,1024,"blue component","f 0.0 1.0 1.0",FIELD(vcolor.z),},
[109]137 {0,0,0,}
138};
139#undef FIELDSTRUCT
140
141
142#define FIELDSTRUCT Neuro
143ParamEntry f0_neuro_paramtab[]=
144{
145 {"Connections",3,10,"n" },
146 {"Other",},
147 {"Visual",},
148 {"p",0,0,"part ref#","d -1 999999 -1",FIELD(part_refno),},
149 {"j",0,0,"joint ref#","d -1 999999 -1",FIELD(joint_refno),},
[289]150 {"d",1,0,"details","s",GETSET(details),},
[109]151 {"i",1,0,"info","s",FIELD(info),},
152 {"Vstyle",2,0,"vis_style","s 0 -1 neuro",FIELD(vis_style),},
153 {"getInputCount",0,1+2,"input count","d",GETONLY(inputCount),},
154 {"getInputNeuroDef",0,1+2,"get input neuron","p oNeuroDef(d)",PROCEDURE(p_getInputNeuroDef),},
155 {"getInputNeuroIndex",0,1+2,"get input neuron index","p d(d)",PROCEDURE(p_getInputNeuroIndex),},
156 {"getInputWeight",0,1+2,"get input weight","p f(d)",PROCEDURE(p_getInputWeight),},
157 {"classObject",0,1+2,"neuron class","o NeuroClass",GETONLY(classObject),},
158 {0,0,0,}
159};
160ParamEntry f0_neuro_xtra_paramtab[]=
161{
162 {"Extra properties",1,0,"n"},
163 {0,0,0,}
164};
165#undef FIELDSTRUCT
166
167
168#define FIELDSTRUCT NeuroConn
169ParamEntry f0_neuroconn_paramtab[]=
170{
171 {"Connection",2,4,"c" },
172 {"Other",},
173 {"n1",0,1024,"this neuro ref#","d -1 999999 -1",FIELD(n1_refno),},
174 {"n2",0,1024,"connected neuro ref#","d -1 999999 -1",FIELD(n2_refno),},
175 {"w",0,1024,"weight","f -999999 999999 1.0",FIELD(weight),},
176 {"i",1,0,"info","s",FIELD(info),},
177 {0,0,0,}
178};
179ParamEntry f0_neuroconn_xtra_paramtab[]=
180{
181 {"Extra properties",1,0,"c"},
182 {0,0,0,}
183};
184#undef FIELDSTRUCT
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
Note: See TracBrowser for help on using the repository browser.