Flutter Engine
The Flutter Engine
|
#include "include/core/SkPoint.h"
#include "include/core/SkScalar.h"
#include "include/core/SkTypes.h"
#include "include/private/base/SkDebug.h"
#include "include/private/base/SkTArray.h"
#include "src/base/SkArenaAlloc.h"
#include "src/base/SkRandom.h"
#include "src/base/SkTSort.h"
#include "src/pathops/SkIntersections.h"
#include "src/pathops/SkOpAngle.h"
#include "src/pathops/SkOpContour.h"
#include "src/pathops/SkOpSegment.h"
#include "src/pathops/SkPathOpsLine.h"
#include "src/pathops/SkPathOpsPoint.h"
#include "src/pathops/SkPathOpsQuad.h"
#include "src/pathops/SkPathOpsRect.h"
#include "src/pathops/SkPathOpsTypes.h"
#include "tests/PathOpsTestCommon.h"
#include "tests/Test.h"
#include <algorithm>
#include <array>
#include <cfloat>
#include <cmath>
Go to the source code of this file.
Classes | |
class | PathOpsAngleTester |
struct | TRange |
Functions | |
static double | testArc (skiatest::Reporter *reporter, const SkDQuad &quad, const SkDQuad &arcRef, int octant) |
static void | orderQuads (skiatest::Reporter *reporter, const SkDQuad &quad, double radius, TArray< double, false > *tArray) |
static double | quadAngle (skiatest::Reporter *reporter, const SkDQuad &quad, double t) |
static bool | angleDirection (double a1, double a2) |
static void | setQuadHullSweep (const SkDQuad &quad, SkDVector sweep[2]) |
static double | distEndRatio (double dist, const SkDQuad &quad) |
static bool | checkParallel (skiatest::Reporter *reporter, const SkDQuad &quad1, const SkDQuad &quad2) |
static int | quadHullsOverlap (skiatest::Reporter *reporter, const SkDQuad &quad1, const SkDQuad &quad2) |
static double | radianSweep (double start, double end) |
static bool | radianBetween (double start, double test, double end) |
static bool | orderTRange (skiatest::Reporter *reporter, const SkDQuad &quad1, const SkDQuad &quad2, double r, TRange *result) |
static bool | equalPoints (const SkDPoint &pt1, const SkDPoint &pt2, double max) |
static double | maxDist (const SkDQuad &quad) |
static double | maxQuad (const SkDQuad &quad) |
static bool | bruteMinT (skiatest::Reporter *reporter, const SkDQuad &quad1, const SkDQuad &quad2, TRange *lowerRange, TRange *upperRange) |
static void | bruteForce (skiatest::Reporter *reporter, const SkDQuad &quad1, const SkDQuad &quad2, bool ccw) |
static bool | bruteForceCheck (skiatest::Reporter *reporter, const SkDQuad &quad1, const SkDQuad &quad2, bool ccw) |
static void | makeSegment (SkOpContour *contour, const SkDQuad &quad, SkPoint shortQuad[3]) |
static void | testQuadAngles (skiatest::Reporter *reporter, const SkDQuad &quad1, const SkDQuad &quad2, int testNo, SkArenaAlloc *allocator) |
DEF_TEST (PathOpsAngleOverlapHullsOne, reporter) | |
DEF_TEST (PathOpsAngleOverlapHulls, reporter) | |
DEF_TEST (PathOpsAngleBruteT, reporter) | |
DEF_TEST (PathOpsAngleBruteTOne, reporter) | |
static double | endCtrlRatio (const SkDQuad quad) |
static void | computeMV (const SkDQuad &quad, const SkDVector &v, double m, SkDVector mV[2]) |
static double | mDistance (skiatest::Reporter *reporter, bool agrees, const SkDQuad &q1, const SkDQuad &q2) |
static void | midPointAgrees (skiatest::Reporter *reporter, const SkDQuad &q1, const SkDQuad &q2, bool ccw) |
DEF_TEST (PathOpsAngleExtreme, reporter) | |
Variables | |
static bool | gPathOpsAngleIdeasVerbose = false |
static bool | gPathOpsAngleIdeasEnableBruteCheck = false |
static const QuadPts | extremeTests [][2] |
|
static |
Definition at line 131 of file PathOpsAngleIdeas.cpp.
|
static |
Definition at line 409 of file PathOpsAngleIdeas.cpp.
|
static |
Definition at line 421 of file PathOpsAngleIdeas.cpp.
|
static |
Definition at line 303 of file PathOpsAngleIdeas.cpp.
|
static |
Definition at line 147 of file PathOpsAngleIdeas.cpp.
|
static |
Definition at line 763 of file PathOpsAngleIdeas.cpp.
DEF_TEST | ( | PathOpsAngleBruteT | , |
reporter | |||
) |
Definition at line 622 of file PathOpsAngleIdeas.cpp.
DEF_TEST | ( | PathOpsAngleBruteTOne | , |
reporter | |||
) |
Definition at line 667 of file PathOpsAngleIdeas.cpp.
DEF_TEST | ( | PathOpsAngleExtreme | , |
reporter | |||
) |
Definition at line 823 of file PathOpsAngleIdeas.cpp.
DEF_TEST | ( | PathOpsAngleOverlapHulls | , |
reporter | |||
) |
Definition at line 590 of file PathOpsAngleIdeas.cpp.
DEF_TEST | ( | PathOpsAngleOverlapHullsOne | , |
reporter | |||
) |
Definition at line 575 of file PathOpsAngleIdeas.cpp.
|
static |
Definition at line 141 of file PathOpsAngleIdeas.cpp.
|
static |
Definition at line 273 of file PathOpsAngleIdeas.cpp.
|
static |
Definition at line 429 of file PathOpsAngleIdeas.cpp.
|
static |
Definition at line 278 of file PathOpsAngleIdeas.cpp.
|
static |
|
static |
Definition at line 770 of file PathOpsAngleIdeas.cpp.
|
static |
Definition at line 814 of file PathOpsAngleIdeas.cpp.
|
static |
Definition at line 92 of file PathOpsAngleIdeas.cpp.
|
static |
Definition at line 246 of file PathOpsAngleIdeas.cpp.
|
static |
Definition at line 124 of file PathOpsAngleIdeas.cpp.
|
static |
Definition at line 181 of file PathOpsAngleIdeas.cpp.
|
static |
Definition at line 238 of file PathOpsAngleIdeas.cpp.
|
static |
Definition at line 228 of file PathOpsAngleIdeas.cpp.
Definition at line 136 of file PathOpsAngleIdeas.cpp.
|
static |
Definition at line 59 of file PathOpsAngleIdeas.cpp.
|
static |
Definition at line 436 of file PathOpsAngleIdeas.cpp.
|
static |
Definition at line 702 of file PathOpsAngleIdeas.cpp.
|
static |
Definition at line 35 of file PathOpsAngleIdeas.cpp.
|
static |
Definition at line 34 of file PathOpsAngleIdeas.cpp.