00001 #ifndef _SM_PATHSMOOTHINGRANDOMNODEPAIR_H_ 00002 #define _SM_PATHSMOOTHINGRANDOMNODEPAIR_H_ 00003 00004 #include <vector> 00005 #include "smoothers\SmootherBase.h" 00006 00007 //============================================================================= 00008 class SM_PathSmoothingRandomNodePair : virtual public SmootherBase 00009 { 00010 public: 00011 SM_PathSmoothingRandomNodePair(); 00012 virtual ~SM_PathSmoothingRandomNodePair(); 00013 00014 virtual void Smooth(); 00015 00016 protected: 00017 double Distance( const Configuration& conf1, const Configuration& conf2) const; 00018 int Random(const int min, const int max) const; 00019 void UpdatePoints(const int index1, const int index2); 00020 00021 std::vector<Configuration> m_Points; 00022 }; 00023 //============================================================================= 00024 #endif