Next version of JABA
[jabaws.git] / binaries / src / muscle / distfunc.h
1 #ifndef DistFunc_h\r
2 #define DistFunc_h\r
3 \r
4 class DistFunc\r
5         {\r
6 public:\r
7         DistFunc();\r
8         virtual ~DistFunc();\r
9 \r
10 public:\r
11         virtual void SetCount(unsigned uCount);\r
12         virtual void SetDist(unsigned uIndex1, unsigned uIndex2, float dDist);\r
13 \r
14         void SetName(unsigned uIndex, const char szName[]);\r
15         void SetId(unsigned uIndex, unsigned uId);\r
16         const char *GetName(unsigned uIndex) const;\r
17         unsigned GetId(unsigned uIndex) const;\r
18 \r
19         virtual float GetDist(unsigned uIndex1, unsigned uIndex2) const;\r
20         virtual unsigned GetCount() const;\r
21 \r
22         void LogMe() const;\r
23 \r
24 protected:\r
25         unsigned VectorIndex(unsigned uIndex, unsigned uIndex2) const;\r
26         unsigned VectorLength() const;\r
27 \r
28 private:\r
29         unsigned m_uCount;\r
30         unsigned m_uCacheCount;\r
31         float *m_Dists;\r
32         char **m_Names;\r
33         unsigned *m_Ids;\r
34         };\r
35 \r
36 #endif  // DistFunc_h\r