/****************************************************************************
** GMAF - The Geometry Modeling Algorithms Framework
**
** Created : 07172000
**
** Copyright (C) 2000 by Le-Jeng Shiue.  All rights reserved.
**
****************************************************************************/
#include <GL/gl.h>

class gmafDataStructureManager;
class gmafPCCM;

class pccmOGL {
public:
  pccmOGL(int argc, char** argv);
  ~pccmOGL();

  void execPCCM();

  void static display();
  void static mainloop();
  void static mouse(int button, int state, int x, int y);
  void static mouseMove(int x, int y);
protected:
  void initOGL();
  void initPCCM(int argc, char** argv);

  gmafDataStructureManager* mpDSManager;
  gmafPCCM* mpPCCM;
    
};

struct Rotation {
  GLfloat x;
  GLfloat y;
  Rotation() { x = y = 0.0; }
};

struct Translation {
  GLfloat x; 
  GLfloat y; 
  GLfloat z; 
  Translation() { x = y = z = 0.0; }
};

struct Scale {
  GLfloat x; 
  GLfloat y; 
  GLfloat z; 
  Scale() { x = y = z = 1.0; }
};
