Scribus
Open source desktop publishing at your fingertips
bezier-utils.cpp File Reference
#include "bezier-utils.h"
#include "isnan.h"
#include <assert.h>
Include dependency graph for bezier-utils.cpp:

Namespaces

 Geom
 

Macros

#define __SP_BEZIER_UTILS_C__
 
#define SP_HUGE   1e5
 
#define noBEZIER_DEBUG
 
#define B0(u)   ( ( 1.0 - u ) * ( 1.0 - u ) * ( 1.0 - u ) )
 
#define B1(u)   ( 3 * u * ( 1.0 - u ) * ( 1.0 - u ) )
 
#define B2(u)   ( 3 * u * u * ( 1.0 - u ) )
 
#define B3(u)   ( u * u * u )
 
#define DOUBLE_ASSERT(x)   do { } while(0)
 
#define BEZIER_ASSERT(b)   do { } while(0)
 

Typedefs

typedef Point Geom::BezierCurve[]
 

Functions

int Geom::bezier_fit_cubic (Point *bezier, Point const *data, int len, double error)
 
int Geom::bezier_fit_cubic_r (Point bezier[], Point const data[], int const len, double const error, unsigned const max_beziers)
 
int Geom::bezier_fit_cubic_full (Point bezier[], int split_points[], Point const data[], int const len, Point const &tHat1, Point const &tHat2, double const error, unsigned const max_beziers)
 
Point Geom::bezier_pt (unsigned const degree, Point const V[], double const t)
 
Point Geom::darray_left_tangent (Point const d[], unsigned const len)
 
Point Geom::darray_left_tangent (Point const d[], unsigned const len, double const tolerance_sq)
 
Point Geom::darray_right_tangent (Point const d[], unsigned const len, double const tolerance_sq)
 

Detailed Description

Bezier interpolation for inkscape drawing code.