Lines Matching refs:ai
486 int ai = 0, bi = 0;
488 double ap_angle = atan2(a[ai+1] - a[ai]);
490 Point L[2] = {a[ai], b[bi]};
491 while(ai < int(a.size()) || bi < int(b.size())) {
496 Point xs[4] = {a[ai-1], a[ai+1], b[bi-1], b[bi+1]};
497 if(same_side(L, xs)) ret.push_back(make_pair(ai, bi));
500 if(same_side(L, xs)) ret.push_back(make_pair(ai, bi));
501 xs[0] = a[ai];
502 xs[1] = a[ai+2];
503 if(same_side(L, xs)) ret.push_back(make_pair(ai, bi));
506 if(same_side(L, xs)) ret.push_back(make_pair(ai, bi));
508 ai++;
509 ap_angle += angle_between(a[ai] - a[ai-1], a[ai+1] - a[ai]);
510 L[0] = a[ai];
516 ai++;
517 ap_angle += angle_between(a[ai] - a[ai-1], a[ai+1] - a[ai]);
518 L[0] = a[ai];
519 Point xs[4] = {a[ai-1], a[ai+1], b[bi-1], b[bi+1]};
520 if(same_side(L, xs)) ret.push_back(make_pair(ai, bi));
525 Point xs[4] = {a[ai-1], a[ai+1], b[bi-1], b[bi+1]};
526 if(same_side(L, xs)) ret.push_back(make_pair(ai, bi));
574 int ai = 0, bi = 0;
579 if(a[ai]
684 const double ai = cross(boundary[j], boundary[i]);
685 atmp += ai;
686 centroid_tmp += (boundary[j] + boundary[i])*ai; // first moment.