| @@ 5158-5176 (lines=19) @@ | ||
| 5155 | fm = (lx - rx) / (ry - ly); |
|
| 5156 | fb = fy - fm * fx; |
|
| 5157 | if (fm < -1 || fm > 1) { |
|
| 5158 | if (lx > rx) { |
|
| 5159 | if (!va) va = { |
|
| 5160 | x: (y0 - fb) / fm, |
|
| 5161 | y: y0 |
|
| 5162 | }; else if (va.y >= y1) return; |
|
| 5163 | vb = { |
|
| 5164 | x: (y1 - fb) / fm, |
|
| 5165 | y: y1 |
|
| 5166 | }; |
|
| 5167 | } else { |
|
| 5168 | if (!va) va = { |
|
| 5169 | x: (y1 - fb) / fm, |
|
| 5170 | y: y1 |
|
| 5171 | }; else if (va.y < y0) return; |
|
| 5172 | vb = { |
|
| 5173 | x: (y0 - fb) / fm, |
|
| 5174 | y: y0 |
|
| 5175 | }; |
|
| 5176 | } |
|
| 5177 | } else { |
|
| 5178 | if (ly < ry) { |
|
| 5179 | if (!va) va = { |
|
| @@ 5135-5153 (lines=19) @@ | ||
| 5132 | var va = edge.a, x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], lSite = edge.l, rSite = edge.r, lx = lSite.x, ly = lSite.y, rx = rSite.x, ry = rSite.y, fx = (lx + rx) / 2, fy = (ly + ry) / 2, fm, fb; |
|
| 5133 | if (ry === ly) { |
|
| 5134 | if (fx < x0 || fx >= x1) return; |
|
| 5135 | if (lx > rx) { |
|
| 5136 | if (!va) va = { |
|
| 5137 | x: fx, |
|
| 5138 | y: y0 |
|
| 5139 | }; else if (va.y >= y1) return; |
|
| 5140 | vb = { |
|
| 5141 | x: fx, |
|
| 5142 | y: y1 |
|
| 5143 | }; |
|
| 5144 | } else { |
|
| 5145 | if (!va) va = { |
|
| 5146 | x: fx, |
|
| 5147 | y: y1 |
|
| 5148 | }; else if (va.y < y0) return; |
|
| 5149 | vb = { |
|
| 5150 | x: fx, |
|
| 5151 | y: y0 |
|
| 5152 | }; |
|
| 5153 | } |
|
| 5154 | } else { |
|
| 5155 | fm = (lx - rx) / (ry - ly); |
|
| 5156 | fb = fy - fm * fx; |
|