mirror of
git://projects.qi-hardware.com/cae-tools.git
synced 2025-04-21 12:27:27 +03:00
poly2d/: Yet another 2D polygon library (WIP)
This commit is contained in:
96
poly2d/test/hsort
Executable file
96
poly2d/test/hsort
Executable file
@@ -0,0 +1,96 @@
|
||||
#!/bin/sh
|
||||
. ./Common
|
||||
|
||||
###############################################################################
|
||||
|
||||
tst "hierarchical sort with one hole" <<EOF
|
||||
struct p2d *pl, *p;
|
||||
|
||||
pl = p = p2d_new();
|
||||
p2d_append(p, v2d_new(0, 0));
|
||||
p2d_append(p, v2d_new(20, 0));
|
||||
p2d_append(p, v2d_new(20, 10));
|
||||
p2d_append(p, v2d_new(0, 10));
|
||||
p2d_close(p);
|
||||
|
||||
p = p->next = p2d_new();
|
||||
p2d_append(p, v2d_new(2, 2));
|
||||
p2d_append(p, v2d_new(2, 8));
|
||||
p2d_append(p, v2d_new(18, 8));
|
||||
p2d_append(p, v2d_new(18, 2));
|
||||
p2d_close(p);
|
||||
|
||||
print_hier(p2d_hsort(pl));
|
||||
EOF
|
||||
|
||||
expect <<EOF
|
||||
0 0 20 0 20 10 0 10
|
||||
2 2 2 8 18 8 18 2
|
||||
EOF
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
tst "hierarchical sort with two holes" <<EOF
|
||||
struct p2d *pl, *p;
|
||||
|
||||
pl = p = p2d_new();
|
||||
p2d_append(p, v2d_new(0, 0));
|
||||
p2d_append(p, v2d_new(10, 0));
|
||||
p2d_append(p, v2d_new(10, 10));
|
||||
p2d_close(p);
|
||||
|
||||
p = p->next = p2d_new();
|
||||
p2d_append(p, v2d_new(2, 2));
|
||||
p2d_append(p, v2d_new(4, 2));
|
||||
p2d_append(p, v2d_new(4, 4));
|
||||
p2d_close(p);
|
||||
|
||||
p = p->next = p2d_new();
|
||||
p2d_append(p, v2d_new(6, 2));
|
||||
p2d_append(p, v2d_new(8, 2));
|
||||
p2d_append(p, v2d_new(8, 8));
|
||||
p2d_close(p);
|
||||
|
||||
print_hier(p2d_hsort(pl));
|
||||
EOF
|
||||
|
||||
expect <<EOF
|
||||
0 0 10 0 10 10
|
||||
2 2 4 2 4 4
|
||||
6 2 8 2 8 8
|
||||
EOF
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
tst "hierarchical sort with nested holes" <<EOF
|
||||
struct p2d *pl, *p;
|
||||
|
||||
pl = p = p2d_new();
|
||||
p2d_append(p, v2d_new(0, 0));
|
||||
p2d_append(p, v2d_new(10, 0));
|
||||
p2d_append(p, v2d_new(10, 10));
|
||||
p2d_close(p);
|
||||
|
||||
p = p->next = p2d_new();
|
||||
p2d_append(p, v2d_new(2, 2));
|
||||
p2d_append(p, v2d_new(8, 2));
|
||||
p2d_append(p, v2d_new(8, 8));
|
||||
p2d_close(p);
|
||||
|
||||
p = p->next = p2d_new();
|
||||
p2d_append(p, v2d_new(3, 3));
|
||||
p2d_append(p, v2d_new(7, 3));
|
||||
p2d_append(p, v2d_new(7, 7));
|
||||
p2d_close(p);
|
||||
|
||||
print_hier(p2d_hsort(pl));
|
||||
EOF
|
||||
|
||||
expect <<EOF
|
||||
0 0 10 0 10 10
|
||||
2 2 8 2 8 8
|
||||
3 3 7 3 7 7
|
||||
EOF
|
||||
|
||||
|
||||
###############################################################################
|
||||
Reference in New Issue
Block a user