Lines Matching refs:path

41     at point \c i of \c path at curve parameter \c t.
43 void hpgs_bezier_path_delta(const hpgs_paint_path *path, int i,
51 p->x = 3.0* ((path->points[i+1].p.x-path->points[i].p.x)*tm*tm+
52 2.0 * (path->points[i+2].p.x-path->points[i+1].p.x) * tm*tp+
53 (path->points[i+3].p.x-path->points[i+2].p.x) * tp*tp);
55 p->y = 3.0 * ((path->points[i+1].p.y-path->points[i].p.y)*tm*tm+
56 2.0 * (path->points[i+2].p.y-path->points[i+1].p.y) * tm*tp+
57 (path->points[i+3].p.y-path->points[i+2].p.y) * tp*tp);
61 at point \c i of \c path at curve parameter \c t.
63 double hpgs_bezier_path_delta_x(const hpgs_paint_path *path, int i, double t)
70 return 3.0* ((path->points[i+1].p.x-path->points[i].p.x)*tm*tm+
71 2.0 * (path->points[i+2].p.x-path->points[i+1].p.x) * tm*tp+
72 (path->points[i+3].p.x-path->points[i+2].p.x) * tp*tp);
76 at point \c i of \c path at curve parameter \c t.
78 double hpgs_bezier_path_delta_y(const hpgs_paint_path *path, int i, double t)
85 return 3.0* ((path->points[i+1].p.y-path->points[i].p.y)*tm*tm+
86 2.0 * (path->points[i+2].p.y-path->points[i+1].p.y) * tm*tp+
87 (path->points[i+3].p.y-path->points[i+2].p.y) * tp*tp);
91 at point \c i of \c path at curve parameter \c t.
103 void hpgs_bezier_path_tangent(const hpgs_paint_path *path, int i,
107 hpgs_bezier_path_delta(path,i,t,p);
116 hpgs_bezier_path_point(path,i,t-1.0e-4,&p1);
118 hpgs_bezier_path_point(path,i,t,&p1);
121 hpgs_bezier_path_point(path,i,t+1.0e-4,p);
123 hpgs_bezier_path_point(path,i,t,p);
199 void hpgs_bezier_path_singularities(const hpgs_paint_path *path, int i,
205 (path->points[i+1].p.x-path->points[i].p.x)*(path->points[i+2].p.y-path->points[i+1].p.y) -
206 (path->points[i+1].p.y-path->points[i].p.y)*(path->points[i+2].p.x-path->points[i+1].p.x);
209 (path->points[i+1].p.x-path->points[i].p.x)*(path->points[i+3].p.y-path->points[i+2].p.y) -
210 (path->points[i+1].p.y-path->points[i].p.y)*(path->points[i+3].p.x-path->points[i+2].p.x);
213 (path->points[i+2].p.x-path->points[i+1].p.x)*(path->points[i+3].p.y-path->points[i+2].p.y) -
214 (path->points[i+2].p.y-path->points[i+1].p.y)*(path->points[i+3].p.x-path->points[i+2].p.x);
268 void hpgs_bezier_path_to_quadratic(const hpgs_paint_path *path, int i,
274 (path->points[i+1].p.x-path->points[i].p.x)*(path->points[i+2].p.y-path->points[i+1].p.y) -
275 (path->points[i+1].p.y-path->points[i].p.y)*(path->points[i+2].p.x-path->points[i+1].p.x);
278 (path->points[i+1].p.x-path->points[i].p.x)*(path->points[i+3].p.y-path->points[i+2].p.y) -
279 (path->points[i+1].p.y-path->points[i].p.y)*(path->points[i+3].p.x-path->points[i+2].p.x);
282 (path->points[i+2].p.x-path->points[i+1].p.x)*(path->points[i+3].p.y-path->points[i+2].p.y) -
283 (path->points[i+2].p.y-path->points[i+1].p.y)*(path->points[i+3].p.x-path->points[i+2].p.x);
331 xmax = xmin = path->points[i].p.x;
332 if (path->points[i+1].p.x > xmax) xmax = path->points[i+1].p.x;
333 if (path->points[i+2].p.x > xmax) xmax = path->points[i+2].p.x;
334 if (path->points[i+3].p.x > xmax) xmax = path->points[i+3].p.x;
335 if (path->points[i+1].p.x < xmin) xmin = path->points[i+1].p.x;
336 if (path->points[i+2].p.x < xmin) xmin = path->points[i+2].p.x;
337 if (path->points[i+3].p.x < xmin) xmin = path->points[i+3].p.x;
339 ymax = ymin = path->points[i].p.y;
340 if (path->points[i+1].p.y > ymax) ymax = path->points[i+1].p.y;
341 if (path->points[i+2].p.y > ymax) ymax = path->points[i+2].p.y;
342 if (path->points[i+3].p.y > ymax) ymax = path->points[i+3].p.y;
343 if (path->points[i+1].p.y < ymin) ymin = path->points[i+1].p.y;
344 if (path->points[i+2].p.y < ymin) ymin = path->points[i+2].p.y;
345 if (path->points[i+3].p.y < ymin) ymin = path->points[i+3].p.y;
374 hpgs_bezier_path_point(path,i,tpart[ipart],&p1);
375 hpgs_bezier_path_tangent(path,i,tpart[ipart],1,1.0e-3,&d1);
384 hpgs_bezier_path_point(path,i,t,&p2);
385 hpgs_bezier_path_tangent(path,i,t,j<n_splines ? 0 : -1,1.0e-3,&d2);
400 static double bezier_dl(const hpgs_paint_path *path, int i, double t)
407 return 3.0*hypot((path->points[i+1].p.x-path->points[i].p.x)*tm*tm+
408 2.0 * (path->points[i+2].p.x-path->points[i+1].p.x) * tm*tp+
409 (path->points[i+3].p.x-path->points[i+2].p.x) * tp*tp,
411 (path->points[i+1].p.y-path->points[i].p.y)*tm*tm+
412 2.0 * (path->points[i+2].p.y-path->points[i+1].p.y) * tm*tp+
413 (path->points[i+3].p.y-path->points[i+2].p.y) * tp*tp
424 const hpgs_paint_path *path, int i)
428 b->dl[0] = bezier_dl(path,i,-0.5);
437 b->dl[ip] = bezier_dl(path,i,(ip-8.0)*0.0625);
439 dlm0 = bezier_dl(path,i,(ip-(8.5+0.22360679774997896964))*0.0625);
440 dlm1 = bezier_dl(path,i,(ip-(8.5-0.22360679774997896964))*0.0625);
474 double hpgs_bezier_path_xmin (const hpgs_paint_path *path, int i)
477 path->points[i].p.x < path->points[i+1].p.x ?
478 path->points[i].p.x : path->points[i+1].p.x;
481 path->points[i+2].p.x < path->points[i+3].p.x ?
482 path->points[i+2].p.x : path->points[i+3].p.x;
489 double hpgs_bezier_path_xmax (const hpgs_paint_path *path, int i)
492 path->points[i].p.x > path->points[i+1].p.x ?
493 path->points[i].p.x : path->points[i+1].p.x;
496 path->points[i+2].p.x > path->points[i+3].p.x ?
497 path->points[i+2].p.x : path->points[i+3].p.x;
504 double hpgs_bezier_path_ymin (const hpgs_paint_path *path, int i)
507 path->points[i].p.y < path->points[i+1].p.y ?
508 path->points[i].p.y : path->points[i+1].p.y;
511 path->points[i+2].p.y < path->points[i+3].p.y ?
512 path->points[i+2].p.y : path->points[i+3].p.y;
519 double hpgs_bezier_path_ymax (const hpgs_paint_path *path, int i)
522 path->points[i].p.y > path->points[i+1].p.y ?
523 path->points[i].p.y : path->points[i+1].p.y;
526 path->points[i+2].p.y > path->points[i+3].p.y ?
527 path->points[i+2].p.y : path->points[i+3].p.y;
533 double hpgs_bezier_path_x (const hpgs_paint_path *path, int i, double t)
541 path->points[i].p.x *tm*tm*tm +
542 3.0 * tm*tp * (path->points[i+1].p.x * tm + path->points[i+2].p.x * tp) +
543 path->points[i+3].p.x * tp*tp*tp;
547 double hpgs_bezier_path_y (const hpgs_paint_path *path, int i, double t)
555 path->points[i].p.y *tm*tm*tm +
556 3.0 * tm*tp * (path->points[i+1].p.y * tm + path->points[i+2].p.y * tp) +
557 path->points[i+3].p.y * tp*tp*tp;
561 at point \c i of \c path at curve parameter \c t.
563 void hpgs_bezier_path_point(const hpgs_paint_path *path, int i,
572 path->points[i].p.x *tm*tm*tm +
573 3.0 * tm*tp * (path->points[i+1].p.x * tm + path->points[i+2].p.x * tp) +
574 path->points[i+3].p.x * tp*tp*tp;
577 path->points[i].p.y *tm*tm*tm +
578 3.0 * tm*tp * (path->points[i+1].p.y * tm + path->points[i+2].p.y * tp) +
579 path->points[i+3].p.y * tp*tp*tp;