PCB Environment 2
Loading...
Searching...
No Matches
BVH.hpp
1
2#ifndef GYM_PCB_BVH_H
3#define GYM_PCB_BVH_H
4
5#include "Geometry.hpp"
6#include <set>
7
8class Object;
9
11{
12public:
13 static ObjectsBVH *create();
14public:
15 virtual ~ObjectsBVH() { }
16
20 virtual void select(std::set<Object *>&, const Bbox_2&, uint zmin = 0, uint zmax = ~0u) const = 0;
21
25 virtual Object *select(const Point_2&, int z) const = 0;
26
27 Object *select(const Point_25 &x) const { return select(x.xy(), x.z()); }
28
29 virtual void insert(Object&) = 0;
30};
31
32#endif // GYM_PCB_BVH_H
Definition Object.hpp:12
Definition BVH.hpp:11
virtual Object * select(const Point_2 &, int z) const =0
virtual void select(std::set< Object * > &, const Bbox_2 &, uint zmin=0, uint zmax=~0u) const =0
Definition Geometry.hpp:131