Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qtessellator.cpp File Reference

(2585fa7c091715ba4766bf58a75ae8f632dbb37f)

#include "qtessellator_p.h"
#include <QRect>
#include <QList>
#include <QMap>
#include <QDebug>
#include <qmath.h>
#include <limits.h>
#include <algorithm>
+ Include dependency graph for qtessellator.cpp:

Go to the source code of this file.

Classes

class  QTessellatorPrivate
 
struct  QTessellatorPrivate::Vertex
 
struct  QTessellatorPrivate::Intersection
 
struct  QTessellatorPrivate::IntersectionLink
 
struct  QTessellatorPrivate::Edge
 
class  QTessellatorPrivate::EdgeSorter
 
class  QTessellatorPrivate::Scanline
 
struct  QTessellatorPrivate::Vertices
 
struct  QCoincidingEdge
 

Macros

#define QDEBUG   if (1){} else qDebug
 

Enumerations

enum  VertexFlags {
  LineBeforeStarts = 0x1 , LineBeforeEnds = 0x2 , LineBeforeHorizontal = 0x4 , LineAfterStarts = 0x8 ,
  LineAfterEnds = 0x10 , LineAfterHorizontal = 0x20
}
 

Functions

static bool sameSign (qint64 a, qint64 b)
 
static bool compareVertex (const QTessellatorPrivate::Vertex *p1, const QTessellatorPrivate::Vertex *p2)
 
static void fillTrapezoid (Q27Dot5 y1, Q27Dot5 y2, int left, int right, const QTessellatorPrivate::Vertices &vertices, QTessellator::Trapezoid *trap)
 
static void cancelEdges (QCoincidingEdge &e1, QCoincidingEdge &e2)
 

Variables

static const bool emit_clever = true
 
static const bool mark_clever = false
 

Macro Definition Documentation

◆ QDEBUG

Enumeration Type Documentation

◆ VertexFlags

Enumerator
LineBeforeStarts 
LineBeforeEnds 
LineBeforeHorizontal 
LineAfterStarts 
LineAfterEnds 
LineAfterHorizontal 

Definition at line 27 of file qtessellator.cpp.

Function Documentation

◆ cancelEdges()

static void cancelEdges ( QCoincidingEdge & e1,
QCoincidingEdge & e2 )
static

Definition at line 670 of file qtessellator.cpp.

References QCoincidingEdge::before, QCoincidingEdge::end, QTessellatorPrivate::Vertex::flags, LineAfterEnds, LineAfterHorizontal, LineAfterStarts, LineBeforeEnds, LineBeforeHorizontal, LineBeforeStarts, QCoincidingEdge::start, and QCoincidingEdge::used.

Referenced by QTessellatorPrivate::cancelCoincidingEdges().

+ Here is the caller graph for this function:

◆ compareVertex()

static bool compareVertex ( const QTessellatorPrivate::Vertex * p1,
const QTessellatorPrivate::Vertex * p2 )
inlinestatic

Definition at line 332 of file qtessellator.cpp.

References p1, and p2.

Referenced by QTessellatorPrivate::collectAndSortVertices().

+ Here is the caller graph for this function:

◆ fillTrapezoid()

static void fillTrapezoid ( Q27Dot5 y1,
Q27Dot5 y2,
int left,
int right,
const QTessellatorPrivate::Vertices & vertices,
QTessellator::Trapezoid * trap )
inlinestatic

Definition at line 552 of file qtessellator.cpp.

References QTessellatorPrivate::Vertices::next(), qSwap(), and QTessellatorPrivate::vertices.

Referenced by QTessellatorPrivate::emitEdges().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sameSign()

static bool sameSign ( qint64 a,
qint64 b )
inlinestatic

Definition at line 244 of file qtessellator.cpp.

Referenced by QTessellatorPrivate::Edge::intersect().

+ Here is the caller graph for this function:

Variable Documentation

◆ emit_clever

const bool emit_clever = true
static

Definition at line 24 of file qtessellator.cpp.

Referenced by QTessellatorPrivate::emitEdges().

◆ mark_clever

const bool mark_clever = false
static

Definition at line 25 of file qtessellator.cpp.

Referenced by QTessellatorPrivate::addEdges().