/misc/src/release/graphviz-2.18-1/src/graphviz-2.18/lib/common/splines.c File Reference

#include "render.h"

Include dependency graph for splines.c:

Go to the source code of this file.

Defines

#define FUDGE   2

Functions

void bezier_clip (inside_t *inside_context, boolean(*inside)(inside_t *inside_context, pointf p), pointf *sp, boolean left_inside)
void shape_clip (node_t *n, point curve[4])
beziernew_spline (edge_t *e, int sz)
void update_bb (graph_t *g, point pt)
void clip_and_install (edge_t *fe, node_t *hn, point *ps, int pn, splineInfo *info)
void add_box (path *P, box b)
void beginpath (path *P, edge_t *e, int et, pathend_t *endp, boolean merge)
void endpath (path *P, edge_t *e, int et, pathend_t *endp, boolean merge)
int selfRightSpace (edge_t *e)
void makeSelfEdge (path *P, edge_t *edges[], int ind, int cnt, int sizex, int sizey, splineInfo *sinfo)
void place_portlabel (edge_t *e, boolean head_p)
splinesgetsplinepoints (edge_t *e)


Define Documentation

#define FUDGE   2

Definition at line 388 of file splines.c.

Referenced by beginpath(), and endpath().


Function Documentation

void add_box ( path P,
box  b 
)

Definition at line 352 of file splines.c.

References path::boxes, box::LL, path::nbox, box::UR, point::x, and point::y.

void beginpath ( path P,
edge_t e,
int  et,
pathend_t endp,
boolean  merge 
)

Definition at line 391 of file splines.c.

References add_points(), assert, BOTTOM, pathend_t::boxes, pathend_t::boxn, port::constrained, path::data, ED_edge_type, ED_head_port, ED_tail_port, ED_to_orig, path::end, FALSE, FLATEDGE, FUDGE, GD_ranksep, Agnode_t::graph, LEFT, box::LL, path::llpp, path::lrpp, MAX, MIN, pathend_t::nb, path::nbox, ND_coord_i, ND_ht_i, ND_lw_i, ND_node_type, ND_rw_i, ND_shape, NORMAL, pathend_t::np, NULL, port::p, REGULAREDGE, RIGHT, SELFEDGE, pathend_t::sidemask, path::start, Agedge_t::tail, port::theta, TOP, TRUE, path::ulpp, box::UR, path::urpp, point::x, and point::y.

Referenced by makeSelfEdge().

void bezier_clip ( inside_t inside_context,
boolean(*)(inside_t *inside_context, pointf p)  inside,
pointf sp,
boolean  left_inside 
)

Definition at line 100 of file splines.c.

References ABS, Bezier(), FALSE, left, NULL, right, TRUE, pointf_s::x, and pointf_s::y.

Referenced by arrowEndClip(), and arrowStartClip().

void clip_and_install ( edge_t fe,
node_t hn,
point ps,
int  pn,
splineInfo info 
)

Definition at line 250 of file splines.c.

References inside_t::bp, ED_edge_type, ED_head_port, ED_tail_port, ED_to_orig, FALSE, Agnode_t::graph, bezier::list, inside_t::n, ND_coord_i, ND_shape, new_spline(), NORMAL, Agnodeinfo_t::order, Agnodeinfo_t::rank, inside_t::s, bezier::size, Agedge_t::tail, TRUE, Agnode_t::u, update_bb(), point::x, pointf_s::x, point::y, and pointf_s::y.

Referenced by makeSelfEdge(), and makeSpline().

void endpath ( path P,
edge_t e,
int  et,
pathend_t endp,
boolean  merge 
)

Definition at line 581 of file splines.c.

References add_points(), assert, BOTTOM, pathend_t::boxes, pathend_t::boxn, port::constrained, ED_edge_type, ED_head_port, ED_tail_port, ED_to_orig, path::end, FALSE, FLATEDGE, FUDGE, GD_ranksep, Agnode_t::graph, Agedge_t::head, LEFT, box::LL, M_PI, MAX, MIN, pathend_t::nb, ND_coord_i, ND_ht_i, ND_lw_i, ND_node_type, ND_rw_i, ND_shape, NORMAL, pathend_t::np, NULL, port::p, REGULAREDGE, RIGHT, SELFEDGE, pathend_t::sidemask, path::start, port::theta, TOP, TRUE, box::UR, point::x, and point::y.

Referenced by makeSelfEdge().

splines* getsplinepoints ( edge_t e  ) 

Definition at line 1410 of file splines.c.

References ED_edge_type, ED_spl, ED_to_orig, le, NORMAL, and NULL.

Referenced by place_portlabel().

void makeSelfEdge ( path P,
edge_t edges[],
int  ind,
int  cnt,
int  sizex,
int  sizey,
splineInfo sinfo 
)

Definition at line 1264 of file splines.c.

References assert, beginpath(), BOTTOM, path::boxes, boxof(), clip_and_install(), ED_head_port, ED_label, ED_tail_port, endpath(), GD_flip, Agnode_t::graph, Agedge_t::head, LEFT, pathend_t::nb, path::nbox, ND_coord_i, ND_ht_i, ND_lw_i, ND_rw_i, RIGHT, routesplines(), SELFEDGE, splineInfo::splineMerge, Agedge_t::tail, TOP, TRUE, box::UR, point::x, and point::y.

bezier* new_spline ( edge_t e,
int  sz 
)

Definition at line 211 of file splines.c.

References ALLOC, ED_edge_type, ED_spl, ED_to_orig, bezier::eflag, FALSE, bezier::list, N_NEW, NEW, NORMAL, NULL, bezier::sflag, and bezier::size.

Referenced by clip_and_install().

void place_portlabel ( edge_t e,
boolean  head_p 
)

Definition at line 1361 of file splines.c.

References Bezier(), dist(), ED_edge_type, ED_head_label, ED_tail_label, bezier::eflag, bezier::ep, getsplinepoints(), IGNORED, bezier::list, splines::list, NULL, P2PF, bezier::sflag, bezier::size, splines::size, and bezier::sp.

int selfRightSpace ( edge_t e  ) 

Definition at line 1236 of file splines.c.

References BOTTOM, textlabel_t::dimen, ED_head_port, ED_label, ED_tail_port, GD_flip, Agnode_t::graph, Agedge_t::head, LEFT, SELF_EDGE_SIZE, TOP, pointf_s::x, and pointf_s::y.

void shape_clip ( node_t n,
point  curve[4] 
)

Definition at line 188 of file splines.c.

References inside_t::bp, inside_t::n, ND_coord_i, ND_rw_i, ND_shape, NULL, inside_t::s, point::x, pointf_s::x, point::y, and pointf_s::y.

void update_bb ( graph_t g,
point  pt 
)

Definition at line 231 of file splines.c.

References GD_bb, point::x, and point::y.

Referenced by clip_and_install().


Generated on Mon Mar 31 19:05:00 2008 for Graphviz by  doxygen 1.5.1