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/basic_types.h> 00013 00014 namespace mvsim 00015 { 00016 class Simulable 00017 { 00018 public: 00021 virtual void simul_pre_timestep(const TSimulContext& context) 00022 { /* default: do nothing*/} 00023 00026 virtual void simul_post_timestep(const TSimulContext& context) 00027 { /* default: do nothing*/} 00028 00032 virtual void apply_force( 00033 double fx, double fy, double local_ptx = 0.0, double local_pty = 0.0) 00034 { /* default: do nothing*/ 00035 } 00036 }; 00037 }