/*
* Copyright 2015 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#include "SkIntersections.h"
#include "SkPathOpsConic.h"
#include "SkPathOpsLine.h"
class LineConicIntersections {
public:
LineConicIntersections(const SkDConic& c, const SkDLine& l, SkIntersections* i)
: fConic(c)
, fLine(l)
, fIntersections(i)
, fAllowNear(true) {
i->setMax(3); // allow short partial coincidence plus discrete intersection
}
void allowNear(bool allow) {
fAllowNear = allow;
}
int intersectRay(double roots[2]) {
return 0;
}
};
int SkIntersections::intersectRay(const SkDConic& conic, const SkDLine& line) {
LineConicIntersections c(conic, line, this);
fUsed = c.intersectRay(fT[0]);
for (int index = 0; index < fUsed; ++index) {
fPt[index] = conic.ptAtT(fT[0][index]);
}
return fUsed;
}