45                                                       std::shared_ptr<SpatialCellCandidate>, bool> {
 
   47         return a->getCandidateRating() > 
b->getCandidateRating();
 
   52 int SpatialCellCandidate::_CandidateId = 0;
 
   69 int SpatialCellImageCandidate::_width = 0;
 
   71 int SpatialCellImageCandidate::_height = 0;
 
   75         : _label(label), _bbox(
bbox), _candidateList(candidateList), _ignoreBad(true) {
 
   76     LOGL_DEBUG(
"afw.math.SpatialCell", 
"Cell %s : created with %d candidates", this->_label.
c_str(),
 
   77                this->_candidateList.size());
 
   84     CandidateList::iterator pos =
 
   86     _candidateList.
insert(pos, candidate);
 
   90     CandidateList::iterator pos = 
std::find(_candidateList.
begin(), _candidateList.
end(), candidate);
 
   91     if (pos == _candidateList.
end()) {
 
   94                 (
boost::format(
"Unable to find candidate with ID == %d") % candidate->getId()).str());
 
   96     _candidateList.
erase(pos);
 
  105         if (!(_ignoreBad && (*ptr)->isBad())) {  
 
  118     return mthis->
end() - mthis->
begin();
 
  123         if ((*ptr)->getId() == 
id) {
 
  132                           (
boost::format(
"Unable to find object with ID == %d") % 
id).str());
 
  138                                   bool const ignoreExceptions, 
bool const reset) {
 
  146         if (nMaxPerCell > 0 && i == nMaxPerCell) {  
 
  153             if (ignoreExceptions) {
 
  164                                   bool const ignoreExceptions, 
bool const reset)
 const {
 
  173     for (SpatialCell::const_iterator candidate = (*cell)->begin(), candidateEnd = (*cell)->end();
 
  174          candidate != candidateEnd; ++candidate, ++i) {
 
  175         if (i == nMaxPerCell) {  
 
  182             if (ignoreExceptions) {
 
  205             if (ignoreExceptions) {
 
  216                                      bool const reset)
 const {
 
  225     for (SpatialCell::const_iterator candidate = (*cell)->begin(
false), candidateEnd = (*cell)->end(
false);
 
  226          candidate != candidateEnd; ++candidate, ++i) {
 
  230             if (ignoreExceptions) {
 
  242                                                            CandidateList::iterator 
end, 
bool ignoreBad)
 
  243         : _iterator(iterator), _end(
end), _ignoreBad(ignoreBad) {
 
  244     for (; _iterator != _end; ++_iterator) {
 
  245         (*_iterator)->instantiate();
 
  247         if (!(_ignoreBad && (*_iterator)->isBad())) {  
 
  254                                                            CandidateList::iterator 
end, 
bool ignoreBad, 
bool)
 
  255         : _iterator(
end), _end(
end), _ignoreBad(ignoreBad) {
 
  263     if (_iterator != _end) {
 
  267     for (; _iterator != _end; ++_iterator) {
 
  268         (*_iterator)->instantiate();
 
  270         if (!(_ignoreBad && (*_iterator)->isBad())) {  
 
  279         if (!(_ignoreBad && (*ptr)->isBad())) {  
 
  288     if (_iterator == _end) {
 
  296     if (_iterator == _end) {
 
  304         : _region(region), _cellList(
CellList()) {
 
  309     if (xSize <= 0 || ySize <= 0) {
 
  312                 (
boost::format(
"Please specify cells that contain pixels, not %dx%d") % xSize % ySize).str());
 
  316     if (nx * xSize != region.
getWidth()) {
 
  328     for (
int y = 0; 
y < ny; ++
y) {
 
  330         int const y1 = (
y == ny - 1) ? region.
getMaxY() : y0 + ySize - 1;
 
  332         for (
int x = 0; 
x < nx; ++
x) {
 
  334             int const x1 = (
x == nx - 1) ? region.
getMaxX() : x0 + xSize - 1;
 
  351         return cell->getBBox().contains(
 
  362     CellList::iterator pos = 
std::find_if(_cellList.
begin(), _cellList.
end(), CellContains(candidate));
 
  364     if (pos == _cellList.
end()) {
 
  366                           (
boost::format(
"Unable to insert a candidate at (%.2f, %.2f)") %
 
  367                            candidate->getXCenter() % candidate->getYCenter())
 
  371     (*pos)->insertCandidate(candidate);
 
  375     for (CellList::iterator cell = _cellList.
begin(), 
end = _cellList.
end(); cell != 
end; ++cell) {
 
  376         (*cell)->sortCandidates();
 
  381                                      bool const ignoreExceptions) {
 
  384     for (CellList::iterator cell = _cellList.
begin(), 
end = _cellList.
end(); cell != 
end; ++cell) {
 
  385         (*cell)->visitCandidates(visitor, nMaxPerCell, ignoreExceptions, 
false);
 
  390                                      bool const ignoreExceptions)
 const {
 
  393     for (CellList::const_iterator cell = _cellList.
begin(), 
end = _cellList.
end(); cell != 
end; ++cell) {
 
  402     for (CellList::iterator cell = _cellList.
begin(), 
end = _cellList.
end(); cell != 
end; ++cell) {
 
  403         (*cell)->visitAllCandidates(visitor, ignoreExceptions, 
false);
 
  410     for (CellList::const_iterator cell = _cellList.
begin(), 
end = _cellList.
end(); cell != 
end; ++cell) {
 
  417     for (CellList::iterator cell = _cellList.
begin(), 
end = _cellList.
end(); cell != 
end; ++cell) {
 
  429                           (
boost::format(
"Unable to find object with ID == %d") % 
id).str());
 
  434     for (CellList::iterator cell = _cellList.
begin(), 
end = _cellList.
end(); cell != 
end; ++cell) {
 
  435         (*cell)->setIgnoreBad(ignoreBad);