aboutsummaryrefslogtreecommitdiff
path: root/packages/noncvs/windows/extra/Gem/examples/02.advanced/19.pointer.pd
diff options
context:
space:
mode:
Diffstat (limited to 'packages/noncvs/windows/extra/Gem/examples/02.advanced/19.pointer.pd')
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/02.advanced/19.pointer.pd217
1 files changed, 217 insertions, 0 deletions
diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/19.pointer.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/19.pointer.pd
new file mode 100644
index 00000000..7db5c4f3
--- /dev/null
+++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/19.pointer.pd
@@ -0,0 +1,217 @@
+#N canvas 102 54 864 638 10;
+#X obj 209 223 gemhead;
+#X obj 241 277 t a a a;
+#X obj 264 320 cube 1;
+#X obj 238 66 world_light;
+#X obj 238 41 gemhead;
+#X obj 37 226 gemhead;
+#X obj 37 321 sphere 1.3 33;
+#X obj 287 300 rotateXYZ 60 30 0;
+#X obj 37 300 rotateXYZ 60 30 0;
+#X text 36 184 #1:;
+#X text 209 181 #2:;
+#X obj 37 428 sphere 1.3 33;
+#X obj 37 407 rotateXYZ 60 30 0;
+#X obj 209 248 t a a;
+#X obj 595 288 gemlist;
+#X obj 595 223 gemhead;
+#X obj 595 250 t b b a;
+#X obj 37 202 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X obj 209 198 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 595 198 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 37 342 translateXYZ 2 0 0;
+#X obj 37 449 translateXYZ 2 0 0;
+#X obj 241 341 translateXYZ 2 0 0;
+#X obj 209 386 t a a a;
+#X obj 232 429 cube 1;
+#X obj 255 409 rotateXYZ 60 30 0;
+#X obj 209 450 translateXYZ 2 0 0;
+#X obj 595 410 rotateXYZ 60 30 0;
+#X obj 595 452 translateXYZ 2 0 0;
+#X obj 595 431 sphere 1.6 4;
+#X text 29 498 example #1 is the usual way to use Gem \, but the technique
+shown in example #2 can be more flexible...;
+#N canvas 186 321 446 463 more_interating_1 0;
+#X obj 22 64 gemhead;
+#X obj 22 351 rotateXYZ 0 0 12;
+#X obj 22 274 scaleXYZ 0.97 0.9 1;
+#X obj 22 296 translateXYZ 0.5 0 0;
+#X obj 22 376 circle 0.2;
+#X floatatom 131 331 5 0 0 0 - - -;
+#X obj 22 226 gemlist;
+#X obj 22 204 until;
+#X msg 22 180 100;
+#X obj 22 158 t b a;
+#X obj 22 111 translateXYZ -3 0 0;
+#X obj 22 43 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
+;
+#X text 85 198 "repeat" 100 times the same "gemlist";
+#X connect 0 0 10 0;
+#X connect 1 0 4 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 5 0 1 3;
+#X connect 6 0 2 0;
+#X connect 7 0 6 0;
+#X connect 8 0 7 0;
+#X connect 9 0 8 0;
+#X connect 9 1 6 1;
+#X connect 10 0 9 0;
+#X connect 11 0 0 0;
+#X restore 32 561 pd more_interating_1;
+#N canvas 178 159 464 582 more_interating_2 0;
+#X obj 22 69 gemhead;
+#X obj 22 377 scaleXYZ 0.97 0.9 1;
+#X obj 22 505 circle 0.2;
+#X obj 22 235 gemlist;
+#X obj 22 213 until;
+#X msg 22 189 100;
+#X obj 22 167 t b a;
+#X obj 185 322 f;
+#X obj 277 309 random 1000;
+#X obj 22 480 rotateXYZ 0 0 0;
+#X obj 185 420 *;
+#X obj 22 132 t a b;
+#X obj 22 264 t a b b;
+#X msg 277 283 seed \$1;
+#X obj 277 256 f;
+#X floatatom 295 234 5 0 0 0 - - -;
+#X obj 277 334 - 500;
+#X obj 185 441 / 1000;
+#X obj 22 400 translateXYZ -0.5 0 0;
+#X obj 22 103 translateXYZ 3 0 0;
+#X obj 22 42 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
+;
+#X text 343 233 <- change random;
+#X text 276 356 rotation angle is random;
+#X text 200 390 amplitude decrease;
+#X msg 203 296 100;
+#X obj 222 351 - 1;
+#X connect 0 0 19 0;
+#X connect 1 0 18 0;
+#X connect 3 0 12 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 6 1 3 1;
+#X connect 7 0 25 0;
+#X connect 7 0 10 0;
+#X connect 8 0 16 0;
+#X connect 9 0 2 0;
+#X connect 10 0 17 0;
+#X connect 11 0 6 0;
+#X connect 11 1 24 0;
+#X connect 11 1 14 0;
+#X connect 12 0 1 0;
+#X connect 12 1 7 0;
+#X connect 12 2 8 0;
+#X connect 13 0 8 0;
+#X connect 14 0 13 0;
+#X connect 15 0 14 1;
+#X connect 16 0 10 1;
+#X connect 17 0 9 3;
+#X connect 18 0 9 0;
+#X connect 19 0 11 0;
+#X connect 20 0 0 0;
+#X connect 24 0 7 1;
+#X connect 25 0 7 1;
+#X restore 32 581 pd more_interating_2;
+#X obj 445 223 gemhead;
+#X obj 445 198 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 443 178 #3:;
+#X obj 445 410 rotateXYZ 60 30 0;
+#X obj 445 452 translateXYZ 2 0 0;
+#X obj 445 271 t a a;
+#X text 593 178 #4:;
+#X text 611 314 [gemlist] stores the current state;
+#X text 613 330 and outputs it when banged;
+#X text 30 528 The example #4 can easily be extended to use many primitives.
+;
+#X text 31 122 [gemhead]'s output is a special message describing the
+"state" of the system. This state is changed by the GEM objects. This
+means that the examples below are equivalent:;
+#X obj 445 431 teapot 1;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 44 55 pd gemwin;
+#N canvas 0 0 450 300 Gem.init 0;
+#X obj 94 232 outlet;
+#X obj 94 183 loadbang;
+#X msg 94 208 lighting 1;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X restore 44 36 pd Gem.init;
+#X connect 0 0 13 0;
+#X connect 1 0 22 0;
+#X connect 1 1 2 0;
+#X connect 1 2 7 0;
+#X connect 4 0 3 0;
+#X connect 5 0 8 0;
+#X connect 6 0 20 0;
+#X connect 8 0 6 0;
+#X connect 11 0 21 0;
+#X connect 12 0 11 0;
+#X connect 13 0 23 0;
+#X connect 13 1 1 0;
+#X connect 14 0 27 0;
+#X connect 15 0 16 0;
+#X connect 16 0 14 0;
+#X connect 16 1 14 0;
+#X connect 16 2 14 1;
+#X connect 17 0 5 0;
+#X connect 18 0 0 0;
+#X connect 19 0 15 0;
+#X connect 20 0 12 0;
+#X connect 23 0 26 0;
+#X connect 23 1 24 0;
+#X connect 23 2 25 0;
+#X connect 27 0 29 0;
+#X connect 29 0 28 0;
+#X connect 33 0 38 0;
+#X connect 34 0 33 0;
+#X connect 36 0 44 0;
+#X connect 38 0 36 0;
+#X connect 38 1 36 0;
+#X connect 44 0 37 0;
+#X connect 46 0 45 0;