#include <stdio.h>
+#include <assert.h>
#include "geom.h"
#include "dynarr.h"
va = poly->verts[1].pos;
cgm_vsub(&va, &poly->verts[0].pos);
vb = poly->verts[2].pos;
- cgm_vsub(&vb, &poly->verts[2].pos);
+ cgm_vsub(&vb, &poly->verts[0].pos);
cgm_vcross(n, &va, &vb);
cgm_vnormalize(n);
return t;
}
+int init_poly(struct poly *p)
+{
+ p->verts = dynarr_alloc(0, sizeof *p->verts);
+ assert(p->verts);
+ return p->verts ? 0 : -1;
+}
+
+void destroy_poly(struct poly *p)
+{
+ dynarr_free(p->verts);
+}
/* returns:
* 1 -> both inside
int i, nextidx, res = 0, vnum;
int edges_clipped = 0;
- dynarr_clear(pout->verts);
+ DYNARR_CLEAR(pout->verts);
vnum = dynarr_size(pin->verts);
for(i=0; i<vnum; i++) {