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
8 class Object;
9
10 class ObjectsBVH
11{
12 public:
13 static ObjectsBVH *create();
14 public:
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
Object
Definition Object.hpp:12
ObjectsBVH
Definition BVH.hpp:11
ObjectsBVH::select
virtual Object * select(const Point_2 &, int z) const =0
ObjectsBVH::select
virtual void select(std::set< Object * > &, const Bbox_2 &, uint zmin=0, uint zmax=~0u) const =0
Point_25
Definition Geometry.hpp:131