From 73ca6243b31e225e9fd5b75a96cbc82d62557de6 Mon Sep 17 00:00:00 2001 From: "caryclark@google.com" Date: Thu, 17 Jan 2013 21:02:47 +0000 Subject: 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 --- experimental/Intersection/CubicUtilities.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'experimental/Intersection/CubicUtilities.h') 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& quadratics); +void cubic_to_quadratics(const Cubic& cubic, double precision, SkTDArray& 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); -- cgit v1.2.3