LMMS
Loading...
Searching...
No Matches
lice_bezier.h File Reference
#include "lice.h"
#include <math.h>

Go to the source code of this file.

Macros

#define CBEZ_ITERS   8
#define EVAL_CBEZ(tx, a, b, c, d, t)
#define EVAL_CBEZXY(tx, ty, ax, bx, cx, dx, ay, by, cy, dy, t)

Functions

template<class T>
void LICE_Bezier (T ctrl_x1, T ctrl_x2, T ctrl_x3, T ctrl_y1, T ctrl_y2, T ctrl_y3, double t, T *pX, T *pY)
template<class T>
void LICE_CBezier_GetCoeffs (T ctrl_x1, T ctrl_x2, T ctrl_x3, T ctrl_x4, T ctrl_y1, T ctrl_y2, T ctrl_y3, T ctrl_y4, double *pAX, double *pBX, double *pCX, double *pAY, double *pBY, double *pCY)
template<class T>
void LICE_CBezier (T ctrl_x1, T ctrl_x2, T ctrl_x3, T ctrl_x4, T ctrl_y1, T ctrl_y2, T ctrl_y3, T ctrl_y4, double t, T *pX, T *pY)
template<class T>
LICE_Bezier_GetY (T ctrl_x1, T ctrl_x2, T ctrl_x3, T ctrl_y1, T ctrl_y2, T ctrl_y3, T x, double *pt=0)
template<class T>
void LICE_Bezier_Norm (T ctrl_x2, T ctrl_y2, double t, T *pX, T *pY)
template<class T>
LICE_Bezier_GetY_Norm (T ctrl_x2, T ctrl_y2, T x)
template<class T>
void LICE_Bezier_FindCardinalCtlPts (double alpha, T x1, T x2, T x3, T y1, T y2, T y3, T *ctrl_x2a, T *ctrl_x2b, T *ctrl_y2a, T *ctrl_y2b)
template<class T>
void LICE_QNurbs (T *pDest, int pDest_sz, int *pX, T *pY, int n)
template<class T>
LICE_CBezier_GetY (T ctrl_x1, T ctrl_x2, T ctrl_x3, T ctrl_x4, T ctrl_y1, T ctrl_y2, T ctrl_y3, T ctrl_y4, T x, T *pNextX=0, T *pdYdX=0, double *ptLo=0, double *ptHi=0)

Macro Definition Documentation

◆ CBEZ_ITERS

#define CBEZ_ITERS   8

◆ EVAL_CBEZ

#define EVAL_CBEZ ( tx,
a,
b,
c,
d,
t )
Value:
{ \
double _t2=t*t; \
tx=(a*t*_t2+b*_t2+c*t+d); \
}
uint8_t a
Definition Spc_Cpu.h:141
struct huft * t
Definition inflate.c:943
unsigned d
Definition inflate.c:940
return c
Definition crypt.c:175
b
Definition crypt.c:628

◆ EVAL_CBEZXY

#define EVAL_CBEZXY ( tx,
ty,
ax,
bx,
cx,
dx,
ay,
by,
cy,
dy,
t )
Value:
{ \
double _t2=t*t; \
double _t3=t*_t2; \
tx=ax*_t3+bx*_t2+cx*t+dx; \
ty=ay*_t3+by*_t2+cy*t+dy; \
}
dy
Definition zipinfo.c:2288

Function Documentation

◆ LICE_Bezier()

template<class T>
void LICE_Bezier ( T ctrl_x1,
T ctrl_x2,
T ctrl_x3,
T ctrl_y1,
T ctrl_y2,
T ctrl_y3,
double t,
T * pX,
T * pY )

◆ LICE_Bezier_FindCardinalCtlPts()

template<class T>
void LICE_Bezier_FindCardinalCtlPts ( double alpha,
T x1,
T x2,
T x3,
T y1,
T y2,
T y3,
T * ctrl_x2a,
T * ctrl_x2b,
T * ctrl_y2a,
T * ctrl_y2b )

◆ LICE_Bezier_GetY()

template<class T>
T LICE_Bezier_GetY ( T ctrl_x1,
T ctrl_x2,
T ctrl_x3,
T ctrl_y1,
T ctrl_y2,
T ctrl_y3,
T x,
double * pt = 0 )

◆ LICE_Bezier_GetY_Norm()

template<class T>
T LICE_Bezier_GetY_Norm ( T ctrl_x2,
T ctrl_y2,
T x )

◆ LICE_Bezier_Norm()

template<class T>
void LICE_Bezier_Norm ( T ctrl_x2,
T ctrl_y2,
double t,
T * pX,
T * pY )

◆ LICE_CBezier()

template<class T>
void LICE_CBezier ( T ctrl_x1,
T ctrl_x2,
T ctrl_x3,
T ctrl_x4,
T ctrl_y1,
T ctrl_y2,
T ctrl_y3,
T ctrl_y4,
double t,
T * pX,
T * pY )

◆ LICE_CBezier_GetCoeffs()

template<class T>
void LICE_CBezier_GetCoeffs ( T ctrl_x1,
T ctrl_x2,
T ctrl_x3,
T ctrl_x4,
T ctrl_y1,
T ctrl_y2,
T ctrl_y3,
T ctrl_y4,
double * pAX,
double * pBX,
double * pCX,
double * pAY,
double * pBY,
double * pCY )

◆ LICE_CBezier_GetY()

template<class T>
T LICE_CBezier_GetY ( T ctrl_x1,
T ctrl_x2,
T ctrl_x3,
T ctrl_x4,
T ctrl_y1,
T ctrl_y2,
T ctrl_y3,
T ctrl_y4,
T x,
T * pNextX = 0,
T * pdYdX = 0,
double * ptLo = 0,
double * ptHi = 0 )

◆ LICE_QNurbs()

template<class T>
void LICE_QNurbs ( T * pDest,
int pDest_sz,
int * pX,
T * pY,
int n )
inline