| Index: experimental/Intersection/CubicBounds.cpp
|
| diff --git a/experimental/Intersection/CubicBounds.cpp b/experimental/Intersection/CubicBounds.cpp
|
| deleted file mode 100644
|
| index 7fd9feff6fa557490ba0868dc368ffc038874985..0000000000000000000000000000000000000000
|
| --- a/experimental/Intersection/CubicBounds.cpp
|
| +++ /dev/null
|
| @@ -1,66 +0,0 @@
|
| -/*
|
| - * Copyright 2012 Google Inc.
|
| - *
|
| - * Use of this source code is governed by a BSD-style license that can be
|
| - * found in the LICENSE file.
|
| - */
|
| -#include "CurveIntersection.h"
|
| -#include "CurveUtilities.h"
|
| -#include "Extrema.h"
|
| -
|
| -static int isBoundedByEndPoints(double a, double b, double c, double d)
|
| -{
|
| - return between(a, b, d) && between(a, c, d);
|
| -}
|
| -
|
| -double leftMostT(const Cubic& cubic, double startT, double endT) {
|
| - double leftTs[2];
|
| - _Point pt[2];
|
| - int results = findExtrema(cubic[0].x, cubic[1].x, cubic[2].x, cubic[3].x, leftTs);
|
| - int best = -1;
|
| - for (int index = 0; index < results; ++index) {
|
| - if (startT > leftTs[index] || leftTs[index] > endT) {
|
| - continue;
|
| - }
|
| - if (best < 0) {
|
| - best = index;
|
| - continue;
|
| - }
|
| - xy_at_t(cubic, leftTs[0], pt[0].x, pt[0].y);
|
| - xy_at_t(cubic, leftTs[1], pt[1].x, pt[1].y);
|
| - if (pt[0].x > pt[1].x) {
|
| - best = 1;
|
| - }
|
| - }
|
| - if (best >= 0) {
|
| - return leftTs[best];
|
| - }
|
| - xy_at_t(cubic, startT, pt[0].x, pt[0].y);
|
| - xy_at_t(cubic, endT, pt[1].x, pt[1].y);
|
| - return pt[0].x <= pt[1].x ? startT : endT;
|
| -}
|
| -
|
| -void _Rect::setBounds(const Cubic& cubic) {
|
| - set(cubic[0]);
|
| - add(cubic[3]);
|
| - double tValues[4];
|
| - int roots = 0;
|
| - if (!isBoundedByEndPoints(cubic[0].x, cubic[1].x, cubic[2].x, cubic[3].x)) {
|
| - roots = findExtrema(cubic[0].x, cubic[1].x, cubic[2].x, cubic[3].x, tValues);
|
| - }
|
| - if (!isBoundedByEndPoints(cubic[0].y, cubic[1].y, cubic[2].y, cubic[3].y)) {
|
| - roots += findExtrema(cubic[0].y, cubic[1].y, cubic[2].y, cubic[3].y, &tValues[roots]);
|
| - }
|
| - for (int x = 0; x < roots; ++x) {
|
| - _Point result;
|
| - xy_at_t(cubic, tValues[x], result.x, result.y);
|
| - add(result);
|
| - }
|
| -}
|
| -
|
| -void _Rect::setRawBounds(const Cubic& cubic) {
|
| - set(cubic[0]);
|
| - for (int x = 1; x < 4; ++x) {
|
| - add(cubic[x]);
|
| - }
|
| -}
|
|
|