#ifndef TRIANGLES3TDISPLAYTEST_H
#define TRIANGLES3TDISPLAYTEST_H

#include <vector>
using namespace std;

#include <print.h>

/** 
\brief Test class for triangle3Tdisplay classes.
*/
class triangles3Tdisplaytest
{
  /** Global graphics container.*/
  gobjContainer xGraphics;
public:  

  /** Constructor. */
  triangles3Tdisplaytest();

  /** Test faceted triangles display. */
  void test01(int argc, char** argv);
  /** Test PN point and normal triangles. */
  void test02(int argc, char** argv);
  /** Test PNC point, normal and color at each vertex triangles. */
  void test03(int argc, char** argv);
  /** Test PN point and normal triangles with a color at 
      each triangle. */
  void test04(int argc, char** argv);
  /** Test PCpertriangle where each triangle is drawn in a color. */
  void test05(int argc, char** argv);

  /** Faceted cylinder pipe. */
  void pipe01
  (
    uintc n,
    vector<point3<uint> > & tri,
    vector<point3<double> > & pts
  );
  /** Cylinder pipe with normals. */
  void pipe02
  (
    uintc n,
    vector<point3<uint> > & tri,
    vector<point3<double> > & pts,
    vector<point3<double> > & normals 
  );

  /** Redraw the scene. */
  static void display01();
  /** ESC key to quit application. */
  static void keyboard01(unsigned char key, int x, int y);
};


#endif



