const Pack_Of_Pts * Conc_Compute::next(void) { for(;;) { if (_num_neigh_cur == _nb_neigh) { _last_pck = (_num_gen == 0) ? SAFE_DYNC(Std_Pack_Of_Pts<INT> *,const_cast<Pack_Of_Pts *>( _flx->next())) : SAFE_DYNC(Std_Pack_Of_Pts<INT> *,const_cast<Pack_Of_Pts *>( _curser->next())) ; if (! _last_pck) { if ((_num_gen==0) && _reflexif) { _num_neigh_cur--; _nb_neigh--; _nrel->set_reflexif(false); } _num_gen++; std::swap(_curent_set,_next_set); if ((! _curent_set->nb()) || (_num_gen == _nb_step_max)) return 0; _curser->re_start(_curent_set); _next_set->set_nb(0); } else _num_neigh_cur = 0; } else {
void PInt_No_Cste_Out_Ras_W_Comp::vider_buf() { memset(_cpt_coul,0,257*sizeof(int)); INT i; // Fuuuuuck to Visual for (i = 0; i <_nb_pts_buf ; i++) _cpt_coul[_buf_c[i]] ++; for (i = 1; i < 257 ; i++) _cpt_coul[i] += _cpt_coul[i-1]; INT adr; INT * x = _pts_sorted->_pts[0]; INT * y = _pts_sorted->_pts[1]; for (i = 0; i <_nb_pts_buf ; i++) { adr = --(_cpt_coul[_buf_c[i]]); x[adr] = _buf_x[i]; y[adr] = _buf_y[i]; } for (i = 0; i < 256 ; i++) { INT a0 = _cpt_coul[i]; INT a1 = _cpt_coul[i+1]; if (a0 != a1) for (INT a = a0; a < a1 ; a += _sz_buf) { if (_derd->_cmod == Indexed_Colour) _coul = i; else _coul = _dep->ilutage(_derd,_ddp->lut_compr(),&i); _map_psort->set_nb(ElMin(_sz_buf,a1-a)); _map_psort->_pts[0] = x+a; _map_psort->_pts[1] = y+a; PInt_Cste_Out_Ras_W_Comp::update(_map_psort,0); } } _nb_pts_buf = 0; _derd->disp_flush(); }