Subversion Repositories public iLand

Rev

Rev 431 | Rev 445 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 431 Rev 444
Line 375... Line 375...
375
        rand_fraction = fabs(double(item.density));
375
        rand_fraction = fabs(double(item.density));
376
        for (int i=0;i<item.count;i++) {
376
        for (int i=0;i<item.count;i++) {
377
            // create trees
377
            // create trees
378
            int tree_idx = ru->newTreeIndex();
378
            int tree_idx = ru->newTreeIndex();
379
            Tree &tree = ru->trees()[tree_idx]; // get reference to modify tree
379
            Tree &tree = ru->trees()[tree_idx]; // get reference to modify tree
380
            tree.setDbh(nrandom(item.dbh_from, item.dbh_to));
-
 
-
 
380
            tree.setDbh(nrandom(ru->randomGenerator(), item.dbh_from, item.dbh_to));
381
            tree.setHeight(tree.dbh()/100. * item.hd); // dbh from cm->m, *hd-ratio -> meter height
381
            tree.setHeight(tree.dbh()/100. * item.hd); // dbh from cm->m, *hd-ratio -> meter height
382
            tree.setSpecies(item.species);
382
            tree.setSpecies(item.species);
383
            if (item.age<=0)
383
            if (item.age<=0)
384
                tree.setAge(0,tree.height());
384
                tree.setAge(0,tree.height());
385
            else
385
            else
Line 390... Line 390...
390
390
391
            // calculate random value. "density" is from 1..-1.
391
            // calculate random value. "density" is from 1..-1.
392
            rand_val = mRandom->get();
392
            rand_val = mRandom->get();
393
            if (item.density<0)
393
            if (item.density<0)
394
                rand_val = 1. - rand_val;
394
                rand_val = 1. - rand_val;
395
            rand_val = rand_val * rand_fraction + drandom()*(1.-rand_fraction);
-
 
-
 
395
            rand_val = rand_val * rand_fraction + drandom(ru->randomGenerator())*(1.-rand_fraction);
396
396
397
            // key: rank of target pixel
397
            // key: rank of target pixel
398
            // first: index of target pixel
398
            // first: index of target pixel
399
            // second: sum of target pixel
399
            // second: sum of target pixel
400
            key = limit(int(100*rand_val), 0, 99); // get from random number generator
400
            key = limit(int(100*rand_val), 0, 99); // get from random number generator