MVSim
Lightweight simulator for 2.5D vehicles and robots
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
mvsim::FrictionBase Class Referenceabstract

#include <FrictionBase.h>

Inheritance diagram for mvsim::FrictionBase:
Inheritance graph
[legend]
Collaboration diagram for mvsim::FrictionBase:
Collaboration graph
[legend]

Classes

struct  TFrictionInput
 

Public Types

using Ptr = std::shared_ptr< FrictionBase >
 

Public Member Functions

 FrictionBase (VehicleBase &my_vehicle)
 
virtual mrpt::math::TVector2D evaluate_friction (const FrictionBase::TFrictionInput &input) const =0
 
bool hasLogger () const
 
void setLogger (const std::weak_ptr< CSVLogger > &logger)
 

Static Public Member Functions

static FrictionBase::Ptr factory (VehicleBase &parent, const rapidxml::xml_node< char > *xml_node)
 

Protected Attributes

Worldworld_
 
VehicleBasemyVehicle_
 
std::optional< std::weak_ptr< CSVLogger > > logger_
 

Detailed Description

Virtual base class for all friction models

Member Function Documentation

◆ evaluate_friction()

virtual mrpt::math::TVector2D mvsim::FrictionBase::evaluate_friction ( const FrictionBase::TFrictionInput input) const
pure virtual

Evaluates the net force on this wheel (in vehicle local coordinates). Refer to the manual for the theorical model.

Implemented in mvsim::WardIagnemmaFriction, mvsim::EllipseCurveMethod, and mvsim::DefaultFriction.

◆ factory()

static FrictionBase::Ptr mvsim::FrictionBase::factory ( VehicleBase parent,
const rapidxml::xml_node< char > *  xml_node 
)
static

Class factory: Creates a friction object from XML description of type "<friction>...</friction>".


The documentation for this class was generated from the following file: