2202 int edgeIndex =
event.edge;
2211 orderedEdges.clear();
2216 while (current != b.
second) {
2230 edgeIndex =
event.edge;
2235 if (
m_edges.at(edgeIndex).node) {
2244 m_edges.at(edgeIndex).node->data = edgeIndex;
2253 while (current != b.
second) {
2256 int i = current->data;
2260 int ccwWindingNumber =
m_edges.at(i).winding = currentWindingNumber;
2261 if (
m_edges.at(i).originallyPointingUp) {
2267 currentWindingNumber =
m_edges.at(i).winding;
2270 if ((ccwWindingNumber & 1) == 0) {
2281 while (current != b.
first) {
2288 if (orderedEdges.isEmpty())
2291 Q_ASSERT((orderedEdges.size() & 1) == 0);
2298 int copy = orderedEdges[0];
2299 orderedEdges.append(copy);
2307 for (
int j = i; j < orderedEdges.size(); j += 2) {
2308 Q_ASSERT(j + 1 < orderedEdges.size());
2311 if (
m_edges.at(orderedEdges[j]).to < pointIndex)
2312 pointIndex =
m_edges.at(orderedEdges[j]).to;
2313 if (
m_edges.at(orderedEdges[j + 1]).from < pointIndex)
2314 pointIndex =
m_edges.at(orderedEdges[j + 1]).from;
2317 for (; i < orderedEdges.size(); i += 2) {
2319 m_edges.at(orderedEdges[i]).to =
m_edges.at(orderedEdges[i + 1]).from = pointIndex;
2324 m_edges.at(orderedEdges[i]).next = orderedEdges[i + 1];
2325 m_edges.at(orderedEdges[i + 1]).previous = orderedEdges[i];
Node * previous(Node *node) const
QDataBuffer< Event > m_events
QRBTree< int >::Node * searchEdgeLeftOf(int edgeIndex) const
Node * next(Node *node) const
QDataBuffer< Edge > m_edges
static QIntersectionPoint qIntersectionPoint(const QPodPoint &point)
QVarLengthArray< int, 6 > ShortArray
void insertEdgeIntoVectorIfWanted(ShortArray &orderedEdges, int i)
#define QT_PREPEND_NAMESPACE(name)
This macro qualifies identifier with the full namespace.
QRBTree< int > m_edgeList
void attachAfter(Node *parent, Node *child)
void qSwap(T &value1, T &value2)
void deleteNode(Node *&node)
QDataBuffer< QPodPoint > m_vertices
QPair< QRBTree< int >::Node *, QRBTree< int >::Node * > outerBounds(const QPodPoint &point) const
Q_CORE_EXPORT QTextStream & left(QTextStream &s)
Node * front(Node *node) const
Node * back(Node *node) const