#N canvas 594 117 688 676 10; #X declare -lib Gem; #X text 452 8 GEM object; #X obj 8 206 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577 0; #X text 39 218 Inlets:; #X text 63 231 Inlet 1: gemlist; #X text 38 240 Outlets:; #X text 62 253 Outlet 1: gemlist; #X obj 8 156 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577 0; #X text 17 155 Arguments:; #X obj 8 76 cnv 15 430 70 empty empty empty 20 12 0 14 -233017 -66577 0; #X text 453 60 Example:; #X obj 9 415 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577 0; #N canvas 0 0 454 304 gemwin 0; #X obj 132 160 gemwin; #X obj 67 89 outlet; #X obj 67 10 inlet; #X obj 67 41 route create; #X msg 67 70 set destroy; #X msg 142 68 set create; #X msg 198 133 destroy; #X obj 288 57 world_light; #X obj 288 28 gemhead; #X msg 132 112 create \, 1 \, lighting 1; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 3 0 9 0; #X connect 3 1 5 0; #X connect 3 1 6 0; #X connect 4 0 1 0; #X connect 5 0 1 0; #X connect 6 0 0 0; #X connect 8 0 7 0; #X connect 9 0 0 0; #X restore 14 454 pd gemwin; #X msg 14 435 create; #X text 10 414 Create window:; #X text 50 12 Synopsis: [gemlist_info]; #X text 71 31 Class: information object; #X text 29 77 Description: get current transformation of a gemlist ; #X text 42 94 [gemlist_info] accepts a gemList decompost the transformation matrix in basic transformation (translation \, scale \, shear \, rotation) ; #X text 60 174 no argument; #X text 62 299 Outlet 5: 3 float list : translationX \, Y and Z; #X text 62 265 Outlet 2: 3 float list : RotationX \, Y and Z; #X text 62 277 Outlet 3: 3 float list : shear YX \, YZ and ZX; #X text 62 288 Outlet 4: 3 float list : scale X \, Y and Z; #X obj 9 336 cnv 15 430 60 empty empty empty 20 12 0 14 -195568 -66577 0; #N canvas 0 0 452 890 more 0; #X obj 30 122 gemhead; #X floatatom 44 144 5 0 0 0 - - -; #X floatatom 78 144 5 0 0 0 - - -; #X floatatom 112 144 5 0 0 0 - - -; #X floatatom 46 184 5 0 0 0 - - -; #X floatatom 80 184 5 0 0 0 - - -; #X floatatom 114 184 5 0 0 0 - - -; #X floatatom 52 227 5 0 0 0 - - -; #X floatatom 86 227 5 0 0 0 - - -; #X floatatom 120 227 5 0 0 0 - - -; #X obj 30 433 gemlist_info; #X obj 192 568 unpack f f f; #X obj 178 396 gemhead; #X obj 178 536 translateXYZ; #X floatatom 192 591 5 0 0 0 - - -; #X floatatom 225 591 5 0 0 0 - - -; #X floatatom 259 591 5 0 0 0 - - -; #X floatatom 193 761 5 0 0 0 - - -; #X floatatom 226 761 5 0 0 0 - - -; #X floatatom 260 761 5 0 0 0 - - -; #X floatatom 200 516 5 0 0 0 - - -; #X floatatom 233 516 5 0 0 0 - - -; #X floatatom 267 516 5 0 0 0 - - -; #X obj 193 734 unpack f f f; #X obj 200 490 unpack f f f; #X obj 178 421 GEMglLoadIdentity; #X obj 178 450 color 1 0 0; #X floatatom 46 336 5 0 0 0 - - -; #X floatatom 80 336 5 0 0 0 - - -; #X floatatom 114 336 5 0 0 0 - - -; #X floatatom 52 379 5 0 0 0 - - -; #X floatatom 86 379 5 0 0 0 - - -; #X floatatom 120 379 5 0 0 0 - - -; #X obj 30 163 scaleXYZ 1 1 1; #X obj 30 205 rotateXYZ 0 0 0; #X obj 30 247 translateXYZ 0 0 0; #X obj 30 357 rotateXYZ 0 0 0; #X obj 30 399 translateXYZ 0 0 0; #X floatatom 44 283 5 0 0 0 - - -; #X floatatom 78 283 5 0 0 0 - - -; #X floatatom 112 283 5 0 0 0 - - -; #X obj 30 302 scaleXYZ 1 1 1; #X obj 30 512 cube; #X obj 30 484 scaleXYZ 1 1 0.2; #X floatatom 192 665 8 0 0 0 - - -; #X floatatom 225 681 8 0 0 0 - - -; #X floatatom 259 697 8 0 0 0 - - -; #X obj 192 643 unpack f f f; #N canvas 296 410 419 328 shear 0; #X obj 28 17 inlet; #X obj 28 270 outlet; #X obj 108 21 inlet; #X obj 205 20 inlet; #X obj 297 18 inlet; #X text 117 38 ShearXY; #X text 217 37 ShearXZ; #X text 306 36 ShearYZ; #X obj 28 104 shearYX; #X obj 28 153 shearZX; #X obj 28 212 shearZY; #X connect 0 0 8 0; #X connect 2 0 8 1; #X connect 3 0 9 1; #X connect 4 0 10 1; #X connect 8 0 9 0; #X connect 9 0 10 0; #X connect 10 0 1 0; #X restore 178 711 pd shear; #X obj 178 811 cube 0.5; #X obj 178 80 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 ; #X obj 178 785 rotateXYZ; #X obj 178 610 scaleXYZ; #X obj 178 30 loadbang; #X msg 178 55 0; #X text 50 844 this show the transformation needed to create a specific transformation matrix decomposed with gemlist_info; #X connect 0 0 33 0; #X connect 1 0 33 1; #X connect 2 0 33 2; #X connect 3 0 33 3; #X connect 4 0 34 1; #X connect 5 0 34 2; #X connect 6 0 34 3; #X connect 7 0 35 1; #X connect 8 0 35 2; #X connect 9 0 35 3; #X connect 10 0 43 0; #X connect 10 1 23 0; #X connect 10 2 47 0; #X connect 10 3 11 0; #X connect 10 4 24 0; #X connect 11 0 14 0; #X connect 11 1 15 0; #X connect 11 2 16 0; #X connect 12 0 25 0; #X connect 13 0 52 0; #X connect 14 0 52 1; #X connect 15 0 52 2; #X connect 16 0 52 3; #X connect 17 0 51 1; #X connect 18 0 51 2; #X connect 19 0 51 3; #X connect 20 0 13 1; #X connect 21 0 13 2; #X connect 22 0 13 3; #X connect 23 0 17 0; #X connect 23 1 18 0; #X connect 23 2 19 0; #X connect 24 0 20 0; #X connect 24 1 21 0; #X connect 24 2 22 0; #X connect 25 0 26 0; #X connect 26 0 13 0; #X connect 27 0 36 1; #X connect 28 0 36 2; #X connect 29 0 36 3; #X connect 30 0 37 1; #X connect 31 0 37 2; #X connect 32 0 37 3; #X connect 33 0 34 0; #X connect 34 0 35 0; #X connect 35 0 41 0; #X connect 36 0 37 0; #X connect 37 0 10 0; #X connect 38 0 41 1; #X connect 39 0 41 2; #X connect 40 0 41 3; #X connect 41 0 36 0; #X connect 43 0 42 0; #X connect 44 0 48 1; #X connect 45 0 48 2; #X connect 46 0 48 3; #X connect 47 0 44 0; #X connect 47 1 45 0; #X connect 47 2 46 0; #X connect 48 0 51 0; #X connect 50 0 0 0; #X connect 50 0 12 0; #X connect 51 0 49 0; #X connect 52 0 48 0; #X connect 53 0 54 0; #X connect 54 0 50 0; #X restore 15 349 pd more; #X obj 449 77 cnv 15 200 570 empty empty empty 20 12 0 14 -228992 -66577 0; #X obj 459 310 cnv 15 180 40 empty empty empty 20 12 0 14 -24198 -66577 0; #X obj 472 89 gemhead; #X floatatom 494 121 5 0 0 0 - - -; #X floatatom 528 121 5 0 0 0 - - -; #X floatatom 562 121 5 0 0 0 - - -; #X floatatom 488 264 5 0 0 0 - - -; #X floatatom 522 264 5 0 0 0 - - -; #X floatatom 556 264 5 0 0 0 - - -; #X floatatom 486 170 5 0 0 0 - - -; #X floatatom 520 170 5 0 0 0 - - -; #X floatatom 554 170 5 0 0 0 - - -; #X obj 472 320 gemlist_info; #X obj 488 596 unpack f f f; #X floatatom 488 619 5 0 0 0 - - -; #X floatatom 521 619 5 0 0 0 - - -; #X floatatom 555 619 5 0 0 0 - - -; #X floatatom 522 470 5 0 0 0 - - -; #X floatatom 555 470 5 0 0 0 - - -; #X floatatom 589 470 5 0 0 0 - - -; #X floatatom 539 394 5 0 0 0 - - -; #X floatatom 572 394 5 0 0 0 - - -; #X floatatom 606 394 5 0 0 0 - - -; #X obj 522 444 unpack f f f; #X obj 539 371 unpack f f f; #X text 547 356 position; #X text 533 428 size; #X obj 505 520 unpack f f f; #N canvas 437 191 389 322 shear 0; #X obj 37 27 inlet; #X obj 37 280 outlet; #X obj 118 31 inlet; #X obj 215 30 inlet; #X obj 307 28 inlet; #X text 127 48 ShearXY; #X text 227 47 ShearXZ; #X text 316 46 ShearYZ; #X obj 37 114 shearXY; #X obj 37 163 shearXZ; #X obj 37 222 shearYZ; #X connect 0 0 8 0; #X connect 2 0 8 1; #X connect 3 0 9 1; #X connect 4 0 10 1; #X connect 8 0 9 0; #X connect 9 0 10 0; #X connect 10 0 1 0; #X restore 472 237 pd shear; #X obj 472 285 rotateXYZ; #X obj 472 189 scaleXYZ; #X obj 472 144 translateXYZ; #X floatatom 486 216 5 0 0 0 - - -; #X floatatom 520 216 5 0 0 0 - - -; #X floatatom 554 216 5 0 0 0 - - -; #X floatatom 505 545 5 0 0 0 - - -; #X floatatom 538 545 5 0 0 0 - - -; #X floatatom 572 545 5 0 0 0 - - -; #X text 498 580 orientation; #X text 514 504 shear (YX \, ZX \, ZY); #X text 76 349 <- more about gemlist_info; #X text 18 375 see also :; #X obj 100 375 gemlist_matrix; #X obj 548 8 declare -lib Gem; #X connect 11 0 12 0; #X connect 12 0 11 0; #X connect 27 0 56 0; #X connect 28 0 56 1; #X connect 29 0 56 2; #X connect 30 0 56 3; #X connect 31 0 54 1; #X connect 32 0 54 2; #X connect 33 0 54 3; #X connect 34 0 55 1; #X connect 35 0 55 2; #X connect 36 0 55 3; #X connect 37 1 38 0; #X connect 37 2 52 0; #X connect 37 3 48 0; #X connect 37 4 49 0; #X connect 38 0 39 0; #X connect 38 1 40 0; #X connect 38 2 41 0; #X connect 48 0 42 0; #X connect 48 1 43 0; #X connect 48 2 44 0; #X connect 49 0 45 0; #X connect 49 1 46 0; #X connect 49 2 47 0; #X connect 52 0 60 0; #X connect 52 1 61 0; #X connect 52 2 62 0; #X connect 53 0 54 0; #X connect 54 0 37 0; #X connect 55 0 53 0; #X connect 56 0 55 0; #X connect 57 0 53 1; #X connect 58 0 53 2; #X connect 59 0 53 3;