view.hpp 660 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #ifndef QT_VIEW_HPP
  2. #define QT_VIEW_HPP
  3. #include <iostream>
  4. #include <QWidget>
  5. #include <QPainter>
  6. #include <QOpenGLWidget>
  7. #include <QMouseEvent>
  8. #include <GL/glut.h>
  9. #include "geometry.hpp"
  10. using namespace std;
  11. class QtView:public QOpenGLWidget{
  12. protected:
  13. Geometry* geometry;
  14. public:
  15. QtView();
  16. void setGeometry(Geometry* geometry);
  17. void initializeGL();
  18. void paintGL();
  19. void resizeGL(int x,int h);
  20. void drawTriangle(size_t ix1,size_t iz1,size_t ix2,size_t iz2,size_t ix3,size_t iz3);
  21. };
  22. inline
  23. QtView::QtView():QOpenGLWidget(){
  24. geometry=nullptr;
  25. }
  26. inline void
  27. QtView::setGeometry(Geometry* _geometry){
  28. geometry=_geometry;
  29. }
  30. #endif