xmsgeom  1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
GmPtSearch.h
Go to the documentation of this file.
1 #pragma once
2 //------------------------------------------------------------------------------
8 //------------------------------------------------------------------------------
9 
10 //----- Included files ---------------------------------------------------------
11 #include <boost/dynamic_bitset.hpp>
14 #include <xmscore/points/ptsfwd.h>
15 #include <xmscore/stl/vector.h>
16 
17 //----- Forward declarations ---------------------------------------------------
18 
19 //----- Namespace declaration --------------------------------------------------
20 namespace xms
21 {
22 //----- Constants / Enumerations -----------------------------------------------
23 
24 //----- Structs / Classes ------------------------------------------------------
28 {
29 public:
30  static BSHP<GmPtSearch> New(bool a_2dSearch);
31  virtual ~GmPtSearch();
32 
34  virtual void PtsToSearch(BSHP<VecPt3d> a_pts) = 0;
35 
36  virtual void VectorThatGrowsToSearch(BSHP<VecPt3d> a) = 0;
37  virtual bool AddPtToVectorIfUnique(const Pt3d& a_, double a_tol, int& a_ptIdx) = 0;
38 
39  virtual void NearestPtsToPt(const Pt3d& a_pt,
40  int a_numPtsToFind,
41  bool a_quad_oct_Search,
42  VecInt& a_nearest) const = 0;
43 
44  virtual void NearestPtsToPtInRtree(int a_ptIdx,
45  const Pt3d& a_pt,
46  int a_numPtsToFind,
47  bool a_quad_oct_Search,
48  VecInt& a_nearest) const = 0;
49 
50  virtual bool PtInRTree(const Pt3d& a_pt, const double a_tol) = 0;
51 
52  virtual void PtsWithinDistanceToPtInRtree(int a_ptIdx,
53  const Pt3d& a_pt,
54  double a_dist,
55  VecInt& a_nearest) const = 0;
56 
57  virtual void SetActivity(boost::dynamic_bitset<size_t>& a_activity) = 0;
58  virtual boost::dynamic_bitset<size_t> GetActivity() = 0;
59 
60  virtual const BSHP<VecPt3d> GetPointsPtr() const = 0;
61  virtual bool Is2D() const = 0;
62  virtual std::string ToString() const = 0;
63 
64 private:
67 protected:
68  GmPtSearch();
69 };
70 //----- Function prototypes ----------------------------------------------------
71 }
Spatial index for searching points.
Definition: GmPtSearch.h:27
std::vector< int > VecInt
#define XM_DISALLOW_COPY_AND_ASSIGN(TypeName)
static BSHP< GmPtSearch > New(bool a_2dSearch)
Creates an PtSearch class.
Definition: GmPtSearch.cpp:236