C++ main module for emicrom Package  1.0
EMM_Kd.h
Go to the documentation of this file.
1 #ifndef EMM_Kd_H
2 #define EMM_Kd_H
3 
4 #include "EMM_DistanceFunction.h"
5 
15 
17 
18 
20 
21  // ATTRIBUTES
22 
23 private:
24 
25 
26 
27 protected:
28  // METHODS
29 
30  // CONSTRUCTORS
31 
34  EMM_Kd(void) {
35  }
36 
37 
38 
39  // DESTRUCTORS
40 
41 
44  virtual ~EMM_Kd(void) {
45  }
46 private:
47 
48  // CONSTRUCTORS
49 
50 public:
51 
52 
53 
54 
60  virtual tReal computeFunction(const tUSInt& dim,const tReal x[]) {
61  return analyticIntegration(x[0],x[1],x[2]);
62  }
63 
64 protected:
71  virtual tReal analyticIntegration(const tReal& x,const tReal& y,const tReal& z) const=0;
72 
73 
74 
75 
76 
77 
78 
79 
80 
81 };
82 
83 #endif
DEFINE_SVPTR(EMM_Kd)
virtual tReal analyticIntegration(const tReal &x, const tReal &y, const tReal &z) const =0
compute the function with analytic integration
virtual ~EMM_Kd(void)
destroy the class
Definition: EMM_Kd.h:44
#define tUSInt
Definition: types.h:28
EMM_Kd(void)
create the class
Definition: EMM_Kd.h:34
SP_OBJECT(EMM_Kd)
virtual tReal computeFunction(const tUSInt &dim, const tReal x[])
compute the function at the point x of size dim
Definition: EMM_Kd.h:60
This class create a distance function.
Definition: EMM_DistanceFunction.h:16
This class create the integration of Laplacian inverse EMM_LI in [0,1]x[0,1]x[0,1].
Definition: EMM_Kd.h:16
#define tReal
Definition: types.h:118
DEFINE_SPTR(EMM_Kd)