Lines Matching defs:angle
228 // break the span so that the coincident part does not change the angle of the remainder
303 SkOpAngle* angle = this->globalState()->allocator()->make<SkOpAngle>();
304 angle->set(span, next);
305 span->setToAngle(angle);
430 SkOpAngle* angle = firstAngle->previous();
431 SkOpAngle* next = angle->next();
434 SkOpAngle* prior = angle;
435 angle = next;
436 next = angle->next();
437 SkASSERT(prior->next() == angle);
438 SkASSERT(angle->next() == next);
439 if (prior->unorderable() || angle->unorderable() || next->unorderable()) {
443 int testWinding = angle->starter()->windSum();
445 baseAngle = angle;
450 ComputeOneSum(baseAngle, angle, includeType);
451 baseAngle = SK_MinS32 != angle->starter()->windSum() ? angle : nullptr;
462 angle = prior;
463 prior = angle->previous();
464 SkASSERT(prior->next() == angle);
465 next = angle->next();
466 if (prior->unorderable() || angle->unorderable() || next->unorderable()) {
470 int testWinding = angle->starter()->windSum();
472 baseAngle = angle;
476 ComputeOneSumReverse(baseAngle, angle, includeType);
477 baseAngle = SK_MinS32 != angle->starter()->windSum() ? angle : nullptr;
573 SkOpAngle* angle = this->spanToAngle(end, start);
574 if (angle->unorderable()) {
581 angle->debugLoop();
594 SkOpAngle* nextAngle = angle->next();
597 // iterate through the angle, and compute everyone's winding
630 } while ((nextAngle = nextAngle->next()) != angle);
679 SkOpAngle* angle = this->spanToAngle(end, start);
680 if (angle->unorderable()) {
687 angle->debugLoop();
690 SkOpAngle* nextAngle = angle->next();
693 // iterate through the angle, and compute everyone's winding
726 } while ((nextAngle = nextAngle->next()) != angle);
768 SkOpAngle* angle = this->spanToAngle(end, start);
769 if (!angle || angle->unorderable()) {
776 angle->debugLoop();
778 SkOpAngle* nextAngle = angle->next();
781 // iterate through the angle, and compute everyone's winding
797 } while (nextAngle != angle);
954 bool SkOpSegment::markAngle(int maxWinding, int sumWinding, const SkOpAngle* angle,
956 SkASSERT(angle->segment() == this);
960 if (!markAndChaseWinding(angle->start(), angle->end(), maxWinding, result)) {
979 int oppSumWinding, const SkOpAngle* angle, SkOpSpanBase** result) {
980 SkASSERT(angle->segment() == this);
988 if (!markAndChaseWinding(angle->start(), angle->end(), maxWinding, oppMaxWinding, result)) {
1077 SkOpAngle* angle = step > 0 ? endSpan->fromAngle() : endSpan->upCast()->toAngle();
1081 if (angle == nullptr) {
1092 int loopCount = angle->loopCount();
1096 const SkOpAngle* next = angle->next();
1101 if (angle->debugSign() != next->debugSign() && !angle->segment()->contour()->isXor()
1694 // the coincidence can occur at almost any angle
1725 int SkOpSegment::updateOppWinding(const SkOpAngle* angle) const {
1726 const SkOpSpanBase* startSpan = angle->start();
1727 const SkOpSpanBase* endSpan = angle->end();
1731 int SkOpSegment::updateOppWindingReverse(const SkOpAngle* angle) const {
1732 const SkOpSpanBase* startSpan = angle->start();
1733 const SkOpSpanBase* endSpan = angle->end();
1754 int SkOpSegment::updateWinding(SkOpAngle* angle) {
1755 SkOpSpanBase* startSpan = angle->start();
1756 SkOpSpanBase* endSpan = angle->end();
1760 int SkOpSegment::updateWindingReverse(const SkOpAngle* angle) {
1761 SkOpSpanBase* startSpan = angle->start();
1762 SkOpSpanBase* endSpan = angle->end();
1778 int SkOpSegment::windSum(const SkOpAngle* angle) const {
1779 const SkOpSpan* minSpan = angle->start()->starter(angle->end());