public void	DrawDelaunayTri(Graphics g, int w, int h)
  {
    /* Pointers to vertices, edges, faces. */
    cVertex  v;
    cEdge    e;
    cFace    f;
    /* Counters for Euler's formula. */
    int 	V = 0, E = 0 , F = 0;
    /* Note: lowercase==pointer, uppercase==counter. */
    
    /* Vertices. */
    v = list.head;
    do {                                 
      if( v.mark ) V++;           
      v = v.next;
    } while ( v != list.head );
 
    /* Faces. */
    /* visible faces are printed as PS output */
    f = flist.head;
    do {
      ++F;                              
      f  = f .next;
    } while ( f  != flist.head );
    System.out.println("\nFaces:\tF = "+F);
    System.out.println("Visible faces only:");
    do {           
      /* Print face only if it is lower */
      if ( f. lower )
      {
	g.setColor(Color.blue);
	if(flist.n >= 2) {
	  g.drawLine(f.vertex[0].v.x, f.vertex[0].v.y,
		     f.vertex[1].v.x, f.vertex[1].v.y);
	  g.drawLine(f.vertex[1].v.x, f.vertex[1].v.y,
		     f.vertex[2].v.x, f.vertex[2].v.y);
	  g.drawLine(f.vertex[2].v.x, f.vertex[2].v.y,
		     f.vertex[0].v.x, f.vertex[0].v.y);
	}
      }
      f = f.next;
    } while ( f != flist.head );    

    System.out.println("\nVertices:\tV = "+ V);
    System.out.println("index:\tx\ty\tz");
    do {
      g.setColor(Color.black);
      Font font = new Font("Helvetica", Font.PLAIN, 12);
      g.setFont(font);
      g.drawString(Integer.toString(v.vnum), 
		   v.v.x - (int)1.5*w, v.v.y - (int)1.5*h);
      g.setColor(Color.blue);
      g.fillOval(v.v.x - (int)(w/2), v.v.y - (int)(h/2), w, h);
      v = v.next;
    } while ( v != list.head );  
  }