aboutsummaryrefslogtreecommitdiff
path: root/examples/64_distordable_object.pd
blob: 09a03951a4e908142b9c8f4a7f7e523a2be2e7ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
#N canvas 358 434 669 579 10;
#X declare -lib Gem;
#X obj 52 300 pmpd2d;
#X obj 52 78 loadbang;
#X obj 64 101 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#N canvas 293 344 1137 609 creation 0;
#X obj 256 -12 inlet;
#X obj 266 16 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 257 49 t b b b b b b b b b b b;
#X msg 824 175 reset;
#X obj 504 540 outlet;
#X obj 637 147 until;
#X obj 637 179 f;
#X obj 709 231 + 1;
#X msg 679 147 0;
#X obj 637 305 pack f f;
#X msg 637 330 mass net 1 1 \$1 \$2;
#X msg 746 512 print;
#X obj 672 257 % 20;
#X obj 637 258 / 20;
#X obj 637 279 i;
#X obj 637 226 t f f f f;
#X obj 448 339 until;
#X obj 448 371 f;
#X obj 520 423 + 1;
#X obj 448 418 t f f f f;
#X obj 449 448 + 1, f 4;
#X obj 447 476 pack f f;
#X msg 448 317 19;
#X obj 463 179 until;
#X obj 463 211 f;
#X msg 505 179 0;
#X obj 524 242 + 1;
#X obj 488 313 * 20;
#X msg 463 157 20;
#X msg 637 125 400;
#X obj 314 297 until;
#X obj 314 329 f;
#X obj 386 381 + 1;
#X obj 314 376 t f f f f;
#X obj 313 434 pack f f;
#X obj 329 137 until;
#X obj 329 169 f;
#X msg 371 137 0;
#X obj 406 212 + 1;
#X obj 354 271 * 20;
#X msg 314 275 20;
#X msg 329 115 19;
#X obj 315 406 + 20;
#X obj 148 299 until;
#X obj 148 331 f;
#X obj 220 383 + 1;
#X obj 148 378 t f f f f;
#X obj 147 436 pack f f;
#X obj 163 139 until;
#X obj 163 171 f;
#X msg 205 139 0;
#X obj 248 219 + 1;
#X obj 188 273 * 20;
#X msg 163 117 19;
#X msg 148 277 19;
#X obj 149 408 + 21;
#X obj 0 290 until;
#X obj 0 322 f;
#X obj 72 374 + 1;
#X obj 0 369 t f f f f;
#X obj -1 427 pack f f;
#X obj 15 130 until;
#X obj 15 162 f;
#X msg 57 130 0;
#X obj 73 213 + 1;
#X obj 40 264 * 20;
#X msg 15 108 19;
#X msg 0 268 19;
#X obj 56 407 + 1;
#X obj 14 237 t b f f;
#X obj 162 246 t b f f;
#X obj 328 244 t b f f;
#X obj 462 286 t b f f;
#X obj 2 399 + 20;
#X msg 846 276 min -9 -9 \, max 29 29;
#X msg 1 455 link link \$1 \$2 0.03 0.1;
#X msg 152 463 link link \$1 \$2 0.03 0.1;
#X msg 316 462 link link \$1 \$2 0.03 0.1;
#X msg 448 501 link link \$1 \$2 0.03 0.1;
#X connect 0 0 2 0;
#X connect 1 0 2 0;
#X connect 2 2 74 0;
#X connect 2 4 66 0;
#X connect 2 6 53 0;
#X connect 2 7 41 0;
#X connect 2 8 28 0;
#X connect 2 9 29 0;
#X connect 2 10 3 0;
#X connect 2 10 8 0;
#X connect 2 10 25 0;
#X connect 2 10 37 0;
#X connect 2 10 50 0;
#X connect 2 10 63 0;
#X connect 3 0 4 0;
#X connect 5 0 6 0;
#X connect 6 0 15 0;
#X connect 7 0 6 1;
#X connect 8 0 6 1;
#X connect 9 0 10 0;
#X connect 10 0 4 0;
#X connect 11 0 4 0;
#X connect 12 0 9 1;
#X connect 13 0 14 0;
#X connect 14 0 9 0;
#X connect 15 0 13 0;
#X connect 15 1 12 0;
#X connect 15 2 7 0;
#X connect 16 0 17 0;
#X connect 17 0 19 0;
#X connect 18 0 17 1;
#X connect 19 0 20 0;
#X connect 19 1 21 1;
#X connect 19 2 18 0;
#X connect 20 0 21 0;
#X connect 21 0 78 0;
#X connect 22 0 16 0;
#X connect 23 0 24 0;
#X connect 24 0 72 0;
#X connect 25 0 24 1;
#X connect 26 0 24 1;
#X connect 27 0 17 1;
#X connect 28 0 23 0;
#X connect 29 0 5 0;
#X connect 30 0 31 0;
#X connect 31 0 33 0;
#X connect 32 0 31 1;
#X connect 33 0 42 0;
#X connect 33 1 34 1;
#X connect 33 2 32 0;
#X connect 34 0 77 0;
#X connect 35 0 36 0;
#X connect 36 0 71 0;
#X connect 37 0 36 1;
#X connect 38 0 36 1;
#X connect 39 0 31 1;
#X connect 40 0 30 0;
#X connect 41 0 35 0;
#X connect 42 0 34 0;
#X connect 43 0 44 0;
#X connect 44 0 46 0;
#X connect 45 0 44 1;
#X connect 46 0 55 0;
#X connect 46 1 47 1;
#X connect 46 2 45 0;
#X connect 47 0 76 0;
#X connect 48 0 49 0;
#X connect 49 0 70 0;
#X connect 50 0 49 1;
#X connect 51 0 49 1;
#X connect 52 0 44 1;
#X connect 53 0 48 0;
#X connect 54 0 43 0;
#X connect 55 0 47 0;
#X connect 56 0 57 0;
#X connect 57 0 59 0;
#X connect 58 0 57 1;
#X connect 59 0 73 0;
#X connect 59 1 68 0;
#X connect 59 2 58 0;
#X connect 60 0 75 0;
#X connect 61 0 62 0;
#X connect 62 0 69 0;
#X connect 63 0 62 1;
#X connect 64 0 62 1;
#X connect 65 0 57 1;
#X connect 66 0 61 0;
#X connect 67 0 56 0;
#X connect 68 0 60 1;
#X connect 69 0 67 0;
#X connect 69 1 65 0;
#X connect 69 2 64 0;
#X connect 70 0 54 0;
#X connect 70 1 52 0;
#X connect 70 2 51 0;
#X connect 71 0 40 0;
#X connect 71 1 39 0;
#X connect 71 2 38 0;
#X connect 72 0 22 0;
#X connect 72 1 27 0;
#X connect 72 2 26 0;
#X connect 73 0 60 0;
#X connect 74 0 4 0;
#X connect 75 0 4 0;
#X connect 76 0 4 0;
#X connect 77 0 4 0;
#X connect 78 0 4 0;
#X restore 52 126 pd creation;
#X obj 56 -19 declare -lib Gem;
#X obj 69 224 gemhead;
#X obj 69 247 t b;
#X obj 54 45 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1
;
#N canvas 1324 493 591 562 linkrender 0;
#X obj 150 9 inlet;
#X obj 67 285 separator;
#X obj 150 148 t b f;
#X obj 67 368 curve 2;
#X obj 177 178 pack f f;
#X msg 177 201 \$1 \$2 0;
#X obj 261 177 pack f f;
#X msg 261 200 \$1 \$2 0;
#X obj 146 97 unpack f f f f f;
#X obj 67 224 gemhead 45;
#X obj 67 116 loadbang;
#X msg 67 174 0;
#X msg 77 337 res 2;
#X obj 77 311 loadbang;
#X obj 145 53 route link;
#X obj 68 265 translateXYZ -10 -10 0;
#X obj 69 246 scaleXYZ 0.2 0.2 0.2;
#X connect 0 0 14 0;
#X connect 1 0 3 0;
#X connect 2 0 9 0;
#X connect 2 1 4 0;
#X connect 4 0 5 0;
#X connect 5 0 3 1;
#X connect 6 0 7 0;
#X connect 7 0 3 2;
#X connect 8 1 2 0;
#X connect 8 2 4 1;
#X connect 8 3 6 0;
#X connect 8 4 6 1;
#X connect 9 0 16 0;
#X connect 10 0 11 0;
#X connect 11 0 9 0;
#X connect 12 0 3 0;
#X connect 13 0 12 0;
#X connect 14 0 8 0;
#X connect 15 0 1 0;
#X connect 16 0 15 0;
#X restore 52 345 pd linkrender;
#N canvas 714 698 763 327 create_gem 0;
#X msg 137 179 0 \, destroy;
#X obj 118 104 inlet;
#X obj 118 129 sel 1 0;
#X msg 118 156 reset \, create \, 1;
#X obj 118 200 gemwin 50;
#X connect 0 0 4 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 2 1 0 0;
#X connect 3 0 4 0;
#X restore 75 45 pd create_gem;
#X obj 239 119 pack f f;
#X obj 239 143 spigot 0;
#X obj 255 31 gemmouse 40 -40;
#X obj 239 97 - 10;
#X obj 281 98 + 30;
#X obj 240 73 f;
#X obj 207 -13 gemhead;
#X obj 207 10 t b;
#X obj 207 53 until;
#X msg 69 268 linkEnd link;
#X obj 52 323 route linkEnd testLink;
#X msg 151 366 setInactive \$1 \, setLinkId \$1 broken;
#X obj 480 70 gemhead 45;
#X obj 480 113 translateXYZ -10 -10 0;
#X obj 480 92 scaleXYZ 0.2 0.2 0.2;
#X obj 503 -1 gemmouse 40 -40;
#X obj 503 34 - 10;
#X obj 536 34 + 30;
#X obj 480 134 translateXYZ;
#X obj 480 155 circle 2;
#X obj 151 345 route break plastic;
#X msg 207 197 bang \, forceY net -1e-05 \,;
#X msg 450 38 0;
#X obj 451 14 loadbang;
#X msg 239 169 iCircle net \$1 \$2 1 -0.1 1 0 0 0 1;
#X text 62 452 click and drag the mouse cursor over the object : you
can interact with it. if force in the links are to importantes \, the
connection lenght will change (plastic deformation). if forces are
to importante \, they will break.;
#X msg 207 32 20;
#X msg 185 225 testLink break Id link forceSup 0.03 \, testLink plastic
Id link forceSup 0.002;
#X msg 206 396 setLCurrent link 0.0001;
#X connect 0 0 20 0;
#X connect 1 0 3 0;
#X connect 2 0 3 0;
#X connect 3 0 0 0;
#X connect 5 0 6 0;
#X connect 6 0 19 0;
#X connect 7 0 9 0;
#X connect 10 0 11 0;
#X connect 11 0 34 0;
#X connect 12 0 15 1;
#X connect 12 1 14 0;
#X connect 12 2 11 1;
#X connect 13 0 10 0;
#X connect 14 0 10 1;
#X connect 15 0 13 0;
#X connect 16 0 17 0;
#X connect 17 0 36 0;
#X connect 18 0 31 0;
#X connect 18 0 15 0;
#X connect 18 0 37 0;
#X connect 19 0 0 0;
#X connect 20 0 8 0;
#X connect 20 1 30 0;
#X connect 21 0 0 0;
#X connect 22 0 24 0;
#X connect 23 0 28 0;
#X connect 24 0 23 0;
#X connect 25 0 26 0;
#X connect 25 1 27 0;
#X connect 25 2 22 0;
#X connect 26 0 28 1;
#X connect 27 0 28 2;
#X connect 28 0 29 0;
#X connect 30 0 21 0;
#X connect 30 1 38 0;
#X connect 31 0 0 0;
#X connect 32 0 22 0;
#X connect 33 0 32 0;
#X connect 34 0 0 0;
#X connect 36 0 18 0;
#X connect 37 0 0 0;
#X connect 38 0 0 0;