#N canvas 402 236 760 620 10;
#X declare -lib Gem;
#X text 54 27 Class: geometric object;
#X obj 479 47 cnv 15 250 550 empty empty empty 20 12 0 14 #dce4fc #404040 0;
#X text 485 29 Example:;
#X obj 7 47 cnv 15 450 90 empty empty empty 20 12 0 14 #e0e0e0 #404040 0;
#X obj 8 199 cnv 15 450 260 empty empty empty 20 12 0 14 #e0e0e0 #404040 0;
#X text 19 198 Inlets:;
#X obj 8 143 cnv 15 450 50 empty empty empty 20 12 0 14 #bcbcbc #404040 0;
#X text 17 142 Arguments:;
#X text 26 347 Inlet 1: message: draw [line|fill|point];
#X text 552 8 GEM object;
#X text 27 210 Inlet 1: gemlist;
#X text 9 420 Outlets:;
#X text 20 433 Outlet 1: gemlist;
#X obj 484 141 cnv 15 240 380 empty empty empty 20 12 0 14 #14e814 #404040 0;
#X obj 494 54 gemhead;
#X floatatom 592 446 5 0 0 2 size - - 0;
#X floatatom 593 475 5 0 0 2 height - - 0;
#X floatatom 526 96 5 0 0 0 - - - 0;
#X msg 523 172 draw line;
#X msg 523 192 draw fill;
#X msg 523 212 draw point;
#X text 33 11 Synopsis: [newWave];
#X text 26 377 Inlet 2: float: size (dimX & dimY);
#X text 26 391 Inlet 3: float: height (dimZ);
#X text 26 405 Inlet 4: int: action;
#X obj 565 254 vradio 11 1 0 11 empty empty action -10 -6 0 8 #fcfcfc #000000 #000000 0;
#X floatatom 626 158 5 0 100 0 - - - 0;
#X obj 626 176 / 100;
#X msg 626 195 K1 \$1;
#X text 16 68 The newWaves object renders a number of waving square at the current position with current color. The size of the square can be changed via the inlet2 \, the height of the wave can be set via the 3rd inlet. You can also set the wave-form (inlet4);
#X text 26 223 Inlet 1: bang: trigger waving;
#X obj 494 459 t a b;
#X floatatom 626 218 5 0 100 0 - - - 0;
#X obj 626 236 / 100;
#X floatatom 626 278 5 0 100 0 - - - 0;
#X obj 626 296 / 100;
#X floatatom 676 158 5 0 100 0 - - - 0;
#X obj 676 176 / 100;
#X floatatom 676 218 5 0 100 0 - - - 0;
#X obj 676 236 / 100;
#X floatatom 676 278 5 0 100 0 - - - 0;
#X obj 676 296 / 100;
#X msg 676 195 D1 \$1;
#X msg 676 255 D2 \$1;
#X msg 676 315 D3 \$1;
#X msg 626 315 K3 \$1;
#X msg 626 255 K2 \$1;
#X obj 595 272 t a;
#X obj 595 212 t a;
#X obj 595 332 t a;
#X text 27 237 Inlet 1: K1 \, D1 \, K2 \, D2 \, K3 \, D3: weight/damping factors (defaults: K1=0.05 D1=0.1 K2=K3=D2=D3=0);
#X msg 590 364 position 1 1 10;
#X text 25 265 Inlet 1: message: position (X Y Z): clamp the node at (X Y) to a certain height and release it;
#X text 7 51 Description: Renders a waving square (mass-spring-system);
#X msg 592 414 noise 1;
#X obj 8 465 cnv 15 450 130 empty empty empty 20 12 0 14 #bcbcbc #404040 0;
#X text 13 465 actions:;
#X text 84 471 00..retrigger current action;
#X text 84 482 01..flat;
#X text 84 493 02..spike;
#X text 84 503 03..diagonal wall;
#X text 84 514 04..sidewall;
#X text 84 525 05..hole;
#X text 84 536 06..middleblock;
#X text 84 547 07..diagonalblock;
#X text 84 558 08..cornerblock;
#X text 84 568 09..hill;
#X text 83 579 10..hill4 (default);
#X text 27 318 Inlet 1: message: noise (val) : add a random force;
#X text 42 331 ( -val < force < +val) to all node;
#X obj 493 494 newWave 30 10;
#X msg 502 146 texture 0;
#X msg 591 389 force 15 5 -0.5;
#X obj 494 115 rotateXYZ 135 0 0;
#X text 24 290 Inlet 1: message: force (X Y val): apply a force of value "val" onto the wave at position (X Y);
#X text 63 159 1 : X grid-resolution \, default : 3;
#X text 63 171 2 : Y grid resolution \, default : X value;
#X text 26 362 Inlet 1 : message texture [1|2] : change texturing mode;
#N canvas 484 243 450 300 META 0;
#X obj 10 25 declare -lib Gem;
#X text 10 45 DESCRIPTION Renders a waving square (mass-spring-system);
#X text 10 65 KEYWORDS Gem openGL shape;
#X text 20 85 INLET_0 gemlist bang K1 D1 K2 D2 K3 D3 position force noise draw message;
#X text 20 105 INLET_1 float;
#X text 20 125 INLET_2 float;
#X text 20 145 INLET_3 int;
#X text 20 165 OUTLET_0 gemlist;
#X text 10 185 AUTHOR IOhannes m zmölnig;
#X text 10 205 LICENSE GPL v2;
#X restore 628 8 pd META;
#X obj 648 569 world_light;
#X obj 648 542 gemhead;
#X obj 492 528 _gemwin \; 0 \; 0 \; lighting 1;
#X connect 14 0 73 0;
#X connect 15 0 70 1;
#X connect 16 0 70 2;
#X connect 17 0 73 1;
#X connect 18 0 70 0;
#X connect 19 0 70 0;
#X connect 20 0 70 0;
#X connect 25 0 70 3;
#X connect 26 0 27 0;
#X connect 27 0 28 0;
#X connect 28 0 48 0;
#X connect 31 0 70 0;
#X connect 31 1 70 0;
#X connect 32 0 33 0;
#X connect 33 0 46 0;
#X connect 34 0 35 0;
#X connect 35 0 45 0;
#X connect 36 0 37 0;
#X connect 37 0 42 0;
#X connect 38 0 39 0;
#X connect 39 0 43 0;
#X connect 40 0 41 0;
#X connect 41 0 44 0;
#X connect 42 0 48 0;
#X connect 43 0 47 0;
#X connect 44 0 49 0;
#X connect 45 0 49 0;
#X connect 46 0 47 0;
#X connect 47 0 49 0;
#X connect 48 0 47 0;
#X connect 49 0 70 0;
#X connect 51 0 70 0;
#X connect 54 0 70 0;
#X connect 71 0 70 0;
#X connect 72 0 70 0;
#X connect 73 0 31 0;
#X connect 80 0 79 0;
