#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include "potracelib.h"
#include "curve.h"
#include "lists.h"
#include "auxiliary.h"
#include "trace.h"
#include "progress.h"
Go to the source code of this file.
Classes | |
struct | opti_s |
Defines | |
#define | COS179 -0.999847695156 /* the cosine of 179 degrees */ |
#define | INFTY |
#define | SAFE_MALLOC(var, n, typ) if ((var = (typ *)malloc((n)*sizeof(typ))) == NULL) goto malloc_error |
#define | TRY(x) if (x) goto try_error |
Typedefs | |
typedef struct opti_s | opti_t |
typedef double | quadform_t [3][3] |
Functions | |
static int | adjust_vertices (privpath_t *pp) |
static int | bestpolygon (privpath_t *pp) |
static dpoint_t | bezier (double t, dpoint_t p0, dpoint_t p1, dpoint_t p2, dpoint_t p3) |
static int | calc_lon (privpath_t *pp) |
static int | calc_sums (privpath_t *pp) |
static double | cprod (dpoint_t p0, dpoint_t p1, dpoint_t p2, dpoint_t p3) |
static int | cyclic (int a, int b, int c) |
static double | ddenom (dpoint_t p0, dpoint_t p2) |
static double | ddist (dpoint_t p, dpoint_t q) |
static point_t | dorth_infty (dpoint_t p0, dpoint_t p2) |
static double | dpara (dpoint_t p0, dpoint_t p1, dpoint_t p2) |
static double | iprod (dpoint_t p0, dpoint_t p1, dpoint_t p2) |
static double | iprod1 (dpoint_t p0, dpoint_t p1, dpoint_t p2, dpoint_t p3) |
static int | opti_penalty (privpath_t *pp, int i, int j, opti_t *res, double opttolerance, int *convc, double *areac) |
static int | opticurve (privpath_t *pp, double opttolerance) |
static double | penalty3 (privpath_t *pp, int i, int j) |
static void | pointslope (privpath_t *pp, int i, int j, dpoint_t *ctr, dpoint_t *dir) |
int | process_path (path_t *plist, const potrace_param_t *param, progress_t *progress) |
static double | quadform (quadform_t Q, dpoint_t w) |
static int | smooth (privcurve_t *curve, int sign, double alphamax) |
static double | tangent (dpoint_t p0, dpoint_t p1, dpoint_t p2, dpoint_t p3, dpoint_t q0, dpoint_t q1) |
static int | xprod (point_t p1, point_t p2) |
#define COS179 -0.999847695156 /* the cosine of 179 degrees */ |
Definition at line 21 of file src/trace.c.
#define INFTY |
10000000 /* it suffices that this is longer than any path; it need not be really infinite */
Definition at line 20 of file src/trace.c.
#define SAFE_MALLOC | ( | var, | |
n, | |||
typ | |||
) | if ((var = (typ *)malloc((n)*sizeof(typ))) == NULL) goto malloc_error |
Definition at line 24 of file src/trace.c.
Definition at line 1186 of file src/trace.c.
Definition at line 900 of file src/trace.c.
typedef double quadform_t[3][3] |
Definition at line 142 of file src/trace.c.
static int adjust_vertices | ( | privpath_t * | pp | ) | [static] |
Definition at line 631 of file src/trace.c.
static int bestpolygon | ( | privpath_t * | pp | ) | [static] |
Definition at line 516 of file src/trace.c.
static dpoint_t bezier | ( | double | t, |
dpoint_t | p0, | ||
dpoint_t | p1, | ||
dpoint_t | p2, | ||
dpoint_t | p3 | ||
) | [inline, static] |
Definition at line 210 of file src/trace.c.
static int calc_lon | ( | privpath_t * | pp | ) | [static] |
Definition at line 321 of file src/trace.c.
static int calc_sums | ( | privpath_t * | pp | ) | [static] |
Definition at line 264 of file src/trace.c.
Definition at line 169 of file src/trace.c.
static int cyclic | ( | int | a, |
int | b, | ||
int | c | ||
) | [inline, static] |
Definition at line 62 of file src/trace.c.
Definition at line 55 of file src/trace.c.
Definition at line 205 of file src/trace.c.
static point_t dorth_infty | ( | dpoint_t | p0, |
dpoint_t | p2 | ||
) | [inline, static] |
Definition at line 32 of file src/trace.c.
Definition at line 42 of file src/trace.c.
Definition at line 181 of file src/trace.c.
Definition at line 193 of file src/trace.c.
static int opti_penalty | ( | privpath_t * | pp, |
int | i, | ||
int | j, | ||
opti_t * | res, | ||
double | opttolerance, | ||
int * | convc, | ||
double * | areac | ||
) | [static] |
Definition at line 905 of file src/trace.c.
static int opticurve | ( | privpath_t * | pp, |
double | opttolerance | ||
) | [static] |
Definition at line 1046 of file src/trace.c.
static double penalty3 | ( | privpath_t * | pp, |
int | i, | ||
int | j | ||
) | [static] |
Definition at line 474 of file src/trace.c.
static void pointslope | ( | privpath_t * | pp, |
int | i, | ||
int | j, | ||
dpoint_t * | ctr, | ||
dpoint_t * | dir | ||
) | [static] |
Definition at line 72 of file src/trace.c.
int process_path | ( | path_t * | plist, |
const potrace_param_t * | param, | ||
progress_t * | progress | ||
) |
Definition at line 1189 of file src/trace.c.
static double quadform | ( | quadform_t | Q, |
dpoint_t | w | ||
) | [inline, static] |
Definition at line 145 of file src/trace.c.
static int smooth | ( | privcurve_t * | curve, |
int | sign, | ||
double | alphamax | ||
) | [static] |
Definition at line 831 of file src/trace.c.
static double tangent | ( | dpoint_t | p0, |
dpoint_t | p1, | ||
dpoint_t | p2, | ||
dpoint_t | p3, | ||
dpoint_t | q0, | ||
dpoint_t | q1 | ||
) | [static] |
Definition at line 227 of file src/trace.c.
Definition at line 164 of file src/trace.c.