xmsinterp  1.0
InterpNatNeigh.h
Go to the documentation of this file.
1 #pragma once
2 //------------------------------------------------------------------------------
7 //------------------------------------------------------------------------------
8 
9 //----- Included files ---------------------------------------------------------
10 #include <vector>
13 #include <xmscore/points/ptsfwd.h>
14 #include <xmscore/stl/vector.h>
15 
16 //----- Forward declarations ---------------------------------------------------
17 
18 //----- Namespace declaration --------------------------------------------------
19 namespace xms
20 {
21 class NodalFunc;
22 class GmTriSearch;
23 //----- Constants / Enumerations -----------------------------------------------
24 
25 //----- Structs / Classes ------------------------------------------------------
29 {
30 public:
31  static boost::shared_ptr<InterpNatNeigh> New(const std::vector<Pt3d>& a_pts,
32  const std::vector<int>& a_tris,
33  const std::vector<float>& a_scalar,
34  GmTriSearch* a_triSearch);
35  virtual ~InterpNatNeigh();
36 
38  virtual float InterpToPt(const Pt3d& a_pt) = 0;
39  virtual void GetNeighbors(int a_ptIdx, std::vector<int>& a_neigh) = 0;
40  virtual void SetNodalFunc(boost::shared_ptr<NodalFunc> a_) = 0;
41  virtual void RecalcNodalFunc() = 0;
42  virtual void SetBlendWeights(bool a_) = 0;
43  virtual std::string ToString() = 0;
44 
45 private:
48 
49 protected:
51 };
52 //----- Function prototypes ----------------------------------------------------
53 }
virtual ~InterpNatNeigh()
Destructor.
InterpNatNeigh()
Constructor.
static boost::shared_ptr< InterpNatNeigh > New(const std::vector< Pt3d > &a_pts, const std::vector< int > &a_tris, const std::vector< float > &a_scalar, GmTriSearch *a_triSearch)
Creates a Natural Neighbor Interpolation class.
#define XM_DISALLOW_COPY_AND_ASSIGN(TypeName)
Class that performs natural neighbor interpolation.