00001 /*+-------------------------------------------------------------------------+ 00002 | MultiVehicle simulator (libmvsim) | 00003 | | 00004 | Copyright (C) 2014 Jose Luis Blanco Claraco (University of Almeria) | 00005 | Copyright (C) 2017 Borys Tymchenko (Odessa Polytechnic University) | 00006 | Distributed under GNU General Public License version 3 | 00007 | See <http://www.gnu.org/licenses/> | 00008 +-------------------------------------------------------------------------+ */ 00009 00010 #pragma once 00011 00012 #include <mvsim/FrictionModels/FrictionBase.h> 00013 #include <vector> 00014 #include <Box2D/Dynamics/Joints/b2FrictionJoint.h> 00015 00016 namespace mvsim 00017 { 00021 class DefaultFriction : public FrictionBase 00022 { 00023 DECLARES_REGISTER_FRICTION(DefaultFriction) 00024 public: 00025 DefaultFriction( 00026 VehicleBase& my_vehicle, const rapidxml::xml_node<char>* node); 00027 00028 // See docs in base class. 00029 virtual void evaluate_friction( 00030 const FrictionBase::TFrictionInput& input, 00031 mrpt::math::TPoint2D& out_result_force_local) const; 00032 00033 private: 00034 double m_mu; 00035 double m_C_damping; 00036 }; 00037 }