Root/poly2d/test/forall

1#!/bin/sh
2. ./Common
3
4###############################################################################
5
6tst "forall_v2d_once, open polygon" <<EOF
7struct p2d *p = p2d_new();
8const struct v2d *v;
9
10p2d_append(p, v2d_new(0, 0));
11p2d_append(p, v2d_new(1, 0));
12p2d_append(p, v2d_new(2, 3));
13forall_v2d_once(v, p->v)
14    printf("%g %g\n", v->x, v->y);
15EOF
16
17expect <<EOF
180 0
191 0
202 3
21EOF
22
23#------------------------------------------------------------------------------
24
25tst "forall_v2d_once, closed polygon" <<EOF
26struct p2d *p = p2d_new();
27const struct v2d *v;
28
29p2d_append(p, v2d_new(0, 0));
30p2d_append(p, v2d_new(1, 0));
31p2d_append(p, v2d_new(2, 3));
32p2d_close(p);
33forall_v2d_once(v, p->v)
34    printf("%g %g\n", v->x, v->y);
35EOF
36
37expect <<EOF
380 0
391 0
402 3
41EOF
42
43#------------------------------------------------------------------------------
44
45tst "forall_v2d, open polygon" <<EOF
46struct p2d *p = p2d_new();
47const struct v2d *v;
48
49p2d_append(p, v2d_new(0, 0));
50p2d_append(p, v2d_new(1, 0));
51p2d_append(p, v2d_new(2, 3));
52forall_v2d(v, p->v)
53    printf("%g %g\n", v->x, v->y);
54EOF
55
56expect <<EOF
570 0
581 0
592 3
60EOF
61
62#------------------------------------------------------------------------------
63
64tst "forall_v2d, closed polygon" <<EOF
65struct p2d *p = p2d_new();
66const struct v2d *v;
67
68p2d_append(p, v2d_new(0, 0));
69p2d_append(p, v2d_new(1, 0));
70p2d_append(p, v2d_new(2, 3));
71p2d_close(p);
72forall_v2d(v, p->v)
73    printf("%g %g\n", v->x, v->y);
74EOF
75
76expect <<EOF
770 0
781 0
792 3
800 0
81EOF
82
83#------------------------------------------------------------------------------
84
85tst "forall_edges, open polygon" <<EOF
86struct p2d *p = p2d_new();
87const struct v2d *a, *b;
88
89p2d_append(p, v2d_new(0, 0));
90p2d_append(p, v2d_new(1, 0));
91p2d_append(p, v2d_new(2, 3));
92forall_edges(a, b, p->v)
93    printf("%g %g %g %g\n", a->x, a->y, b->x, b->y);
94EOF
95
96expect <<EOF
970 0 1 0
981 0 2 3
99EOF
100
101#------------------------------------------------------------------------------
102
103tst "forall_edges, closed polygon" <<EOF
104struct p2d *p = p2d_new();
105const struct v2d *a, *b;
106
107p2d_append(p, v2d_new(0, 0));
108p2d_append(p, v2d_new(1, 0));
109p2d_append(p, v2d_new(2, 3));
110p2d_close(p);
111forall_edges(a, b, p->v)
112    printf("%g %g %g %g\n", a->x, a->y, b->x, b->y);
113EOF
114
115expect <<EOF
1160 0 1 0
1171 0 2 3
1182 3 0 0
119EOF
120
121###############################################################################
122

Archive Download this file

Branches:
master



interactive