Lines Matching defs:segment
42 bool SkOpPtT::contains(const SkOpSegment* segment, const SkPoint& pt) const {
43 SkASSERT(this->segment() != segment);
47 if (ptT->fPt == pt && ptT->segment() == segment) {
54 bool SkOpPtT::contains(const SkOpSegment* segment, double t) const {
58 if (ptT->fT == t && ptT->segment() == segment) {
66 SkASSERT(this->segment() != check);
70 if (ptT->segment() == check && !ptT->deleted()) {
78 return segment()->contour();
81 const SkOpPtT* SkOpPtT::find(const SkOpSegment* segment) const {
85 if (ptT->segment() == segment && !ptT->deleted()) {
114 const SkOpSegment* segment = this->segment();
115 return span == segment->head() || span == segment->tail();
138 const SkOpSegment* SkOpPtT::segment() const {
139 return span()->segment();
142 SkOpSegment* SkOpPtT::segment() {
143 return span()->segment();
169 const SkOpSegment* segment = this->segment();
178 if (walk->segment() != segment) {
204 const SkOpPtT* SkOpSpanBase::contains(const SkOpSegment* segment) const {
211 if (walk->segment() == segment && walk->span()->ptT() == walk) {
218 bool SkOpSpanBase::containsCoinEnd(const SkOpSegment* segment) const {
219 SkASSERT(this->segment() != segment);
222 if (next->segment() == segment) {
230 return segment()->contour();
237 void SkOpSpanBase::initBase(SkOpSegment* segment, SkOpSpan* prev, double t, const SkPoint& pt) {
238 fSegment = segment;
302 // Look to see if pt-t linked list contains same segment more than once
303 // if so, and if each pt-t is directly pointed to by spans in that segment,
305 // keep the points, but remove spans so that the segment doesn't have 2 or more
322 SkOpSegment* segment = test->segment();
323 if (segment->done()) {
329 if (inner->segment() != segment) {
346 segment->markAllDone(); // mark segment as collapsed
353 #ifdef SK_DEBUG // assert if another undeleted entry points to segment
356 if (debugInner->segment() != segment) {
381 bool SkOpSpan::containsCoincidence(const SkOpSegment* segment) const {
382 SkASSERT(this->segment() != segment);
385 if (next->segment() == segment) {
392 void SkOpSpan::init(SkOpSegment* segment, SkOpSpan* prev, double t, const SkPoint& pt) {
394 initBase(segment, prev, t, pt);
402 segment->bumpCount();
407 bool SkOpSpan::insertCoincidence(const SkOpSegment* segment, bool flipped, bool ordered) {
408 if (this->containsCoincidence(segment)) {
413 if (next->segment() == segment) {
417 const SkOpPtT* spanEndPtT = fNext->contains(segment);
435 SkASSERT(0); // FIXME? if we get here, the span is missing its opposite segment...
450 this->segment()->release(this);