Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qtriangulator.cpp File Reference

(4366caf9893c0fa225e95901f8930b88c52309e1)

#include "qtriangulator_p.h"
#include <QtGui/qevent.h>
#include <QtGui/qpainter.h>
#include <QtGui/qpainterpath.h>
#include <QtGui/private/qbezier_p.h>
#include <QtGui/private/qdatabuffer_p.h>
#include <QtCore/qbitarray.h>
#include <QtCore/qvarlengtharray.h>
#include <QtCore/qqueue.h>
#include <QtCore/qglobal.h>
#include <QtCore/qpoint.h>
#include <QtCore/qalgorithms.h>
#include <private/qrbtree_p.h>
Include dependency graph for qtriangulator.cpp:

Go to the source code of this file.

Classes

struct  QVertexSet< T >
struct  QFraction
struct  QPodPoint
struct  QIntersectionPoint
class  QMaxHeap< T >
class  QInt64Set
class  QTriangulator< T >
class  QTriangulator< T >::ComplexToSimple
class  QTriangulator< T >::SimpleToMonotone
class  QTriangulator< T >::MonotoneToTriangles

Macros

#define QTRIANGULATOR_MAX   (1 << 21)
#define Q_FIXED_POINT_SCALE   32
#define QTRIANGULATOR_FIXED_POINT_MAX   ((qreal(QTRIANGULATOR_MAX - 1)) / qreal(Q_FIXED_POINT_SCALE))

Functions

static int qToClampedFixedPoint (qreal c)
static quint64 gcd (quint64 x, quint64 y)
static int compare (quint64 a, quint64 b)
static int qCompareFractions (quint64 a, quint64 b, quint64 c, quint64 d)
static QFraction qFraction (quint64 n, quint64 d)
static qint64 qCross (const QPodPoint &u, const QPodPoint &v)
static qint64 qPointDistanceFromLine (const QPodPoint &p, const QPodPoint &v1, const QPodPoint &v2)
static bool qPointIsLeftOfLine (const QPodPoint &p, const QPodPoint &v1, const QPodPoint &v2)
static QIntersectionPoint qIntersectionPoint (const QPodPoint &point)
static QIntersectionPoint qIntersectionPoint (const QPodPoint &u1, const QPodPoint &u2, const QPodPoint &v1, const QPodPoint &v2)
static int primeForCount (int count)
Q_GUI_EXPORT QTriangleSet qTriangulate (const qreal *polygon, int count, uint hint, const QTransform &matrix, bool allowUintIndices)
Q_GUI_EXPORT QTriangleSet qTriangulate (const QVectorPath &path, const QTransform &matrix, qreal lod, bool allowUintIndices)
QTriangleSet qTriangulate (const QPainterPath &path, const QTransform &matrix, qreal lod, bool allowUintIndices)
QPolylineSet qPolyline (const QVectorPath &path, const QTransform &matrix, qreal lod, bool allowUintIndices)
QPolylineSet qPolyline (const QPainterPath &path, const QTransform &matrix, qreal lod, bool allowUintIndices)

Macro Definition Documentation

◆ Q_FIXED_POINT_SCALE

#define Q_FIXED_POINT_SCALE   32

Definition at line 26 of file qtriangulator.cpp.

◆ QTRIANGULATOR_FIXED_POINT_MAX

#define QTRIANGULATOR_FIXED_POINT_MAX   ((qreal(QTRIANGULATOR_MAX - 1)) / qreal(Q_FIXED_POINT_SCALE))

Definition at line 27 of file qtriangulator.cpp.

◆ QTRIANGULATOR_MAX

#define QTRIANGULATOR_MAX   (1 << 21)

Definition at line 25 of file qtriangulator.cpp.

Function Documentation

◆ compare()

int compare ( quint64 a,
quint64 b )
inlinestatic

Definition at line 79 of file qtriangulator.cpp.

◆ gcd()

quint64 gcd ( quint64 x,
quint64 y )
inlinestatic

Definition at line 69 of file qtriangulator.cpp.

◆ primeForCount()

int primeForCount ( int count)
inlinestatic

Definition at line 418 of file qtriangulator.cpp.

Referenced by QInt64Set::QInt64Set(), and QInt64Set::insert().

Here is the caller graph for this function:

◆ qCompareFractions()

int qCompareFractions ( quint64 a,
quint64 b,
quint64 c,
quint64 d )
static

Definition at line 87 of file qtriangulator.cpp.

◆ qCross()

qint64 qCross ( const QPodPoint & u,
const QPodPoint & v )
inlinestatic

Definition at line 167 of file qtriangulator.cpp.

References QPodPoint::x, and QPodPoint::y.

◆ qFraction()

QFraction qFraction ( quint64 n,
quint64 d )
static

Definition at line 116 of file qtriangulator.cpp.

◆ qIntersectionPoint() [1/2]

QIntersectionPoint qIntersectionPoint ( const QPodPoint & point)
inlinestatic

Definition at line 215 of file qtriangulator.cpp.

References QPodPoint::x, and QPodPoint::y.

◆ qIntersectionPoint() [2/2]

QIntersectionPoint qIntersectionPoint ( const QPodPoint & u1,
const QPodPoint & u2,
const QPodPoint & v1,
const QPodPoint & v2 )
static

Definition at line 222 of file qtriangulator.cpp.

References QPodPoint::operator-(), QIntersectionPoint::upperLeft, QPodPoint::x, and QPodPoint::y.

Here is the call graph for this function:

◆ qPointDistanceFromLine()

qint64 qPointDistanceFromLine ( const QPodPoint & p,
const QPodPoint & v1,
const QPodPoint & v2 )
inlinestatic

Definition at line 183 of file qtriangulator.cpp.

◆ qPointIsLeftOfLine()

bool qPointIsLeftOfLine ( const QPodPoint & p,
const QPodPoint & v1,
const QPodPoint & v2 )
inlinestatic

Definition at line 188 of file qtriangulator.cpp.

◆ qPolyline() [1/2]

QPolylineSet qPolyline ( const QPainterPath & path,
const QTransform & matrix,
qreal lod,
bool allowUintIndices )

Definition at line 2316 of file qtriangulator.cpp.

◆ qPolyline() [2/2]

QPolylineSet qPolyline ( const QVectorPath & path,
const QTransform & matrix,
qreal lod,
bool allowUintIndices )

Definition at line 2296 of file qtriangulator.cpp.

◆ qToClampedFixedPoint()

int qToClampedFixedPoint ( qreal c)
inlinestatic

Definition at line 29 of file qtriangulator.cpp.

◆ qTriangulate() [1/3]

QTriangleSet qTriangulate ( const QPainterPath & path,
const QTransform & matrix,
qreal lod,
bool allowUintIndices )

Definition at line 2276 of file qtriangulator.cpp.

◆ qTriangulate() [2/3]

Q_GUI_EXPORT QTriangleSet qTriangulate ( const qreal * polygon,
int count,
uint hint,
const QTransform & matrix,
bool allowUintIndices )

Definition at line 2231 of file qtriangulator.cpp.

◆ qTriangulate() [3/3]

Q_GUI_EXPORT QTriangleSet qTriangulate ( const QVectorPath & path,
const QTransform & matrix,
qreal lod,
bool allowUintIndices )

Definition at line 2253 of file qtriangulator.cpp.