blob: 326b28e4df46b445bf628f3ce26da082f0991d62 [file] [log] [blame]
caryclark@google.com27accef2012-01-25 18:57:23 +00001// included by QuadraticParameterization.cpp
2// accesses internal functions to validate parameterized coefficients
3
4bool point_on_parameterized_curve(const Quadratic& quad, const _Point& point) {
5 double coeffs[coeff_count];
6 implicit_coefficients(quad, coeffs);
7 double xx = coeffs[ xx_coeff] * point.x * point.x;
8 double xy = coeffs[ xy_coeff] * point.x * point.y;
9 double yy = coeffs[ yy_coeff] * point.y * point.y;
10 double x = coeffs[ x_coeff] * point.x;
11 double y = coeffs[ y_coeff] * point.y;
12 double c = coeffs[ c_coeff];
13 double sum = xx + xy + yy + x + y + c;
14 return approximately_zero(sum);
15}