Lines Matching refs:dim
60 bool isSBend, const size_t dim, double minLim, double maxLim)
66 dimension(dim),
75 const size_t dim)
81 dimension(dim),
85 minSpaceLimit = lowPoint()[dim];
86 maxSpaceLimit = lowPoint()[dim];
154 bool overlapsWith(const ShiftSegment& rhs, const size_t dim) const
156 size_t altDim = (dim + 1) % 2;
260 double firstObstacleAbove(size_t dim)
263 while (curr && (curr->ss || (curr->max[dim] > pos)))
270 return curr->max[dim];
277 double firstObstacleBelow(size_t dim)
280 while (curr && (curr->ss || (curr->min[dim] < pos)))
287 return curr->min[dim];
293 void markShiftSegmentsAbove(size_t dim)
296 while (curr && (curr->ss || (curr->pos > min[dim])))
298 if (curr->ss && (curr->pos <= min[dim]))
301 std::min(min[dim], curr->ss->maxSpaceLimit);
308 void markShiftSegmentsBelow(size_t dim)
311 while (curr && (curr->ss || (curr->pos < max[dim])))
313 if (curr->ss && (curr->pos >= max[dim]))
316 std::max(max[dim], curr->ss->minSpaceLimit);
321 bool findFirstPointAboveAndBelow(const size_t dim, double& firstAbovePos,
329 lastAbovePos = max[dim];
330 lastBelowPos = min[dim];
336 while (curr && (curr->max[dim] > min[dim]))
338 lastAbovePos = std::min(curr->min[dim], lastAbovePos);
339 if ((curr->max[dim] >= min[dim]) && (curr->max[dim] <= max[dim]))
341 lastAbovePos = std::min(curr->max[dim], lastAbovePos);
343 lastBelowPos = std::max(curr->max[dim], lastBelowPos);
349 firstAbovePos = curr->max[dim];
354 if (curr->max[dim] < min[dim])
356 firstAbovePos = std::max(curr->max[dim], firstAbovePos);
365 while (curr && (curr->min[dim] < max[dim]))
367 lastBelowPos = std::max(curr->max[dim], lastBelowPos);
368 if ((curr->min[dim] >= min[dim]) && (curr->min[dim] <= max[dim]))
370 lastBelowPos = std::max(curr->min[dim], lastBelowPos);
372 lastAbovePos = std::min(curr->min[dim], lastAbovePos);
378 firstBelowPos = curr->min[dim];
383 if (curr->min[dim] > max[dim])
385 firstBelowPos = std::min(curr->min[dim], firstBelowPos);
392 double firstPointAbove(size_t dim)
395 while (curr && (curr->max[dim] >= pos))
402 return curr->max[dim];
406 double firstPointBelow(size_t dim)
409 while (curr && (curr->min[dim] <= pos))
416 return curr->min[dim];
506 static ConnDirFlags getPosVertInfDirection(VertInf *v, size_t dim)
508 if (dim == XDIM) // X-dimension
524 else if (dim == YDIM) // Y-dimension
879 void generateVisibilityEdgesFromBreakpointSet(Router *router, size_t dim)
886 point[dim] = begin;
897 point[dim] = finish;
909 while (last->vert->point[dim] != vert->vert->point[dim])
936 edge->setDist(vert->vert->point[dim] -
937 side->vert->point[dim]);
953 edge->setDist(side->vert->point[dim] -
954 last->vert->point[dim]);
978 edge->setDist(vert->vert->point[dim] -
979 last->vert->point[dim]);
988 (last->vert->point[dim] == vert->vert->point[dim]))
1086 size_t dim = XDIM; // x-dimension
1087 horiLine.generateVisibilityEdgesFromBreakpointSet(router, dim);
1115 size_t dim = XDIM; // x-dimension
1116 horiLine.generateVisibilityEdgesFromBreakpointSet(router, dim);
1607 size_t dim = XDIM; // x-dimension
1608 horiLine.generateVisibilityEdgesFromBreakpointSet(router, dim);
1631 ShiftSegmentList& /*segments*/, Event *e, size_t dim,
1668 double minLimit = v->firstObstacleAbove(dim);
1669 double maxLimit = v->firstObstacleBelow(dim);
1678 v->markShiftSegmentsAbove(dim);
1679 v->markShiftSegmentsBelow(dim);
1706 const size_t dim, ShiftSegmentList& segmentList)
1715 size_t altDim = (dim + 1) % 2;
1729 if (displayRoute.ps[i - 1][dim] == displayRoute.ps[i][dim])
1748 ShiftSegment(*curr, indexLow, indexHigh, dim));
1757 double prevPos = displayRoute.ps[i - 2][dim];
1758 double nextPos = displayRoute.ps[i + 1][dim];
1759 if (((prevPos < displayRoute.ps[i][dim]) &&
1760 (nextPos > displayRoute.ps[i][dim]))
1762 ((prevPos > displayRoute.ps[i][dim]) &&
1763 (nextPos < displayRoute.ps[i][dim])) )
1770 if ((prevPos < displayRoute.ps[i][dim]) &&
1771 (nextPos > displayRoute.ps[i][dim]))
1787 if (prevPos < displayRoute.ps[i][dim])
1789 minLim = displayRoute.ps[i][dim];
1793 maxLim = displayRoute.ps[i][dim];
1798 indexHigh, isSBend, dim, minLim, maxLim));
1821 double mid = min[dim] + ((max[dim] - min[dim]) / 2);
1834 COLA_ASSERT(lowPt[dim] == highPt[dim]);
1836 Node *v = new Node(&(*curr), lowPt[dim]);
1861 dim, pass);
1879 dim, pass);
1991 for (size_t dim = XDIM; dim <= YDIM; ++dim)
1993 order.sort(dim);
2002 CmpLineOrder(PtOrderMap& ord, const size_t dim)
2004 dimension(dim)