From: Barak Itkin Date: Fri, 18 May 2012 13:37:38 +0000 (+0300) Subject: Add both edges to a mesh (self and mirror), and allow new points to be added to a... X-Git-Tag: p2tc-0.1.0~72 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e000fad01a6b88feccae111ba1907219bb2cbd78;p=poly2tri-c Add both edges to a mesh (self and mirror), and allow new points to be added to a mesh by two-coordinates --- diff --git a/refine/mesh.c b/refine/mesh.c index 4ccd7c5..a252ade 100644 --- a/refine/mesh.c +++ b/refine/mesh.c @@ -36,6 +36,17 @@ p2tr_mesh_new_point (P2trMesh *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, @@ -46,6 +57,8 @@ p2tr_mesh_new_edge (P2trMesh *self, p2tr_hash_set_insert (self->edges, ed); p2tr_edge_ref (ed); + p2tr_hash_set_insert (self->edges, ed->mirror); + p2tr_edge_ref (ed->mirror); return ed; } @@ -74,7 +87,6 @@ p2tr_mesh_new_triangle (P2trMesh *self, p2tr_hash_set_insert (self->triangles, tr); p2tr_triangle_ref (tr); - return tr; } diff --git a/refine/mesh.h b/refine/mesh.h index 3d620cb..ed2cd27 100644 --- a/refine/mesh.h +++ b/refine/mesh.h @@ -22,6 +22,10 @@ P2trMesh* p2tr_mesh_new (void); P2trPoint* p2tr_mesh_new_point (P2trMesh *mesh, const P2trVector2 *c); +P2trPoint* p2tr_mesh_new_point2 (P2trMesh *mesh, + gdouble x, + gdouble y); + P2trEdge* p2tr_mesh_new_edge (P2trMesh *mesh, P2trPoint *start, P2trPoint *end, @@ -100,4 +104,4 @@ P2trTriangle* p2tr_mesh_find_point_local2 (P2trMesh *self, gdouble *u, gdouble *v); -#endif \ No newline at end of file +#endif