#N canvas 542 204 699 427 10;
#X declare -lib Gem;
#X obj 546 12 declare -lib Gem;
#X obj 14 69 cnv 15 450 100 empty empty empty 20 12 0 14 #e0e0e0 #404040 0;
#X text 59 33 Class: particle object;
#X obj 475 68 cnv 15 200 250 empty empty empty 20 12 0 14 #dce4fc #404040 0;
#X obj 480 196 cnv 15 120 40 empty empty empty 20 12 0 14 #14e814 #404040 0;
#X obj 493 96 gemhead;
#X obj 493 269 part_draw;
#X obj 493 295 part_killold 50;
#X obj 15 180 cnv 15 450 30 empty empty empty 20 12 0 14 #bcbcbc #404040 0;
#X text 24 179 Arguments:;
#X text 471 12 GEM object;
#X text 474 49 Example:;
#X obj 14 219 cnv 15 450 100 empty empty empty 20 12 0 14 #e0e0e0 #404040 0;
#X text 24 77 add a particle-source. You will need this if you want any particles in your particle-system.;
#X text 44 226 <domain>: one of "point" \, "line" \, "triangle" \, "plane" \, "box" \, "sphere" \, "cylinder" \, "cone" \, "blob" \, "disc" \, "rectangle";
#X text 43 266 <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 obj 493 117 part_head;
#X obj 493 207 part_source 20;
#X text 49 13 Synopsis: [part_source];
#X floatatom 520 142 5 0 0 1 particle/frame - - 0;
#X msg 547 166 symbol sphere;
#X msg 595 185 0 0 0 1;
#X obj 493 246 part_velocity point 0 0 0.1;
#X text 96 181 the number of particles that are emitted at each rendering-frame;
#X text 23 108 Newly created particles will appear in a random position within the domain.;
#X text 22 132 The key is to pair [part_source] to adjust the rate of particles appearing and [part_killold] to control its mass in order to archive the desired effect.;
#X obj 493 77 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X text 631 164 domain;
#X text 644 185 args;
#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 18 331 pd domain_infos;
#X obj 493 328 _gemwin;
#X connect 5 0 16 0;
#X connect 6 0 7 0;
#X connect 16 0 17 0;
#X connect 17 0 22 0;
#X connect 19 0 17 1;
#X connect 20 0 17 2;
#X connect 21 0 17 3;
#X connect 22 0 6 0;
#X connect 26 0 5 0;
