Logo Search packages:      
Sourcecode: inkscape version File versions

curve.cpp File Reference

Detailed Description

Routines for SPCurve and for NArtBpath arrays in general.

Definition in file curve.cpp.

#include <string.h>
#include <glib/gmem.h>
#include <display/curve.h>
#include <libnr/n-art-bpath.h>
#include <libnr/nr-point-matrix-ops.h>
#include <libnr/nr-translate-ops.h>
#include <cstring>
#include <string>

Go to the source code of this file.


#define __CURVE_C__
#define SP_CURVE_LENSTEP   32


static double bezier_len (NR::Point const &c0, NR::Point const &c1, NR::Point const &c2, NR::Point const &c3, double const threshold)
static bool is_moveto (NRPathcode const c)
static NArtBpath const * sp_bpath_check_subpath (NArtBpath const bpath[])
static NArtBpathsp_bpath_clean (NArtBpath const bpath[])
static bool sp_bpath_closed (NArtBpath const bpath[])
static bool sp_bpath_good (NArtBpath const bpath[])
static unsigned sp_bpath_length (NArtBpath const bpath[])
void sp_curve_append (SPCurve *curve, SPCurve const *curve2, bool use_lineto)
SPCurvesp_curve_append_continuous (SPCurve *c0, SPCurve const *c1, gdouble tolerance)
void sp_curve_backspace (SPCurve *curve)
void sp_curve_closepath (SPCurve *curve)
void sp_curve_closepath_current (SPCurve *curve)
SPCurvesp_curve_concat (GSList const *list)
SPCurvesp_curve_copy (SPCurve *curve)
void sp_curve_curveto (SPCurve *curve, gdouble x0, gdouble y0, gdouble x1, gdouble y1, gdouble x2, gdouble y2)
void sp_curve_curveto (SPCurve *curve, NR::Point const &p0, NR::Point const &p1, NR::Point const &p2)
static double sp_curve_distance_including_space (SPCurve const *const curve, double seg2len[])
bool sp_curve_empty (SPCurve *curve)
static void sp_curve_ensure_space (SPCurve *curve, gint space)
NArtBpathsp_curve_first_bpath (SPCurve const *curve)
NR::Point sp_curve_first_point (SPCurve const *const curve)
NArtBpathsp_curve_last_bpath (SPCurve const *curve)
NR::Point sp_curve_last_point (SPCurve const *const curve)
void sp_curve_lineto (SPCurve *curve, gdouble x, gdouble y)
void sp_curve_lineto (SPCurve *curve, NR::Point const &p)
void sp_curve_lineto_moving (SPCurve *curve, gdouble x, gdouble y)
void sp_curve_move_endpoints (SPCurve *curve, NR::Point const &new_p0, NR::Point const &new_p1)
void sp_curve_moveto (SPCurve *curve, NR::Point const &p)
void sp_curve_moveto (SPCurve *curve, gdouble x, gdouble y)
SPCurvesp_curve_new ()
SPCurvesp_curve_new_from_bpath (NArtBpath *bpath)
SPCurvesp_curve_new_from_foreign_bpath (NArtBpath const bpath[])
SPCurvesp_curve_new_from_rect (NR::Maybe< NR::Rect > const &rect)
SPCurvesp_curve_new_sized (gint length)
static double sp_curve_nonzero_distance_including_space (SPCurve const *const curve, double seg2len[])
NR::Point sp_curve_penultimate_point (SPCurve const *const curve)
SPCurvesp_curve_ref (SPCurve *curve)
void sp_curve_reset (SPCurve *curve)
SPCurvesp_curve_reverse (SPCurve const *curve)
NR::Point sp_curve_second_point (SPCurve const *const curve)
GSList * sp_curve_split (SPCurve const *curve)
void sp_curve_stretch_endpoints (SPCurve *curve, NR::Point const &new_p0, NR::Point const &new_p1)
void sp_curve_transform (SPCurve *const curve, NR::translate const &m)
void sp_curve_transform (SPCurve *const curve, NR::Matrix const &m)
SPCurvesp_curve_unref (SPCurve *curve)
template<class M>
static void tmpl_curve_transform (SPCurve *const curve, M const &m)

Generated by  Doxygen 1.6.0   Back to index