Lines Matching refs:points
312 pen_point **points, in li_recognizer_get_example() argument
334 *points = pl->pts; in li_recognizer_get_example()
980 static int lialg_preprocess_stroke(point_list *points) { in lialg_preprocess_stroke() argument
992 lialg_get_bounding_box(points, &minx, &miny, &maxx, &maxy); in lialg_preprocess_stroke()
999 if (lialg_translate_points(points, minx, miny, scale, scale) != 0) in lialg_preprocess_stroke()
1003 lialg_get_bounding_box(points, &minx, &miny, &maxx, &maxy); in lialg_preprocess_stroke()
1008 if (lialg_translate_points(points, xoff, yoff, 100, 100) != 0) return(-1); in lialg_preprocess_stroke()
1013 points->xrange = xrange; in lialg_preprocess_stroke()
1014 points->yrange = yrange; in lialg_preprocess_stroke()
1020 for (i = 0; i < points->npts; i++) in lialg_preprocess_stroke()
1021 fprint(2, " (%P)\n", points->pts[i].Point); in lialg_preprocess_stroke()
1029 static point_list *lialg_compute_dominant_points(point_list *points) { in lialg_compute_dominant_points() argument
1035 ipts = lialg_interpolate_points(points); in lialg_compute_dominant_points()
1076 static point_list *lialg_interpolate_points(point_list *points) { in lialg_interpolate_points() argument
1083 for (i = 0; i < (points->npts - 1); i++) { in lialg_interpolate_points()
1084 pen_point *pta = &(points->pts[i]); in lialg_interpolate_points()
1085 pen_point *ptb = &(points->pts[i+1]); in lialg_interpolate_points()
1090 maxpts += points->npts; in lialg_interpolate_points()
1103 for (i = 0; i < (points->npts - 1); i++) { in lialg_interpolate_points()
1104 pen_point *startpt = &(points->pts[i]); in lialg_interpolate_points()
1105 pen_point *endpt = &(points->pts[i+1]); in lialg_interpolate_points()
1113 newpts->pts[j++] = points->pts[points->npts - 1]; in lialg_interpolate_points()
1999 static int lialg_canonicalize_example_stroke(point_list *points) { in lialg_canonicalize_example_stroke() argument
2003 if (lialg_filter_points(points) != 0) return(-1); in lialg_canonicalize_example_stroke()
2006 if (points->npts < 2) { in lialg_canonicalize_example_stroke()
2009 points->npts); in lialg_canonicalize_example_stroke()
2015 lialg_get_bounding_box(points, &minx, &miny, &maxx, &maxy); in lialg_canonicalize_example_stroke()
2022 if (lialg_translate_points(points, minx, miny, scale, scale) != 0) { in lialg_canonicalize_example_stroke()
2030 if (lialg_compute_equipoints(points) != 0) return(-1); in lialg_canonicalize_example_stroke()
2033 lialg_get_bounding_box(points, &minx, &miny, &maxx, &maxy); in lialg_canonicalize_example_stroke()
2034 if (lialg_translate_points(points, minx, miny, 100, 100) != 0) { in lialg_canonicalize_example_stroke()
2044 points->xrange = xrange; in lialg_canonicalize_example_stroke()
2045 points->yrange = yrange; in lialg_canonicalize_example_stroke()
2050 for (i = 0; i < points->npts; i++) in lialg_canonicalize_example_stroke()
2051 fprint(2, " (%P)\n", points->pts[i].Point); in lialg_canonicalize_example_stroke()
2059 static int lialg_compute_equipoints(point_list *points) { in lialg_compute_equipoints() argument
2062 int pathlen = lialg_compute_pathlen(points); in lialg_compute_equipoints()
2076 points->npts, pathlen, equidist); in lialg_compute_equipoints()
2081 equipoints[0] = points->pts[0]; in lialg_compute_equipoints()
2085 for (i = 1; i < points->npts; i++) { in lialg_compute_equipoints()
2086 int dx1 = points->pts[i].x - points->pts[i-1].x; in lialg_compute_equipoints()
2087 int dy1 = points->pts[i].y - points->pts[i-1].y; in lialg_compute_equipoints()
2088 int endx = 100 * points->pts[i-1].x; in lialg_compute_equipoints()
2089 int endy = 100 * points->pts[i-1].y; in lialg_compute_equipoints()
2135 equipoints[nequipoints] = points->pts[points->npts - 1]; in lialg_compute_equipoints()
2145 points->npts = NCANONICAL; in lialg_compute_equipoints()
2146 delete_pen_point_array(points->pts); in lialg_compute_equipoints()
2147 points->pts = equipoints; in lialg_compute_equipoints()
2159 static int lialg_compute_pathlen(point_list *points) { in lialg_compute_pathlen() argument
2160 return(lialg_compute_pathlen_subset(points, 0, points->npts - 1)); in lialg_compute_pathlen()
2165 static int lialg_compute_pathlen_subset(point_list *points, in lialg_compute_pathlen_subset() argument
2172 int dx = points->pts[i].x - points->pts[i-1].x; in lialg_compute_pathlen_subset()
2173 int dy = points->pts[i].y - points->pts[i-1].y; in lialg_compute_pathlen_subset()
2183 static int lialg_filter_points(point_list *points) { in lialg_filter_points() argument
2185 pen_point *filtered_pts = mallocz(points->npts*sizeof(pen_point), 1); in lialg_filter_points()
2193 filtered_pts[0] = points->pts[0]; in lialg_filter_points()
2195 for (i = 1; i < points->npts; i++) { in lialg_filter_points()
2197 int dx = points->pts[i].x - filtered_pts[j].x; in lialg_filter_points()
2198 int dy = points->pts[i].y - filtered_pts[j].y; in lialg_filter_points()
2202 filtered_pts[filtered_npts] = points->pts[i]; in lialg_filter_points()
2207 points->npts = filtered_npts; in lialg_filter_points()
2208 delete_pen_point_array(points->pts); in lialg_filter_points()
2209 points->pts = filtered_pts; in lialg_filter_points()
2216 static int lialg_translate_points(point_list *points, in lialg_translate_points() argument
2221 for (i = 0; i < points->npts; i++) { in lialg_translate_points()
2222 points->pts[i].x = ((points->pts[i].x - minx) * scalex + 50) / 100; in lialg_translate_points()
2223 points->pts[i].y = ((points->pts[i].y - miny) * scaley + 50) / 100; in lialg_translate_points()
2230 static void lialg_get_bounding_box(point_list *points, in lialg_get_bounding_box() argument
2236 minx = maxx = points->pts[0].x; in lialg_get_bounding_box()
2237 miny = maxy = points->pts[0].y; in lialg_get_bounding_box()
2238 for (i = 1; i < points->npts; i++) { in lialg_get_bounding_box()
2239 pen_point *pt = &(points->pts[i]); in lialg_get_bounding_box()