/misc/src/release/graphviz-2.18-1/src/graphviz-2.18/lib/neatogen/poly.c File Reference

#include "neato.h"
#include <assert.h>
#include <string.h>
#include <math.h>
#include "poly.h"
#include "mem.h"

Include dependency graph for poly.c:

Go to the source code of this file.

Defines

#define BOX   1
#define ISBOX(p)   ((p)->kind & BOX)
#define CIRCLE   2
#define ISCIRCLE(p)   ((p)->kind & CIRCLE)
#define PUTPT(P, X, Y)   ((P).x=(X),(P).y=(Y))
#define Pin   1
#define Qin   2
#define Unknown   0
#define advance(A, B, N)   (B++, A = (A+1)%N)

Functions

void polyFree ()
void breakPoly (Poly *pp)
void makePoly (Poly *pp, Agnode_t *n, double margin)
int polyOverlap (Point p, Poly *pp, Point q, Poly *qp)


Define Documentation

#define advance ( A,
B,
 )     (B++, A = (A+1)%N)

Definition at line 269 of file poly.c.

Referenced by re_search_2().

#define BOX   1

Definition at line 28 of file poly.c.

#define CIRCLE   2

Definition at line 30 of file poly.c.

Referenced by makePoly().

#define ISBOX (  )     ((p)->kind & BOX)

Definition at line 29 of file poly.c.

Referenced by polyOverlap().

#define ISCIRCLE (  )     ((p)->kind & CIRCLE)

Definition at line 31 of file poly.c.

Referenced by polyOverlap().

#define Pin   1

Definition at line 265 of file poly.c.

#define PUTPT ( P,
X,
 )     ((P).x=(X),(P).y=(Y))

Definition at line 176 of file poly.c.

Referenced by makePoly().

#define Qin   2

Definition at line 266 of file poly.c.

#define Unknown   0

Definition at line 267 of file poly.c.


Function Documentation

void breakPoly ( Poly pp  ) 

Definition at line 49 of file poly.c.

References free(), and Poly::verts.

void makePoly ( Poly pp,
Agnode_t n,
double  margin 
)

Definition at line 178 of file poly.c.

References agerr(), AGERR, BOX, CIRCLE, Poly::corner, Poly::kind, box::LL, N_GNEW, ND_clust, ND_height, ND_shape, ND_shape_info, ND_width, Poly::nverts, Poly::origin, PUTPT, polygon_t::regular, SH_POINT, SH_POLY, SH_RECORD, shapeOf(), polygon_t::sides, streq, box::UR, polygon_t::vertices, Poly::verts, Point::x, pointf_s::x, point::x, Point::y, pointf_s::y, and point::y.

void polyFree ( void   ) 

Definition at line 38 of file poly.c.

References free(), and NULL.

int polyOverlap ( Point  p,
Poly pp,
Point  q,
Poly qp 
)

Definition at line 402 of file poly.c.

References addPt(), Poly::corner, ISBOX, ISCIRCLE, N_GNEW, NULL, Poly::nverts, Poly::origin, Poly::verts, Point::x, and Point::y.


Generated on Mon Mar 31 19:07:21 2008 for Graphviz by  doxygen 1.5.1