Home | History | Annotate | Download | only in pathops

Lines Matching full:angle

415     SkOpAngle& angle = fAngles.push_back();
416 angle.set(this, spanCount - 1, startIndex);
420 setFromAngle(endIndex, &angle);
423 void SkOpSegment::setFromAngle(int endIndex, SkOpAngle* angle) {
426 fTs[endIndex].fFromAngle = angle;
456 SkOpAngle& angle = fAngles.push_back();
457 *anglePtr = ∠
458 angle.set(this, spanIndex, startIndex);
459 setFromAngle(spanIndex, &angle);
485 SkOpAngle& angle = fAngles.push_back();
486 *anglePtr = ∠
487 angle.set(this, 0, endIndex);
488 setToAngle(endIndex, &angle);
514 SkOpAngle* angle, * otherAngle;
516 otherAngle = addSingletonAngleUp(&other, &angle);
518 otherAngle = addSingletonAngleDown(&other, &angle);
520 angle->insert(otherAngle);
521 return angle;
526 SkOpAngle& angle = fAngles.push_back();
527 angle.set(this, index, endIndex);
531 setToAngle(endIndex, &angle);
534 void SkOpSegment::setToAngle(int endIndex, SkOpAngle* angle) {
537 fTs[index].fToAngle = angle;
850 SkOpAngle* angle, * oAngle;
857 angle = span->fToAngle;
875 angle = span->fFromAngle;
878 angle->insert(oAngle);
1481 SkOpAngle* angle = NULL;
1492 angle = &fAngles.push_back();
1493 angle->set(this, active, index);
1514 fTs[start].fToAngle = angle;
1549 SkOpAngle* angle = firstAngle->previous();
1550 SkOpAngle* next = angle->next();
1553 SkOpAngle* prior = angle;
1554 angle = next;
1555 next = angle->next();
1556 SkASSERT(prior->next() == angle);
1557 SkASSERT(angle->next() == next);
1558 if (prior->unorderable() || angle->unorderable() || next->unorderable()) {
1562 int testWinding = angle->segment()->windSum(angle);
1564 baseAngle = angle;
1569 ComputeOneSum(baseAngle, angle, includeType);
1570 baseAngle = SK_MinS32 != angle->segment()->windSum(angle) ? angle : NULL;
1581 angle = prior;
1582 prior = angle->previous();
1583 SkASSERT(prior->next() == angle);
1584 next = angle->next();
1585 if (prior->unorderable() || angle->unorderable() || next->unorderable()) {
1589 int testWinding = angle->segment()->windSum(angle);
1591 baseAngle = angle;
1595 ComputeOneSumReverse(baseAngle, angle, includeType);
1596 baseAngle = SK_MinS32 != angle->segment()->windSum(angle) ? angle : NULL;
2722 SkOpAngle* angle = spanToAngle(end, startIndex);
2723 if (angle->unorderable()) {
2730 angle->debugLoop();
2742 SkOpAngle* nextAngle = angle->next();
2745 // iterate through the angle, and compute everyone's winding
2783 } while ((nextAngle = nextAngle->next()) != angle);
2851 SkOpAngle* angle = spanToAngle(end, startIndex);
2854 angle->debugLoop();
2857 SkOpAngle* nextAngle = angle->next();
2897 } while ((nextAngle = nextAngle->next()) != angle);
2920 // there is no angle) and therefore there's only one valid connection
2961 SkOpAngle* angle = spanToAngle(end, startIndex);
2962 SkASSERT(angle);
2965 angle->debugLoop();
2967 SkOpAngle* nextAngle = angle->next();
2986 } while (nextAngle != angle);
3100 const SkOpAngle* angle = baseAngle;
3102 if (!angle->unorderable()) {
3103 SkOpSegment* next = angle->segment();
3105 next->subDivideBounds(angle->end(), angle->start(), &bounds);
3108 firstAngle = angle;
3111 angle = angle->next();
3112 } while (angle != baseAngle);
3119 angle = firstAngle;
3123 *unsortable = angle->unorderable();
3125 leftSegment = angle->segment();
3126 *tIndexPtr = angle->end();
3127 *endIndexPtr = angle->start();
3132 angle = angle->next();
3134 } while (angle != firstAngle);
3135 if (angle == firstAngle && looped) {
3311 bool SkOpSegment::isTiny(const SkOpAngle* angle) const {
3312 int start = angle->start();
3313 int end = angle->end();
3395 SkOpSpan* SkOpSegment::markAndChaseWinding(const SkOpAngle* angle, int winding) {
3396 int index = angle->start();
3397 int endIndex = angle->end();
3465 SkOpSpan* SkOpSegment::markAndChaseWinding(const SkOpAngle* angle, int winding, int oppWinding) {
3466 int start = angle->start();
3467 int end = angle->end();
3471 SkOpSpan* SkOpSegment::markAngle(int maxWinding, int sumWinding, const SkOpAngle* angle) {
3472 SkASSERT(angle->segment() == this);
3476 SkOpSpan* last = markAndChaseWinding(angle, maxWinding);
3489 int oppSumWinding, const SkOpAngle* angle) {
3490 SkASSERT(angle->segment() == this);
3497 SkOpSpan* last = markAndChaseWinding(angle, maxWinding, oppMaxWinding);
3719 // If the prior angle in the sort is unorderable, the winding sum may not be computable.
3736 // If the prior angle in the sort is unorderable, the winding sum may not be computable.
3845 SkOpAngle* angle = step > 0 ? endSpan.fFromAngle : endSpan.fToAngle;
3849 if (angle == NULL) {
3857 int loopCount = angle->loopCount();
3861 const SkOpAngle* next = angle->next();
3862 if (angle->sign() != next->sign()) {
4224 int SkOpSegment::updateOppWinding(const SkOpAngle* angle) const {
4225 int startIndex = angle->start();
4226 int endIndex = angle->end();
4230 int SkOpSegment::updateOppWindingReverse(const SkOpAngle* angle) const {
4231 int startIndex = angle->start();
4232 int endIndex = angle->end();
4250 int SkOpSegment::updateWinding(const SkOpAngle* angle) const {
4251 int startIndex = angle->start();
4252 int endIndex = angle->end();
4267 int SkOpSegment::updateWindingReverse(const SkOpAngle* angle) const {
4268 int startIndex = angle->start();
4269 int endIndex = angle->end();
4328 int SkOpSegment::windSum(const SkOpAngle* angle) const {
4329 int start = angle->start();
4330 int end = angle->end();