/misc/src/release/graphviz-2.18-1/src/graphviz-2.18/lib/common/geomprocs.h

Go to the documentation of this file.
00001 /* $Id: geomprocs.h,v 1.5 2006/12/07 22:49:35 erg Exp $ $Revision: 1.5 $ */
00002 /* vim:set shiftwidth=4 ts=8: */
00003 
00004 /**********************************************************
00005 *      This software is part of the graphviz package      *
00006 *                http://www.graphviz.org/                 *
00007 *                                                         *
00008 *            Copyright (c) 1994-2004 AT&T Corp.           *
00009 *                and is licensed under the                *
00010 *            Common Public License, Version 1.0           *
00011 *                      by AT&T Corp.                      *
00012 *                                                         *
00013 *        Information and Software Systems Research        *
00014 *              AT&T Research, Florham Park NJ             *
00015 **********************************************************/
00016 
00017 /* geometric functions (e.g. on points and boxes) with application to, but
00018  * no specific dependance on graphs */
00019 
00020 #ifndef GV_GEOMPROCS_H
00021 #define GV_GEOMPROCS_H
00022 
00023 #ifdef __cplusplus
00024 extern "C" {
00025 #endif
00026 
00027 extern point pointof(int, int);
00028 extern pointf pointfof(double, double);
00029 
00030 extern pointf cvt2ptf(point);
00031 extern point cvt2pt(pointf);
00032 
00033 extern point add_points(point, point);
00034 extern pointf add_pointfs(pointf, pointf);
00035 
00036 extern point sub_points(point, point);
00037 extern pointf sub_pointfs(pointf, pointf);
00038 
00039 extern point exch_xy(point p);
00040 extern pointf exch_xyf(pointf p);
00041 
00042 extern box boxof(int llx, int lly, int urx, int ury);
00043 extern boxf boxfof(double llx, double lly, double urx, double ury);
00044 
00045 extern box mkbox(point, point);
00046 extern boxf mkboxf(pointf, pointf);
00047 
00048 extern box box_bb(box, box);
00049 extern boxf boxf_bb(boxf, boxf);
00050 
00051 extern box box_intersect(box, box);
00052 extern boxf boxf_intersect(boxf, boxf);
00053 
00054 extern int box_overlap(box, box);
00055 extern int boxf_overlap(boxf, boxf);
00056 
00057 extern int box_contains(box, box);
00058 extern int boxf_contains(boxf, boxf);
00059 
00060 extern box flip_rec_box(box b, point p);
00061 
00062 extern double ptToLine2 (pointf l1, pointf l2, pointf p);
00063 
00064 extern int lineToBox(pointf p1, pointf p2, boxf b);
00065 
00066 extern point ccwrotatep(point p, int ccwrot);
00067 extern pointf ccwrotatepf(pointf p, int ccwrot);
00068 
00069 extern point cwrotatep(point p, int cwrot);
00070 extern pointf cwrotatepf(pointf p, int cwrot);
00071 
00072 extern void rect2poly(pointf *p);
00073 
00074 #ifdef __cplusplus
00075 }
00076 #endif
00077 
00078 #endif

Generated on Mon Mar 31 19:03:24 2008 for Graphviz by  doxygen 1.5.1