P2tTrianglePtrArray cdt_tris = p2t_cdt_get_triangles (cdt);
GHashTable *point_map = g_hash_table_new (g_direct_hash, g_direct_equal);
P2trCDT *rmesh = g_slice_new (P2trCDT);
+ GHashTableIter iter;
+ P2trPoint *pt_iter = NULL;
gint i, j;
p2tr_triangle_unref (new_tri);
}
+ /* Now finally unref the points we added into the map */
+ g_hash_table_iter_init (&iter, point_map);
+ while (g_hash_table_iter_next (&iter, NULL, (gpointer*)&pt_iter))
+ p2tr_point_unref (pt_iter);
g_hash_table_destroy (point_map);
return rmesh;
p2tr_mesh_new_point (P2trMesh *self,
const P2trVector2 *c)
{
- P2trPoint *pt = p2tr_point_new (c);
+ return p2tr_mesh_new_point2 (self, c->x, c->y);
+}
+
+P2trPoint*
+p2tr_mesh_new_point2 (P2trMesh *self,
+ gdouble x,
+ gdouble y)
+{
+ P2trPoint *pt = p2tr_point_new2 (x, y);
pt->mesh = self;
p2tr_mesh_ref (self);
return pt;
}
-P2trPoint*
-p2tr_mesh_new_point2 (P2trMesh *self,
- gdouble x,
- gdouble y)
-{
- P2trVector2 c;
- c.x = x;
- c.y = y;
- return p2tr_mesh_new_point (self, &c);
-}
-
P2trEdge*
p2tr_mesh_new_edge (P2trMesh *self,
P2trPoint *start,