|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Object common:Generic common:Coloring common:GradientColoring mmf:MMF_DLA
class
class MMF_DLA(common.ulb:GradientColoring) { public: import "common.ulb" ; @param pparent the parent, generally "this" from the parent, or zero func MMF_DLA(Generic pparent) GradientColoring.GradientColoring(pparent) float nd[16] bool ss[16,16] complex p = (0,0) float d = 0.0 float rot = (270.0+@angle)*(#pi/180.0) ; degrees to radians conversion float ele = @elevation*(#pi/180.0) int i = 0 int j = 0 int k = 0 int l = 0 int z = 0 int a = 0 int b = 0 int c = @numgenerations bool f = true ; The lighting Normal lx = cos(rot) * cos(ele) ly = sin(rot) * cos(ele) lz = sin(ele) i = #height + 3 + @offset repeat j = #width + 3 + @offset repeat s[j,i] = 0 until (j=j-1)<0 until (i=i-1)<0 i = ceil((#height+4+@offset)/64) - 1 repeat j = ceil((#width+4+@offset)/64) - 1 repeat k = 16 repeat t[j,i,k] = 0 until (k=k-1)<0 until (j=j-1)<0 until (i=i-1)<0 i = 15 repeat g[i] = 0 tn[i] = 0 top[i] = 100000000 btm[i] = -1 lft[i] = 100000000 rgt[i] = -1 until (i=i-1)<0 mxl = 100000000 mxr = -1 mxu = 100000000 mxd = -1 r = @seed n = 0 q = (#width+@offset)*(#height+@offset) if @use=="Pixel Count" q = @pixels elseif @use=="Percentage" q = round(0.01*@percent*q) endif a = q pn[0] = @palmin1 pn[1] = @palmin2 pn[2] = @palmin3 pn[3] = @palmin4 pn[4] = @palmin5 pn[5] = @palmin6 pn[6] = @palmin7 pn[7] = @palmin8 pn[8] = @palmin9 pn[9] = @palmin10 pn[10] = @palmin11 pn[11] = @palmin12 pn[12] = @palmin13 pn[13] = @palmin14 pn[14] = @palmin15 pn[15] = @palmin16 px[0] = @palmax1 - @palmin1 px[1] = @palmax2 - @palmin2 px[2] = @palmax3 - @palmin3 px[3] = @palmax4 - @palmin4 px[4] = @palmax5 - @palmin5 px[5] = @palmax6 - @palmin6 px[6] = @palmax7 - @palmin7 px[7] = @palmax8 - @palmin8 px[8] = @palmax9 - @palmin9 px[9] = @palmax10 - @palmin10 px[10] = @palmax11 - @palmin11 px[11] = @palmax12 - @palmin12 px[12] = @palmax13 - @palmin13 px[13] = @palmax14 - @palmin14 px[14] = @palmax15 - @palmin15 px[15] = @palmax16 - @palmin16 lc[0] = @lightcol1 lc[1] = @lightcol2 lc[2] = @lightcol3 lc[3] = @lightcol4 lc[4] = @lightcol5 lc[5] = @lightcol6 lc[6] = @lightcol7 lc[7] = @lightcol8 lc[8] = @lightcol9 lc[9] = @lightcol10 lc[10] = @lightcol11 lc[11] = @lightcol12 lc[12] = @lightcol13 lc[13] = @lightcol14 lc[14] = @lightcol15 lc[15] = @lightcol16 m[0] = @method1 m[1] = @method2 m[2] = @method3 m[3] = @method4 m[4] = @method5 m[5] = @method6 m[6] = @method7 m[7] = @method8 m[8] = @method9 m[9] = @method10 m[10] = @method11 m[11] = @method12 m[12] = @method13 m[13] = @method14 m[14] = @method15 m[15] = @method16 nd[0] = @nodirection1*sqrt(#width*#height/(640*480)) nd[1] = @nodirection2*sqrt(#width*#height/(640*480)) nd[2] = @nodirection3*sqrt(#width*#height/(640*480)) nd[3] = @nodirection4*sqrt(#width*#height/(640*480)) nd[4] = @nodirection5*sqrt(#width*#height/(640*480)) nd[5] = @nodirection6*sqrt(#width*#height/(640*480)) nd[6] = @nodirection7*sqrt(#width*#height/(640*480)) nd[7] = @nodirection8*sqrt(#width*#height/(640*480)) nd[8] = @nodirection9*sqrt(#width*#height/(640*480)) nd[9] = @nodirection10*sqrt(#width*#height/(640*480)) nd[10] = @nodirection11*sqrt(#width*#height/(640*480)) nd[11] = @nodirection12*sqrt(#width*#height/(640*480)) nd[12] = @nodirection13*sqrt(#width*#height/(640*480)) nd[13] = @nodirection14*sqrt(#width*#height/(640*480)) nd[14] = @nodirection15*sqrt(#width*#height/(640*480)) nd[15] = @nodirection16*sqrt(#width*#height/(640*480)) sz[0] = ceil(0.01*@size1*(#width+4+@offset)*(#height+4+@offset)) sz[1] = ceil(0.01*@size2*(#width+4+@offset)*(#height+4+@offset)) sz[2] = ceil(0.01*@size3*(#width+4+@offset)*(#height+4+@offset)) sz[3] = ceil(0.01*@size4*(#width+4+@offset)*(#height+4+@offset)) sz[4] = ceil(0.01*@size5*(#width+4+@offset)*(#height+4+@offset)) sz[5] = ceil(0.01*@size6*(#width+4+@offset)*(#height+4+@offset)) sz[6] = ceil(0.01*@size7*(#width+4+@offset)*(#height+4+@offset)) sz[7] = ceil(0.01*@size8*(#width+4+@offset)*(#height+4+@offset)) sz[8] = ceil(0.01*@size9*(#width+4+@offset)*(#height+4+@offset)) sz[9] = ceil(0.01*@size10*(#width+4+@offset)*(#height+4+@offset)) sz[10] = ceil(0.01*@size11*(#width+4+@offset)*(#height+4+@offset)) sz[11] = ceil(0.01*@size12*(#width+4+@offset)*(#height+4+@offset)) sz[12] = ceil(0.01*@size13*(#width+4+@offset)*(#height+4+@offset)) sz[13] = ceil(0.01*@size14*(#width+4+@offset)*(#height+4+@offset)) sz[14] = ceil(0.01*@size15*(#width+4+@offset)*(#height+4+@offset)) sz[15] = ceil(0.01*@size16*(#width+4+@offset)*(#height+4+@offset)) dtct[0] = (@detect1 - 1.0)/#randomrange dtct[1] = (@detect2 - 1.0)/#randomrange dtct[2] = (@detect3 - 1.0)/#randomrange dtct[3] = (@detect4 - 1.0)/#randomrange dtct[4] = (@detect5 - 1.0)/#randomrange dtct[5] = (@detect6 - 1.0)/#randomrange dtct[6] = (@detect7 - 1.0)/#randomrange dtct[7] = (@detect8 - 1.0)/#randomrange dtct[8] = (@detect9 - 1.0)/#randomrange dtct[9] = (@detect10 - 1.0)/#randomrange dtct[10] = (@detect11 - 1.0)/#randomrange dtct[11] = (@detect12 - 1.0)/#randomrange dtct[12] = (@detect13 - 1.0)/#randomrange dtct[13] = (@detect14 - 1.0)/#randomrange dtct[14] = (@detect15 - 1.0)/#randomrange dtct[15] = (@detect16 - 1.0)/#randomrange mov[0] = @move1 mov[1] = @move2 mov[2] = @move3 mov[3] = @move4 mov[4] = @move5 mov[5] = @move6 mov[6] = @move7 mov[7] = @move8 mov[8] = @move9 mov[9] = @move10 mov[10] = @move11 mov[11] = @move12 mov[12] = @move13 mov[13] = @move14 mov[14] = @move15 mov[15] = @move16 ss[0,0] = @seed1stimulus1 ss[0,1] = @seed1stimulus2 ss[0,2] = @seed1stimulus3 ss[0,3] = @seed1stimulus4 ss[0,4] = @seed1stimulus5 ss[0,5] = @seed1stimulus6 ss[0,6] = @seed1stimulus7 ss[0,7] = @seed1stimulus8 ss[0,8] = @seed1stimulus9 ss[0,9] = @seed1stimulus10 ss[0,10] = @seed1stimulus11 ss[0,11] = @seed1stimulus12 ss[0,12] = @seed1stimulus13 ss[0,13] = @seed1stimulus14 ss[0,14] = @seed1stimulus15 ss[0,15] = @seed1stimulus16 ss[1,0] = @seed2stimulus1 ss[1,1] = @seed2stimulus2 ss[1,2] = @seed2stimulus3 ss[1,3] = @seed2stimulus4 ss[1,4] = @seed2stimulus5 ss[1,5] = @seed2stimulus6 ss[1,6] = @seed2stimulus7 ss[1,7] = @seed2stimulus8 ss[1,8] = @seed2stimulus9 ss[1,9] = @seed2stimulus10 ss[1,10] = @seed2stimulus11 ss[1,11] = @seed2stimulus12 ss[1,12] = @seed2stimulus13 ss[1,13] = @seed2stimulus14 ss[1,14] = @seed2stimulus15 ss[1,15] = @seed2stimulus16 ss[2,0] = @seed3stimulus1 ss[2,1] = @seed3stimulus2 ss[2,2] = @seed3stimulus3 ss[2,3] = @seed3stimulus4 ss[2,4] = @seed3stimulus5 ss[2,5] = @seed3stimulus6 ss[2,6] = @seed3stimulus7 ss[2,7] = @seed3stimulus8 ss[2,8] = @seed3stimulus9 ss[2,9] = @seed3stimulus10 ss[2,10] = @seed3stimulus11 ss[2,11] = @seed3stimulus12 ss[2,12] = @seed3stimulus13 ss[2,13] = @seed3stimulus14 ss[2,14] = @seed3stimulus15 ss[2,15] = @seed3stimulus16 ss[3,0] = @seed4stimulus1 ss[3,1] = @seed4stimulus2 ss[3,2] = @seed4stimulus3 ss[3,3] = @seed4stimulus4 ss[3,4] = @seed4stimulus5 ss[3,5] = @seed4stimulus6 ss[3,6] = @seed4stimulus7 ss[3,7] = @seed4stimulus8 ss[3,8] = @seed4stimulus9 ss[3,9] = @seed4stimulus10 ss[3,10] = @seed4stimulus11 ss[3,11] = @seed4stimulus12 ss[3,12] = @seed4stimulus13 ss[3,13] = @seed4stimulus14 ss[3,14] = @seed4stimulus15 ss[3,15] = @seed4stimulus16 ss[4,0] = @seed5stimulus1 ss[4,1] = @seed5stimulus2 ss[4,2] = @seed5stimulus3 ss[4,3] = @seed5stimulus4 ss[4,4] = @seed5stimulus5 ss[4,5] = @seed5stimulus6 ss[4,6] = @seed5stimulus7 ss[4,7] = @seed5stimulus8 ss[4,8] = @seed5stimulus9 ss[4,9] = @seed5stimulus10 ss[4,10] = @seed5stimulus11 ss[4,11] = @seed5stimulus12 ss[4,12] = @seed5stimulus13 ss[4,13] = @seed5stimulus14 ss[4,14] = @seed5stimulus15 ss[4,15] = @seed5stimulus16 ss[5,0] = @seed6stimulus1 ss[5,1] = @seed6stimulus2 ss[5,2] = @seed6stimulus3 ss[5,3] = @seed6stimulus4 ss[5,4] = @seed6stimulus5 ss[5,5] = @seed6stimulus6 ss[5,6] = @seed6stimulus7 ss[5,7] = @seed6stimulus8 ss[5,8] = @seed6stimulus9 ss[5,9] = @seed6stimulus10 ss[5,10] = @seed6stimulus11 ss[5,11] = @seed6stimulus12 ss[5,12] = @seed6stimulus13 ss[5,13] = @seed6stimulus14 ss[5,14] = @seed6stimulus15 ss[5,15] = @seed6stimulus16 ss[6,0] = @seed7stimulus1 ss[6,1] = @seed7stimulus2 ss[6,2] = @seed7stimulus3 ss[6,3] = @seed7stimulus4 ss[6,4] = @seed7stimulus5 ss[6,5] = @seed7stimulus6 ss[6,6] = @seed7stimulus7 ss[6,7] = @seed7stimulus8 ss[6,8] = @seed7stimulus9 ss[6,9] = @seed7stimulus10 ss[6,10] = @seed7stimulus11 ss[6,11] = @seed7stimulus12 ss[6,12] = @seed7stimulus13 ss[6,13] = @seed7stimulus14 ss[6,14] = @seed7stimulus15 ss[6,15] = @seed7stimulus16 ss[7,0] = @seed8stimulus1 ss[7,1] = @seed8stimulus2 ss[7,2] = @seed8stimulus3 ss[7,3] = @seed8stimulus4 ss[7,4] = @seed8stimulus5 ss[7,5] = @seed8stimulus6 ss[7,6] = @seed8stimulus7 ss[7,7] = @seed8stimulus8 ss[7,8] = @seed8stimulus9 ss[7,9] = @seed8stimulus10 ss[7,10] = @seed8stimulus11 ss[7,11] = @seed8stimulus12 ss[7,12] = @seed8stimulus13 ss[7,13] = @seed8stimulus14 ss[7,14] = @seed8stimulus15 ss[7,15] = @seed8stimulus16 ss[8,0] = @seed9stimulus1 ss[8,1] = @seed9stimulus2 ss[8,2] = @seed9stimulus3 ss[8,3] = @seed9stimulus4 ss[8,4] = @seed9stimulus5 ss[8,5] = @seed9stimulus6 ss[8,6] = @seed9stimulus7 ss[8,7] = @seed9stimulus8 ss[8,8] = @seed9stimulus9 ss[8,9] = @seed9stimulus10 ss[8,10] = @seed9stimulus11 ss[8,11] = @seed9stimulus12 ss[8,12] = @seed9stimulus13 ss[8,13] = @seed9stimulus14 ss[8,14] = @seed9stimulus15 ss[8,15] = @seed9stimulus16 ss[9,0] = @seed10stimulus1 ss[9,1] = @seed10stimulus2 ss[9,2] = @seed10stimulus3 ss[9,3] = @seed10stimulus4 ss[9,4] = @seed10stimulus5 ss[9,5] = @seed10stimulus6 ss[9,6] = @seed10stimulus7 ss[9,7] = @seed10stimulus8 ss[9,8] = @seed10stimulus9 ss[9,9] = @seed10stimulus10 ss[9,10] = @seed10stimulus11 ss[9,11] = @seed10stimulus12 ss[9,12] = @seed10stimulus13 ss[9,13] = @seed10stimulus14 ss[9,14] = @seed10stimulus15 ss[9,15] = @seed10stimulus16 ss[10,0] = @seed11stimulus1 ss[10,1] = @seed11stimulus2 ss[10,2] = @seed11stimulus3 ss[10,3] = @seed11stimulus4 ss[10,4] = @seed11stimulus5 ss[10,5] = @seed11stimulus6 ss[10,6] = @seed11stimulus7 ss[10,7] = @seed11stimulus8 ss[10,8] = @seed11stimulus9 ss[10,9] = @seed11stimulus10 ss[10,10] = @seed11stimulus11 ss[10,11] = @seed11stimulus12 ss[10,12] = @seed11stimulus13 ss[10,13] = @seed11stimulus14 ss[10,14] = @seed11stimulus15 ss[10,15] = @seed11stimulus16 ss[11,0] = @seed12stimulus1 ss[11,1] = @seed12stimulus2 ss[11,2] = @seed12stimulus3 ss[11,3] = @seed12stimulus4 ss[11,4] = @seed12stimulus5 ss[11,5] = @seed12stimulus6 ss[11,6] = @seed12stimulus7 ss[11,7] = @seed12stimulus8 ss[11,8] = @seed12stimulus9 ss[11,9] = @seed12stimulus10 ss[11,10] = @seed12stimulus11 ss[11,11] = @seed12stimulus12 ss[11,12] = @seed12stimulus13 ss[11,13] = @seed12stimulus14 ss[11,14] = @seed12stimulus15 ss[11,15] = @seed12stimulus16 ss[12,0] = @seed13stimulus1 ss[12,1] = @seed13stimulus2 ss[12,2] = @seed13stimulus3 ss[12,3] = @seed13stimulus4 ss[12,4] = @seed13stimulus5 ss[12,5] = @seed13stimulus6 ss[12,6] = @seed13stimulus7 ss[12,7] = @seed13stimulus8 ss[12,8] = @seed13stimulus9 ss[12,9] = @seed13stimulus10 ss[12,10] = @seed13stimulus11 ss[12,11] = @seed13stimulus12 ss[12,12] = @seed13stimulus13 ss[12,13] = @seed13stimulus14 ss[12,14] = @seed13stimulus15 ss[12,15] = @seed13stimulus16 ss[13,0] = @seed14stimulus1 ss[13,1] = @seed14stimulus2 ss[13,2] = @seed14stimulus3 ss[13,3] = @seed14stimulus4 ss[13,4] = @seed14stimulus5 ss[13,5] = @seed14stimulus6 ss[13,6] = @seed14stimulus7 ss[13,7] = @seed14stimulus8 ss[13,8] = @seed14stimulus9 ss[13,9] = @seed14stimulus10 ss[13,10] = @seed14stimulus11 ss[13,11] = @seed14stimulus12 ss[13,12] = @seed14stimulus13 ss[13,13] = @seed14stimulus14 ss[13,14] = @seed14stimulus15 ss[13,15] = @seed14stimulus16 ss[14,0] = @seed15stimulus1 ss[14,1] = @seed15stimulus2 ss[14,2] = @seed15stimulus3 ss[14,3] = @seed15stimulus4 ss[14,4] = @seed15stimulus5 ss[14,5] = @seed15stimulus6 ss[14,6] = @seed15stimulus7 ss[14,7] = @seed15stimulus8 ss[14,8] = @seed15stimulus9 ss[14,9] = @seed15stimulus10 ss[14,10] = @seed15stimulus11 ss[14,11] = @seed15stimulus12 ss[14,12] = @seed15stimulus13 ss[14,13] = @seed15stimulus14 ss[14,14] = @seed15stimulus15 ss[14,15] = @seed15stimulus16 ss[15,0] = @seed16stimulus1 ss[15,1] = @seed16stimulus2 ss[15,2] = @seed16stimulus3 ss[15,3] = @seed16stimulus4 ss[15,4] = @seed16stimulus5 ss[15,5] = @seed16stimulus6 ss[15,6] = @seed16stimulus7 ss[15,7] = @seed16stimulus8 ss[15,8] = @seed16stimulus9 ss[15,9] = @seed16stimulus10 ss[15,10] = @seed16stimulus11 ss[15,11] = @seed16stimulus12 ss[15,12] = @seed16stimulus13 ss[15,13] = @seed16stimulus14 ss[15,14] = @seed16stimulus15 ss[15,15] = @seed16stimulus16 merge = new @merge(this) DLAStimulus[0] = new @DLAStimulus1(this) if @numstimuli>0 DLAStimulus[1] = new @DLAStimulus2(this) if @numstimuli>1 DLAStimulus[2] = new @DLAStimulus3(this) if @numstimuli>2 DLAStimulus[3] = new @DLAStimulus4(this) if @numstimuli>3 DLAStimulus[4] = new @DLAStimulus5(this) if @numstimuli>4 DLAStimulus[5] = new @DLAStimulus6(this) if @numstimuli>5 DLAStimulus[6] = new @DLAStimulus7(this) if @numstimuli>6 DLAStimulus[7] = new @DLAStimulus8(this) if @numstimuli>7 DLAStimulus[8] = new @DLAStimulus9(this) if @numstimuli>8 DLAStimulus[9] = new @DLAStimulus10(this) if @numstimuli>9 DLAStimulus[10] = new @DLAStimulus11(this) if @numstimuli>10 DLAStimulus[11] = new @DLAStimulus12(this) if @numstimuli>11 DLAStimulus[12] = new @DLAStimulus13(this) if @numstimuli>12 DLAStimulus[13] = new @DLAStimulus14(this) if @numstimuli>13 DLAStimulus[14] = new @DLAStimulus15(this) if @numstimuli>14 DLAStimulus[15] = new @DLAStimulus16(this) endif endif endif endif endif endif endif endif endif endif endif endif endif endif endif DLADead = new @DLADead(this) ; "dead" point seeding o = 0 DLASeed[0] = new @DLASeed1(this) if @numplants>0 o = 1 DLASeed[1] = new @DLASeed2(this) if @numplants>1 o = 2 DLASeed[2] = new @DLASeed3(this) if @numplants>2 o = 3 DLASeed[3] = new @DLASeed4(this) if @numplants>3 o = 4 DLASeed[4] = new @DLASeed5(this) if @numplants>4 o = 5 DLASeed[5] = new @DLASeed6(this) if @numplants>5 o = 6 DLASeed[6] = new @DLASeed7(this) if @numplants>6 o = 7 DLASeed[7] = new @DLASeed8(this) if @numplants>7 o = 8 DLASeed[8] = new @DLASeed9(this) if @numplants>8 o = 9 DLASeed[9] = new @DLASeed10(this) if @numplants>9 o = 10 DLASeed[10] = new @DLASeed11(this) if @numplants>10 o = 11 DLASeed[11] = new @DLASeed12(this) if @numplants>11 o = 12 DLASeed[12] = new @DLASeed13(this) if @numplants>12 o = 13 DLASeed[13] = new @DLASeed14(this) if @numplants>13 o = 14 DLASeed[14] = new @DLASeed15(this) if @numplants>14 o = 15 DLASeed[15] = new @DLASeed16(this) endif endif endif endif endif endif endif endif endif endif endif endif endif endif endif if n==0 $define DEBUG print("Major Problem !") print("No organism seeds planted.") print("You need to rethink your seeding.") $undef DEBUG else i = @numplants repeat if tn[i]==0 $define DEBUG print("Warning: No seeds planted for organism ",i+1) print("You may want to rethink your seeding.") $undef DEBUG endif until (i=i-1)<0 z = 100000 b = q repeat o = 0 repeat if (d=nd[o])>0.0 && tn[o]>0 && sz[o]>0 if tn[o]<d d = tn[o] endif while d>=1.0 RandomGrowth(abs(r=random(r))%tn[o]) d = d - 1.0 endwhile if abs(r=random(r))/#randomrange<d RandomGrowth(abs(r=random(r))%tn[o]) endif endif until (o=o+1)>@numplants i = @numstimuli l = @pixelgrowth - 1 repeat maxleft = 100000000 maxright = -1 maxup = 100000000 maxdown = -1 o = @numplants repeat if ss[o,i] && tn[o]>0 && sz[o]>0 if lft[o]<maxleft maxleft = lft[o] endif if rgt[o]>maxright maxright = rgt[o] endif if top[o]<maxup maxup = top[o] endif if btm[o]>maxdown maxdown = btm[o] endif endif until (o=o-1)<0 if maxright>=0 if l<@pixelgrowth - 1 if @notinside f = true endif pgx = real(p) pgy = imag(p) if pgx<0.0 pgx = 0.0 elseif pgx>#width+3+@offset pgx = #width+3+@offset endif if pgy<0.0 pgy = 0.0 elseif pgy>#height+3+@offset pgy = #height+3+@offset endif bx = floor(pgx/64) by = floor(pgy/64) elseif @notinside f = true j = @numtries repeat p = DLAStimulus[i].GetPoint(maxleft,maxright,maxup,maxdown) pgx = real(p) pgy = imag(p) if pgx<0.0 pgx = 0.0 elseif pgx>#width+3+@offset pgx = #width+3+@offset endif if pgy<0.0 pgy = 0.0 elseif pgy>#height+3+@offset pgy = #height+3+@offset endif bx = floor(pgx/64) by = floor(pgy/64) if s[floor(pgx),floor(pgy)]>0 f = false endif until f || (j=j-1)<=0 else p = DLAStimulus[i].GetPoint(maxleft,maxright,maxup,maxdown) pgx = real(p) pgy = imag(p) if pgx<0.0 pgx = 0.0 elseif pgx>#width+3+@offset pgx = #width+3+@offset endif if pgy<0.0 pgy = 0.0 elseif pgy>#height+3+@offset pgy = #height+3+@offset endif bx = floor(pgx/64) by = floor(pgy/64) endif fo = -1 if !@notinside || f maxleft = floor(maxleft/64) maxright = floor(maxright/64) maxup = floor(maxup/64) maxdown = floor(maxdown/64) v = DLAStimulus[i].GetRange() \ *(0.0001*(sqr(#width+5)+sqr(#height+5))) if (d = DLADead.DeadDistance(pgx,pgy))<v v = d endif d = sqrt(v) if (j=floor((pgx-d)/64))>maxleft maxleft = j endif if (j=ceil((pgx+d)/64) - 1)<maxright maxright = j endif if (j=floor((pgy-d)/64))>maxup maxup = j endif if (j=ceil((pgy+d)/64) - 1)<maxdown maxdown = j endif dir = DLAStimulus[i].Direction(pgx,pgy) fk = -1 o = @numplants repeat if ss[o,i] && tn[o]>0 && sz[o]>0 PointGrowth() endif until (o=o-1)<0 if fk>=0 o = fo NewGrowth(fk,sx[fx,fy,fk],sy[fx,fy,fk],fx,fy) if @seeds=="Diamond" MoreGrowth(sx[fx,fy,fk],sy[fx,fy,fk]-1) MoreGrowth(sx[fx,fy,fk]-1,sy[fx,fy,fk]) MoreGrowth(sx[fx,fy,fk]+1,sy[fx,fy,fk]) MoreGrowth(sx[fx,fy,fk],sy[fx,fy,fk]+1) endif endif endif o = 0 repeat if o!=fo && (d=-nd[o])>0.0 && tn[o]>0 && sz[o]>0 if tn[o]<d d = tn[o] endif while d>=1.0 RandomGrowth(abs(r=random(r))%tn[o]) d = d - 1.0 endwhile if abs(r=random(r))/#randomrange<d RandomGrowth(abs(r=random(r))%tn[o]) endif endif until (o=o+1)>@numplants else l = 0 endif if (l = l - 1)<0 l = 1 i = i - 1 endif until i<0 c = c - 1 if (z=z-1)<=0 z = 100000 if b-q<=@fail*100000 n = -n endif b = q if @showprogress $define DEBUG if @use=="Pixel Count" print(" ",@pixels-q," pixels remaining.") elseif @use=="Percentage" print(" ",floor(10000*((a-q)/a))/100,"% completed") else print(" ",c," generations to go.") endif $undef DEBUG endif endif until n<=0 || q<=0 || (@use=="Generations" && c<=0) endif if @showprogress $define DEBUG print("Completed.") print("Number of Generations ",@numgenerations-c) print("Sceeen Pixels Remaining ",(#width+@offset)*(#height+@offset) \ - a + q) print("Screen %age converted ",round(10000*((a-q) \ /((#width+@offset)*(#height+@offset)))) \ /100 ) print("Seed points remaining ",abs(n)) $undef DEBUG endif endfunc ; @param k the number of the seed to grow func RandomGrowth(int k) int i = ceil((#height+4+@offset)/64) - 1 repeat int j = ceil((#width+4+@offset)/64) - 1 repeat if t[j,i,o+1]-t[j,i,o]>k k = k + t[j,i,o] int x = sx[j,i,k] int y = sy[j,i,k] NewGrowth(k,x,y,j,i) return else k = k + t[j,i,o] - t[j,i,o+1] endif until (j=j-1)<0 until (i=i-1)<0 endfunc func PointGrowth() float w float d float dx float dy float det = dtct[o] float mv = mov[o] int xs int ys int xe int ye int ix int iy int e int off = 10000 if bx<maxleft off = maxleft - bx elseif bx>maxright off = bx - maxright endif if by<maxup if maxup-by<off off = maxup - by endif elseif by>maxdown if by-maxdown<off off = by - maxdown endif endif if off==10000 off = 0 endif off=0 repeat e = 0 if (xs=bx-off)<maxleft e = 1 xs = maxleft endif if (ys=by-off)<maxup e = e + 1 ys = maxup endif if (xe=bx+off)>maxright e = e + 1 xe = maxright endif if (ye=by+off)>maxdown e = e + 1 ye = maxdown endif if e<4 iy = ys ix = xs repeat if t[ix,iy,o+1]>t[ix,iy,o] int i = t[ix,iy,o+1] - 1 repeat w = sqr(dx=pgx-sx[ix,iy,i]) + sqr(dy=pgy-sy[ix,iy,i]) if @addrandom && det>0.0 w = w*sqr(1.0 + abs(r=random(r))*det) endif if @addmovement && dir!=0.0 && mv>0.0 d = sqrt(w) w = sqr(d + mv*(d - dx*real(dir) - dy*imag(dir))) endif if w<v v = w w = sqrt(w) if (fx=floor((pgx-w)/64))>maxleft maxleft = fx endif if (fx=ceil((pgx+w)/64) - 1)<maxright maxright = fx endif if (fy=floor((pgy-w)/64))>maxup maxup = fy endif if (fy=ceil((pgy+w)/64) - 1)<maxdown maxdown = fy endif fo = o fk = i fx = ix fy = iy endif until (i=i-1)<t[ix,iy,o] endif until (ix=ix+1)>xe if ye>ys iy = ye ix = xs repeat if t[ix,iy,o+1]>t[ix,iy,o] int i = t[ix,iy,o+1] - 1 repeat w = sqr(dx=pgx-sx[ix,iy,i]) + sqr(dy=pgy-sy[ix,iy,i]) if @addrandom && det>0.0 w = w*sqr(1.0 + abs(r=random(r))*det) endif if @addmovement && dir!=0.0 && mv>0.0 d = sqrt(w) w = sqr(d + mv*(d - dx*real(dir) - dy*imag(dir))) endif if w<v v = w w = sqrt(w) if (fx=floor((pgx-w)/64))>maxleft maxleft = fx endif if (fx=ceil((pgx+w)/64) - 1)<maxright maxright = fx endif if (fy=floor((pgy-w)/64))>maxup maxup = fy endif if (fy=ceil((pgy+w)/64) - 1)<maxdown maxdown = fy endif fo = o fk = i fx = ix fy = iy endif until (i=i-1)<t[ix,iy,o] endif until (ix=ix+1)>xe if (iy=ys+1)<ye ix = xs repeat if t[ix,iy,o+1]>t[ix,iy,o] int i = t[ix,iy,o+1] - 1 repeat w = sqr(dx=pgx-sx[ix,iy,i]) + sqr(dy=pgy-sy[ix,iy,i]) if @addrandom && det>0.0 w = w*sqr(1.0 + abs(r=random(r))*det) endif if @addmovement && dir!=0.0 && mv>0.0 d = sqrt(w) w = sqr(d + mv*(d - dx*real(dir) - dy*imag(dir))) endif if w<v v = w w = sqrt(w) if (fx=floor((pgx-w)/64))>maxleft maxleft = fx endif if (fx=ceil((pgx+w)/64) - 1)<maxright maxright = fx endif if (fy=floor((pgy-w)/64))>maxup maxup = fy endif if (fy=ceil((pgy+w)/64) - 1)<maxdown maxdown = fy endif fo = o fk = i fx = ix fy = iy endif until (i=i-1)<t[ix,iy,o] endif until (iy=iy+1)>=ye if xe>xs ix = xe iy = ys + 1 repeat if t[ix,iy,o+1]>t[ix,iy,o] int i = t[ix,iy,o+1] - 1 repeat w = sqr(dx=pgx-sx[ix,iy,i]) + sqr(dy=pgy-sy[ix,iy,i]) if @addrandom && det>0.0 w = w*sqr(1.0 + abs(r=random(r))*det) endif if @addmovement && dir!=0.0 && mv>0.0 d = sqrt(w) w = sqr(d + mv*(d - dx*real(dir) - dy*imag(dir))) endif if w<v v = w w = sqrt(w) if (fx=floor((pgx-w)/64))>maxleft maxleft = fx endif if (fx=ceil((pgx+w)/64) - 1)<maxright maxright = fx endif if (fy=floor((pgy-w)/64))>maxup maxup = fy endif if (fy=ceil((pgy+w)/64) - 1)<maxdown maxdown = fy endif fo = o fk = i fx = ix fy = iy endif until (i=i-1)<t[ix,iy,o] endif until (iy=iy+1)>=ye endif endif endif off = off + 1 endif until e>=4 endfunc float func DeadDist() float w int xs int ys int xe int ye int ix int iy int e int maxleft = mxl int maxright = mxr int maxup = mxu int maxdown = mxd int off = 10000 if bx<mxl off = mxl - bx elseif bx>mxr off = bx - mxr endif if by<mxu if mxu-by<off off = mxu - by endif elseif by>mxd if by-mxd<off off = by - mxd endif endif if off==10000 off = 0 endif repeat e = 0 if (xs=bx-off)<maxleft e = 1 xs = maxleft endif if (ys=by-off)<maxup e = e + 1 ys = maxup endif if (xe=bx+off)>maxright e = e + 1 xe = maxright endif if (ye=by+off)>maxdown e = e + 1 ye = maxdown endif if e<4 iy = ys ix = xs repeat if t[ix,iy,0]>0 int i = t[ix,iy,0] - 1 repeat if (w=sqr(pgx-sx[ix,iy,i])+sqr(pgy-sy[ix,iy,i]))<v v = w w = sqrt(w) if (fx=floor((pgx-w)/64))>maxleft maxleft = fx endif if (fx=ceil((pgx+w)/64) - 1)<maxright maxright = fx endif if (fy=floor((pgy-w)/64))>maxup maxup = fy endif if (fy=ceil((pgy+w)/64) - 1)<maxdown maxdown = fy endif endif until (i=i-1)<0 endif until (ix=ix+1)>xe if ye>ys iy = ye ix = xs repeat if t[ix,iy,0]>0 int i = t[ix,iy,0] - 1 repeat if (w=sqr(pgx-sx[ix,iy,i])+sqr(pgy-sy[ix,iy,i]))<v v = w w = sqrt(w) if (fx=floor((pgx-w)/64))>maxleft maxleft = fx endif if (fx=ceil((pgx+w)/64) - 1)<maxright maxright = fx endif if (fy=floor((pgy-w)/64))>maxup maxup = fy endif if (fy=ceil((pgy+w)/64) - 1)<maxdown maxdown = fy endif endif until (i=i-1)<0 endif until (ix=ix+1)>xe if (iy=ys+1)<ye ix = xs repeat if t[ix,iy,0]>0 int i = t[ix,iy,0] - 1 repeat if (w=sqr(pgx-sx[ix,iy,i])+sqr(pgy-sy[ix,iy,i]))<v v = w w = sqrt(w) if (fx=floor((pgx-w)/64))>maxleft maxleft = fx endif if (fx=ceil((pgx+w)/64) - 1)<maxright maxright = fx endif if (fy=floor((pgy-w)/64))>maxup maxup = fy endif if (fy=ceil((pgy+w)/64) - 1)<maxdown maxdown = fy endif endif until (i=i-1)<0 endif until (iy=iy+1)>=ye if xe>xs ix = xe iy = ys + 1 repeat if t[ix,iy,0]>0 int i = t[ix,iy,0] - 1 repeat if (w=sqr(pgx-sx[ix,iy,i])+sqr(pgy-sy[ix,iy,i]))<v v = w w = sqrt(w) if (fx=floor((pgx-w)/64))>maxleft maxleft = fx endif if (fx=ceil((pgx+w)/64) - 1)<maxright maxright = fx endif if (fy=floor((pgy-w)/64))>maxup maxup = fy endif if (fy=ceil((pgy+w)/64) - 1)<maxdown maxdown = fy endif endif until (i=i-1)<0 endif until (iy=iy+1)>=ye endif endif endif off = off + 1 endif until e>=4 return v endfunc ; @param k the index for the point number ; @param x pixel x coordinate ; @param y pixel y coordinate ; @param ix 64*64 box x index ; @param iy 64*64 box y index func NewGrowth(int k, int x, int y, int ix, int iy) int i = o + 1 int j if s[x,y]==-1 s[x,y] = (g[o]=g[o]+1)*16 + o if x>=2 && x<=#width+1+@offset && y>=2 && y<=#height+1+@offset q = q - 1 endif n = n - 1 tn[o] = tn[o] - 1 sz[o] = sz[o] - 1 repeat t[ix,iy,i] = t[ix,iy,i] - 1 sx[ix,iy,k] = sx[ix,iy,t[ix,iy,i]] sy[ix,iy,k] = sy[ix,iy,t[ix,iy,i]] k = t[ix,iy,i] until (i=i+1)>@numplants+1 x = x - 1 y = y - 1 if (i=y+2)<=#height+3+@offset if @seeds=="Square" j = x + 2 repeat if j>=0 && j<=#width+3+@offset && s[j,i]==0 NewSeed(j,i) endif until (j=j-1)<x else if s[x+1,i]==0 NewSeed(x+1,i) endif endif endif i = y + 1 if (j=x+2)<=#width+3+@offset if s[j,i]==0 NewSeed(j,i) endif endif if x>=0 if s[x,i]==0 NewSeed(x,i) endif endif if y>=0 if @seeds=="Square" j = x + 2 repeat if j>=0 && j<=#width+3+@offset && s[j,y]==0 NewSeed(j,y) endif until (j=j-1)<x else if s[x+1,y]==0 NewSeed(x+1,y) endif endif endif endif endfunc func MoreGrowth(int x,int y) if x>=0 && x<=#width+3+@offset && y>=0 && y<=#height+3+@offset int ix = floor(x/64) int iy = floor(y/64) int i = t[ix,iy,o+1] while (i=i-1)>=t[ix,iy,o] if sx[ix,iy,i]==x && sy[ix,iy,i]==y NewGrowth(i,x,y,ix,iy) i = -1 endif endwhile endif endfunc ; @param x the x pixel coordinate ; @param y the y pixel coordinate func NewSeed(int x,int y) int i = @numplants + 1 int ix = floor(x/64) int iy = floor(y/64) repeat sx[ix,iy,t[ix,iy,i]] = sx[ix,iy,t[ix,iy,i-1]] sy[ix,iy,t[ix,iy,i]] = sy[ix,iy,t[ix,iy,i-1]] t[ix,iy,i] = t[ix,iy,i] + 1 until (i=i-1)<=o sx[ix,iy,t[ix,iy,o]] = x sy[ix,iy,t[ix,iy,o]] = y if x<lft[o] lft[o] = x endif if x>rgt[o] rgt[o] = x endif if y<top[o] top[o] = y endif if y>btm[o] btm[o] = y endif tn[o] = tn[o] + 1 if x>0 && x<#width+3+@offset && y>0 && y<#height+3+@offset n = n + 1 s[x,y] = -1 else s[x,y] = -2 endif endfunc ; @param x the x pixel coordinate ; @param y the y pixel coordinate ; @param c the dead point colour ; @param i the dead point palette index func SetDeadPoint(int x,int y,color c,float i) if s[x,y]==0 s[x,y] = -3 - (round(red(c)*127)*128 + round(green(c)*127))*128 \ - round(blue(c)*127) - floor(i)*128*128*128 int ix = floor(x/64) int iy = floor(y/64) sx[ix,iy,t[ix,iy,0]] = x sy[ix,iy,t[ix,iy,0]] = y if ix<mxl mxl = ix endif if ix>mxr mxr = ix endif if iy<mxu mxu = iy endif if iy>mxd mxd = iy endif t[ix,iy,0] = t[ix,iy,0] + 1 int j = 0 while (j=j+1)<=@numplants+1 t[ix,iy,j] = t[ix,iy,0] endwhile q = q - 1 endif endfunc ; @param x the x pixel coordinate ; @param y the y pixel coordinate func SetStartPoint(int x,int y) if s[x,y]==0 s[x,y] = -1 int ix = floor(x/64) int iy = floor(y/64) sx[ix,iy,t[ix,iy,o+1]] = x sy[ix,iy,t[ix,iy,o+1]] = y if x<lft[o] lft[o] = x endif if x>rgt[o] rgt[o] = x endif if y<top[o] top[o] = y endif if y>btm[o] btm[o] = y endif t[ix,iy,o+1] = t[ix,iy,o+1] + 1 int i = o+1 while (i=i+1)<=@numplants+1 t[ix,iy,i] = t[ix,iy,o+1] endwhile tn[o] = tn[o] + 1 n = n + 1 endif endfunc func Iterate(complex pz) endfunc color func Result(complex pz) float c = 0.0025*@backcol color clr = gradient(c) int v = s[2+floor(real(#screenpixel)),2+floor(imag(#screenpixel))] if v<-2 v = (-(v + 3))%(128*128*128) return RGBA(floor(v/(128*128))/128,floor((v%(128*128))/128)/128, \ floor(v%128)/128,1) elseif v<=0 if @backmethod==0 m_Solid = true endif else o = v%16 c = 0.0025*(pn[o] + px[o]*v/(16*g[o])) clr = gradient(c) if m[o]>0 float c1 = 0.5*(1.0 + @ambient) if @sample && @offset>1 float c2 int v1 int n1 = 0 int n2 = 0 int n3 = 0 float t1 = 0.0 float t2 = 0.0 float t3 = 0.0 int i = 0 if @altsample && @offset%2==0 repeat int j = 0 repeat v1 = s[j + 2 + floor(real(#screenpixel)), \ i + 2 + floor(imag(#screenpixel))] if v1>0 if o==v1%16 n1 = n1 + 1 t1 = t1 + 0.0025*(pn[o] + px[o]*v1/(16*g[o])) endif endif until (j=j+1)>=@offset/2 until (i=i+1)>=@offset/2 i = 0 repeat int j = floor(@offset/2) repeat v1 = s[j + 2 + floor(real(#screenpixel)), \ i + 2 + floor(imag(#screenpixel))] if v1>0 if o==v1%16 n2 = n2 + 1 t2 = t2 + 0.0025*(pn[o] + px[o]*v1/(16*g[o])) endif endif until (j=j+1)>=@offset until (i=i+1)>=@offset/2 i = floor(@offset/2) repeat int j = 0 repeat v1 = s[j + 2 + floor(real(#screenpixel)), \ i + 2 + floor(imag(#screenpixel))] if v1>0 if o==v1%16 n3 = n3 + 1 t3 = t3 + 0.0025*(pn[o] + px[o]*v1/(16*g[o])) endif endif until (j=j+1)>=@offset/2 until (i=i+1)>=@offset else repeat int j = 0 repeat v1 = s[j + 2 + floor(real(#screenpixel)), \ i + 2 + floor(imag(#screenpixel))] if v1>0 if o==v1%16 if i<@offset && j<@offset n1 = n1 + 1 t1 = t1 + 0.0025*(pn[o] + px[o]*v1/(16*g[o])) endif if j>0 && i<@offset n2 = n2 + 1 t2 = t2 + 0.0025*(pn[o] + px[o]*v1/(16*g[o])) endif if i>0 && j<@offset n3 = n3 + 1 t3 = t3 + 0.0025*(pn[o] + px[o]*v1/(16*g[o])) endif endif endif until (j=j+1)>@offset until (i=i+1)>@offset endif if n1>0 && n2>0 && n3>0 t1 = t1/n1 t2 = t2/n2 - t1 t3 = t3/n3 - t1 c1 = @ambient + 0.5*(1.0 - @ambient) \ *(1.0 + (lx*t2 + ly*t3 + lz*(@offset*@lscale)) \ /sqrt(sqr(t2)+sqr(t3)+sqr(@offset*@lscale))) endif elseif @offset+2+floor(real(#screenpixel))<#width+4+@offset \ && @offset+2+floor(imag(#screenpixel))<#height+4+@offset int v1 = s[@offset + 2 + floor(real(#screenpixel)), \ 2 + floor(imag(#screenpixel))] int v2 = s[2 + floor(real(#screenpixel)), \ @offset + 2 + floor(imag(#screenpixel))] if v1>0 && v2>0 if o==v1%16 && o==v2%16 c1 = 0.0025*(pn[o] + px[o]*v1/(16*g[o])) - c float c2 = 0.0025*(pn[o] + px[o]*v2/(16*g[o])) - c c1 = @ambient + 0.5*(1.0 - @ambient) \ *(1.0 + (lx*c1 + ly*c2 + lz*(0.1*@offset*@lscale)) \ /sqrt(sqr(c1)+sqr(c2)+sqr(0.1*@offset*@lscale))) endif endif endif if m[0]==1 clr = gradient(c1) else color lt = lc[o]*c1 lt = rgba(red(lt), green(lt), blue(lt), 1.0) if @reverse clr = merge.FullMerge(lt,clr,@opacity) else clr = merge.FullMerge(clr,lt,@opacity) endif endif endif endif return clr endfunc float func ResultIndex(complex pz) float c = 0.0025*@backcol int v = s[2+floor(real(#screenpixel)),2+floor(imag(#screenpixel))] if v<-2 c = 0.0025*floor(-(v + 3)/(128*128*128)) elseif v<=0 if @backmethod==0 m_Solid = true endif else o = v%16 c = 0.0025*(pn[o] + px[o]*v/(16*g[o])) if m[o]==1 float c1 = 0.5*(1.0 + @ambient) if @sample && @offset>1 float c2 int v1 int n1 = 0 int n2 = 0 int n3 = 0 float t1 = 0.0 float t2 = 0.0 float t3 = 0.0 int i = 0 if @altsample && @offset%2==0 repeat int j = 0 repeat v1 = s[j + 2 + floor(real(#screenpixel)), \ i + 2 + floor(imag(#screenpixel))] if v1>0 if o==v1%16 n1 = n1 + 1 t1 = t1 + 0.0025*(pn[o] + px[o]*v1/(16*g[o])) endif endif until (j=j+1)>=@offset/2 until (i=i+1)>=@offset/2 i = 0 repeat int j = floor(@offset/2) repeat v1 = s[j + 2 + floor(real(#screenpixel)), \ i + 2 + floor(imag(#screenpixel))] if v1>0 if o==v1%16 n2 = n2 + 1 t2 = t2 + 0.0025*(pn[o] + px[o]*v1/(16*g[o])) endif endif until (j=j+1)>=@offset until (i=i+1)>=@offset/2 i = floor(@offset/2) repeat int j = 0 repeat v1 = s[j + 2 + floor(real(#screenpixel)), \ i + 2 + floor(imag(#screenpixel))] if v1>0 if o==v1%16 n3 = n3 + 1 t3 = t3 + 0.0025*(pn[o] + px[o]*v1/(16*g[o])) endif endif until (j=j+1)>=@offset/2 until (i=i+1)>=@offset else repeat int j = 0 repeat v1 = s[j + 2 + floor(real(#screenpixel)), \ i + 2 + floor(imag(#screenpixel))] if v1>0 if o==v1%16 if i<@offset && j<@offset n1 = n1 + 1 t1 = t1 + 0.0025*(pn[o] + px[o]*v1/(16*g[o])) endif if j>0 && i<@offset n2 = n2 + 1 t2 = t2 + 0.0025*(pn[o] + px[o]*v1/(16*g[o])) endif if i>0 && j<@offset n3 = n3 + 1 t3 = t3 + 0.0025*(pn[o] + px[o]*v1/(16*g[o])) endif endif endif until (j=j+1)>@offset until (i=i+1)>@offset endif if n1>0 && n2>0 && n3>0 t1 = t1/n1 t2 = t2/n2 - t1 t3 = t3/n3 - t1 c1 = @ambient + 0.5*(1.0 - @ambient) \ *(1.0 + (lx*t2 + ly*t3 + lz*(@offset*@lscale)) \ /sqrt(sqr(t2)+sqr(t3)+sqr(@offset*@lscale))) endif elseif @offset+2+floor(real(#screenpixel))<#width+4+@offset \ && @offset+2+floor(imag(#screenpixel))<#height+4+@offset int v1 = s[@offset + 2 + floor(real(#screenpixel)), \ 2 + floor(imag(#screenpixel))] int v2 = s[2 + floor(real(#screenpixel)), \ @offset + 2 + floor(imag(#screenpixel))] if v1>0 && v2>0 if o==v1%16 && o==v2%16 c1 = 0.0025*(pn[o] + px[o]*v1/(16*g[o])) - c float c2 = 0.0025*(pn[o] + px[o]*v2/(16*g[o])) - c c1 = @ambient + 0.5*(1.0 - @ambient) \ *(1.0 + (lx*c1 + ly*c2 + lz*(0.1*@offset*@lscale)) \ /sqrt(sqr(c1)+sqr(c2)+sqr(0.1*@offset*@lscale))) endif endif endif c = c1 endif endif return c endfunc bool func IsSolid() return m_Solid endfunc protected: int s[#width+4+@offset,#height+4+@offset] int sx[ceil((#width+4+@offset)/64),ceil((#height+4+@offset)/64),4096] int sy[ceil((#width+4+@offset)/64),ceil((#height+4+@offset)/64),4096] int t[ceil((#width+4+@offset)/64),ceil((#height+4+@offset)/64),17] MMF_StimulusDLA DLAStimulus[16] MMF_SeedDLA DLASeed[16] MMF_DeadDLA DLADead DefaultColorMerge merge float pn[16] float px[16] float dtct[16] float mov[16] color lc[16] int m[16] int g[16] int tn[16] int top[16] int btm[16] int lft[16] int rgt[16] int sz[16] complex dir float lx float ly float lz float v float pgx float pgy int r int n int o int q int bx int by int fk int fx int fy int fo int maxleft int maxright int maxup int maxdown int mxl int mxr int mxu int mxd default: title = "MMF DLA Inspired" heading text = "IMPORTANT: This colouring is intended for use with a 'Pixel' \ formula such as mt.ufm-Pixel. \ Note that you should plug this object into either \ 'Generic Coloring (Gradient) Render=false' or 'Generic Coloring \ (Direct) Render=false' from mmf5.ucl. \ The formula is inspired by Diffusion Limited Aggregation. \ Unlike DLA it does not use random particle motion to generate \ the fractal, rather random stimuli locations are generated and \ the fractal grows from the closest seed point to the stimulus \ adding to the available seed points at the same time. \ You can create up to 16 different organisms \ each of which may have multiple initial seed points. \ You choose the number of organisms and how each is seeded in the \ screen area and individuals are then grown from the seeds. \ In each generation the organisms grow by one or more \ points, the points of growth either being simply random or \ based on a location where a stimulus is generated. \ You should note that the combined lighting and colouring \ options only work if you plug this formula into the '(Direct)' \ colouring. The formula is designed to be used with the main UF \ gradient parameters set at the default values i.e. 'Color \ Density' set to 1, 'Transfer Function' Linear and 'Gradient \ Offset' zero. The DLA algorithm itself is pixel-based so you \ can't zoom in or out or change location, however the fractal \ plug-ins for seeding and for dead points will respond to \ changes in magnification and location enabling you to use any \ part of another fractal as the seeds and/or the dead points." endheading bool param showprogress caption = "Show Progress" default = false hint = "When enabled progress is shown by means of compiler messages. \ If enabled and no compiler messages are produced then try hitting \ the 'Reload Formula' button for the colouring." endparam int param seed caption = "Random Seed" default = 12345678 hint = "This is the overall random control seed. Changing this will \ modify all directionless growth patterns." endparam int param use caption = "Completion target" enum = "Pixel Count" "Percentage" "Generations" default = 1 hint = "Growth is continued until your completion target is met or \ until the maximum possible area is covered. 'Pixel Count' stops \ growth when the specified number of pixels have been converted, \ 'Percentage' when the specified percentage of the screen area is \ converted and 'Generations' when the specified number of \ generations of growth is completed." endparam int param pixels caption = "Number of Pixels" default = 20000 min = 1 hint = "Growth is stopped when this many pixels have 'grown' or when \ growth has ceased." visible = @use==0 endparam float param percent caption = "Percentage of Screen" default = 100.0 min = 0.1 max = 100.0 hint = "Growth is stopped when this %age of the screen has 'grown' or \ when growth has ceased." visible = @use==1 endparam int param numgenerations caption = "No. of Generations" default = 10000 min = 1 hint = "The more generations the greater the area of growth but the \ longer the render time. Growth will always stop when all \ possible growth points are converted even if the target number \ of generations is not reached." visible = @use==2 endparam float param fail caption = "Failure Rate" default = 0.01 min = 0.0 max = 1.0 hint = "Assumes growth has stopped when this many or fewer pixels are \ produced per generation. Set to zero if you wish maximum \ possible growth." endparam int param seeds caption = "Seeding Method" enum = "Star" "Square" "Diamond" default = 0 hint = "Using 'Star' seeds are only planted on horizontally and/or \ vertically adjacent pixels to growth points. Using 'Square' \ seeds are planted on the diagonally adjacent pixels as well. \ Using 'Diamond' points are grown in the star shape and the \ surrounding diamond is seeded." endparam int param pixelgrowth caption = "Points per Stimulus" default = 1 min = 1 hint = "The number of points to grow per organism per stimulus location." endparam bool param notinside caption = "Restrict Stimulus Locations" default = false hint = "When enabled the locations of the stimuli are restricted to \ points not already part of the fractal. You should note that \ when enabled and not using any 'Directionless Growth' then you \ should not expect all pixels to 'grow', in other words if using \ 'Pixel Count' or 'Percentage' as the 'Completeion Target' then \ if your values are too high completion may be slow." endparam int param numtries caption = "Number of Tries" default = 10 min = 1 hint = "This is the maximum number of times to try growth of the \ organisms per generation i.e. generate a stimulus either until \ growth is allowed or until this many stimulus locations have \ been tried." visible = @notinside endparam int param backmethod caption = "'Background' Method" enum = "Solid Colour" "Palette colour" default = 0 hint = "Here you can choose to have pixels that are neither 'dead' \ points nor growth points coloured either using the 'Solid Color' \ or by specifying the palette index of the colour to use." endparam float param backcol caption = "Background Colour" default = 399.0 min = 0.0 hint = "Here you can specify the palette index of the background colour." visible = @backmethod==1 endparam int param offset caption = "Lighting Pixel Offset" default = 1 min = 1 max = 50 hint = "Specifies the pixel spread for calculating the lighting normals. \ You may want to increase the value for larger renders, e.g. 1 for \ 640*480, say 2 for 1280*960 etc. The maximum is 50." endparam bool param sample caption = "Multi-Sample" default = false hint = "When disabled the lighting is simply calculated from the main \ point and two points offset horizontally and vertically by the \ 'Lighting Pixel Offset'. When enabled all pixels in a square of \ side 'Lighting Pixel Offset' with the main pixel as the top-left \ are used in the lighting calculation (for each pixel in the \ square that pixel and the pixel to the right and below are used \ to calculate the light value for that point and the result from \ all the points in the square is averaged)." visible = @offset>1 endparam bool param altsample caption = "Alternative Sampling" default = false hint = "When enabled the 'Multi-Sample' method is changed slightly, \ instead of averaging over the whole area, the area is split \ into 2*2 squares (each of side 'Lighting Pixel Offset/2) and \ the top-left, top-right and bottom-left of these are sampled \ for the lighting." visible = @offset%2==0 && @sample endparam float param lscale caption = "Light Pre-scale" default = 1.0 min = 1e-200 hint = "The pre-scale for the lighting. Values closer to zero will \ accentuate the lighting (i.e. >0 and <1). Values >1 will reduce \ the lighting effect." endparam float param angle caption = "Light Rotation" default = 90.0 hint = "Gives the rotation of any light source, in degrees. With 0 \ degrees, the light comes from above. Positive values give \ clockwise rotation." endparam float param elevation caption = "Light Elevation" default = 30.0 hint = "Gives the elevation of any light source, in degrees." endparam float param ambient caption = "Ambient Light" default = 0.0 hint = "Specifies the level of ambient light, usual range is from \ -1 to +1. Use -1 for no ambient." endparam DefaultColorMerge param merge caption = "Lighting Merge method" default = MMF_ExtendedColorMerge hint = "This plug-in is ignored if 'MMF DLA Inspired' is plugged \ into a gradient colouring rather than a direct colouring." endparam bool param reverse caption = "Reverse the Merging" default = false hint = "When enabled the order of merging the colouring and lighting \ is reversed from the norm. \ This parameter is ignored if 'MMF DLA Inspired' is plugged \ into a gradient colouring rather than a direct colouring." endparam float param opacity caption = "Merge Opacity" default = 1.0 hint = "The merge opacity for combined colouring organisms. \ This parameter is ignored if 'MMF DLA Inspired' is plugged \ into a gradient colouring rather than a direct colouring." endparam heading caption = "Advanced Options" endheading bool param addrandom caption = "Added Detection Accuracy" default = false hint = "When enabled you will have extra parameters on your organisms \ to set a detection accuracy. Changing the detection accuracy \ will change their fractal nature." endparam bool param addmovement caption = "Added Stimulus Movement" default = false hint = "When enabled the stimuli 'Direction of Movement' parameters \ come into play as do the organism parameters to control how \ well the organisms detect stimulus movement." endparam heading caption = "The Stimuli" text = "You can select up to 16 different types of stimuli each of \ which may be produced in multiple ways. In the organism \ parameters you can control whether each organism is affected by \ any/all of the stimuli." endheading int param numstimuli caption = "Number of Stimuli" enum = "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" "13" "14" \ "15" "16" default = 0 endparam MMF_StimulusDLA param DLAStimulus1 caption = "Stimulus 1" default = MMF_RectStimulusDLA hint = "Choose your stimulus !" endparam MMF_StimulusDLA param DLAStimulus2 caption = "Stimulus 2" default = MMF_RectStimulusDLA visible = @numstimuli>0 hint = "Choose your stimulus !" endparam MMF_StimulusDLA param DLAStimulus3 caption = "Stimulus 3" default = MMF_RectStimulusDLA visible = @numstimuli>1 hint = "Choose your stimulus !" endparam MMF_StimulusDLA param DLAStimulus4 caption = "Stimulus 4" default = MMF_RectStimulusDLA visible = @numstimuli>2 hint = "Choose your stimulus !" endparam MMF_StimulusDLA param DLAStimulus5 caption = "Stimulus 5" default = MMF_RectStimulusDLA visible = @numstimuli>3 hint = "Choose your stimulus !" endparam MMF_StimulusDLA param DLAStimulus6 caption = "Stimulus 6" default = MMF_RectStimulusDLA visible = @numstimuli>4 hint = "Choose your stimulus !" endparam MMF_StimulusDLA param DLAStimulus7 caption = "Stimulus 7" default = MMF_RectStimulusDLA visible = @numstimuli>5 hint = "Choose your stimulus !" endparam MMF_StimulusDLA param DLAStimulus8 caption = "Stimulus 8" default = MMF_RectStimulusDLA visible = @numstimuli>6 hint = "Choose your stimulus !" endparam MMF_StimulusDLA param DLAStimulus9 caption = "Stimulus 9" default = MMF_RectStimulusDLA visible = @numstimuli>7 hint = "Choose your stimulus !" endparam MMF_StimulusDLA param DLAStimulus10 caption = "Stimulus 10" default = MMF_RectStimulusDLA visible = @numstimuli>8 hint = "Choose your stimulus !" endparam MMF_StimulusDLA param DLAStimulus11 caption = "Stimulus 11" default = MMF_RectStimulusDLA visible = @numstimuli>9 hint = "Choose your stimulus !" endparam MMF_StimulusDLA param DLAStimulus12 caption = "Stimulus 12" default = MMF_RectStimulusDLA visible = @numstimuli>10 hint = "Choose your stimulus !" endparam MMF_StimulusDLA param DLAStimulus13 caption = "Stimulus 13" default = MMF_RectStimulusDLA visible = @numstimuli>11 hint = "Choose your stimulus !" endparam MMF_StimulusDLA param DLAStimulus14 caption = "Stimulus 14" default = MMF_RectStimulusDLA visible = @numstimuli>12 hint = "Choose your stimulus !" endparam MMF_StimulusDLA param DLAStimulus15 caption = "Stimulus 15" default = MMF_RectStimulusDLA visible = @numstimuli>13 hint = "Choose your stimulus !" endparam MMF_StimulusDLA param DLAStimulus16 caption = "Stimulus 16" default = MMF_RectStimulusDLA visible = @numstimuli>14 hint = "Choose your stimulus !" endparam heading caption = "Dead Points" text = "These are points on the screen that do not normally support \ growth and also block detection of stimuli by the organisms." endheading MMF_DeadDLA param DLADead caption = "Dead Point Seeding" default = MMF_NoDeadDLA hint = "Points selected by this object are 'dead' points, they will not \ normally turn into part of an organism and if positioned in \ between an organism and a stimulus then the organism will be \ unaffected by the stimulus." endparam heading caption = "The Organisms" endheading heading enabled = false endheading heading text = "You can select up to 16 different organisms each of which may \ have multiple seed points resulting in as many individuals \ as you like. Each organism may be coloured differently as well \ as having different growth characteristics." endheading int param numplants caption = "Number of Organisms" enum = "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" "13" "14" \ "15" "16" default = 0 endparam heading caption = "First Organism" endheading float param size1 caption = "Maximum Size" default = 100.0 min = 0.0 max = 100.0 hint = "The maximum size of this organism is this %age of the screen \ pixels. When the number of growth pixels based on this %age \ has occurred then growth of this organism stops." endparam int param method1 caption = "Colouring Method" enum = "Colour" "Slope" "Combined" default = 0 hint = "You can choose to colour the fractal with just the default \ colouring or using a 'slope' colouring or a combination of \ the two if and only if 'DLA Inspired' is plugged in a direct \ colouring. If plugged into a gradient colouring then the \ 'Combined' option is ignored and 'Colour' used instead." endparam float param palmin1 caption = "Min. Palette Index" default = 0.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the lower end of the palette \ portion for the organism." endparam float param palmax1 caption = "Max. Palette Index" default = 399.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the upper end of the palette \ portion for the organism." endparam color param lightcol1 caption = "Lighting Colour" default = RGB(1.0,1.0,1.0) hint = "The colour for the lighting in 'Combined' mode, ignored if using \ gradient colouring." visible = @method1==2 endparam float param nodirection1 caption = "Directionless Growth" default = 0.0 hint = "Here you can specify the number of points of directionless \ growth of the organism per generation. Directionless growth \ occurs randomly from any edge point on the organism and is \ not affected by any stimulus. Note that you can use fractional \ values, 0.5 means a 50% chance of one pixel of directionless \ growth per generation, 1.25 means one pixel of directionless \ growth and a 25% chance of a second. Normally you should use \ zero or a positive number but if you use a negative value then \ there will be so many pixels of directionless growth \ of the organism only when there is no directed growth due to \ an active stimulus." endparam MMF_SeedDLA param DLASeed1 caption = "Organism 1 Seeding" default = MMF_OnePointSeedDLA hint = "Sets the seeding method for the organism." endparam bool param Seed1Stimulus1 caption = "Reacts to Stimulus 1" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 1' i.e. it treats them as food or light." endparam bool param Seed1Stimulus2 caption = "Reacts to Stimulus 2" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 2' i.e. it treats them as food or light." visible = @numstimuli>0 endparam bool param Seed1Stimulus3 caption = "Reacts to Stimulus 3" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 3' i.e. it treats them as food or light." visible = @numstimuli>1 endparam bool param Seed1Stimulus4 caption = "Reacts to Stimulus 4" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 4' i.e. it treats them as food or light." visible = @numstimuli>2 endparam bool param Seed1Stimulus5 caption = "Reacts to Stimulus 5" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 5' i.e. it treats them as food or light." visible = @numstimuli>3 endparam bool param Seed1Stimulus6 caption = "Reacts to Stimulus 6" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 6' i.e. it treats them as food or light." visible = @numstimuli>4 endparam bool param Seed1Stimulus7 caption = "Reacts to Stimulus 7" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 7' i.e. it treats them as food or light." visible = @numstimuli>5 endparam bool param Seed1Stimulus8 caption = "Reacts to Stimulus 8" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 8' i.e. it treats them as food or light." visible = @numstimuli>6 endparam bool param Seed1Stimulus9 caption = "Reacts to Stimulus 9" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 9' i.e. it treats them as food or light." visible = @numstimuli>7 endparam bool param Seed1Stimulus10 caption = "Reacts to Stimulus 10" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 10' i.e. it treats them as food or light." visible = @numstimuli>8 endparam bool param Seed1Stimulus11 caption = "Reacts to Stimulus 11" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 11' i.e. it treats them as food or light." visible = @numstimuli>9 endparam bool param Seed1Stimulus12 caption = "Reacts to Stimulus 12" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 12' i.e. it treats them as food or light." visible = @numstimuli>10 endparam bool param Seed1Stimulus13 caption = "Reacts to Stimulus 13" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 13' i.e. it treats them as food or light." visible = @numstimuli>11 endparam bool param Seed1Stimulus14 caption = "Reacts to Stimulus 14" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 14' i.e. it treats them as food or light." visible = @numstimuli>12 endparam bool param Seed1Stimulus15 caption = "Reacts to Stimulus 15" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 15' i.e. it treats them as food or light." visible = @numstimuli>13 endparam bool param Seed1Stimulus16 caption = "Reacts to Stimulus 16" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 16' i.e. it treats them as food or light." visible = @numstimuli>14 endparam float param detect1 caption = "Detection accuracy" default = 1.0 min = 1.0 hint = "This is the accuracy with which the organism detects stimuli. \ An accuracy of 1 means it always detects the stimulus accurately, \ if you use 2 then it estimates the distance to the stimulus at \ somewhere between the correct value and twice the correct value. \ A setting of 10 means the organism could estimate the distance at \ being up to 10* further than it is." visible = @addrandom endparam float param move1 caption = "Movement Detection" default = 1.0 min = 0.0 hint = "Use zero for no movement detection, otherwise the larger the \ value specified the greater the effect of a moving stimulus. \ Typically use values from say 1 to 10." visible = @addmovement endparam heading caption = "Second Organism" visible = @numplants>0 endheading float param size2 caption = "Maximum Size" default = 100.0 min = 0.0 max = 100.0 hint = "The maximum size of this organism is this %age of the screen \ pixels. When the number of growth pixels based on this %age \ has occurred then growth of this organism stops." visible = @numplants>0 endparam int param method2 caption = "Colouring Method" enum = "Colour" "Slope" "Combined" default = 0 hint = "You can choose to colour the fractal with just the default \ colouring or using a 'slope' colouring or a combination of \ the two if and only if 'DLA Inspired' is plugged in a direct \ colouring. If plugged into a gradient colouring then the \ 'Combined' option is ignored and 'Colour' used instead." visible = @numplants>0 endparam float param palmin2 caption = "Min. Palette Index" default = 0.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the lower end of the palette \ portion for the organism." visible = @numplants>0 endparam float param palmax2 caption = "Max. Palette Index" default = 399.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the upper end of the palette \ portion for the organism." visible = @numplants>0 endparam color param lightcol2 caption = "Lighting Colour" default = RGB(1.0,1.0,1.0) hint = "The colour for the lighting in 'Combined' mode, ignored if using \ gradient colouring." visible = @method2==2 && @numplants>0 endparam float param nodirection2 caption = "Directionless Growth" default = 0.0 hint = "Here you can specify the number of points of directionless \ growth of the organism per generation. Directionless growth \ occurs randomly from any edge point on the organism and is \ not affected by any stimulus. Note that you can use fractional \ values, 0.5 means a 50% chance of one pixel of directionless \ growth per generation, 1.25 means one pixel of directionless \ growth and a 25% chance of a second. Normally you should use \ zero or a positive number but if you use a negative value then \ there will be so many pixels of directionless growth \ of the organism only when there is no directed growth due to \ an active stimulus." visible = @numplants>0 endparam MMF_SeedDLA param DLASeed2 caption = "Organism 2 Seeding" default = MMF_OnePointSeedDLA hint = "Sets the seeding method for the organism." visible = @numplants>0 endparam bool param Seed2Stimulus1 caption = "Reacts to Stimulus 1" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 1' i.e. it treats them as food or light." visible = @numplants>0 endparam bool param Seed2Stimulus2 caption = "Reacts to Stimulus 2" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 2' i.e. it treats them as food or light." visible = @numplants>0 && @numstimuli>0 endparam bool param Seed2Stimulus3 caption = "Reacts to Stimulus 3" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 3' i.e. it treats them as food or light." visible = @numplants>0 && @numstimuli>1 endparam bool param Seed2Stimulus4 caption = "Reacts to Stimulus 4" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 4' i.e. it treats them as food or light." visible = @numplants>0 && @numstimuli>2 endparam bool param Seed2Stimulus5 caption = "Reacts to Stimulus 5" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 5' i.e. it treats them as food or light." visible = @numplants>0 && @numstimuli>3 endparam bool param Seed2Stimulus6 caption = "Reacts to Stimulus 6" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 6' i.e. it treats them as food or light." visible = @numplants>0 && @numstimuli>4 endparam bool param Seed2Stimulus7 caption = "Reacts to Stimulus 7" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 7' i.e. it treats them as food or light." visible = @numplants>0 && @numstimuli>5 endparam bool param Seed2Stimulus8 caption = "Reacts to Stimulus 8" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 8' i.e. it treats them as food or light." visible = @numplants>0 && @numstimuli>6 endparam bool param Seed2Stimulus9 caption = "Reacts to Stimulus 9" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 9' i.e. it treats them as food or light." visible = @numplants>0 && @numstimuli>7 endparam bool param Seed2Stimulus10 caption = "Reacts to Stimulus 10" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 10' i.e. it treats them as food or light." visible = @numplants>0 && @numstimuli>8 endparam bool param Seed2Stimulus11 caption = "Reacts to Stimulus 11" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 11' i.e. it treats them as food or light." visible = @numplants>0 && @numstimuli>9 endparam bool param Seed2Stimulus12 caption = "Reacts to Stimulus 12" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 12' i.e. it treats them as food or light." visible = @numplants>0 && @numstimuli>10 endparam bool param Seed2Stimulus13 caption = "Reacts to Stimulus 13" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 13' i.e. it treats them as food or light." visible = @numplants>0 && @numstimuli>11 endparam bool param Seed2Stimulus14 caption = "Reacts to Stimulus 14" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 14' i.e. it treats them as food or light." visible = @numplants>0 && @numstimuli>12 endparam bool param Seed2Stimulus15 caption = "Reacts to Stimulus 15" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 15' i.e. it treats them as food or light." visible = @numplants>0 && @numstimuli>13 endparam bool param Seed2Stimulus16 caption = "Reacts to Stimulus 16" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 16' i.e. it treats them as food or light." visible = @numplants>0 && @numstimuli>14 endparam float param detect2 caption = "Detection accuracy" default = 1.0 min = 1.0 hint = "This is the accuracy with which the organism detects stimuli. \ An accuracy of 1 means it always detects the stimulus accurately, \ if you use 2 then it estimates the distance to the stimulus at \ somewhere between the correct value and twice the correct value. \ A setting of 10 means the organism could estimate the distance at \ being up to 10* further than it is." visible = @numplants>0 && @addrandom endparam float param move2 caption = "Movement Detection" default = 1.0 min = 0.0 hint = "Use zero for no movement detection, otherwise the larger the \ value specified the greater the effect of a moving stimulus. \ Typically use values from say 1 to 10." visible = @numplants>0 && @addmovement endparam heading caption = "Third Organism" visible = @numplants>1 endheading float param size3 caption = "Maximum Size" default = 100.0 min = 0.0 max = 100.0 hint = "The maximum size of this organism is this %age of the screen \ pixels. When the number of growth pixels based on this %age \ has occurred then growth of this organism stops." visible = @numplants>1 endparam int param method3 caption = "Colouring Method" enum = "Colour" "Slope" "Combined" default = 0 hint = "You can choose to colour the fractal with just the default \ colouring or using a 'slope' colouring or a combination of \ the two if and only if 'DLA Inspired' is plugged in a direct \ colouring. If plugged into a gradient colouring then the \ 'Combined' option is ignored and 'Colour' used instead." visible = @numplants>1 endparam float param palmin3 caption = "Min. Palette Index" default = 0.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the lower end of the palette \ portion for the organism." visible = @numplants>1 endparam float param palmax3 caption = "Max. Palette Index" default = 399.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the upper end of the palette \ portion for the organism." visible = @numplants>1 endparam color param lightcol3 caption = "Lighting Colour" default = RGB(1.0,1.0,1.0) hint = "The colour for the lighting in 'Combined' mode, ignored if using \ gradient colouring." visible = @method3==2 && @numplants>1 endparam float param nodirection3 caption = "Directionless Growth" default = 0.0 hint = "Here you can specify the number of points of directionless \ growth of the organism per generation. Directionless growth \ occurs randomly from any edge point on the organism and is \ not affected by any stimulus. Note that you can use fractional \ values, 0.5 means a 50% chance of one pixel of directionless \ growth per generation, 1.25 means one pixel of directionless \ growth and a 25% chance of a second. Normally you should use \ zero or a positive number but if you use a negative value then \ there will be so many pixels of directionless growth \ of the organism only when there is no directed growth due to \ an active stimulus." visible = @numplants>1 endparam MMF_SeedDLA param DLASeed3 caption = "Organism 3 Seeding" default = MMF_OnePointSeedDLA hint = "Sets the seeding method for the organism." visible = @numplants>1 endparam bool param Seed3Stimulus1 caption = "Reacts to Stimulus 1" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 1' i.e. it treats them as food or light." visible = @numplants>1 endparam bool param Seed3Stimulus2 caption = "Reacts to Stimulus 2" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 2' i.e. it treats them as food or light." visible = @numplants>1 && @numstimuli>0 endparam bool param Seed3Stimulus3 caption = "Reacts to Stimulus 3" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 3' i.e. it treats them as food or light." visible = @numplants>1 && @numstimuli>1 endparam bool param Seed3Stimulus4 caption = "Reacts to Stimulus 4" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 4' i.e. it treats them as food or light." visible = @numplants>1 && @numstimuli>2 endparam bool param Seed3Stimulus5 caption = "Reacts to Stimulus 5" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 5' i.e. it treats them as food or light." visible = @numplants>1 && @numstimuli>3 endparam bool param Seed3Stimulus6 caption = "Reacts to Stimulus 6" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 6' i.e. it treats them as food or light." visible = @numplants>1 && @numstimuli>4 endparam bool param Seed3Stimulus7 caption = "Reacts to Stimulus 7" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 7' i.e. it treats them as food or light." visible = @numplants>1 && @numstimuli>5 endparam bool param Seed3Stimulus8 caption = "Reacts to Stimulus 8" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 8' i.e. it treats them as food or light." visible = @numplants>1 && @numstimuli>6 endparam bool param Seed3Stimulus9 caption = "Reacts to Stimulus 9" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 9' i.e. it treats them as food or light." visible = @numplants>1 && @numstimuli>7 endparam bool param Seed3Stimulus10 caption = "Reacts to Stimulus 10" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 10' i.e. it treats them as food or light." visible = @numplants>1 && @numstimuli>8 endparam bool param Seed3Stimulus11 caption = "Reacts to Stimulus 11" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 11' i.e. it treats them as food or light." visible = @numplants>1 && @numstimuli>9 endparam bool param Seed3Stimulus12 caption = "Reacts to Stimulus 12" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 12' i.e. it treats them as food or light." visible = @numplants>1 && @numstimuli>10 endparam bool param Seed3Stimulus13 caption = "Reacts to Stimulus 13" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 13' i.e. it treats them as food or light." visible = @numplants>1 && @numstimuli>11 endparam bool param Seed3Stimulus14 caption = "Reacts to Stimulus 14" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 14' i.e. it treats them as food or light." visible = @numplants>1 && @numstimuli>12 endparam bool param Seed3Stimulus15 caption = "Reacts to Stimulus 15" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 15' i.e. it treats them as food or light." visible = @numplants>1 && @numstimuli>13 endparam bool param Seed3Stimulus16 caption = "Reacts to Stimulus 16" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 16' i.e. it treats them as food or light." visible = @numplants>1 && @numstimuli>14 endparam float param detect3 caption = "Detection accuracy" default = 1.0 min = 1.0 hint = "This is the accuracy with which the organism detects stimuli. \ An accuracy of 1 means it always detects the stimulus accurately, \ if you use 2 then it estimates the distance to the stimulus at \ somewhere between the correct value and twice the correct value. \ A setting of 10 means the organism could estimate the distance at \ being up to 10* further than it is." visible = @numplants>1 && @addrandom endparam float param move3 caption = "Movement Detection" default = 1.0 min = 0.0 hint = "Use zero for no movement detection, otherwise the larger the \ value specified the greater the effect of a moving stimulus. \ Typically use values from say 1 to 10." visible = @numplants>1 && @addmovement endparam heading caption = "Fourth Organism" visible = @numplants>2 endheading float param size4 caption = "Maximum Size" default = 100.0 min = 0.0 max = 100.0 hint = "The maximum size of this organism is this %age of the screen \ pixels. When the number of growth pixels based on this %age \ has occurred then growth of this organism stops." visible = @numplants>2 endparam int param method4 caption = "Colouring Method" enum = "Colour" "Slope" "Combined" default = 0 hint = "You can choose to colour the fractal with just the default \ colouring or using a 'slope' colouring or a combination of \ the two if and only if 'DLA Inspired' is plugged in a direct \ colouring. If plugged into a gradient colouring then the \ 'Combined' option is ignored and 'Colour' used instead." visible = @numplants>2 endparam float param palmin4 caption = "Min. Palette Index" default = 0.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the lower end of the palette \ portion for the organism." visible = @numplants>2 endparam float param palmax4 caption = "Max. Palette Index" default = 399.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the upper end of the palette \ portion for the organism." visible = @numplants>2 endparam color param lightcol4 caption = "Lighting Colour" default = RGB(1.0,1.0,1.0) hint = "The colour for the lighting in 'Combined' mode, ignored if using \ gradient colouring." visible = @method4==2 && @numplants>2 endparam float param nodirection4 caption = "Directionless Growth" default = 0.0 hint = "Here you can specify the number of points of directionless \ growth of the organism per generation. Directionless growth \ occurs randomly from any edge point on the organism and is \ not affected by any stimulus. Note that you can use fractional \ values, 0.5 means a 50% chance of one pixel of directionless \ growth per generation, 1.25 means one pixel of directionless \ growth and a 25% chance of a second. Normally you should use \ zero or a positive number but if you use a negative value then \ there will be so many pixels of directionless growth \ of the organism only when there is no directed growth due to \ an active stimulus." visible = @numplants>2 endparam MMF_SeedDLA param DLASeed4 caption = "Organism 4 Seeding" default = MMF_OnePointSeedDLA hint = "Sets the seeding method for the organism." visible = @numplants>2 endparam bool param Seed4Stimulus1 caption = "Reacts to Stimulus 1" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 1' i.e. it treats them as food or light." visible = @numplants>2 endparam bool param Seed4Stimulus2 caption = "Reacts to Stimulus 2" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 2' i.e. it treats them as food or light." visible = @numplants>2 && @numstimuli>0 endparam bool param Seed4Stimulus3 caption = "Reacts to Stimulus 3" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 3' i.e. it treats them as food or light." visible = @numplants>2 && @numstimuli>1 endparam bool param Seed4Stimulus4 caption = "Reacts to Stimulus 4" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 4' i.e. it treats them as food or light." visible = @numplants>2 && @numstimuli>2 endparam bool param Seed4Stimulus5 caption = "Reacts to Stimulus 5" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 5' i.e. it treats them as food or light." visible = @numplants>2 && @numstimuli>3 endparam bool param Seed4Stimulus6 caption = "Reacts to Stimulus 6" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 6' i.e. it treats them as food or light." visible = @numplants>2 && @numstimuli>4 endparam bool param Seed4Stimulus7 caption = "Reacts to Stimulus 7" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 7' i.e. it treats them as food or light." visible = @numplants>2 && @numstimuli>5 endparam bool param Seed4Stimulus8 caption = "Reacts to Stimulus 8" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 8' i.e. it treats them as food or light." visible = @numplants>2 && @numstimuli>6 endparam bool param Seed4Stimulus9 caption = "Reacts to Stimulus 9" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 9' i.e. it treats them as food or light." visible = @numplants>2 && @numstimuli>7 endparam bool param Seed4Stimulus10 caption = "Reacts to Stimulus 10" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 10' i.e. it treats them as food or light." visible = @numplants>2 && @numstimuli>8 endparam bool param Seed4Stimulus11 caption = "Reacts to Stimulus 11" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 11' i.e. it treats them as food or light." visible = @numplants>2 && @numstimuli>9 endparam bool param Seed4Stimulus12 caption = "Reacts to Stimulus 12" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 12' i.e. it treats them as food or light." visible = @numplants>2 && @numstimuli>10 endparam bool param Seed4Stimulus13 caption = "Reacts to Stimulus 13" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 13' i.e. it treats them as food or light." visible = @numplants>2 && @numstimuli>11 endparam bool param Seed4Stimulus14 caption = "Reacts to Stimulus 14" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 14' i.e. it treats them as food or light." visible = @numplants>2 && @numstimuli>12 endparam bool param Seed4Stimulus15 caption = "Reacts to Stimulus 15" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 15' i.e. it treats them as food or light." visible = @numplants>2 && @numstimuli>13 endparam bool param Seed4Stimulus16 caption = "Reacts to Stimulus 16" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 16' i.e. it treats them as food or light." visible = @numplants>2 && @numstimuli>14 endparam float param detect4 caption = "Detection accuracy" default = 1.0 min = 1.0 hint = "This is the accuracy with which the organism detects stimuli. \ An accuracy of 1 means it always detects the stimulus accurately, \ if you use 2 then it estimates the distance to the stimulus at \ somewhere between the correct value and twice the correct value. \ A setting of 10 means the organism could estimate the distance at \ being up to 10* further than it is." visible = @numplants>2 && @addrandom endparam float param move4 caption = "Movement Detection" default = 1.0 min = 0.0 hint = "Use zero for no movement detection, otherwise the larger the \ value specified the greater the effect of a moving stimulus. \ Typically use values from say 1 to 10." visible = @numplants>2 && @addmovement endparam heading caption = "Fifth Organism" visible = @numplants>3 endheading float param size5 caption = "Maximum Size" default = 100.0 min = 0.0 max = 100.0 hint = "The maximum size of this organism is this %age of the screen \ pixels. When the number of growth pixels based on this %age \ has occurred then growth of this organism stops." visible = @numplants>3 endparam int param method5 caption = "Colouring Method" enum = "Colour" "Slope" "Combined" default = 0 hint = "You can choose to colour the fractal with just the default \ colouring or using a 'slope' colouring or a combination of \ the two if and only if 'DLA Inspired' is plugged in a direct \ colouring. If plugged into a gradient colouring then the \ 'Combined' option is ignored and 'Colour' used instead." visible = @numplants>3 endparam float param palmin5 caption = "Min. Palette Index" default = 0.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the lower end of the palette \ portion for the organism." visible = @numplants>3 endparam float param palmax5 caption = "Max. Palette Index" default = 399.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the upper end of the palette \ portion for the organism." visible = @numplants>3 endparam color param lightcol5 caption = "Lighting Colour" default = RGB(1.0,1.0,1.0) hint = "The colour for the lighting in 'Combined' mode, ignored if using \ gradient colouring." visible = @method5==2 && @numplants>3 endparam float param nodirection5 caption = "Directionless Growth" default = 0.0 hint = "Here you can specify the number of points of directionless \ growth of the organism per generation. Directionless growth \ occurs randomly from any edge point on the organism and is \ not affected by any stimulus. Note that you can use fractional \ values, 0.5 means a 50% chance of one pixel of directionless \ growth per generation, 1.25 means one pixel of directionless \ growth and a 25% chance of a second. Normally you should use \ zero or a positive number but if you use a negative value then \ there will be so many pixels of directionless growth \ of the organism only when there is no directed growth due to \ an active stimulus." visible = @numplants>3 endparam MMF_SeedDLA param DLASeed5 caption = "Organism 5 Seeding" default = MMF_OnePointSeedDLA hint = "Sets the seeding method for the organism." visible = @numplants>3 endparam bool param Seed5Stimulus1 caption = "Reacts to Stimulus 1" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 1' i.e. it treats them as food or light." visible = @numplants>3 endparam bool param Seed5Stimulus2 caption = "Reacts to Stimulus 2" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 2' i.e. it treats them as food or light." visible = @numplants>3 && @numstimuli>0 endparam bool param Seed5Stimulus3 caption = "Reacts to Stimulus 3" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 3' i.e. it treats them as food or light." visible = @numplants>3 && @numstimuli>1 endparam bool param Seed5Stimulus4 caption = "Reacts to Stimulus 4" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 4' i.e. it treats them as food or light." visible = @numplants>3 && @numstimuli>2 endparam bool param Seed5Stimulus5 caption = "Reacts to Stimulus 5" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 5' i.e. it treats them as food or light." visible = @numplants>3 && @numstimuli>3 endparam bool param Seed5Stimulus6 caption = "Reacts to Stimulus 6" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 6' i.e. it treats them as food or light." visible = @numplants>3 && @numstimuli>4 endparam bool param Seed5Stimulus7 caption = "Reacts to Stimulus 7" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 7' i.e. it treats them as food or light." visible = @numplants>3 && @numstimuli>5 endparam bool param Seed5Stimulus8 caption = "Reacts to Stimulus 8" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 8' i.e. it treats them as food or light." visible = @numplants>3 && @numstimuli>6 endparam bool param Seed5Stimulus9 caption = "Reacts to Stimulus 9" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 9' i.e. it treats them as food or light." visible = @numplants>3 && @numstimuli>7 endparam bool param Seed5Stimulus10 caption = "Reacts to Stimulus 10" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 10' i.e. it treats them as food or light." visible = @numplants>3 && @numstimuli>8 endparam bool param Seed5Stimulus11 caption = "Reacts to Stimulus 11" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 11' i.e. it treats them as food or light." visible = @numplants>3 && @numstimuli>9 endparam bool param Seed5Stimulus12 caption = "Reacts to Stimulus 12" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 12' i.e. it treats them as food or light." visible = @numplants>3 && @numstimuli>10 endparam bool param Seed5Stimulus13 caption = "Reacts to Stimulus 13" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 13' i.e. it treats them as food or light." visible = @numplants>3 && @numstimuli>11 endparam bool param Seed5Stimulus14 caption = "Reacts to Stimulus 14" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 14' i.e. it treats them as food or light." visible = @numplants>3 && @numstimuli>12 endparam bool param Seed5Stimulus15 caption = "Reacts to Stimulus 15" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 15' i.e. it treats them as food or light." visible = @numplants>3 && @numstimuli>13 endparam bool param Seed5Stimulus16 caption = "Reacts to Stimulus 16" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 16' i.e. it treats them as food or light." visible = @numplants>3 && @numstimuli>14 endparam float param detect5 caption = "Detection accuracy" default = 1.0 min = 1.0 hint = "This is the accuracy with which the organism detects stimuli. \ An accuracy of 1 means it always detects the stimulus accurately, \ if you use 2 then it estimates the distance to the stimulus at \ somewhere between the correct value and twice the correct value. \ A setting of 10 means the organism could estimate the distance at \ being up to 10* further than it is." visible = @numplants>3 && @addrandom endparam float param move5 caption = "Movement Detection" default = 1.0 min = 0.0 hint = "Use zero for no movement detection, otherwise the larger the \ value specified the greater the effect of a moving stimulus. \ Typically use values from say 1 to 10." visible = @numplants>3 && @addmovement endparam heading caption = "Sixth Organism" visible = @numplants>4 endheading float param size6 caption = "Maximum Size" default = 100.0 min = 0.0 max = 100.0 hint = "The maximum size of this organism is this %age of the screen \ pixels. When the number of growth pixels based on this %age \ has occurred then growth of this organism stops." visible = @numplants>4 endparam int param method6 caption = "Colouring Method" enum = "Colour" "Slope" "Combined" default = 0 hint = "You can choose to colour the fractal with just the default \ colouring or using a 'slope' colouring or a combination of \ the two if and only if 'DLA Inspired' is plugged in a direct \ colouring. If plugged into a gradient colouring then the \ 'Combined' option is ignored and 'Colour' used instead." visible = @numplants>4 endparam float param palmin6 caption = "Min. Palette Index" default = 0.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the lower end of the palette \ portion for the organism." visible = @numplants>4 endparam float param palmax6 caption = "Max. Palette Index" default = 399.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the upper end of the palette \ portion for the organism." visible = @numplants>4 endparam color param lightcol6 caption = "Lighting Colour" default = RGB(1.0,1.0,1.0) hint = "The colour for the lighting in 'Combined' mode, ignored if using \ gradient colouring." visible = @method6==2 && @numplants>4 endparam float param nodirection6 caption = "Directionless Growth" default = 0.0 hint = "Here you can specify the number of points of directionless \ growth of the organism per generation. Directionless growth \ occurs randomly from any edge point on the organism and is \ not affected by any stimulus. Note that you can use fractional \ values, 0.5 means a 50% chance of one pixel of directionless \ growth per generation, 1.25 means one pixel of directionless \ growth and a 25% chance of a second. Normally you should use \ zero or a positive number but if you use a negative value then \ there will be so many pixels of directionless growth \ of the organism only when there is no directed growth due to \ an active stimulus." visible = @numplants>4 endparam MMF_SeedDLA param DLASeed6 caption = "Organism 6 Seeding" default = MMF_OnePointSeedDLA hint = "Sets the seeding method for the organism." visible = @numplants>4 endparam bool param Seed6Stimulus1 caption = "Reacts to Stimulus 1" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 1' i.e. it treats them as food or light." visible = @numplants>4 endparam bool param Seed6Stimulus2 caption = "Reacts to Stimulus 2" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 2' i.e. it treats them as food or light." visible = @numplants>4 && @numstimuli>0 endparam bool param Seed6Stimulus3 caption = "Reacts to Stimulus 3" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 3' i.e. it treats them as food or light." visible = @numplants>4 && @numstimuli>1 endparam bool param Seed6Stimulus4 caption = "Reacts to Stimulus 4" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 4' i.e. it treats them as food or light." visible = @numplants>4 && @numstimuli>2 endparam bool param Seed6Stimulus5 caption = "Reacts to Stimulus 5" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 5' i.e. it treats them as food or light." visible = @numplants>4 && @numstimuli>3 endparam bool param Seed6Stimulus6 caption = "Reacts to Stimulus 6" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 6' i.e. it treats them as food or light." visible = @numplants>4 && @numstimuli>4 endparam bool param Seed6Stimulus7 caption = "Reacts to Stimulus 7" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 7' i.e. it treats them as food or light." visible = @numplants>4 && @numstimuli>5 endparam bool param Seed6Stimulus8 caption = "Reacts to Stimulus 8" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 8' i.e. it treats them as food or light." visible = @numplants>4 && @numstimuli>6 endparam bool param Seed6Stimulus9 caption = "Reacts to Stimulus 9" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 9' i.e. it treats them as food or light." visible = @numplants>4 && @numstimuli>7 endparam bool param Seed6Stimulus10 caption = "Reacts to Stimulus 10" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 10' i.e. it treats them as food or light." visible = @numplants>4 && @numstimuli>8 endparam bool param Seed6Stimulus11 caption = "Reacts to Stimulus 11" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 11' i.e. it treats them as food or light." visible = @numplants>4 && @numstimuli>9 endparam bool param Seed6Stimulus12 caption = "Reacts to Stimulus 12" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 12' i.e. it treats them as food or light." visible = @numplants>4 && @numstimuli>10 endparam bool param Seed6Stimulus13 caption = "Reacts to Stimulus 13" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 13' i.e. it treats them as food or light." visible = @numplants>4 && @numstimuli>11 endparam bool param Seed6Stimulus14 caption = "Reacts to Stimulus 14" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 14' i.e. it treats them as food or light." visible = @numplants>4 && @numstimuli>12 endparam bool param Seed6Stimulus15 caption = "Reacts to Stimulus 15" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 15' i.e. it treats them as food or light." visible = @numplants>4 && @numstimuli>13 endparam bool param Seed6Stimulus16 caption = "Reacts to Stimulus 16" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 16' i.e. it treats them as food or light." visible = @numplants>4 && @numstimuli>14 endparam float param detect6 caption = "Detection accuracy" default = 1.0 min = 1.0 hint = "This is the accuracy with which the organism detects stimuli. \ An accuracy of 1 means it always detects the stimulus accurately, \ if you use 2 then it estimates the distance to the stimulus at \ somewhere between the correct value and twice the correct value. \ A setting of 10 means the organism could estimate the distance at \ being up to 10* further than it is." visible = @numplants>4 && @addrandom endparam float param move6 caption = "Movement Detection" default = 1.0 min = 0.0 hint = "Use zero for no movement detection, otherwise the larger the \ value specified the greater the effect of a moving stimulus. \ Typically use values from say 1 to 10." visible = @numplants>4 && @addmovement endparam heading caption = "Seventh Organism" visible = @numplants>5 endheading float param size7 caption = "Maximum Size" default = 100.0 min = 0.0 max = 100.0 hint = "The maximum size of this organism is this %age of the screen \ pixels. When the number of growth pixels based on this %age \ has occurred then growth of this organism stops." visible = @numplants>5 endparam int param method7 caption = "Colouring Method" enum = "Colour" "Slope" "Combined" default = 0 hint = "You can choose to colour the fractal with just the default \ colouring or using a 'slope' colouring or a combination of \ the two if and only if 'DLA Inspired' is plugged in a direct \ colouring. If plugged into a gradient colouring then the \ 'Combined' option is ignored and 'Colour' used instead." visible = @numplants>5 endparam float param palmin7 caption = "Min. Palette Index" default = 0.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the lower end of the palette \ portion for the organism." visible = @numplants>5 endparam float param palmax7 caption = "Max. Palette Index" default = 399.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the upper end of the palette \ portion for the organism." visible = @numplants>5 endparam color param lightcol7 caption = "Lighting Colour" default = RGB(1.0,1.0,1.0) hint = "The colour for the lighting in 'Combined' mode, ignored if using \ gradient colouring." visible = @method7==2 && @numplants>5 endparam float param nodirection7 caption = "Directionless Growth" default = 0.0 hint = "Here you can specify the number of points of directionless \ growth of the organism per generation. Directionless growth \ occurs randomly from any edge point on the organism and is \ not affected by any stimulus. Note that you can use fractional \ values, 0.5 means a 50% chance of one pixel of directionless \ growth per generation, 1.25 means one pixel of directionless \ growth and a 25% chance of a second. Normally you should use \ zero or a positive number but if you use a negative value then \ there will be so many pixels of directionless growth \ of the organism only when there is no directed growth due to \ an active stimulus." visible = @numplants>5 endparam MMF_SeedDLA param DLASeed7 caption = "Organism 7 Seeding" default = MMF_OnePointSeedDLA hint = "Sets the seeding method for the organism." visible = @numplants>5 endparam bool param Seed7Stimulus1 caption = "Reacts to Stimulus 1" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 1' i.e. it treats them as food or light." visible = @numplants>5 endparam bool param Seed7Stimulus2 caption = "Reacts to Stimulus 2" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 2' i.e. it treats them as food or light." visible = @numplants>5 && @numstimuli>0 endparam bool param Seed7Stimulus3 caption = "Reacts to Stimulus 3" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 3' i.e. it treats them as food or light." visible = @numplants>5 && @numstimuli>1 endparam bool param Seed7Stimulus4 caption = "Reacts to Stimulus 4" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 4' i.e. it treats them as food or light." visible = @numplants>5 && @numstimuli>2 endparam bool param Seed7Stimulus5 caption = "Reacts to Stimulus 5" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 5' i.e. it treats them as food or light." visible = @numplants>5 && @numstimuli>3 endparam bool param Seed7Stimulus6 caption = "Reacts to Stimulus 6" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 6' i.e. it treats them as food or light." visible = @numplants>5 && @numstimuli>4 endparam bool param Seed7Stimulus7 caption = "Reacts to Stimulus 7" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 7' i.e. it treats them as food or light." visible = @numplants>5 && @numstimuli>5 endparam bool param Seed7Stimulus8 caption = "Reacts to Stimulus 8" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 8' i.e. it treats them as food or light." visible = @numplants>5 && @numstimuli>6 endparam bool param Seed7Stimulus9 caption = "Reacts to Stimulus 9" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 9' i.e. it treats them as food or light." visible = @numplants>5 && @numstimuli>7 endparam bool param Seed7Stimulus10 caption = "Reacts to Stimulus 10" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 10' i.e. it treats them as food or light." visible = @numplants>5 && @numstimuli>8 endparam bool param Seed7Stimulus11 caption = "Reacts to Stimulus 11" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 11' i.e. it treats them as food or light." visible = @numplants>5 && @numstimuli>9 endparam bool param Seed7Stimulus12 caption = "Reacts to Stimulus 12" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 12' i.e. it treats them as food or light." visible = @numplants>5 && @numstimuli>10 endparam bool param Seed7Stimulus13 caption = "Reacts to Stimulus 13" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 13' i.e. it treats them as food or light." visible = @numplants>5 && @numstimuli>11 endparam bool param Seed7Stimulus14 caption = "Reacts to Stimulus 14" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 14' i.e. it treats them as food or light." visible = @numplants>5 && @numstimuli>12 endparam bool param Seed7Stimulus15 caption = "Reacts to Stimulus 15" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 15' i.e. it treats them as food or light." visible = @numplants>5 && @numstimuli>13 endparam bool param Seed7Stimulus16 caption = "Reacts to Stimulus 16" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 16' i.e. it treats them as food or light." visible = @numplants>5 && @numstimuli>14 endparam float param detect7 caption = "Detection accuracy" default = 1.0 min = 1.0 hint = "This is the accuracy with which the organism detects stimuli. \ An accuracy of 1 means it always detects the stimulus accurately, \ if you use 2 then it estimates the distance to the stimulus at \ somewhere between the correct value and twice the correct value. \ A setting of 10 means the organism could estimate the distance at \ being up to 10* further than it is." visible = @numplants>5 && @addrandom endparam float param move7 caption = "Movement Detection" default = 1.0 min = 0.0 hint = "Use zero for no movement detection, otherwise the larger the \ value specified the greater the effect of a moving stimulus. \ Typically use values from say 1 to 10." visible = @numplants>5 && @addmovement endparam heading caption = "Eighth Organism" visible = @numplants>6 endheading float param size8 caption = "Maximum Size" default = 100.0 min = 0.0 max = 100.0 hint = "The maximum size of this organism is this %age of the screen \ pixels. When the number of growth pixels based on this %age \ has occurred then growth of this organism stops." visible = @numplants>6 endparam int param method8 caption = "Colouring Method" enum = "Colour" "Slope" "Combined" default = 0 hint = "You can choose to colour the fractal with just the default \ colouring or using a 'slope' colouring or a combination of \ the two if and only if 'DLA Inspired' is plugged in a direct \ colouring. If plugged into a gradient colouring then the \ 'Combined' option is ignored and 'Colour' used instead." visible = @numplants>6 endparam float param palmin8 caption = "Min. Palette Index" default = 0.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the lower end of the palette \ portion for the organism." visible = @numplants>6 endparam float param palmax8 caption = "Max. Palette Index" default = 399.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the upper end of the palette \ portion for the organism." visible = @numplants>6 endparam color param lightcol8 caption = "Lighting Colour" default = RGB(1.0,1.0,1.0) hint = "The colour for the lighting in 'Combined' mode, ignored if using \ gradient colouring." visible = @method8==2 && @numplants>6 endparam float param nodirection8 caption = "Directionless Growth" default = 0.0 hint = "Here you can specify the number of points of directionless \ growth of the organism per generation. Directionless growth \ occurs randomly from any edge point on the organism and is \ not affected by any stimulus. Note that you can use fractional \ values, 0.5 means a 50% chance of one pixel of directionless \ growth per generation, 1.25 means one pixel of directionless \ growth and a 25% chance of a second. Normally you should use \ zero or a positive number but if you use a negative value then \ there will be so many pixels of directionless growth \ of the organism only when there is no directed growth due to \ an active stimulus." visible = @numplants>6 endparam MMF_SeedDLA param DLASeed8 caption = "Organism 8 Seeding" default = MMF_OnePointSeedDLA hint = "Sets the seeding method for the organism." visible = @numplants>6 endparam bool param Seed8Stimulus1 caption = "Reacts to Stimulus 1" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 1' i.e. it treats them as food or light." visible = @numplants>6 endparam bool param Seed8Stimulus2 caption = "Reacts to Stimulus 2" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 2' i.e. it treats them as food or light." visible = @numplants>6 && @numstimuli>0 endparam bool param Seed8Stimulus3 caption = "Reacts to Stimulus 3" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 3' i.e. it treats them as food or light." visible = @numplants>6 && @numstimuli>1 endparam bool param Seed8Stimulus4 caption = "Reacts to Stimulus 4" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 4' i.e. it treats them as food or light." visible = @numplants>6 && @numstimuli>2 endparam bool param Seed8Stimulus5 caption = "Reacts to Stimulus 5" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 5' i.e. it treats them as food or light." visible = @numplants>6 && @numstimuli>3 endparam bool param Seed8Stimulus6 caption = "Reacts to Stimulus 6" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 6' i.e. it treats them as food or light." visible = @numplants>6 && @numstimuli>4 endparam bool param Seed8Stimulus7 caption = "Reacts to Stimulus 7" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 7' i.e. it treats them as food or light." visible = @numplants>6 && @numstimuli>5 endparam bool param Seed8Stimulus8 caption = "Reacts to Stimulus 8" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 8' i.e. it treats them as food or light." visible = @numplants>6 && @numstimuli>6 endparam bool param Seed8Stimulus9 caption = "Reacts to Stimulus 9" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 9' i.e. it treats them as food or light." visible = @numplants>6 && @numstimuli>7 endparam bool param Seed8Stimulus10 caption = "Reacts to Stimulus 10" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 10' i.e. it treats them as food or light." visible = @numplants>6 && @numstimuli>8 endparam bool param Seed8Stimulus11 caption = "Reacts to Stimulus 11" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 11' i.e. it treats them as food or light." visible = @numplants>6 && @numstimuli>9 endparam bool param Seed8Stimulus12 caption = "Reacts to Stimulus 12" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 12' i.e. it treats them as food or light." visible = @numplants>6 && @numstimuli>10 endparam bool param Seed8Stimulus13 caption = "Reacts to Stimulus 13" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 13' i.e. it treats them as food or light." visible = @numplants>6 && @numstimuli>11 endparam bool param Seed8Stimulus14 caption = "Reacts to Stimulus 14" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 14' i.e. it treats them as food or light." visible = @numplants>6 && @numstimuli>12 endparam bool param Seed8Stimulus15 caption = "Reacts to Stimulus 15" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 15' i.e. it treats them as food or light." visible = @numplants>6 && @numstimuli>13 endparam bool param Seed8Stimulus16 caption = "Reacts to Stimulus 16" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 16' i.e. it treats them as food or light." visible = @numplants>6 && @numstimuli>14 endparam float param detect8 caption = "Detection accuracy" default = 1.0 min = 1.0 hint = "This is the accuracy with which the organism detects stimuli. \ An accuracy of 1 means it always detects the stimulus accurately, \ if you use 2 then it estimates the distance to the stimulus at \ somewhere between the correct value and twice the correct value. \ A setting of 10 means the organism could estimate the distance at \ being up to 10* further than it is." visible = @numplants>6 && @addrandom endparam float param move8 caption = "Movement Detection" default = 1.0 min = 0.0 hint = "Use zero for no movement detection, otherwise the larger the \ value specified the greater the effect of a moving stimulus. \ Typically use values from say 1 to 10." visible = @numplants>6 && @addmovement endparam heading caption = "Ninth Organism" visible = @numplants>7 endheading float param size9 caption = "Maximum Size" default = 100.0 min = 0.0 max = 100.0 hint = "The maximum size of this organism is this %age of the screen \ pixels. When the number of growth pixels based on this %age \ has occurred then growth of this organism stops." visible = @numplants>7 endparam int param method9 caption = "Colouring Method" enum = "Colour" "Slope" "Combined" default = 0 hint = "You can choose to colour the fractal with just the default \ colouring or using a 'slope' colouring or a combination of \ the two if and only if 'DLA Inspired' is plugged in a direct \ colouring. If plugged into a gradient colouring then the \ 'Combined' option is ignored and 'Colour' used instead." visible = @numplants>7 endparam float param palmin9 caption = "Min. Palette Index" default = 0.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the lower end of the palette \ portion for the organism." visible = @numplants>7 endparam float param palmax9 caption = "Max. Palette Index" default = 399.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the upper end of the palette \ portion for the organism." visible = @numplants>7 endparam color param lightcol9 caption = "Lighting Colour" default = RGB(1.0,1.0,1.0) hint = "The colour for the lighting in 'Combined' mode, ignored if using \ gradient colouring." visible = @method9==2 && @numplants>7 endparam float param nodirection9 caption = "Directionless Growth" default = 0.0 hint = "Here you can specify the number of points of directionless \ growth of the organism per generation. Directionless growth \ occurs randomly from any edge point on the organism and is \ not affected by any stimulus. Note that you can use fractional \ values, 0.5 means a 50% chance of one pixel of directionless \ growth per generation, 1.25 means one pixel of directionless \ growth and a 25% chance of a second. Normally you should use \ zero or a positive number but if you use a negative value then \ there will be so many pixels of directionless growth \ of the organism only when there is no directed growth due to \ an active stimulus." visible = @numplants>7 endparam MMF_SeedDLA param DLASeed9 caption = "Organism 9 Seeding" default = MMF_OnePointSeedDLA hint = "Sets the seeding method for the organism." visible = @numplants>7 endparam bool param Seed9Stimulus1 caption = "Reacts to Stimulus 1" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 1' i.e. it treats them as food or light." visible = @numplants>7 endparam bool param Seed9Stimulus2 caption = "Reacts to Stimulus 2" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 2' i.e. it treats them as food or light." visible = @numplants>7 && @numstimuli>0 endparam bool param Seed9Stimulus3 caption = "Reacts to Stimulus 3" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 3' i.e. it treats them as food or light." visible = @numplants>7 && @numstimuli>1 endparam bool param Seed9Stimulus4 caption = "Reacts to Stimulus 4" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 4' i.e. it treats them as food or light." visible = @numplants>7 && @numstimuli>2 endparam bool param Seed9Stimulus5 caption = "Reacts to Stimulus 5" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 5' i.e. it treats them as food or light." visible = @numplants>7 && @numstimuli>3 endparam bool param Seed9Stimulus6 caption = "Reacts to Stimulus 6" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 6' i.e. it treats them as food or light." visible = @numplants>7 && @numstimuli>4 endparam bool param Seed9Stimulus7 caption = "Reacts to Stimulus 7" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 7' i.e. it treats them as food or light." visible = @numplants>7 && @numstimuli>5 endparam bool param Seed9Stimulus8 caption = "Reacts to Stimulus 8" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 8' i.e. it treats them as food or light." visible = @numplants>7 && @numstimuli>6 endparam bool param Seed9Stimulus9 caption = "Reacts to Stimulus 9" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 9' i.e. it treats them as food or light." visible = @numplants>7 && @numstimuli>7 endparam bool param Seed9Stimulus10 caption = "Reacts to Stimulus 10" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 10' i.e. it treats them as food or light." visible = @numplants>7 && @numstimuli>8 endparam bool param Seed9Stimulus11 caption = "Reacts to Stimulus 11" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 11' i.e. it treats them as food or light." visible = @numplants>7 && @numstimuli>9 endparam bool param Seed9Stimulus12 caption = "Reacts to Stimulus 12" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 12' i.e. it treats them as food or light." visible = @numplants>7 && @numstimuli>10 endparam bool param Seed9Stimulus13 caption = "Reacts to Stimulus 13" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 13' i.e. it treats them as food or light." visible = @numplants>7 && @numstimuli>11 endparam bool param Seed9Stimulus14 caption = "Reacts to Stimulus 14" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 14' i.e. it treats them as food or light." visible = @numplants>7 && @numstimuli>12 endparam bool param Seed9Stimulus15 caption = "Reacts to Stimulus 15" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 15' i.e. it treats them as food or light." visible = @numplants>7 && @numstimuli>13 endparam bool param Seed9Stimulus16 caption = "Reacts to Stimulus 16" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 16' i.e. it treats them as food or light." visible = @numplants>7 && @numstimuli>14 endparam float param detect9 caption = "Detection accuracy" default = 1.0 min = 1.0 hint = "This is the accuracy with which the organism detects stimuli. \ An accuracy of 1 means it always detects the stimulus accurately, \ if you use 2 then it estimates the distance to the stimulus at \ somewhere between the correct value and twice the correct value. \ A setting of 10 means the organism could estimate the distance at \ being up to 10* further than it is." visible = @numplants>7 && @addrandom endparam float param move9 caption = "Movement Detection" default = 1.0 min = 0.0 hint = "Use zero for no movement detection, otherwise the larger the \ value specified the greater the effect of a moving stimulus. \ Typically use values from say 1 to 10." visible = @numplants>7 && @addmovement endparam heading caption = "Tenth Organism" visible = @numplants>8 endheading float param size10 caption = "Maximum Size" default = 100.0 min = 0.0 max = 100.0 hint = "The maximum size of this organism is this %age of the screen \ pixels. When the number of growth pixels based on this %age \ has occurred then growth of this organism stops." visible = @numplants>8 endparam int param method10 caption = "Colouring Method" enum = "Colour" "Slope" "Combined" default = 0 hint = "You can choose to colour the fractal with just the default \ colouring or using a 'slope' colouring or a combination of \ the two if and only if 'DLA Inspired' is plugged in a direct \ colouring. If plugged into a gradient colouring then the \ 'Combined' option is ignored and 'Colour' used instead." visible = @numplants>8 endparam float param palmin10 caption = "Min. Palette Index" default = 0.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the lower end of the palette \ portion for the organism." visible = @numplants>8 endparam float param palmax10 caption = "Max. Palette Index" default = 399.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the upper end of the palette \ portion for the organism." visible = @numplants>8 endparam color param lightcol10 caption = "Lighting Colour" default = RGB(1.0,1.0,1.0) hint = "The colour for the lighting in 'Combined' mode, ignored if using \ gradient colouring." visible = @method10==2 && @numplants>8 endparam float param nodirection10 caption = "Directionless Growth" default = 0.0 hint = "Here you can specify the number of points of directionless \ growth of the organism per generation. Directionless growth \ occurs randomly from any edge point on the organism and is \ not affected by any stimulus. Note that you can use fractional \ values, 0.5 means a 50% chance of one pixel of directionless \ growth per generation, 1.25 means one pixel of directionless \ growth and a 25% chance of a second. Normally you should use \ zero or a positive number but if you use a negative value then \ there will be so many pixels of directionless growth \ of the organism only when there is no directed growth due to \ an active stimulus." visible = @numplants>8 endparam MMF_SeedDLA param DLASeed10 caption = "Organism 10 Seeding" default = MMF_OnePointSeedDLA hint = "Sets the seeding method for the organism." visible = @numplants>8 endparam bool param Seed10Stimulus1 caption = "Reacts to Stimulus 1" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 1' i.e. it treats them as food or light." visible = @numplants>8 endparam bool param Seed10Stimulus2 caption = "Reacts to Stimulus 2" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 2' i.e. it treats them as food or light." visible = @numplants>8 && @numstimuli>0 endparam bool param Seed10Stimulus3 caption = "Reacts to Stimulus 3" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 3' i.e. it treats them as food or light." visible = @numplants>8 && @numstimuli>1 endparam bool param Seed10Stimulus4 caption = "Reacts to Stimulus 4" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 4' i.e. it treats them as food or light." visible = @numplants>8 && @numstimuli>2 endparam bool param Seed10Stimulus5 caption = "Reacts to Stimulus 5" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 5' i.e. it treats them as food or light." visible = @numplants>8 && @numstimuli>3 endparam bool param Seed10Stimulus6 caption = "Reacts to Stimulus 6" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 6' i.e. it treats them as food or light." visible = @numplants>8 && @numstimuli>4 endparam bool param Seed10Stimulus7 caption = "Reacts to Stimulus 7" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 7' i.e. it treats them as food or light." visible = @numplants>8 && @numstimuli>5 endparam bool param Seed10Stimulus8 caption = "Reacts to Stimulus 8" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 8' i.e. it treats them as food or light." visible = @numplants>8 && @numstimuli>6 endparam bool param Seed10Stimulus9 caption = "Reacts to Stimulus 9" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 9' i.e. it treats them as food or light." visible = @numplants>8 && @numstimuli>7 endparam bool param Seed10Stimulus10 caption = "Reacts to Stimulus 10" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 10' i.e. it treats them as food or light." visible = @numplants>8 && @numstimuli>8 endparam bool param Seed10Stimulus11 caption = "Reacts to Stimulus 11" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 11' i.e. it treats them as food or light." visible = @numplants>8 && @numstimuli>9 endparam bool param Seed10Stimulus12 caption = "Reacts to Stimulus 12" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 12' i.e. it treats them as food or light." visible = @numplants>8 && @numstimuli>10 endparam bool param Seed10Stimulus13 caption = "Reacts to Stimulus 13" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 13' i.e. it treats them as food or light." visible = @numplants>8 && @numstimuli>11 endparam bool param Seed10Stimulus14 caption = "Reacts to Stimulus 14" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 14' i.e. it treats them as food or light." visible = @numplants>8 && @numstimuli>12 endparam bool param Seed10Stimulus15 caption = "Reacts to Stimulus 15" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 15' i.e. it treats them as food or light." visible = @numplants>8 && @numstimuli>13 endparam bool param Seed10Stimulus16 caption = "Reacts to Stimulus 16" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 16' i.e. it treats them as food or light." visible = @numplants>8 && @numstimuli>14 endparam float param detect10 caption = "Detection accuracy" default = 1.0 min = 1.0 hint = "This is the accuracy with which the organism detects stimuli. \ An accuracy of 1 means it always detects the stimulus accurately, \ if you use 2 then it estimates the distance to the stimulus at \ somewhere between the correct value and twice the correct value. \ A setting of 10 means the organism could estimate the distance at \ being up to 10* further than it is." visible = @numplants>8 && @addrandom endparam float param move10 caption = "Movement Detection" default = 1.0 min = 0.0 hint = "Use zero for no movement detection, otherwise the larger the \ value specified the greater the effect of a moving stimulus. \ Typically use values from say 1 to 10." visible = @numplants>8 && @addmovement endparam heading caption = "Eleventh Organism" visible = @numplants>9 endheading float param size11 caption = "Maximum Size" default = 100.0 min = 0.0 max = 100.0 hint = "The maximum size of this organism is this %age of the screen \ pixels. When the number of growth pixels based on this %age \ has occurred then growth of this organism stops." visible = @numplants>9 endparam int param method11 caption = "Colouring Method" enum = "Colour" "Slope" "Combined" default = 0 hint = "You can choose to colour the fractal with just the default \ colouring or using a 'slope' colouring or a combination of \ the two if and only if 'DLA Inspired' is plugged in a direct \ colouring. If plugged into a gradient colouring then the \ 'Combined' option is ignored and 'Colour' used instead." visible = @numplants>9 endparam float param palmin11 caption = "Min. Palette Index" default = 0.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the lower end of the palette \ portion for the organism." visible = @numplants>9 endparam float param palmax11 caption = "Max. Palette Index" default = 399.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the upper end of the palette \ portion for the organism." visible = @numplants>9 endparam color param lightcol11 caption = "Lighting Colour" default = RGB(1.0,1.0,1.0) hint = "The colour for the lighting in 'Combined' mode, ignored if using \ gradient colouring." visible = @method11==2 && @numplants>9 endparam float param nodirection11 caption = "Directionless Growth" default = 0.0 hint = "Here you can specify the number of points of directionless \ growth of the organism per generation. Directionless growth \ occurs randomly from any edge point on the organism and is \ not affected by any stimulus. Note that you can use fractional \ values, 0.5 means a 50% chance of one pixel of directionless \ growth per generation, 1.25 means one pixel of directionless \ growth and a 25% chance of a second. Normally you should use \ zero or a positive number but if you use a negative value then \ there will be so many pixels of directionless growth \ of the organism only when there is no directed growth due to \ an active stimulus." visible = @numplants>9 endparam MMF_SeedDLA param DLASeed11 caption = "Organism 11 Seeding" default = MMF_OnePointSeedDLA hint = "Sets the seeding method for the organism." visible = @numplants>9 endparam bool param Seed11Stimulus1 caption = "Reacts to Stimulus 1" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 1' i.e. it treats them as food or light." visible = @numplants>9 endparam bool param Seed11Stimulus2 caption = "Reacts to Stimulus 2" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 2' i.e. it treats them as food or light." visible = @numplants>9 && @numstimuli>0 endparam bool param Seed11Stimulus3 caption = "Reacts to Stimulus 3" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 3' i.e. it treats them as food or light." visible = @numplants>9 && @numstimuli>1 endparam bool param Seed11Stimulus4 caption = "Reacts to Stimulus 4" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 4' i.e. it treats them as food or light." visible = @numplants>9 && @numstimuli>2 endparam bool param Seed11Stimulus5 caption = "Reacts to Stimulus 5" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 5' i.e. it treats them as food or light." visible = @numplants>9 && @numstimuli>3 endparam bool param Seed11Stimulus6 caption = "Reacts to Stimulus 6" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 6' i.e. it treats them as food or light." visible = @numplants>9 && @numstimuli>4 endparam bool param Seed11Stimulus7 caption = "Reacts to Stimulus 7" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 7' i.e. it treats them as food or light." visible = @numplants>9 && @numstimuli>5 endparam bool param Seed11Stimulus8 caption = "Reacts to Stimulus 8" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 8' i.e. it treats them as food or light." visible = @numplants>9 && @numstimuli>6 endparam bool param Seed11Stimulus9 caption = "Reacts to Stimulus 9" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 9' i.e. it treats them as food or light." visible = @numplants>9 && @numstimuli>7 endparam bool param Seed11Stimulus10 caption = "Reacts to Stimulus 10" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 10' i.e. it treats them as food or light." visible = @numplants>9 && @numstimuli>8 endparam bool param Seed11Stimulus11 caption = "Reacts to Stimulus 11" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 11' i.e. it treats them as food or light." visible = @numplants>9 && @numstimuli>9 endparam bool param Seed11Stimulus12 caption = "Reacts to Stimulus 12" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 12' i.e. it treats them as food or light." visible = @numplants>9 && @numstimuli>10 endparam bool param Seed11Stimulus13 caption = "Reacts to Stimulus 13" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 13' i.e. it treats them as food or light." visible = @numplants>9 && @numstimuli>11 endparam bool param Seed11Stimulus14 caption = "Reacts to Stimulus 14" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 14' i.e. it treats them as food or light." visible = @numplants>9 && @numstimuli>12 endparam bool param Seed11Stimulus15 caption = "Reacts to Stimulus 15" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 15' i.e. it treats them as food or light." visible = @numplants>9 && @numstimuli>13 endparam bool param Seed11Stimulus16 caption = "Reacts to Stimulus 16" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 16' i.e. it treats them as food or light." visible = @numplants>9 && @numstimuli>14 endparam float param detect11 caption = "Detection accuracy" default = 1.0 min = 1.0 hint = "This is the accuracy with which the organism detects stimuli. \ An accuracy of 1 means it always detects the stimulus accurately, \ if you use 2 then it estimates the distance to the stimulus at \ somewhere between the correct value and twice the correct value. \ A setting of 10 means the organism could estimate the distance at \ being up to 10* further than it is." visible = @numplants>9 && @addrandom endparam float param move11 caption = "Movement Detection" default = 1.0 min = 0.0 hint = "Use zero for no movement detection, otherwise the larger the \ value specified the greater the effect of a moving stimulus. \ Typically use values from say 1 to 10." visible = @numplants>9 && @addmovement endparam heading caption = "Twelfth Organism" visible = @numplants>10 endheading float param size12 caption = "Maximum Size" default = 100.0 min = 0.0 max = 100.0 hint = "The maximum size of this organism is this %age of the screen \ pixels. When the number of growth pixels based on this %age \ has occurred then growth of this organism stops." visible = @numplants>10 endparam int param method12 caption = "Colouring Method" enum = "Colour" "Slope" "Combined" default = 0 hint = "You can choose to colour the fractal with just the default \ colouring or using a 'slope' colouring or a combination of \ the two if and only if 'DLA Inspired' is plugged in a direct \ colouring. If plugged into a gradient colouring then the \ 'Combined' option is ignored and 'Colour' used instead." visible = @numplants>10 endparam float param palmin12 caption = "Min. Palette Index" default = 0.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the lower end of the palette \ portion for the organism." visible = @numplants>10 endparam float param palmax12 caption = "Max. Palette Index" default = 399.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the upper end of the palette \ portion for the organism." visible = @numplants>10 endparam color param lightcol12 caption = "Lighting Colour" default = RGB(1.0,1.0,1.0) hint = "The colour for the lighting in 'Combined' mode, ignored if using \ gradient colouring." visible = @method12==2 && @numplants>10 endparam float param nodirection12 caption = "Directionless Growth" default = 0.0 hint = "Here you can specify the number of points of directionless \ growth of the organism per generation. Directionless growth \ occurs randomly from any edge point on the organism and is \ not affected by any stimulus. Note that you can use fractional \ values, 0.5 means a 50% chance of one pixel of directionless \ growth per generation, 1.25 means one pixel of directionless \ growth and a 25% chance of a second. Normally you should use \ zero or a positive number but if you use a negative value then \ there will be so many pixels of directionless growth \ of the organism only when there is no directed growth due to \ an active stimulus." visible = @numplants>10 endparam MMF_SeedDLA param DLASeed12 caption = "Organism 12 Seeding" default = MMF_OnePointSeedDLA hint = "Sets the seeding method for the organism." visible = @numplants>10 endparam bool param Seed12Stimulus1 caption = "Reacts to Stimulus 1" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 1' i.e. it treats them as food or light." visible = @numplants>10 endparam bool param Seed12Stimulus2 caption = "Reacts to Stimulus 2" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 2' i.e. it treats them as food or light." visible = @numplants>10 && @numstimuli>0 endparam bool param Seed12Stimulus3 caption = "Reacts to Stimulus 3" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 3' i.e. it treats them as food or light." visible = @numplants>10 && @numstimuli>1 endparam bool param Seed12Stimulus4 caption = "Reacts to Stimulus 4" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 4' i.e. it treats them as food or light." visible = @numplants>10 && @numstimuli>2 endparam bool param Seed12Stimulus5 caption = "Reacts to Stimulus 5" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 5' i.e. it treats them as food or light." visible = @numplants>10 && @numstimuli>3 endparam bool param Seed12Stimulus6 caption = "Reacts to Stimulus 6" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 6' i.e. it treats them as food or light." visible = @numplants>10 && @numstimuli>4 endparam bool param Seed12Stimulus7 caption = "Reacts to Stimulus 7" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 7' i.e. it treats them as food or light." visible = @numplants>10 && @numstimuli>5 endparam bool param Seed12Stimulus8 caption = "Reacts to Stimulus 8" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 8' i.e. it treats them as food or light." visible = @numplants>10 && @numstimuli>6 endparam bool param Seed12Stimulus9 caption = "Reacts to Stimulus 9" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 9' i.e. it treats them as food or light." visible = @numplants>10 && @numstimuli>7 endparam bool param Seed12Stimulus10 caption = "Reacts to Stimulus 10" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 10' i.e. it treats them as food or light." visible = @numplants>10 && @numstimuli>8 endparam bool param Seed12Stimulus11 caption = "Reacts to Stimulus 11" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 11' i.e. it treats them as food or light." visible = @numplants>10 && @numstimuli>9 endparam bool param Seed12Stimulus12 caption = "Reacts to Stimulus 12" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 12' i.e. it treats them as food or light." visible = @numplants>10 && @numstimuli>10 endparam bool param Seed12Stimulus13 caption = "Reacts to Stimulus 13" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 13' i.e. it treats them as food or light." visible = @numplants>10 && @numstimuli>11 endparam bool param Seed12Stimulus14 caption = "Reacts to Stimulus 14" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 14' i.e. it treats them as food or light." visible = @numplants>10 && @numstimuli>12 endparam bool param Seed12Stimulus15 caption = "Reacts to Stimulus 15" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 15' i.e. it treats them as food or light." visible = @numplants>10 && @numstimuli>13 endparam bool param Seed12Stimulus16 caption = "Reacts to Stimulus 16" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 16' i.e. it treats them as food or light." visible = @numplants>10 && @numstimuli>14 endparam float param detect12 caption = "Detection accuracy" default = 1.0 min = 1.0 hint = "This is the accuracy with which the organism detects stimuli. \ An accuracy of 1 means it always detects the stimulus accurately, \ if you use 2 then it estimates the distance to the stimulus at \ somewhere between the correct value and twice the correct value. \ A setting of 10 means the organism could estimate the distance at \ being up to 10* further than it is." visible = @numplants>10 && @addrandom endparam float param move12 caption = "Movement Detection" default = 1.0 min = 0.0 hint = "Use zero for no movement detection, otherwise the larger the \ value specified the greater the effect of a moving stimulus. \ Typically use values from say 1 to 10." visible = @numplants>10 && @addmovement endparam heading caption = "Thirteenth Organism" visible = @numplants>11 endheading float param size13 caption = "Maximum Size" default = 100.0 min = 0.0 max = 100.0 hint = "The maximum size of this organism is this %age of the screen \ pixels. When the number of growth pixels based on this %age \ has occurred then growth of this organism stops." visible = @numplants>11 endparam int param method13 caption = "Colouring Method" enum = "Colour" "Slope" "Combined" default = 0 hint = "You can choose to colour the fractal with just the default \ colouring or using a 'slope' colouring or a combination of \ the two if and only if 'DLA Inspired' is plugged in a direct \ colouring. If plugged into a gradient colouring then the \ 'Combined' option is ignored and 'Colour' used instead." visible = @numplants>11 endparam float param palmin13 caption = "Min. Palette Index" default = 0.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the lower end of the palette \ portion for the organism." visible = @numplants>11 endparam float param palmax13 caption = "Max. Palette Index" default = 399.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the upper end of the palette \ portion for the organism." visible = @numplants>11 endparam color param lightcol13 caption = "Lighting Colour" default = RGB(1.0,1.0,1.0) hint = "The colour for the lighting in 'Combined' mode, ignored if using \ gradient colouring." visible = @method13==2 && @numplants>11 endparam float param nodirection13 caption = "Directionless Growth" default = 0.0 hint = "Here you can specify the number of points of directionless \ growth of the organism per generation. Directionless growth \ occurs randomly from any edge point on the organism and is \ not affected by any stimulus. Note that you can use fractional \ values, 0.5 means a 50% chance of one pixel of directionless \ growth per generation, 1.25 means one pixel of directionless \ growth and a 25% chance of a second. Normally you should use \ zero or a positive number but if you use a negative value then \ there will be so many pixels of directionless growth \ of the organism only when there is no directed growth due to \ an active stimulus." visible = @numplants>11 endparam MMF_SeedDLA param DLASeed13 caption = "Organism 13 Seeding" default = MMF_OnePointSeedDLA hint = "Sets the seeding method for the organism." visible = @numplants>11 endparam bool param Seed13Stimulus1 caption = "Reacts to Stimulus 1" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 1' i.e. it treats them as food or light." visible = @numplants>11 endparam bool param Seed13Stimulus2 caption = "Reacts to Stimulus 2" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 2' i.e. it treats them as food or light." visible = @numplants>11 && @numstimuli>0 endparam bool param Seed13Stimulus3 caption = "Reacts to Stimulus 3" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 3' i.e. it treats them as food or light." visible = @numplants>11 && @numstimuli>1 endparam bool param Seed13Stimulus4 caption = "Reacts to Stimulus 4" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 4' i.e. it treats them as food or light." visible = @numplants>11 && @numstimuli>2 endparam bool param Seed13Stimulus5 caption = "Reacts to Stimulus 5" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 5' i.e. it treats them as food or light." visible = @numplants>11 && @numstimuli>3 endparam bool param Seed13Stimulus6 caption = "Reacts to Stimulus 6" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 6' i.e. it treats them as food or light." visible = @numplants>11 && @numstimuli>4 endparam bool param Seed13Stimulus7 caption = "Reacts to Stimulus 7" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 7' i.e. it treats them as food or light." visible = @numplants>11 && @numstimuli>5 endparam bool param Seed13Stimulus8 caption = "Reacts to Stimulus 8" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 8' i.e. it treats them as food or light." visible = @numplants>11 && @numstimuli>6 endparam bool param Seed13Stimulus9 caption = "Reacts to Stimulus 9" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 9' i.e. it treats them as food or light." visible = @numplants>11 && @numstimuli>7 endparam bool param Seed13Stimulus10 caption = "Reacts to Stimulus 10" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 10' i.e. it treats them as food or light." visible = @numplants>11 && @numstimuli>8 endparam bool param Seed13Stimulus11 caption = "Reacts to Stimulus 11" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 11' i.e. it treats them as food or light." visible = @numplants>11 && @numstimuli>9 endparam bool param Seed13Stimulus12 caption = "Reacts to Stimulus 12" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 12' i.e. it treats them as food or light." visible = @numplants>11 && @numstimuli>10 endparam bool param Seed13Stimulus13 caption = "Reacts to Stimulus 13" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 13' i.e. it treats them as food or light." visible = @numplants>11 && @numstimuli>11 endparam bool param Seed13Stimulus14 caption = "Reacts to Stimulus 14" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 14' i.e. it treats them as food or light." visible = @numplants>11 && @numstimuli>12 endparam bool param Seed13Stimulus15 caption = "Reacts to Stimulus 15" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 15' i.e. it treats them as food or light." visible = @numplants>11 && @numstimuli>13 endparam bool param Seed13Stimulus16 caption = "Reacts to Stimulus 16" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 16' i.e. it treats them as food or light." visible = @numplants>11 && @numstimuli>14 endparam float param detect13 caption = "Detection accuracy" default = 1.0 min = 1.0 hint = "This is the accuracy with which the organism detects stimuli. \ An accuracy of 1 means it always detects the stimulus accurately, \ if you use 2 then it estimates the distance to the stimulus at \ somewhere between the correct value and twice the correct value. \ A setting of 10 means the organism could estimate the distance at \ being up to 10* further than it is." visible = @numplants>11 && @addrandom endparam float param move13 caption = "Movement Detection" default = 1.0 min = 0.0 hint = "Use zero for no movement detection, otherwise the larger the \ value specified the greater the effect of a moving stimulus. \ Typically use values from say 1 to 10." visible = @numplants>11 && @addmovement endparam heading caption = "Fourteenth Organism" visible = @numplants>12 endheading float param size14 caption = "Maximum Size" default = 100.0 min = 0.0 max = 100.0 hint = "The maximum size of this organism is this %age of the screen \ pixels. When the number of growth pixels based on this %age \ has occurred then growth of this organism stops." visible = @numplants>12 endparam int param method14 caption = "Colouring Method" enum = "Colour" "Slope" "Combined" default = 0 hint = "You can choose to colour the fractal with just the default \ colouring or using a 'slope' colouring or a combination of \ the two if and only if 'DLA Inspired' is plugged in a direct \ colouring. If plugged into a gradient colouring then the \ 'Combined' option is ignored and 'Colour' used instead." visible = @numplants>12 endparam float param palmin14 caption = "Min. Palette Index" default = 0.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the lower end of the palette \ portion for the organism." visible = @numplants>12 endparam float param palmax14 caption = "Max. Palette Index" default = 399.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the upper end of the palette \ portion for the organism." visible = @numplants>12 endparam color param lightcol14 caption = "Lighting Colour" default = RGB(1.0,1.0,1.0) hint = "The colour for the lighting in 'Combined' mode, ignored if using \ gradient colouring." visible = @method14==2 && @numplants>12 endparam float param nodirection14 caption = "Directionless Growth" default = 0.0 hint = "Here you can specify the number of points of directionless \ growth of the organism per generation. Directionless growth \ occurs randomly from any edge point on the organism and is \ not affected by any stimulus. Note that you can use fractional \ values, 0.5 means a 50% chance of one pixel of directionless \ growth per generation, 1.25 means one pixel of directionless \ growth and a 25% chance of a second. Normally you should use \ zero or a positive number but if you use a negative value then \ there will be so many pixels of directionless growth \ of the organism only when there is no directed growth due to \ an active stimulus." visible = @numplants>12 endparam MMF_SeedDLA param DLASeed14 caption = "Organism 14 Seeding" default = MMF_OnePointSeedDLA hint = "Sets the seeding method for the organism." visible = @numplants>12 endparam bool param Seed14Stimulus1 caption = "Reacts to Stimulus 1" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 1' i.e. it treats them as food or light." visible = @numplants>12 endparam bool param Seed14Stimulus2 caption = "Reacts to Stimulus 2" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 2' i.e. it treats them as food or light." visible = @numplants>12 && @numstimuli>0 endparam bool param Seed14Stimulus3 caption = "Reacts to Stimulus 3" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 3' i.e. it treats them as food or light." visible = @numplants>12 && @numstimuli>1 endparam bool param Seed14Stimulus4 caption = "Reacts to Stimulus 4" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 4' i.e. it treats them as food or light." visible = @numplants>12 && @numstimuli>2 endparam bool param Seed14Stimulus5 caption = "Reacts to Stimulus 5" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 5' i.e. it treats them as food or light." visible = @numplants>12 && @numstimuli>3 endparam bool param Seed14Stimulus6 caption = "Reacts to Stimulus 6" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 6' i.e. it treats them as food or light." visible = @numplants>12 && @numstimuli>4 endparam bool param Seed14Stimulus7 caption = "Reacts to Stimulus 7" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 7' i.e. it treats them as food or light." visible = @numplants>12 && @numstimuli>5 endparam bool param Seed14Stimulus8 caption = "Reacts to Stimulus 8" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 8' i.e. it treats them as food or light." visible = @numplants>12 && @numstimuli>6 endparam bool param Seed14Stimulus9 caption = "Reacts to Stimulus 9" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 9' i.e. it treats them as food or light." visible = @numplants>12 && @numstimuli>7 endparam bool param Seed14Stimulus10 caption = "Reacts to Stimulus 10" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 10' i.e. it treats them as food or light." visible = @numplants>12 && @numstimuli>8 endparam bool param Seed14Stimulus11 caption = "Reacts to Stimulus 11" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 11' i.e. it treats them as food or light." visible = @numplants>12 && @numstimuli>9 endparam bool param Seed14Stimulus12 caption = "Reacts to Stimulus 12" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 12' i.e. it treats them as food or light." visible = @numplants>12 && @numstimuli>10 endparam bool param Seed14Stimulus13 caption = "Reacts to Stimulus 13" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 13' i.e. it treats them as food or light." visible = @numplants>12 && @numstimuli>11 endparam bool param Seed14Stimulus14 caption = "Reacts to Stimulus 14" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 14' i.e. it treats them as food or light." visible = @numplants>12 && @numstimuli>12 endparam bool param Seed14Stimulus15 caption = "Reacts to Stimulus 15" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 15' i.e. it treats them as food or light." visible = @numplants>12 && @numstimuli>13 endparam bool param Seed14Stimulus16 caption = "Reacts to Stimulus 16" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 16' i.e. it treats them as food or light." visible = @numplants>12 && @numstimuli>14 endparam float param detect14 caption = "Detection accuracy" default = 1.0 min = 1.0 hint = "This is the accuracy with which the organism detects stimuli. \ An accuracy of 1 means it always detects the stimulus accurately, \ if you use 2 then it estimates the distance to the stimulus at \ somewhere between the correct value and twice the correct value. \ A setting of 10 means the organism could estimate the distance at \ being up to 10* further than it is." visible = @numplants>12 && @addrandom endparam float param move14 caption = "Movement Detection" default = 1.0 min = 0.0 hint = "Use zero for no movement detection, otherwise the larger the \ value specified the greater the effect of a moving stimulus. \ Typically use values from say 1 to 10." visible = @numplants>12 && @addmovement endparam heading caption = "Fifteenth Organism" visible = @numplants>13 endheading float param size15 caption = "Maximum Size" default = 100.0 min = 0.0 max = 100.0 hint = "The maximum size of this organism is this %age of the screen \ pixels. When the number of growth pixels based on this %age \ has occurred then growth of this organism stops." visible = @numplants>13 endparam int param method15 caption = "Colouring Method" enum = "Colour" "Slope" "Combined" default = 0 hint = "You can choose to colour the fractal with just the default \ colouring or using a 'slope' colouring or a combination of \ the two if and only if 'DLA Inspired' is plugged in a direct \ colouring. If plugged into a gradient colouring then the \ 'Combined' option is ignored and 'Colour' used instead." visible = @numplants>13 endparam float param palmin15 caption = "Min. Palette Index" default = 0.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the lower end of the palette \ portion for the organism." visible = @numplants>13 endparam float param palmax15 caption = "Max. Palette Index" default = 399.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the upper end of the palette \ portion for the organism." visible = @numplants>13 endparam color param lightcol15 caption = "Lighting Colour" default = RGB(1.0,1.0,1.0) hint = "The colour for the lighting in 'Combined' mode, ignored if using \ gradient colouring." visible = @method15==2 && @numplants>13 endparam float param nodirection15 caption = "Directionless Growth" default = 0.0 hint = "Here you can specify the number of points of directionless \ growth of the organism per generation. Directionless growth \ occurs randomly from any edge point on the organism and is \ not affected by any stimulus. Note that you can use fractional \ values, 0.5 means a 50% chance of one pixel of directionless \ growth per generation, 1.25 means one pixel of directionless \ growth and a 25% chance of a second. Normally you should use \ zero or a positive number but if you use a negative value then \ there will be so many pixels of directionless growth \ of the organism only when there is no directed growth due to \ an active stimulus." visible = @numplants>13 endparam MMF_SeedDLA param DLASeed15 caption = "Organism 15 Seeding" default = MMF_OnePointSeedDLA hint = "Sets the seeding method for the organism." visible = @numplants>13 endparam bool param Seed15Stimulus1 caption = "Reacts to Stimulus 1" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 1' i.e. it treats them as food or light." visible = @numplants>13 endparam bool param Seed15Stimulus2 caption = "Reacts to Stimulus 2" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 2' i.e. it treats them as food or light." visible = @numplants>13 && @numstimuli>0 endparam bool param Seed15Stimulus3 caption = "Reacts to Stimulus 3" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 3' i.e. it treats them as food or light." visible = @numplants>13 && @numstimuli>1 endparam bool param Seed15Stimulus4 caption = "Reacts to Stimulus 4" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 4' i.e. it treats them as food or light." visible = @numplants>13 && @numstimuli>2 endparam bool param Seed15Stimulus5 caption = "Reacts to Stimulus 5" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 5' i.e. it treats them as food or light." visible = @numplants>13 && @numstimuli>3 endparam bool param Seed15Stimulus6 caption = "Reacts to Stimulus 6" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 6' i.e. it treats them as food or light." visible = @numplants>13 && @numstimuli>4 endparam bool param Seed15Stimulus7 caption = "Reacts to Stimulus 7" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 7' i.e. it treats them as food or light." visible = @numplants>13 && @numstimuli>5 endparam bool param Seed15Stimulus8 caption = "Reacts to Stimulus 8" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 8' i.e. it treats them as food or light." visible = @numplants>13 && @numstimuli>6 endparam bool param Seed15Stimulus9 caption = "Reacts to Stimulus 9" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 9' i.e. it treats them as food or light." visible = @numplants>13 && @numstimuli>7 endparam bool param Seed15Stimulus10 caption = "Reacts to Stimulus 10" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 10' i.e. it treats them as food or light." visible = @numplants>13 && @numstimuli>8 endparam bool param Seed15Stimulus11 caption = "Reacts to Stimulus 11" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 11' i.e. it treats them as food or light." visible = @numplants>13 && @numstimuli>9 endparam bool param Seed15Stimulus12 caption = "Reacts to Stimulus 12" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 12' i.e. it treats them as food or light." visible = @numplants>13 && @numstimuli>10 endparam bool param Seed15Stimulus13 caption = "Reacts to Stimulus 13" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 13' i.e. it treats them as food or light." visible = @numplants>13 && @numstimuli>11 endparam bool param Seed15Stimulus14 caption = "Reacts to Stimulus 14" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 14' i.e. it treats them as food or light." visible = @numplants>13 && @numstimuli>12 endparam bool param Seed15Stimulus15 caption = "Reacts to Stimulus 15" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 15' i.e. it treats them as food or light." visible = @numplants>13 && @numstimuli>13 endparam bool param Seed15Stimulus16 caption = "Reacts to Stimulus 16" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 16' i.e. it treats them as food or light." visible = @numplants>13 && @numstimuli>14 endparam float param detect15 caption = "Detection accuracy" default = 1.0 min = 1.0 hint = "This is the accuracy with which the organism detects stimuli. \ An accuracy of 1 means it always detects the stimulus accurately, \ if you use 2 then it estimates the distance to the stimulus at \ somewhere between the correct value and twice the correct value. \ A setting of 10 means the organism could estimate the distance at \ being up to 10* further than it is." visible = @numplants>13 && @addrandom endparam float param move15 caption = "Movement Detection" default = 1.0 min = 0.0 hint = "Use zero for no movement detection, otherwise the larger the \ value specified the greater the effect of a moving stimulus. \ Typically use values from say 1 to 10." visible = @numplants>13 && @addmovement endparam heading caption = "Sixteenth Organism" visible = @numplants>14 endheading float param size16 caption = "Maximum Size" default = 100.0 min = 0.0 max = 100.0 hint = "The maximum size of this organism is this %age of the screen \ pixels. When the number of growth pixels based on this %age \ has occurred then growth of this organism stops." visible = @numplants>14 endparam int param method16 caption = "Colouring Method" enum = "Colour" "Slope" "Combined" default = 0 hint = "You can choose to colour the fractal with just the default \ colouring or using a 'slope' colouring or a combination of \ the two if and only if 'DLA Inspired' is plugged in a direct \ colouring. If plugged into a gradient colouring then the \ 'Combined' option is ignored and 'Colour' used instead." visible = @numplants>14 endparam float param palmin16 caption = "Min. Palette Index" default = 0.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the lower end of the palette \ portion for the organism." visible = @numplants>14 endparam float param palmax16 caption = "Max. Palette Index" default = 399.0 min = 0.0 max = 399.0 hint = "Specifies the gradient index of the upper end of the palette \ portion for the organism." visible = @numplants>14 endparam color param lightcol16 caption = "Lighting Colour" default = RGB(1.0,1.0,1.0) hint = "The colour for the lighting in 'Combined' mode, ignored if using \ gradient colouring." visible = @method16==2 && @numplants>14 endparam float param nodirection16 caption = "Directionless Growth" default = 0.0 hint = "Here you can specify the number of points of directionless \ growth of the organism per generation. Directionless growth \ occurs randomly from any edge point on the organism and is \ not affected by any stimulus. Note that you can use fractional \ values, 0.5 means a 50% chance of one pixel of directionless \ growth per generation, 1.25 means one pixel of directionless \ growth and a 25% chance of a second. Normally you should use \ zero or a positive number but if you use a negative value then \ there will be so many pixels of directionless growth \ of the organism only when there is no directed growth due to \ an active stimulus." visible = @numplants>14 endparam MMF_SeedDLA param DLASeed16 caption = "Organism 16 Seeding" default = MMF_OnePointSeedDLA hint = "Sets the seeding method for the organism." visible = @numplants>14 endparam bool param Seed16Stimulus1 caption = "Reacts to Stimulus 1" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 1' i.e. it treats them as food or light." visible = @numplants>14 endparam bool param Seed16Stimulus2 caption = "Reacts to Stimulus 2" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 2' i.e. it treats them as food or light." visible = @numplants>14 && @numstimuli>0 endparam bool param Seed16Stimulus3 caption = "Reacts to Stimulus 3" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 3' i.e. it treats them as food or light." visible = @numplants>14 && @numstimuli>1 endparam bool param Seed16Stimulus4 caption = "Reacts to Stimulus 4" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 4' i.e. it treats them as food or light." visible = @numplants>14 && @numstimuli>2 endparam bool param Seed16Stimulus5 caption = "Reacts to Stimulus 5" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 5' i.e. it treats them as food or light." visible = @numplants>14 && @numstimuli>3 endparam bool param Seed16Stimulus6 caption = "Reacts to Stimulus 6" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 6' i.e. it treats them as food or light." visible = @numplants>14 && @numstimuli>4 endparam bool param Seed16Stimulus7 caption = "Reacts to Stimulus 7" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 7' i.e. it treats them as food or light." visible = @numplants>14 && @numstimuli>5 endparam bool param Seed16Stimulus8 caption = "Reacts to Stimulus 8" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 8' i.e. it treats them as food or light." visible = @numplants>14 && @numstimuli>6 endparam bool param Seed16Stimulus9 caption = "Reacts to Stimulus 9" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 9' i.e. it treats them as food or light." visible = @numplants>14 && @numstimuli>7 endparam bool param Seed16Stimulus10 caption = "Reacts to Stimulus 10" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 10' i.e. it treats them as food or light." visible = @numplants>14 && @numstimuli>8 endparam bool param Seed16Stimulus11 caption = "Reacts to Stimulus 11" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 11' i.e. it treats them as food or light." visible = @numplants>14 && @numstimuli>9 endparam bool param Seed16Stimulus12 caption = "Reacts to Stimulus 12" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 12' i.e. it treats them as food or light." visible = @numplants>14 && @numstimuli>10 endparam bool param Seed16Stimulus13 caption = "Reacts to Stimulus 13" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 13' i.e. it treats them as food or light." visible = @numplants>14 && @numstimuli>11 endparam bool param Seed16Stimulus14 caption = "Reacts to Stimulus 14" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 14' i.e. it treats them as food or light." visible = @numplants>14 && @numstimuli>12 endparam bool param Seed16Stimulus15 caption = "Reacts to Stimulus 15" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 15' i.e. it treats them as food or light." visible = @numplants>14 && @numstimuli>13 endparam bool param Seed16Stimulus16 caption = "Reacts to Stimulus 16" default = true hint = "When enabled the organism is attracted to points generated by \ 'Stimulus 16' i.e. it treats them as food or light." visible = @numplants>14 && @numstimuli>14 endparam float param detect16 caption = "Detection accuracy" default = 1.0 min = 1.0 hint = "This is the accuracy with which the organism detects stimuli. \ An accuracy of 1 means it always detects the stimulus accurately, \ if you use 2 then it estimates the distance to the stimulus at \ somewhere between the correct value and twice the correct value. \ A setting of 10 means the organism could estimate the distance at \ being up to 10* further than it is." visible = @numplants>14 && @addrandom endparam float param move16 caption = "Movement Detection" default = 1.0 min = 0.0 hint = "Use zero for no movement detection, otherwise the larger the \ value specified the greater the effect of a moving stimulus. \ Typically use values from say 1 to 10." visible = @numplants>14 && @addmovement endparam }
Constructor Summary | |
---|---|
MMF_DLA()
|
|
MMF_DLA(Generic pparent)
|
Method Summary | |
---|---|
float |
DeadDist()
|
boolean |
IsSolid()
Test whether the sequence produced a solid-color value rather than an index. |
void |
Iterate(complex pz)
Process the next value in the sequence |
void |
MoreGrowth(int x,
int y)
|
void |
NewGrowth(int k,
int x,
int y,
int ix,
int iy)
|
void |
NewSeed(int x,
int y)
|
void |
PointGrowth()
|
void |
RandomGrowth(int k)
|
color |
Result(complex pz)
Produce a resulting color index after a sequence is finished |
float |
ResultIndex(complex pz)
Produce a resulting color index after a sequence is finished |
void |
SetDeadPoint(int x,
int y,
color c,
float i)
|
void |
SetStartPoint(int x,
int y)
|
Methods inherited from class common:GradientColoring |
---|
Init, IsGradient |
Methods inherited from class common:Coloring |
---|
GetPixel |
Methods inherited from class common:Generic |
---|
GetParent |
Methods inherited from class Object |
---|
|
Constructor Detail |
---|
public MMF_DLA(Generic pparent)
pparent
- the parent, generally "this" from the parent, or zeropublic MMF_DLA()
Method Detail |
---|
public void RandomGrowth(int k)
k
- the number of the seed to growpublic void PointGrowth()
public float DeadDist()
public void NewGrowth(int k, int x, int y, int ix, int iy)
k
- the index for the point numberx
- pixel x coordinatey
- pixel y coordinateix
- 64*64 box x indexiy
- 64*64 box y indexpublic void MoreGrowth(int x, int y)
public void NewSeed(int x, int y)
x
- the x pixel coordinatey
- the y pixel coordinatepublic void SetDeadPoint(int x, int y, color c, float i)
x
- the x pixel coordinatey
- the y pixel coordinatec
- the dead point colouri
- the dead point palette indexpublic void SetStartPoint(int x, int y)
x
- the x pixel coordinatey
- the y pixel coordinatepublic void Iterate(complex pz)
GradientColoring
As long as the sequence has not bailed out, this function will be continually called to produce sequence values. Note that such processing generally will not know in advance precisely how long the sequence is, and should be prepared to deal with sequences of arbitrary length.
Your coloring may determine at some point that a solid color should be used rather than an index value.
Iterate
in class GradientColoring
pz
- next value in the sequence; corresponds to #z in a coloring formulapublic color Result(complex pz)
GradientColoring
This corresponds to the final: section in a coloring formula. Once it is called, no further calls to Iterate() should be made without calling Init() first.
Result
in class GradientColoring
public float ResultIndex(complex pz)
GradientColoring
This corresponds to the final: section in a coloring formula. Once it is called, no further calls to Iterate() should be made without calling Init() first.
ResultIndex
in class GradientColoring
public boolean IsSolid()
GradientColoring
This test is usually fairly complex and should be done as part of Iterate() or Result(), with the result saved in m_Solid. This function can then be left as the base class implementation, which just returns the value of that flag.
IsSolid
in class GradientColoring
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |