Lines Matching defs:segment
380 SkDebugf(" seg/base=%d/%d", glitch.fBase->segment()->debugID(),
384 SkDebugf(" seg/base=%d/%d", glitch.fSuspect->segment()->debugID(),
388 SkDebugf(" segment=%d", glitch.fSegment->debugID());
391 SkDebugf(" coinSeg/Span/PtT=%d/%d/%d", glitch.fCoinSpan->segment()->debugID(),
398 SkDebugf(" oppSeg/Span/PtT=%d/%d/%d", glitch.fOppSpan->segment()->debugID(),
411 SkDebugf(" segment=%d", glitch.fOppSegment->debugID());
573 fDebugWorstVerb[index * 2] = wt.segment()->verb();
574 fDebugWorstVerb[index * 2 + 1] = wn.segment()->verb();
577 (SkPathOpsVerbToPoints(wt.segment()->verb()) + 1) * sizeof(SkPoint));
579 (SkPathOpsVerbToPoints(wn.segment()->verb()) + 1) * sizeof(SkPoint));
743 // span->segment()->debugID(), span->debugID());
821 const SkOpSegment* opp = ptT->segment();
853 const SkOpSegment* opp = ptT->span()->segment();
864 if (ptT->segment() == this) {
868 // FIXME?: this assumes that if the opposite segment is coincident then no more
870 if (span && span->segment() != opp && span->containsCoincidence(opp)) { // debug has additional condition since it may be called before inner duplicate points have been deleted
873 if (spanBase->segment() != opp && spanBase->containsCoinEnd(opp)) { // debug has additional condition since it may be called before inner duplicate points have been deleted
877 // find prior span containing opp segment
886 const SkOpSegment* segment = priorPtT->span()->segment();
887 if (segment == opp) {
964 const SkOpSegment* oppSegment = oppSpan->segment();
1010 const SkOpSegment* oppPtTSegment = oppPtT->segment();
1016 if (matchPtT->segment() == oppPtTSegment) {
1050 if (ptT->segment() == this && !ptT->deleted() && test != spanBase
1238 const SkOpSegment* testSegment = test->segment();
1248 SkOpSegment* nextSegment = next->segment();
1277 switch (this->segment()->verb()) {
1280 this->segment()->debugID());
1284 this->segment()->debugID());
1289 this->segment()->debugID());
1293 this->segment()->debugID());
1340 bool op = next->segment()->operand();
1341 bool isXor = next->segment()->isXor();
1342 bool oppXor = next->segment()->oppXor();
1414 // makes all span ends agree with the segment's spans that define them
1426 const SkOpSegment* segment = coinPtTStart()->segment();
1427 const SkOpSegment* oppSegment = oppPtTStart()->segment();
1436 if (!segment->isClose(midT, oppSegment)) {
1453 if (!segment->isClose(midT, oppSegment)) {
1466 const SkOpSegment* baseSeg = base->segment();
1468 const SkOpSegment* testSeg = testPtT->segment();
1481 // intersect perp with base->ptT() with testPtT->segment()
1506 SkOpSegment* coinSeg = base->segment();
1507 SkOpSegment* oppSeg = oppStart->segment();
1559 ptT list on B-segment adjacent to the B-end/A ptT loop (not in the loop, but
1610 // if the spans don't match, add the mssing pt to the segment and loop it in the opposite span
1634 const SkOpSegment* seg = start->segment();
1635 const SkOpSegment* oSeg = oStart->segment();
1711 SkASSERT(over1s->segment() == over1e->segment());
1712 SkASSERT(over2s->segment() == over2e->segment());
1713 SkASSERT(over1s->segment() == over2s->segment());
1714 SkASSERT(over1s->segment() != coinSeg);
1715 SkASSERT(over1s->segment() != oppSeg);
1833 if (overlap->coinPtTStart()->segment() == coinSeg) {
1859 /* detects overlaps of different coincident runs on same segment */
1876 const SkOpSegment* outerCoin = ocs->segment();
1882 const SkOpSegment* outerOpp = oos->segment();
1892 const SkOpSegment* innerCoin = ics->segment();
1896 const SkOpSegment* innerOpp = ios->segment();
1986 if (coin->coinPtTStart()->segment() == deleted
1987 || coin->coinPtTEnd()->segment() == deleted
1988 || coin->oppPtTStart()->segment() == deleted
1989 || coin->oppPtTEnd()->segment() == deleted) {
2049 const SkOpSegment* segment = start->segment();
2050 const SkOpSegment* oSegment = oStart->segment();
2063 if (oNext->upCast()->debugInsertCoincidence(log, segment, flipped, ordered), false) {
2098 SkDebugf("coinSpan - id=%d t=%1.9g tEnd=%1.9g\n", coinPtTStart()->segment()->debugID(),
2100 SkDebugf("coinSpan + id=%d t=%1.9g tEnd=%1.9g\n", oppPtTStart()->segment()->debugID(),
2149 if (ptT->segment() != oSegment) {
2163 const SkOpSegment* coinSeg = test->coinPtTStart()->segment();
2164 SkASSERT(coinSeg == test->coinPtTEnd()->segment());
2165 const SkOpSegment* oppSeg = test->oppPtTStart()->segment();
2166 SkASSERT(oppSeg == test->oppPtTEnd()->segment());
2167 SkASSERT(coinSeg != test->oppPtTStart()->segment());
2184 if (coinSeg == list->coinPtTStart()->segment()) {
2185 if (oppSeg != list->oppPtTStart()->segment()) {
2196 } else if (coinSeg == list->oppPtTStart()->segment()) {
2197 if (oppSeg != list->coinPtTStart()->segment()) {
2234 SkASSERT(SkOpCoincidence::Ordered(coin->coinPtTStart()->segment(),
2235 coin->oppPtTStart()->segment()));
2260 coin->oppPtTStart()->fT, coin->oppPtTEnd()->fT, coin->oppPtTStart()->segment(),
2263 coin->coinPtTStart()->fT, coin->coinPtTEnd()->fT, coin->coinPtTStart()->segment(),
2283 const SkOpSegment* segment = &fHead;
2285 segment->debugCheckHealth(log);
2286 } while ((segment = segment->next()));
2309 const SkOpSegment* segment = &fHead;
2312 if (segment->debugMissingCoincidence(log), false) {
2315 segment = segment->next();
2316 } while (segment);
2322 const SkOpSegment* segment = &fHead;
2324 if (segment->debugMoveMultiples(log), false) {
2327 } while ((segment = segment->next()));
2333 const SkOpSegment* segment = &fHead;
2335 segment->debugMoveNearby(log);
2336 } while ((segment = segment->next()));
2381 SkASSERT(span->segment() == this);
2470 // Look to see if pt-t linked list contains same segment more than once
2471 // if so, and if each pt-t is directly pointed to by spans in that segment,
2473 // keep the points, but remove spans so that the segment doesn't have 2 or more
2486 const SkOpSegment* segment = test->segment();
2487 if (segment->done()) {
2493 if (inner->segment() != segment) {
2511 log->record(SkPathOpsDebug::kMergeMatches_Glitch, segment);
2518 #ifdef SK_DEBUG // assert if another undeleted entry points to segment
2521 if (debugInner->segment() != segment) {
2564 SkASSERT(this->segment() == end->segment());
2641 void SkOpSpan::debugInsertCoincidence(SkPathOpsDebug::GlitchLog* log, const SkOpSegment* segment, bool flipped, bool ordered) const {
2642 if (this->containsCoincidence(segment)) {
2647 if (next->segment() == segment) {
2651 const SkOpSpanBase* spanEnd = fNext->contains(segment)->span();
2669 log->record(SkPathOpsDebug::kMarkCoinMissing_Glitch, segment, this);
2729 SkASSERT(this->segment() != check);
2734 if (ptT->segment() == check) {
2786 this->segment()->debugResetCoinT();
2792 this->segment()->debugSetCoinT(index, fT);