view.hpp 729 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. #include "physics.hpp"
  11. using namespace std;
  12. class QtView:public QOpenGLWidget{
  13. protected:
  14. Geometry* geometry;
  15. public:
  16. QtView(Geometry* geometry);
  17. void setGeometry(Geometry* geometry);
  18. void initializeGL();
  19. void paintGL();
  20. void resizeGL(int x,int h);
  21. void drawTriangle(size_t ix1,size_t iz1,size_t ix2,size_t iz2,size_t ix3,size_t iz3);
  22. virtual double getP(size_t ix,size_t iz)=0;
  23. void setColor(size_t ix,size_t iz);
  24. };
  25. inline
  26. QtView::QtView(Geometry* _geometry):QOpenGLWidget(){
  27. geometry=_geometry;
  28. }
  29. #endif