use an element buffer for rendering

This commit is contained in:
2021-10-03 11:43:55 +02:00
parent e56eed0a16
commit b3d4899546
9 changed files with 99 additions and 75 deletions

View File

@ -1,23 +1,39 @@
#ifndef UTIL_H
#define UTIL_H
#include "my_mesh.h"
template <typename Mesh>
class HalfedgeLoopRange {
MyMesh &mesh;
const HalfedgeHandle &start;
Mesh &mesh;
const typename Mesh::HalfedgeHandle &start;
public:
HalfedgeLoopRange(MyMesh &mesh, const HalfedgeHandle &start)
HalfedgeLoopRange(Mesh &mesh, const typename Mesh::HalfedgeHandle &start)
:mesh(mesh), start(start) {}
MyMesh::HalfedgeLoopIter begin() {
typename Mesh::HalfedgeLoopIter begin() {
return mesh.hl_begin(start);
}
MyMesh::HalfedgeLoopIter end() {
typename Mesh::HalfedgeLoopIter end() {
return mesh.hl_end(start);
}
};
template <typename Mesh>
class ConstHalfedgeLoopRange {
Mesh &mesh;
const typename Mesh::HalfedgeHandle &start;
public:
ConstHalfedgeLoopRange(Mesh &mesh, const typename Mesh::HalfedgeHandle &start)
:mesh(mesh), start(start) {}
typename Mesh::HalfedgeLoopIter begin() {
return mesh.chl_begin(start);
}
typename Mesh::HalfedgeLoopIter end() {
return mesh.chl_end(start);
}
};
#endif