Newer
Older
#pragma once
#include "triangle.h"
#include <memory>
#include <vector>
#include "box.h"
int level;
std::vector<Triangle> triangles;
QuadTree(Box b, int level);
void collectUniqueTriangleFragments(const Triangle &t, std::set<int> &seen, std::vector<Triangle> &result) const;
void split();
void addNonIntersectingTriangle(const Triangle &t);
std::vector<Triangle> visibleSurface(std::set<int> &seen) const;
public:
QuadTree(Box b);
void addTriangle(const Triangle &triangle);
std::vector<Triangle> visibleSurface() const;
// returns triangle id
int pointIntersection(const Point &p) const;