#N canvas 56 109 754 622 10;
#X declare -lib Gem;
#X text 44 383 default = D1 and D2;
#X text 54 27 Class: geometric object;
#X obj 479 47 cnv 15 250 550 empty empty empty 20 12 0 14 -228992 -66577
0;
#X obj 484 533 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 0 454 304 gemwin 0;
#X obj 131 164 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 112 destroy;
#X msg 131 140 create \, 1 \, lighting 1;
#X obj 298 149 world_light;
#X obj 298 122 gemhead;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 7 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 7 0 0 0;
#X connect 9 0 8 0;
#X restore 489 572 pd gemwin;
#X msg 489 550 create;
#X text 485 532 Create window:;
#X text 485 29 Example:;
#X obj 7 47 cnv 15 450 90 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 7 286 cnv 15 450 260 empty empty empty 20 12 0 14 -233017 -66577
0;
#X text 18 291 Inlets:;
#X text 26 323 Inlet 1: message: draw [line|fill|point];
#X text 552 8 GEM object;
#X text 26 308 Inlet 1: gemlist;
#X text 8 498 Outlets:;
#X text 19 511 Outlet 1: gemlist;
#X obj 484 141 cnv 15 240 380 empty empty empty 20 12 0 14 -24198 -66577
0;
#X obj 494 54 gemhead;
#X floatatom 543 84 5 0 0 0 - - -;
#X obj 7 146 cnv 15 450 130 empty empty empty 20 12 0 14 -195568 -66577
0;
#X obj 494 111 rotateXYZ 135 0 0;
#X msg 519 166 draw line;
#X msg 528 188 draw fill;
#X msg 537 210 width 1;
#X msg 545 232 width 10;
#X floatatom 568 306 5 0 0 1 D1 - -;
#X msg 510 144 draw point;
#X floatatom 578 325 5 0 0 1 D2 - -;
#X floatatom 588 344 5 0 0 1 H - -;
#X floatatom 598 363 5 0 0 1 Tx - -;
#X floatatom 606 382 5 0 0 1 Ty - -;
#X floatatom 614 401 5 0 0 1 R1x - -;
#X floatatom 623 420 5 0 0 1 R1y - -;
#X floatatom 632 439 5 0 0 1 R2x - -;
#X floatatom 641 458 5 0 0 1 R2y - -;
#X obj 494 496 tube 0.5 0.9 2.5 30;
#X text 33 11 Synopsis: [tube];
#X text 7 51 Description: Renders a complex tube;
#X text 17 148 Arguments:;
#X text 63 165 1 : 1st circle diameter;
#X text 63 181 2 : 2nd circle diameter;
#X text 26 373 Inlet 3: 2nd circle diameter;
#X text 27 359 Inlet 2: 1st circle diameter;
#X text 26 387 Inlet 4: height of the tube;
#X text 26 403 Inlet 5: X translation of 1st circle;
#X text 26 418 Inlet 6: Y translation of 1st circle;
#X text 26 433 Inlet 7: X rotation of 1st circle;
#X text 26 448 Inlet 8: Y rotation of 1st circle;
#X text 26 480 Inlet 10: Y rotation of 2nd circle;
#X text 26 465 Inlet 9: X rotation of 2nd circle;
#X floatatom 598 84 5 0 0 0 - - -;
#X floatatom 654 84 5 0 0 0 - - -;
#X msg 558 278 numslices \$1;
#X floatatom 558 257 5 0 100 1 - - -;
#X text 26 338 Inlet 1: message: numslices <#>;
#X text 7 72 The tube object generates a shape defined by 2 circles.
These 2 circles can be rotated and translated independently to create
different shapes.;
#X text 63 217 4 : number of segments;
#X text 63 199 3 : height of the tube;
#X obj 628 8 declare -lib Gem;
#X connect 4 0 5 0;
#X connect 5 0 4 0;
#X connect 17 0 20 0;
#X connect 18 0 20 1;
#X connect 20 0 35 0;
#X connect 21 0 35 0;
#X connect 22 0 35 0;
#X connect 23 0 35 0;
#X connect 24 0 35 0;
#X connect 25 0 35 1;
#X connect 26 0 35 0;
#X connect 27 0 35 2;
#X connect 28 0 35 3;
#X connect 29 0 35 4;
#X connect 30 0 35 5;
#X connect 31 0 35 6;
#X connect 32 0 35 7;
#X connect 33 0 35 8;
#X connect 34 0 35 9;
#X connect 50 0 20 2;
#X connect 51 0 20 3;
#X connect 52 0 35 0;
#X connect 53 0 52 0;
