Home | History | Annotate | Download | only in src

Lines Matching refs:neighbors

115     struct CvCBCorner* neighbors[4]; // Neighbor corners
123 if( neighbors[i] )
125 float dx = neighbors[i]->pt.x - pt.x;
126 float dy = neighbors[i]->pt.y - pt.y;
142 int count; // Number of quad neighbors
145 bool ordered; // true if corners/neighbors are ordered counter-clockwise
147 // neighbors and corners are synced, i.e., neighbor 0 shares corner 0
149 struct CvCBQuad *neighbors[4]; // Pointers of quad neighbors
406 // Find quad's neighbors
677 CvCBQuad *neighbor = q->neighbors[i];
769 { // ok, look at neighbors
785 CvCBQuad *neighbor = quads[i]->neighbors[j];
830 for (int j=0; j<4; j++) // any neighbors that are ordered?
832 if (quads[i]->neighbors[j] && quads[i]->neighbors[j]->ordered)
864 if (!quad->neighbors[i]) // ok, create and add neighbor
875 quad->neighbors[i] = q;
877 q->neighbors[j] = quad;
879 q->count = 1; // number of neighbors
903 if (quad->neighbors[(i+3)%4] &&
904 quad->neighbors[(i+3)%4]->ordered &&
905 quad->neighbors[(i+3)%4]->neighbors[i] &&
906 quad->neighbors[(i+3)%4]->neighbors[i]->ordered )
908 CvCBQuad *qn = quad->neighbors[(i+3)%4]->neighbors[i];
910 q->neighbors[(j+1)%4] = qn;
911 qn->neighbors[(i+1)%4] = q;
941 if (quads[i]->neighbors[1])
943 icvRemoveQuadFromGroup(quads,rcount,quads[i]->neighbors[1]);
946 if (quads[i]->neighbors[2])
948 icvRemoveQuadFromGroup(quads,rcount,quads[i]->neighbors[2]);
954 if (quads[i]->neighbors[0])
956 icvRemoveQuadFromGroup(quads,rcount,quads[i]->neighbors[0]);
959 if (quads[i]->neighbors[3])
961 icvRemoveQuadFromGroup(quads,rcount,quads[i]->neighbors[3]);
986 if (quads[i]->neighbors[2])
988 icvRemoveQuadFromGroup(quads,rcount,quads[i]->neighbors[2]);
991 if (quads[i]->neighbors[3])
993 icvRemoveQuadFromGroup(quads,rcount,quads[i]->neighbors[3]);
999 if (quads[i]->neighbors[0])
1001 icvRemoveQuadFromGroup(quads,rcount,quads[i]->neighbors[0]);
1004 if (quads[i]->neighbors[1])
1006 icvRemoveQuadFromGroup(quads,rcount,quads[i]->neighbors[1]);
1031 if( q->neighbors[j] == q0 )
1033 q->neighbors[j] = 0;
1036 if( q0->neighbors[k] == q )
1038 q0->neighbors[k] = 0;
1081 tempq = quad->neighbors[3];
1085 quad->neighbors[i] = quad->neighbors[i-1];
1088 quad->neighbors[0] = tempq;
1175 if( q->neighbors[j] == q0 )
1177 q->neighbors[j] = 0;
1180 if( q0->neighbors[k] == q )
1182 q0->neighbors[k] = 0;
1231 CvCBQuad *neighbor = q->neighbors[i];
1279 if( q->neighbors[j] )
1284 // - a quad with two neighbors - with ROW2
1296 if( q->neighbors[(j+1)&3] )
1302 if( a->neighbors[k] == b )
1304 if( b->neighbors[k] == a )
1307 a->neighbors[a->count++] = b;
1308 b->neighbors[b->count++] = a;
1332 // if we do not have such, start with a corner of a quad with two neighbors.
1346 c = cur->neighbors[k];
1377 c = cur->neighbors[k];
1382 if( c->neighbors[kk] == below )
1422 c = cur->neighbors[k];
1427 if( c->neighbors[kk] && c->neighbors[kk]->row == i-1 )
1513 // find quad neighbors
1532 if( cur_quad->neighbors[i] )
1545 if( quads[k].neighbors[j] )
1583 if( cur_quad->neighbors[j] == closest_quad )
1599 if( closest_quad->neighbors[j] == cur_quad )
1614 if( !q->neighbors[j] )
1634 cur_quad->neighbors[i] = closest_quad;
1638 closest_quad->neighbors[closest_corner_idx] = cur_quad;