#include <SkOpSpan.h>
Definition at line 24 of file SkOpSpan.h.
◆ anonymous enum
Enumerator |
---|
kIsAlias | |
kIsDuplicate | |
Definition at line 26 of file SkOpSpan.h.
◆ active()
const SkOpPtT * SkOpPtT::active |
( |
| ) |
const |
Definition at line 22 of file SkOpSpan.cpp.
22 {
24 return this;
25 }
28 while ((ptT = ptT->
next()) != stopPtT) {
30 return ptT;
31 }
32 }
33 return nullptr;
34}
const SkOpPtT * next() const
◆ addOpp()
Definition at line 34 of file SkOpSpan.h.
34 {
40 }
SkOpPtT * oppPrev(const SkOpPtT *opp) const
◆ alias()
bool SkOpPtT::alias |
( |
| ) |
const |
Definition at line 18 of file SkOpSpan.cpp.
18 {
19 return this->
span()->
ptT() !=
this;
20}
const SkOpSpanBase * span() const
const SkOpPtT * ptT() const
◆ coincident()
bool SkOpPtT::coincident |
( |
| ) |
const |
|
inline |
◆ contains() [1/4]
bool SkOpPtT::contains |
( |
const SkOpPtT * |
check | ) |
const |
Definition at line 36 of file SkOpSpan.cpp.
36 {
40 while ((ptT = ptT->
next()) != stopPtT) {
42 return true;
43 }
44 }
45 return false;
46}
#define check(reporter, ref, unref, make, kill)
◆ contains() [2/4]
Definition at line 71 of file SkOpSpan.cpp.
71 {
75 while ((ptT = ptT->
next()) != stopPtT) {
77 return ptT;
78 }
79 }
80 return nullptr;
81}
const SkOpSegment * segment() const
◆ contains() [3/4]
Definition at line 48 of file SkOpSpan.cpp.
48 {
52 while ((ptT = ptT->
next()) != stopPtT) {
54 return true;
55 }
56 }
57 return false;
58}
◆ contains() [4/4]
bool SkOpPtT::contains |
( |
const SkOpSegment * |
segment, |
|
|
double |
t |
|
) |
| const |
Definition at line 60 of file SkOpSpan.cpp.
60 {
63 while ((ptT = ptT->
next()) != stopPtT) {
65 return true;
66 }
67 }
68 return false;
69}
◆ contour()
Definition at line 83 of file SkOpSpan.cpp.
83 {
85}
SkOpContour * contour() const
◆ debugAddOpp()
void SkOpPtT::debugAddOpp |
( |
const SkOpPtT * |
opp, |
|
|
const SkOpPtT * |
oppPrev |
|
) |
| const |
Definition at line 2678 of file SkPathOpsDebug.cpp.
2678 {
2681
2683
2684}
SkDEBUGCODE(SK_SPI) SkThreadID SkGetThreadID()
◆ debugAngle()
Definition at line 662 of file PathOpsDebug.cpp.
662 {
664}
const SkOpAngle * debugAngle(int id) const
◆ debugCoincidence()
Definition at line 670 of file PathOpsDebug.cpp.
670 {
672}
const SkOpCoincidence * debugCoincidence() const
◆ debugContains() [1/2]
bool SkOpPtT::debugContains |
( |
const SkOpPtT * |
check | ) |
const |
Definition at line 2686 of file SkPathOpsDebug.cpp.
2686 {
2689 int links = 0;
2690 do {
2693 return true;
2694 }
2695 ++links;
2697 for (int index = 0; index < links; ++index) {
2699 return false;
2700 }
2702 }
2703 } while (true);
2704}
◆ debugContains() [2/2]
Definition at line 2706 of file SkPathOpsDebug.cpp.
2706 {
2709 int links = 0;
2710 do {
2713 return ptT;
2714 }
2715 ++links;
2717 for (int index = 0; index < links; ++index) {
2719 return nullptr;
2720 }
2722 }
2723 } while (true);
2724}
◆ debugContour()
Definition at line 666 of file PathOpsDebug.cpp.
666 {
668}
SkOpContour * debugContour(int id) const
◆ debugEnder()
◆ debugID()
int SkOpPtT::debugID |
( |
| ) |
const |
|
inline |
Definition at line 50 of file SkOpSpan.h.
50 {
52 }
#define SkDEBUGRELEASE(a, b)
◆ debugLoopLimit()
int SkOpPtT::debugLoopLimit |
( |
bool |
report | ) |
const |
Definition at line 2730 of file SkPathOpsDebug.cpp.
2730 {
2731 int loop = 0;
2733 do {
2736 const SkOpPtT* innerPtT = checkPtT;
2737 for (
int inner =
check + 1; inner < loop; ++inner) {
2738 innerPtT = innerPtT->
fNext;
2739 if (checkPtT == innerPtT) {
2740 if (report) {
2741 SkDebugf(
"*** bad ptT loop ***\n");
2742 }
2743 return loop;
2744 }
2745 }
2746 }
2747
2748
2749
2750 if (++loop > 1000) {
2751 SkDebugf(
"*** loop count exceeds 1000 ***\n");
2752 return 1000;
2753 }
2755 return 0;
2756}
void SK_SPI SkDebugf(const char format[],...) SK_PRINTF_LIKE(1
◆ debugMatchID()
bool SkOpPtT::debugMatchID |
( |
int |
id | ) |
const |
Definition at line 650 of file PathOpsDebug.cpp.
650 {
652 int loop = 0;
654 do {
656 return true;
657 }
658 }
while ((!limit || ++loop <= limit) && (ptT = ptT->
next()) && ptT !=
this);
659 return false;
660}
int debugLoopLimit(bool report) const
◆ debugOppPrev()
◆ debugPtT()
Definition at line 674 of file PathOpsDebug.cpp.
674 {
676}
const SkOpPtT * debugPtT(int id) const
◆ debugResetCoinT()
void SkOpPtT::debugResetCoinT |
( |
| ) |
const |
Definition at line 2762 of file SkPathOpsDebug.cpp.
2762 {
2763#if DEBUG_COINCIDENCE_ORDER
2764 this->
segment()->debugResetCoinT();
2765#endif
2766}
◆ debugSegment()
Definition at line 678 of file PathOpsDebug.cpp.
678 {
680}
const SkOpSegment * debugSegment(int id) const
◆ debugSetCoinT()
void SkOpPtT::debugSetCoinT |
( |
int |
index | ) |
const |
Definition at line 2768 of file SkPathOpsDebug.cpp.
2768 {
2769#if DEBUG_COINCIDENCE_ORDER
2770 this->
segment()->debugSetCoinT(index,
fT);
2771#endif
2772}
◆ debugSpan()
Definition at line 682 of file PathOpsDebug.cpp.
682 {
684}
const SkOpSpanBase * debugSpan(int id) const
◆ debugValidate()
void SkOpPtT::debugValidate |
( |
| ) |
const |
Definition at line 2774 of file SkPathOpsDebug.cpp.
2774 {
2775#if DEBUG_COINCIDENCE
2777 return;
2778 }
2779#endif
2780#if DEBUG_VALIDATE
2783 return;
2784 }
2789#endif
2790}
SkOpGlobalState * globalState() const
SkOpGlobalState * globalState() const
SkOpContour * contour() const
◆ deleted()
bool SkOpPtT::deleted |
( |
| ) |
const |
|
inline |
◆ dump()
void SkOpPtT::dump |
( |
| ) |
const |
◆ dumpAll()
void SkOpPtT::dumpAll |
( |
| ) |
const |
Definition at line 693 of file PathOpsDebug.cpp.
693 {
697 int loop = 0;
698 do {
704 if (limit && ++loop >= limit) {
706 break;
707 }
710}
◆ dumpBase()
void SkOpPtT::dumpBase |
( |
| ) |
const |
Definition at line 712 of file PathOpsDebug.cpp.
712 {
713 SkDebugf(
" t=%1.9g pt=(%1.9g,%1.9g)%s%s%s", this->
fT, this->
fPt.
fX, this->fPt.fY,
714 this->fCoincident ? " coin" : "",
715 this->fDuplicatePt ? " dup" : "", this->fDeleted ? " deleted" : "");
716}
◆ duplicate()
bool SkOpPtT::duplicate |
( |
| ) |
const |
|
inline |
◆ find()
Definition at line 87 of file SkOpSpan.cpp.
87 {
90 do {
92 return ptT;
93 }
95 } while (stopPtT != ptT);
96
97 return nullptr;
98}
◆ globalState()
◆ init()
Definition at line 104 of file SkOpSpan.cpp.
104 {
113}
SkOpGlobalState * globalState() const
◆ insert()
void SkOpPtT::insert |
( |
SkOpPtT * |
span | ) |
|
|
inline |
◆ next() [1/2]
◆ next() [2/2]
const SkOpPtT * SkOpPtT::next |
( |
| ) |
const |
|
inline |
◆ onEnd()
bool SkOpPtT::onEnd |
( |
| ) |
const |
Definition at line 115 of file SkOpSpan.cpp.
115 {
117 if (span->
ptT() !=
this) {
118 return false;
119 }
122}
const SkOpSpanBase * tail() const
const SkOpSpan * head() const
◆ oppPrev()
Definition at line 104 of file SkOpSpan.h.
104 {
105
108 return nullptr;
109 }
113 return nullptr;
114 }
115 }
117 }
◆ Overlaps()
Definition at line 119 of file SkOpSpan.h.
120 {
129 if (*sOut == *eOut) {
131 return false;
132 }
134 return *sOut && *eOut;
135 }
#define SkOPOBJASSERT(obj, cond)
bool between(double a, double b, double c)
◆ prev()
◆ ptAlreadySeen()
bool SkOpPtT::ptAlreadySeen |
( |
const SkOpPtT * |
head | ) |
const |
Definition at line 124 of file SkOpSpan.cpp.
124 {
125 while (
this !=
check) {
127 return true;
128 }
130 }
131 return false;
132}
◆ segment() [1/2]
Definition at line 148 of file SkOpSpan.cpp.
148 {
150}
SkOpSegment * segment() const
◆ segment() [2/2]
◆ setCoincident()
void SkOpPtT::setCoincident |
( |
| ) |
const |
|
inline |
◆ setDeleted()
void SkOpPtT::setDeleted |
( |
| ) |
|
◆ setSpan()
◆ span() [1/2]
◆ span() [2/2]
◆ starter()
◆ fCoincident
bool SkOpPtT::fCoincident |
|
mutableprotected |
◆ fDeleted
◆ fDuplicatePt
bool SkOpPtT::fDuplicatePt |
|
protected |
◆ fNext
◆ fPt
◆ fSpan
◆ fT
The documentation for this class was generated from the following files: