#ifndef QUICKHULL2DTEST_H
#define QUICKHULL2DTEST_H

#include <gobj.h>
#include <point.h>

/*!
\brief 2D quickhull test and program tools.
*/
class quickhull2Dtest
{
  /** Global graphics stream. */
  gobjContainer xGraphics;
public:

  /** Default keyboard handler - ESC to quit. */
  static void keyboard01(unsigned char key, int x, int y);
  /** Displays the gobj::global with double buffering. */
  static void display01();

  /** Generate 2D points and find and display the convex hull. */
  void test02(int argc, char** argv);
  /** Generate random 2D points and print. */ 
  static void test03();
  /** Generate random 2D points and write to file. 
      $./main prog=4 numPoints=10 pointsfile=data01.txt */
  static void test04(int argc, char** argv);
  /** Calculate the convex hull, given a file of points writes 
      the new file hull as indexes to the points.
      $./main prog=5 pointsfile=data.txt hullfile=hull.txt */
  static void test05(int argc, char** argv);
  /** Display the convex hull and points by reading in the 
      points and hull indexes.
      $./main prog=6 pointfile=data.txt hullfile=hull.txt */
  void test06(int argc, char** arg);

};


#endif



