00001 /* 00002 * CoTanPotentialFunctions.hpp 00003 * 00004 * Created on: Sep 10, 2012 00005 * Author: mriedel 00006 */ 00007 00008 #ifndef COTANPOTENTIALFUNCTIONS_HPP_ 00009 #define COTANPOTENTIALFUNCTIONS_HPP_ 00010 00011 #include <telekyb_defines/telekyb_defines.hpp> 00012 00013 #include <telekyb_calculus/Potentials/PotentialFunction.hpp> 00014 00015 namespace TELEKYB_NAMESPACE { 00016 00017 class CoTanRepulsiveGradient : public PotentialFunction { 00018 00019 public: 00020 CoTanRepulsiveGradient(const std::string& potentialFunctionName_); 00021 CoTanRepulsiveGradient(const std::string& potentialFunctionName_, 00022 double tPotFuncZeroD_, double tPotFuncInfD_, double tPotFuncSatValue_, double tPotFuncGain_); 00023 00024 double getPotentialImpl(double d) const; 00025 }; 00026 00027 00028 class CoTanAttractiveGradient : public PotentialFunction { 00029 00030 public: 00031 CoTanAttractiveGradient(const std::string& potentialFunctionName_); 00032 CoTanAttractiveGradient(const std::string& potentialFunctionName_, 00033 double tPotFuncZeroD_, double tPotFuncInfD_, double tPotFuncSatValue_, double tPotFuncGain_); 00034 00035 double getPotentialImpl(double d) const; 00036 }; 00037 00038 } /* namespace telekyb */ 00039 #endif /* COTANPOTENTIALFUNCTIONS_HPP_ */