IJKPartitionTree.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #pragma once
  2. #if defined(___1989)
  3. #undef ___1989
  4. #endif
  5. #include "ThirdPartyHeadersBegin.h"
  6. #include <iterator>
  7. #include <boost/geometry.hpp>
  8. #include <boost/geometry/geometries/box.hpp>
  9. #include <boost/geometry/geometries/point.hpp>
  10. #include <boost/geometry/index/rtree.hpp>
  11. #include "ThirdPartyHeadersEnd.h"
  12. #if defined(___1989)
  13. #undef ___1989
  14. #endif
  15. #define ___1989 (-1)
  16. #include "IJK.h"
  17. #include "ItemAddress.h"
  18. namespace tecplot
  19. {
  20. namespace ___3933
  21. {
  22. int const RTREE_PAGE_SIZE = 8;
  23. typedef boost::geometry::model::point<int64_t, 3, boost::geometry::cs::cartesian> ___1853;
  24. typedef boost::geometry::model::box<___1853> ___1855;
  25. typedef std::pair<___1855, tecplot::___2090::___2980> ___1864;
  26. class ___1863 : public boost::geometry::index::rtree<___1864, boost::geometry::index::quadratic<RTREE_PAGE_SIZE>>
  27. {
  28. public:
  29. ___1863() {}
  30. explicit ___1863(std::vector<___1864> const &___2981) : boost::geometry::index::rtree<___1864, boost::geometry::index::quadratic<RTREE_PAGE_SIZE>>(___2981) {}
  31. void ___13(___2090::___2980 ___2977, ___1844 const &___2474, ___1844 const &___2364)
  32. {
  33. ___1853 ___2478(___2474.i(), ___2474.___2105(), ___2474.___2134());
  34. ___1853 ___2372(___2364.i(), ___2364.___2105(), ___2364.___2134());
  35. insert(std::make_pair(___1855(___2478, ___2372), ___2977));
  36. }
  37. bool find(___1844 const &___2474, ___1844 const &___2364, std::vector<___1864> &___2099)
  38. {
  39. REQUIRE(___2099.empty());
  40. ___1853 ___2478(___2474.i(), ___2474.___2105(), ___2474.___2134());
  41. ___1853 ___2372(___2364.i(), ___2364.___2105(), ___2364.___2134());
  42. query(boost::geometry::index::intersects(___1855(___2478, ___2372)), std::back_inserter(___2099));
  43. return !___2099.empty();
  44. }
  45. };
  46. }
  47. }