openModeller
Version 1.4.0
|
00001 00028 #ifndef _MINIMUM_DISTANCEHH_ 00029 #define _MINIMUM_DISTANCEHH_ 00030 00031 #include <openmodeller/om.hh> 00032 00033 /****************************************************************/ 00034 /************************* Minimum Distance *********************/ 00035 00040 class MinimumDistance : public AlgorithmImpl 00041 { 00042 public: 00043 00046 MinimumDistance(); 00047 virtual ~MinimumDistance(); 00048 00049 int initialize(); 00050 int iterate(); 00051 int done() const; 00052 00053 Scalar getValue( const Sample& x ) const; 00054 int getConvergence( Scalar *val ); 00055 00056 protected: 00057 virtual void _getConfiguration( ConfigurationPtr& ) const; 00058 virtual void _setConfiguration( const ConstConfigurationPtr& ); 00059 00060 private: 00061 00062 bool _done; 00063 00066 Scalar findDist( const Sample& x, const Sample& pnt ) const; 00067 00068 Scalar _dist; 00069 00070 bool _hasCategorical; 00071 int _numLayers; 00072 Sample _isCategorical; 00073 00074 std::vector<Sample> _envPoints; 00075 00076 }; 00077 00078 00079 #endif 00080