diff options
author | 2013-01-17 21:02:47 +0000 | |
---|---|---|
committer | 2013-01-17 21:02:47 +0000 | |
commit | 73ca6243b31e225e9fd5b75a96cbc82d62557de6 (patch) | |
tree | f23c55585c47e26f28afdd7b8635b7065a81f06b /experimental/Intersection/CubicUtilities.h | |
parent | 148a3961b1c82a891012f2feb2a875cea2593170 (diff) |
shape ops work in progress
mostly working on cubic/cubic intersect
git-svn-id: http://skia.googlecode.com/svn/trunk@7266 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'experimental/Intersection/CubicUtilities.h')
-rw-r--r-- | experimental/Intersection/CubicUtilities.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/experimental/Intersection/CubicUtilities.h b/experimental/Intersection/CubicUtilities.h index 890ff00732..6159472f7e 100644 --- a/experimental/Intersection/CubicUtilities.h +++ b/experimental/Intersection/CubicUtilities.h @@ -10,15 +10,18 @@ #include "DataTypes.h" #include "SkTDArray.h" +double calcPrecision(const Cubic& cubic); double cube_root(double x); int cubic_to_quadratics(const Cubic& cubic, double precision, SkTDArray<Quadratic>& quadratics); +void cubic_to_quadratics(const Cubic& cubic, double precision, SkTDArray<double>& ts); void coefficients(const double* cubic, double& A, double& B, double& C, double& D); int cubicRoots(double A, double B, double C, double D, double t[3]); +int cubicRootsX(double A, double B, double C, double D, double s[3]); +void demote_cubic_to_quad(const Cubic& cubic, Quadratic& quad); double derivativeAtT(const double* cubic, double t); -// competing version that should produce same results -double derivativeAtT_2(const double* cubic, double t); void dxdy_at_t(const Cubic& , double t, double& x, double& y); +int find_cubic_inflections(const Cubic& src, double tValues[]); bool rotate(const Cubic& cubic, int zero, int index, Cubic& rotPath); double secondDerivativeAtT(const double* cubic, double t); void xy_at_t(const Cubic& , double t, double& x, double& y); |