+++ /dev/null
-#ifndef DistCalc_h\r
-#define DistCalc_h\r
-\r
-typedef float dist_t;\r
-const dist_t BIG_DIST = (dist_t) 1e29;\r
-\r
-class DistFunc;\r
-\r
-class DistCalc\r
- {\r
-public:\r
- virtual void CalcDistRange(unsigned i, dist_t Dist[]) const = 0;\r
- virtual unsigned GetCount() const = 0;\r
- virtual unsigned GetId(unsigned i) const = 0;\r
- virtual const char *GetName(unsigned i) const = 0;\r
- };\r
-\r
-class DistCalcDF : public DistCalc\r
- {\r
-public:\r
- void Init(const DistFunc &DF);\r
- virtual void CalcDistRange(unsigned i, dist_t Dist[]) const;\r
- virtual unsigned GetCount() const;\r
- virtual unsigned GetId(unsigned i) const;\r
- virtual const char *GetName(unsigned i) const;\r
-\r
-private:\r
- const DistFunc *m_ptrDF;\r
- };\r
-\r
-class DistCalcMSA : public DistCalc\r
- {\r
-public:\r
- void Init(const MSA &msa, DISTANCE Distance);\r
- virtual void CalcDistRange(unsigned i, dist_t Dist[]) const;\r
- virtual unsigned GetCount() const;\r
- virtual unsigned GetId(unsigned i) const;\r
- virtual const char *GetName(unsigned i) const;\r
-\r
-private:\r
- const MSA *m_ptrMSA;\r
- DISTANCE m_Distance;\r
- };\r
-\r
-#endif // DistCalc_h\r