Lines Matching refs:sect1

1603 int SkTSect::EndsEqual(const SkTSect* sect1,
1606 if (sect1->fCurve[0] == sect2->fCurve[0]) {
1608 intersections->insert(0, 0, sect1->fCurve[0]);
1610 if (sect1->fCurve[0] == sect2->pointLast()) {
1612 intersections->insert(0, 1, sect1->fCurve[0]);
1614 if (sect1->pointLast() == sect2->fCurve[0]) {
1616 intersections->insert(1, 0, sect1->pointLast());
1618 if (sect1->pointLast() == sect2->pointLast()) {
1620 intersections->insert(1, 1, sect1->pointLast());
1624 && sect1->fCurve[0].approximatelyEqual(sect2->fCurve[0])) {
1626 intersections->insertNear(0, 0, sect1->fCurve[0], sect2->fCurve[0]);
1629 && sect1->fCurve[0].approximatelyEqual(sect2->pointLast())) {
1631 intersections->insertNear(0, 1, sect1->fCurve[0], sect2->pointLast());
1635 && sect1->pointLast().approximatelyEqual(sect2->fCurve[0])) {
1637 intersections->insertNear(1, 0, sect1->pointLast(), sect2->fCurve[0]);
1640 && sect1->pointLast().approximatelyEqual(sect2->pointLast())) {
1642 intersections->insertNear(1, 1, sect1->pointLast(), sect2->pointLast());
1777 void SkTSect::BinarySearch(SkTSect* sect1,
1782 SkDEBUGCODE(sect1->fOppSect = sect2);
1783 SkDEBUGCODE(sect2->fOppSect = sect1);
1785 intersections->setMax(sect1->fCurve.maxIntersections() + 4); // give extra for slop
1786 SkTSpan* span1 = sect1->fHead;
1788 int oppSect, sect = sect1->intersects(span1, sect2, span2, &oppSect);
1794 (void) EndsEqual(sect1, sect2, intersections);
1797 span1->addBounded(span2, &sect1->fHeap);
1805 SkTSpan* largest1 = sect1->boundsMax();
1807 if (sect1->fHung) {
1822 sect1->resetRemovedEnds();
1825 SkTSpan* half1 = sect1->addOne();
1826 SkDEBUGCODE(half1->debugSetGlobalState(sect1->globalState()));
1827 if (!half1->split(largest1, &sect1->fHeap)) {
1830 if (!sect1->trim(largest1, sect2)) {
1834 if (!sect1->trim(half1, sect2)) {
1842 sect1->resetRemovedEnds();
1850 if (!sect2->trim(largest2, sect1)) {
1854 if (!sect2->trim(half2, sect1)) {
1859 sect1->validate();
1865 if (sect1->fActiveCount >= COINCIDENT_SPAN_COUNT
1868 start1s = sect1->fHead->fStartT;
1869 start1e = sect1->tail()->fEndT;
1871 if (!sect1->coincidentCheck(sect2)) {
1874 sect1->validate();
1879 if (!--coinLoopCount && sect1->fHead && sect2->fHead) {
1885 sect1->coincidentForce(sect2, start1s, start1e);
1886 sect1->validate();
1890 if (sect1->fActiveCount >= COINCIDENT_SPAN_COUNT
1892 if (!sect1->fHead) {
1895 sect1->computePerpendiculars(sect2, sect1->fHead, sect1->tail());
1899 sect2->computePerpendiculars(sect1, sect2->fHead, sect2->tail());
1900 if (!sect1->removeByPerpendicular(sect2)) {
1903 sect1->validate();
1908 if (sect1->collapsed() > sect1->fCurve.maxIntersections()) {
1913 sect1->dumpBoth(sect2);
1915 if (!sect1->fHead || !sect2->fHead) {
1919 SkTSpan* coincident = sect1->fCoincident;
1923 sect1->mergeCoincidence(sect2);
1924 coincident = sect1->fCoincident;
1950 int zeroOneSet = EndsEqual(sect1, sect2, intersections);
1951 // if (!sect1->fHead || !sect2->fHead) {
1953 if (sect1->fRemovedStartT && !(zeroOneSet & kZeroS1Set)) {
1955 perp.setPerp(sect1->fCurve, 0, sect1->fCurve[0], sect2->fCurve);
1960 if (sect1->fRemovedEndT && !(zeroOneSet & kOneS1Set)) {
1962 perp.setPerp(sect1->fCurve, 1, sect1->pointLast(), sect2->fCurve);
1969 perp.setPerp(sect2->fCurve, 0, sect2->fCurve[0], sect1->fCurve);
1976 perp.setPerp(sect2->fCurve, 1, sect2->pointLast(), sect1->fCurve);
1982 if (!sect1->fHead || !sect2->fHead) {
1985 sect1->recoverCollapsed();
1987 SkTSpan* result1 = sect1->fHead;
1991 const SkDPoint& start1 = sect1->fCurve[0];
2004 if (sect1->fCurve.ptAtT(t).approximatelyEqual(start2)) {
2010 const SkTSpan* tail1 = sect1->tail();
2015 const SkDPoint& end1 = sect1->pointLast();
2033 if (sect1->fCurve.ptAtT(t).approximatelyEqual(end2)) {
2062 SkDPoint midPt = sect1->fCurve.ptAtT(midT);
2065 perp.setPerp(sect1->fCurve, midT, midPt, sect2->fCurve);
2081 SkOPOBJASSERT(intersections, intersections->used() <= sect1->fCurve.maxIntersections());
2087 SkTSect sect1(quad1 SkDEBUGPARAMS(globalState()) PATH_OPS_DEBUG_T_SECT_PARAMS(1));
2089 SkTSect::BinarySearch(&sect1, &sect2, this);
2096 SkTSect sect1(conic SkDEBUGPARAMS(globalState()) PATH_OPS_DEBUG_T_SECT_PARAMS(1));
2098 SkTSect::BinarySearch(&sect1, &sect2, this);
2105 SkTSect sect1(conic1 SkDEBUGPARAMS(globalState()) PATH_OPS_DEBUG_T_SECT_PARAMS(1));
2107 SkTSect::BinarySearch(&sect1, &sect2, this);
2114 SkTSect sect1(cubic SkDEBUGPARAMS(globalState()) PATH_OPS_DEBUG_T_SECT_PARAMS(1));
2116 SkTSect::BinarySearch(&sect1, &sect2, this);
2123 SkTSect sect1(cubic SkDEBUGPARAMS(globalState()) PATH_OPS_DEBUG_T_SECT_PARAMS(1));
2125 SkTSect::BinarySearch(&sect1, &sect2, this);
2133 SkTSect sect1(cubic1 SkDEBUGPARAMS(globalState()) PATH_OPS_DEBUG_T_SECT_PARAMS(1));
2135 SkTSect::BinarySearch(&sect1, &sect2, this);