Lines Matching defs:Segment

64 using LoopBlinnPathProcessorImplementation::Segment;
90 class Segment;
113 struct ValueToString<LoopBlinnPathProcessorImplementation::Segment*> {
114 static String string(LoopBlinnPathProcessorImplementation::Segment* const& value)
124 // Segment
131 class Segment {
132 WTF_MAKE_NONCOPYABLE(Segment);
140 Segment()
192 Segment* next() const { return m_next; }
193 Segment* prev() const { return m_prev; }
195 void setNext(Segment* next) { m_next = next; }
196 void setPrev(Segment* prev) { m_prev = prev; }
204 // Segment.
205 Segment* subdivide(float param)
209 Segment* left = m_arena->allocateObject<Segment>();
210 Segment* right = m_arena->allocateObject<Segment>();
221 Segment* n = next();
234 // possible. Returns a pointer to the leftmost Segment.
235 Segment* subdivide() { return subdivide(0.5f); }
316 builder.append("[Segment kind=");
330 // Computes the bounding box of this Segment.
347 Segment* m_prev;
348 Segment* m_next;
373 void add(Segment* segment)
386 Segment* last = m_sentinel.prev();
398 Segment* subdivide(Segment* segment, float param)
400 Segment* left = segment->subdivide(param);
409 Segment* subdivide(Segment* segment)
411 Segment* left = segment->subdivide();
418 Segment* begin() const { return m_first; }
422 // for (Segment* cur = contour->begin();
427 Segment* end()
440 for (Segment* cur = begin(); cur != end(); cur = cur->next()) {
468 Segment* m_first;
472 Segment m_sentinel;
484 // Segment
487 // Definition of Segment::triangulate(), which must come after
489 void Segment::triangulate(LoopBlinnLocalTriangulator::InsideEdgeComputation computeInsideEdges,
559 for (Segment* seg = cur->begin(); seg != cur->end(); seg = seg->next()) {
560 if (seg->kind() == Segment::Cubic) {
645 Segment* segment = m_arena->allocateObject<Segment>();
669 Segment* segment = m_arena->allocateObject<Segment>();
681 Segment* segment = m_arena->allocateObject<Segment>();
692 Segment* segment = m_arena->allocateObject<Segment>();
713 Vector<Segment*> LoopBlinnPathProcessor::allSegmentsOverlappingY(Contour* queryContour, float x, float y)
715 Vector<Segment*> res;
718 for (Segment* seg = cur->begin(); seg != cur->end(); seg = seg->next()) {
742 PODIntervalTree<float, Segment*> tree(m_arena);
743 typedef PODIntervalTree<float, Segment*>::IntervalType IntervalType;
748 for (Segment* seg = cur->begin(); seg != cur->end(); seg = seg->next()) {
776 for (Segment* seg = cur->begin();
785 Vector<Segment*> slowOverlaps = allSegmentsOverlappingY(cur, seg->getPoint(0).x(), seg->getPoint(0).y());
801 Segment* querySegment = interval.data();
822 } // for (Segment* seg = cur->begin(); ...
838 for (Segment* seg = contour->begin();
841 int limit = (seg->kind() == Segment::Cubic) ? 4 : 2;
878 Segment* segment;
956 Vector<Segment*> curSegments;
957 Vector<Segment*> nextSegments;
962 for (Segment* seg = cur->begin(); seg != cur->end(); seg = seg->next()) {
963 if (seg->kind() == Segment::Cubic) {
981 for (Vector<Segment*>::iterator iter = curSegments.begin(); iter != curSegments.end(); ++iter) {
982 Segment* seg = *iter;
983 ASSERT(seg->kind() == Segment::Cubic);
1026 // Only pay attention to overlaps from a different Segment
1033 Segment* seg = event.interval().data()->segment;
1054 void LoopBlinnPathProcessor::conditionallySubdivide(Segment* seg, Vector<Segment*>& nextSegments)
1058 Segment* next = seg->contour()->subdivide(seg);
1073 Vector<Segment*> curSegments;
1074 Vector<Segment*> nextSegments;
1079 for (Segment* seg = cur->begin(); seg != cur->end(); seg = seg->next()) {
1080 if (seg->kind() == Segment::Cubic) {
1095 for (Vector<Segment*>::iterator iter = curSegments.begin(); iter != curSegments.end(); ++iter) {
1096 Segment* seg = *iter;
1097 ASSERT(seg->kind() == Segment::Cubic);
1098 for (Vector<Segment*>::iterator iter2 = curSegments.begin();
1101 Segment* seg2 = *iter2;
1102 ASSERT(seg2->kind() == Segment::Cubic);
1182 for (Segment* seg = cur->begin(); seg != cur->end(); seg = seg->next()) {