xmsinterp  1.0
InterpBase.h
Go to the documentation of this file.
1 #pragma once
2 //------------------------------------------------------------------------------
7 //------------------------------------------------------------------------------
8 
9 //----- Included files ---------------------------------------------------------
12 #include <xmscore/misc/DynBitset.h>
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 //----- Constants / Enumerations -----------------------------------------------
22 
23 //----- Structs / Classes ------------------------------------------------------
24 
29 {
30 public:
32  virtual void SetPtsTris(BSHP<VecPt3d> a_, BSHP<VecInt> a_tris) = 0;
33  virtual void SetScalars(const float* a_scalar, size_t a_n) = 0;
34  virtual void SetScalars(BSHP<VecFlt> a_scalar) = 0;
35  virtual float InterpToPt(const Pt3d& a_pt) = 0;
36  virtual void InterpToPts(const VecPt3d& a_pts, VecFlt& a_scalars) = 0;
37  virtual void SetPtActivity(DynBitset& a_activity) = 0;
38  // bitset is number of triangles in length not numtri*3 like the tris array
39  virtual void SetTriActivity(DynBitset& a_activity) = 0;
40  virtual void SetTrunc(double a_sMax, double a_sMin) = 0;
41 
42  virtual const BSHP<VecPt3d> GetPts() const = 0;
43  virtual const BSHP<VecInt> GetTris() const = 0;
44  virtual const BSHP<VecFlt> GetScalars() const = 0;
45  virtual DynBitset GetPtActivity() const = 0;
46  virtual DynBitset GetTriActivity() const = 0;
47 
48  virtual std::string ToString() const = 0;
49  virtual ~InterpBase() {}
50 
51 protected:
52  InterpBase() {}
53 
54 private:
57 };
58 //----- Function prototypes ----------------------------------------------------
59 }
std::vector< float > VecFlt
boost::dynamic_bitset< size_t > DynBitset
#define XM_DISALLOW_COPY_AND_ASSIGN(TypeName)
Base class for interpolation methods.
Definition: InterpBase.h:28
std::vector< Pt3d > VecPt3d