#N canvas 696 105 686 425 10;
#X declare -lib Gem;
#X obj 539 8 declare -lib Gem;
#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 #e0e0e0 #404040 0;
#X text 52 29 Class: particle object;
#X obj 468 64 cnv 1 170 270 empty empty empty 20 12 0 14 #dce4fc #404040 0;
#X obj 472 238 cnv 15 100 40 empty empty empty 20 12 0 14 #14e814 #404040 0;
#X obj 476 74 gemhead;
#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 #bcbcbc #404040 0;
#X text 464 8 GEM object;
#X text 467 45 Example:;
#X obj 7 215 cnv 15 450 100 empty empty empty 20 12 0 14 #e0e0e0 #404040 0;
#X obj 476 98 part_head;
#X obj 476 308 part_draw;
#X text 22 217 <domain>: one of "point" \, "line" \, "triangle" \, "plane" \, "box" \, "sphere" \, "cylinder" \, "cone" \, "blob" \, "disc" \, "rectangle";
#X text 22 255 <arguments>: up to 9 floats \, defining the specified domain (like "x y z" for "point" \, "x1 y1 z1 x2 y2 z2" for "line" \, "x y z r" for "sphere" \, ...). The meaning of the arguments depends -of course- on the domain.;
#X text 26 75 [part_sink] sets up a sink for the particles within the system \, where they will vanish. You can set the sink-domain (shape) and the corresponding arguments.;
#X text 29 127 you can turn on/off the killing of particles (default:off);
#X obj 476 253 part_sink;
#X msg 501 214 symbol sphere;
#X obj 476 142 part_velocity sphere 0 0 0 0.1;
#X floatatom 597 168 5 0 0 0 - - - 0;
#X msg 597 235 \$1 \$1 0 2;
#X obj 476 119 part_source 50;
#X text 24 182 Arguments:;
#X text 96 182 domain \, arguments;
#X text 42 9 Synopsis: [part_sink];
#N canvas 146 246 934 704 domain_infos 0;
#X text 36 9 'point' \; A point in space \; arg.1 X pos \; arg.2 Y pos \; arg.3 Z pos \; \; 'line' \; A line between two points. \; arg.1-3 Positions X \, Y \, Z of point 0 \; arg.4-6 Positions X \, Y \, Z of point 1 \; \; 'rectangle' \; A rectangular space between four points. The fourth point is assumed automatically. \; arg.1-3 Positions X \, Y \, Z of point 0 \; arg.4-6 Positions X \, Y \, Z of point 1 \; arg.7-9 Positions X \, Y \, Z of point 2 \; \; 'sphere' A space within a sphere. When argument 5 is larger than zero \, the core is left blank with the given radius. \; arg.1-3 Positions X \, Y \, Z of center. \; arg.4 Outer radius \; arg.5 Inner radius \; \; 'box' \; By specifying the position of two diagonal corners \, the rest will be assumed \; arg.1-3 Positions X \, Y \, Z of point 0 \; arg.4-6 Positions X \, Y \, Z of point 1 \; \; 'cylinder' \; When argument 8 is larger than zero \, the core is left blank with the given radius. arg.1-3 Positions X \, Y \, Z of point 0 \; arg.4-6 Positions X \, Y \, Z of point 1 \; arg.7 Outer radius \; arg.8 Inner radius \; \; 'cone' \; When argument 8 is larger than zero \, the core is left blank with the given radius. arg.1-3 Positions X \, Y \, Z of point 0 \; arg.4-6 Positions X \, Y \, Z of point 1 \; arg.7 Outer radius \; arg.8 Inner radius \; \; 'blob' \; Not too sure what this is other than that it seems to be a random range. arg.1-3 Positions X \, Y \, Z of center. \; arg.4 Standard deviation (??) \; \; 'plane' \; You will being specifying two points. The plain will include point 0 and perpendicular to a line between the two points. \; arg.1-3 Positions X \, Y \, Z of point 0 \; arg.4-6 Positions X \, Y \, Z of point 1 \; Note: When used with [part_source] this domain always return the position of point 0 and is useless for such context. \; \; 'disc' \; The concept of arguments 1 through 6 are identical to 'plane'. \; You can additionally limit the area by specifying the outer/inner radius of a circle centering at point 0 \; arg.1-3 Positions X \, Y \, Z of point 0 \; arg.4-6 Positions X \, Y \, Z of point 1 \; arg.7 Outer radius \; arg.8 Inner radius \;, f 211;
#X restore 14 326 pd domain_infos;
#X obj 597 196 * 0.1;
#X msg 488 191 kill \$1;
#X obj 488 171 tgl 15 0 empty empty kill 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 476 284 part_killold 50;
#X obj 476 345 _gemwin;
#X connect 5 0 10 0;
#X connect 10 0 21 0;
#X connect 16 0 29 0;
#X connect 17 0 16 1;
#X connect 18 0 16 0;
#X connect 19 0 26 0;
#X connect 20 0 16 2;
#X connect 21 0 18 0;
#X connect 26 0 20 0;
#X connect 27 0 16 0;
#X connect 28 0 27 0;
#X connect 29 0 11 0;
