Lines Matching refs:sect1

220     static void BinarySearch(SkTSect* sect1, SkTSect<OppCurve, TCurve>* sect2,
279 static int EndsEqual(const SkTSect* sect1, const SkTSect<OppCurve, TCurve>* sect2,
1841 int SkTSect<TCurve, OppCurve>::EndsEqual(const SkTSect<TCurve, OppCurve>* sect1, in EndsEqual() argument
1844 if (sect1->fCurve[0] == sect2->fCurve[0]) { in EndsEqual()
1846 intersections->insert(0, 0, sect1->fCurve[0]); in EndsEqual()
1848 if (sect1->fCurve[0] == sect2->fCurve[OppCurve::kPointLast]) { in EndsEqual()
1850 intersections->insert(0, 1, sect1->fCurve[0]); in EndsEqual()
1852 if (sect1->fCurve[TCurve::kPointLast] == sect2->fCurve[0]) { in EndsEqual()
1854 intersections->insert(1, 0, sect1->fCurve[TCurve::kPointLast]); in EndsEqual()
1856 if (sect1->fCurve[TCurve::kPointLast] == sect2->fCurve[OppCurve::kPointLast]) { in EndsEqual()
1858 intersections->insert(1, 1, sect1->fCurve[TCurve::kPointLast]); in EndsEqual()
1862 && sect1->fCurve[0].approximatelyEqual(sect2->fCurve[0])) { in EndsEqual()
1864 intersections->insertNear(0, 0, sect1->fCurve[0], sect2->fCurve[0]); in EndsEqual()
1867 && sect1->fCurve[0].approximatelyEqual(sect2->fCurve[OppCurve::kPointLast])) { in EndsEqual()
1869 intersections->insertNear(0, 1, sect1->fCurve[0], sect2->fCurve[OppCurve::kPointLast]); in EndsEqual()
1873 && sect1->fCurve[TCurve::kPointLast].approximatelyEqual(sect2->fCurve[0])) { in EndsEqual()
1875 intersections->insertNear(1, 0, sect1->fCurve[TCurve::kPointLast], sect2->fCurve[0]); in EndsEqual()
1878 && sect1->fCurve[TCurve::kPointLast].approximatelyEqual(sect2->fCurve[ in EndsEqual()
1881 intersections->insertNear(1, 1, sect1->fCurve[TCurve::kPointLast], in EndsEqual()
2019 void SkTSect<TCurve, OppCurve>::BinarySearch(SkTSect<TCurve, OppCurve>* sect1, in BinarySearch() argument
2024 SkDEBUGCODE(sect1->fOppSect = sect2); in BinarySearch()
2025 SkDEBUGCODE(sect2->fOppSect = sect1); in BinarySearch()
2028 SkTSpan<TCurve, OppCurve>* span1 = sect1->fHead; in BinarySearch()
2030 int oppSect, sect = sect1->intersects(span1, sect2, span2, &oppSect); in BinarySearch()
2036 (void) EndsEqual(sect1, sect2, intersections); in BinarySearch()
2039 span1->addBounded(span2, &sect1->fHeap); in BinarySearch()
2047 SkTSpan<TCurve, OppCurve>* largest1 = sect1->boundsMax(); in BinarySearch()
2059 SkTSpan<TCurve, OppCurve>* half1 = sect1->addOne(); in BinarySearch()
2060 if (!half1->split(largest1, &sect1->fHeap)) { in BinarySearch()
2063 sect1->trim(largest1, sect2); in BinarySearch()
2064 sect1->trim(half1, sect2); in BinarySearch()
2074 sect2->trim(largest2, sect1); in BinarySearch()
2075 sect2->trim(half2, sect1); in BinarySearch()
2077 sect1->validate(); in BinarySearch()
2083 if (sect1->fActiveCount >= COINCIDENT_SPAN_COUNT in BinarySearch()
2086 start1s = sect1->fHead->fStartT; in BinarySearch()
2087 start1e = sect1->tail()->fEndT; in BinarySearch()
2089 sect1->coincidentCheck(sect2); in BinarySearch()
2090 sect1->validate(); in BinarySearch()
2095 if (!--coinLoopCount && sect1->fHead && sect2->fHead) { in BinarySearch()
2101 sect1->coincidentForce(sect2, start1s, start1e); in BinarySearch()
2102 sect1->validate(); in BinarySearch()
2106 if (sect1->fActiveCount >= COINCIDENT_SPAN_COUNT in BinarySearch()
2108 sect1->computePerpendiculars(sect2, sect1->fHead, sect1->tail()); in BinarySearch()
2109 sect2->computePerpendiculars(sect1, sect2->fHead, sect2->tail()); in BinarySearch()
2110 sect1->removeByPerpendicular(sect2); in BinarySearch()
2111 sect1->validate(); in BinarySearch()
2116 if (sect1->collapsed() > TCurve::kMaxIntersections) { in BinarySearch()
2121 sect1->dumpBoth(sect2); in BinarySearch()
2123 if (!sect1->fHead || !sect2->fHead) { in BinarySearch()
2127 SkTSpan<TCurve, OppCurve>* coincident = sect1->fCoincident; in BinarySearch()
2131 sect1->mergeCoincidence(sect2); in BinarySearch()
2132 coincident = sect1->fCoincident; in BinarySearch()
2151 int zeroOneSet = EndsEqual(sect1, sect2, intersections); in BinarySearch()
2152 if (!sect1->fHead || !sect2->fHead) { in BinarySearch()
2155 sect1->recoverCollapsed(); in BinarySearch()
2157 SkTSpan<TCurve, OppCurve>* result1 = sect1->fHead; in BinarySearch()
2161 const SkDPoint& start1 = sect1->fCurve[0]; in BinarySearch()
2174 if (sect1->fCurve.ptAtT(t).approximatelyEqual(start2)) { in BinarySearch()
2179 const SkTSpan<TCurve, OppCurve>* tail1 = sect1->tail(); in BinarySearch()
2181 const SkDPoint& end1 = sect1->fCurve[TCurve::kPointLast]; in BinarySearch()
2194 if (sect1->fCurve.ptAtT(t).approximatelyEqual(end2)) { in BinarySearch()
2223 SkDPoint midPt = sect1->fCurve.ptAtT(midT); in BinarySearch()
2226 perp.setPerp(sect1->fCurve, midT, midPt, sect2->fCurve); in BinarySearch()