![]() |
Qt 6.x
The Qt SDK
|
Classes | |
struct | Edge |
class | EdgeSorter |
struct | Intersection |
struct | IntersectionLink |
class | Scanline |
struct | Vertex |
struct | Vertices |
Public Types | |
typedef QMap< Intersection, IntersectionLink > | Intersections |
Public Member Functions | |
QTessellatorPrivate () | |
QRectF | collectAndSortVertices (const QPointF *points, int *maxActiveEdges) |
void | cancelCoincidingEdges () |
void | emitEdges (QTessellator *tessellator) |
void | processIntersections () |
void | removeEdges () |
void | addEdges () |
void | addIntersections () |
Public Attributes | |
Vertices | vertices |
Intersections | intersections |
Scanline | scanline |
bool | winding |
Q27Dot5 | y |
int | currentVertex |
Definition at line 38 of file qtessellator.cpp.
Definition at line 73 of file qtessellator.cpp.
|
inline |
Definition at line 42 of file qtessellator.cpp.
Referenced by QTessellator::QTessellator().
void QTessellatorPrivate::addEdges | ( | ) |
Definition at line 917 of file qtessellator.cpp.
References currentVertex, e, QTessellatorPrivate::Scanline::edges, QTessellatorPrivate::Scanline::findEdgePosition(), QTessellatorPrivate::Scanline::insert(), LineAfterEnds, LineAfterHorizontal, LineAfterStarts, LineBeforeEnds, LineBeforeStarts, QTessellatorPrivate::Edge::mark, mark_clever, QTessellatorPrivate::Scanline::markEdges(), QTessellatorPrivate::Vertices::next(), next, QTessellatorPrivate::Vertices::nPoints, pos, QTessellatorPrivate::Vertices::position(), QTessellatorPrivate::Vertices::prevPos(), Q_ASSERT, QDEBUG, qSwap(), scanline, QTessellatorPrivate::Scanline::size, QTessellatorPrivate::Vertices::sorted, and vertices.
void QTessellatorPrivate::addIntersections | ( | ) |
Definition at line 1134 of file qtessellator.cpp.
References QTessellatorPrivate::Scanline::clearMarks(), QMap< Key, T >::constBegin(), e, QTessellatorPrivate::Scanline::edges, i, QTessellatorPrivate::Edge::intersect_left, QTessellatorPrivate::Edge::intersect_right, intersections, QDEBUG, scanline, and QTessellatorPrivate::Scanline::size.
void QTessellatorPrivate::cancelCoincidingEdges | ( | ) |
Definition at line 689 of file qtessellator.cpp.
References QCoincidingEdge::before, cancelEdges(), QCoincidingEdge::end, i, j, LineAfterHorizontal, LineAfterStarts, LineBeforeHorizontal, LineBeforeStarts, QTessellatorPrivate::Vertices::next(), QTessellatorPrivate::Vertices::nPoints, QTessellatorPrivate::Vertices::prev(), qMax(), QT_WARNING_DISABLE_CLANG, QT_WARNING_POP, QT_WARNING_PUSH, QTessellatorPrivate::Vertices::sorted, QCoincidingEdge::start, QCoincidingEdge::used, vertices, winding, QTessellator::Vertex::x, and QTessellator::Vertex::y.
Definition at line 570 of file qtessellator.cpp.
References compareVertex(), QTessellatorPrivate::Vertex::flags, FloatToQ27Dot5, i, j, LineAfterEnds, LineAfterHorizontal, LineAfterStarts, LineBeforeEnds, LineBeforeHorizontal, LineBeforeStarts, QTessellatorPrivate::Vertices::nPoints, QDEBUG, qMax(), qMin(), QTessellatorPrivate::Vertices::sorted, QTessellatorPrivate::Vertices::storage, vertices, and y.
void QTessellatorPrivate::emitEdges | ( | QTessellator * | tessellator | ) |
Definition at line 755 of file qtessellator.cpp.
References QTessellator::addTrap(), emit_clever, fillTrapezoid(), i, QTessellatorPrivate::Edge::mark, QTessellatorPrivate::Scanline::old, QTessellatorPrivate::Scanline::old_size, qMax(), scanline, vertices, QTessellatorPrivate::Edge::winding, winding, y, QTessellatorPrivate::Edge::y_left, and QTessellatorPrivate::Edge::y_right.
void QTessellatorPrivate::processIntersections | ( | ) |
Definition at line 817 of file qtessellator.cpp.
References QMap< Key, T >::begin(), QTessellatorPrivate::Edge::edge, QTessellatorPrivate::Scanline::edges, QMap< Key, T >::end(), QMap< Key, T >::find(), QTessellatorPrivate::Scanline::findEdge(), i, QTessellatorPrivate::Edge::intersect_left, QTessellatorPrivate::Edge::intersect_right, intersections, QMap< Key, T >::isEmpty(), it, QTessellatorPrivate::Edge::mark, next, QTessellatorPrivate::Edge::positionAt(), Q_ASSERT, QDEBUG, qMax(), qMin(), QMap< Key, T >::remove(), scanline, QTessellatorPrivate::Scanline::size, and y.
void QTessellatorPrivate::removeEdges | ( | ) |
Definition at line 882 of file qtessellator.cpp.
References currentVertex, QTessellatorPrivate::Scanline::edges, QTessellatorPrivate::Scanline::findEdge(), QTessellatorPrivate::Edge::intersect_left, QTessellatorPrivate::Edge::intersect_right, LineAfterEnds, LineBeforeEnds, QTessellatorPrivate::Edge::mark, QTessellatorPrivate::Vertices::nPoints, pos, QTessellatorPrivate::Vertices::position(), QTessellatorPrivate::Vertices::prevPos(), QDEBUG, QTessellatorPrivate::Scanline::removeAt(), scanline, QTessellatorPrivate::Scanline::size, QTessellatorPrivate::Vertices::sorted, and vertices.
int QTessellatorPrivate::currentVertex |
Definition at line 197 of file qtessellator.cpp.
Referenced by addEdges(), and removeEdges().
Intersections QTessellatorPrivate::intersections |
Definition at line 193 of file qtessellator.cpp.
Referenced by addIntersections(), and processIntersections().
Scanline QTessellatorPrivate::scanline |
Definition at line 194 of file qtessellator.cpp.
Referenced by addEdges(), addIntersections(), emitEdges(), processIntersections(), and removeEdges().
Vertices QTessellatorPrivate::vertices |
Definition at line 192 of file qtessellator.cpp.
Referenced by QTessellatorPrivate::Edge::Edge(), addEdges(), cancelCoincidingEdges(), collectAndSortVertices(), emitEdges(), fillTrapezoid(), and removeEdges().
bool QTessellatorPrivate::winding |
Definition at line 195 of file qtessellator.cpp.
Referenced by cancelCoincidingEdges(), and emitEdges().
Q27Dot5 QTessellatorPrivate::y |
Definition at line 196 of file qtessellator.cpp.
Referenced by collectAndSortVertices(), emitEdges(), processIntersections(), and QTessellator::tessellateConvex().