public void initPopulation(AbstractEnvironmentType env) { //_popsize = popsize; int init_error_threshold = 5; int init_error_count = 0; for (int i = 0; i < PhysaSetting._popsize; i++) { Amoeba newAmo = new Amoeba(_current_id); Point3d birthPlace = env.getRandomBirthPlace(util); if (!newAmo.initializeAmoeba(birthPlace.X, birthPlace.Y, birthPlace.Z, 4, env, util)) { init_error_count++; if (init_error_count > init_error_threshold) { break; } continue; } if (initOrient.Length > 0) { newAmo.orientation = initOrient; } population.Add(newAmo); _current_id++; } env._escape_p = PhysaSetting.escape_p; }