]> granicus.if.org Git - poly2tri-c/commitdiff
Add both edges to a mesh (self and mirror), and allow new points to be added to a...
authorBarak Itkin <lightningismyname@gmail.com>
Fri, 18 May 2012 13:37:38 +0000 (16:37 +0300)
committerBarak Itkin <lightningismyname@gmail.com>
Fri, 18 May 2012 13:37:38 +0000 (16:37 +0300)
refine/mesh.c
refine/mesh.h

index 4ccd7c5668d827c5626186fc23c9935278c1f756..a252adec0bc27983714d60aabd2db685e779df73 100644 (file)
@@ -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;
 }
 
index 3d620cbe9abe74372875c91f4350bb5011c9300d..ed2cd272b7a0ea0fc2f4b0044f447f2e9a0bf6c2 100644 (file)
@@ -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