aboutsummaryrefslogtreecommitdiff
path: root/generic/Geo.h
diff options
context:
space:
mode:
authorlecoanet2000-05-11 14:05:15 +0000
committerlecoanet2000-05-11 14:05:15 +0000
commit4c9faffa908a0749968aed6638f6f54d42e1d3cb (patch)
tree81ad9ef2a3293fdf05e857cb6c5c18efb752ed6f /generic/Geo.h
parent3429ae57d958a08c6c5eac61015d14be71b91839 (diff)
downloadtkzinc-4c9faffa908a0749968aed6638f6f54d42e1d3cb.zip
tkzinc-4c9faffa908a0749968aed6638f6f54d42e1d3cb.tar.gz
tkzinc-4c9faffa908a0749968aed6638f6f54d42e1d3cb.tar.bz2
tkzinc-4c9faffa908a0749968aed6638f6f54d42e1d3cb.tar.xz
Ajout des fonctions de manipulation de la structure de polygone.
Exportation de la fonction de lissage par des Beziers. Ajout de la fonction d'interpolation par des Beziers.
Diffstat (limited to 'generic/Geo.h')
-rw-r--r--generic/Geo.h25
1 files changed, 23 insertions, 2 deletions
diff --git a/generic/Geo.h b/generic/Geo.h
index 60f7e1a..bdb7c80 100644
--- a/generic/Geo.h
+++ b/generic/Geo.h
@@ -74,6 +74,19 @@
void
+POLY_INIT(ZnPoly *poly);
+void
+POLY_CONTOUR1(ZnPoly *poly,
+ ZnPoint *pts,
+ int num_pts);
+void
+POLY_SET(ZnPoly *poly1,
+ ZnPoly *poly2);
+void
+POLY_FREE(ZnPoly *poly);
+
+
+void
Anchor2Origin(ZnPoint *position,
ZnDim width,
ZnDim height,
@@ -147,7 +160,8 @@ PolylineInBBox(ZnPoint *points,
int
PolygonInBBox(ZnPoint *points,
int num_points,
- ZnBBox *bbox);
+ ZnBBox *bbox,
+ ZnBool *area_enclosed);
int
OvalInBBox(ZnPoint *center,
@@ -258,7 +272,8 @@ BezierSubdivide(ZnPoint *controls,
ZnBool first);
void
-SmoothPathWithBezier(ZnList from_points,
+SmoothPathWithBezier(ZnPoint *from_points,
+ int num_points,
ZnList to_points);
void
@@ -272,6 +287,12 @@ GetArcPath(ZnReal start_angle,
ZnList to_points);
void
+FitBezier(ZnPoint *pts,
+ int num_points,
+ ZnReal error,
+ ZnList controls);
+
+void
GetLineEnd(ZnPoint *p1,
ZnPoint *p2,
unsigned int line_width,