ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
triangle_painter.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #pragma once
9 
10 #include <QtCore>
11 #include <QtOpenGL>
12 
13 #include "ui/point_painter.h"
14 
15 namespace colmap {
16 
18 public:
21 
22  struct Data {
23  Data() {}
25  const PointPainter::Data& p2,
26  const PointPainter::Data& p3)
27  : point1(p1), point2(p2), point3(p3) {}
28 
32  };
33 
34  void Setup();
35  void Upload(const std::vector<TrianglePainter::Data>& data);
36  void Render(const QMatrix4x4& pmv_matrix);
37 
38 private:
39  QOpenGLShaderProgram shader_program_;
40  QOpenGLVertexArrayObject vao_;
41  QOpenGLBuffer vbo_;
42 
43  size_t num_geoms_;
44 };
45 
46 } // namespace colmap
void Upload(const std::vector< TrianglePainter::Data > &data)
void Render(const QMatrix4x4 &pmv_matrix)
GraphType data
Definition: graph_cut.cc:138
Data(const PointPainter::Data &p1, const PointPainter::Data &p2, const PointPainter::Data &p3)