23         using Ptr = std::shared_ptr<FrictionBase>;
    62         void setLogger(
const std::weak_ptr<CSVLogger>& logger);
    79 #define DECLARES_REGISTER_FRICTION(CLASS_NAME)  \    80         DECLARES_REGISTER_CLASS2(                   \    81                 CLASS_NAME, FrictionBase, VehicleBase&, \    82                 const rapidxml::xml_node<char>*)    84 #define REGISTER_FRICTION(TEXTUAL_NAME, CLASS_NAME)                  \    86                 TClassFactory_friction, classFactory_friction, TEXTUAL_NAME, \ 
std::shared_ptr< FrictionBase > Ptr
GLenum GLenum GLenum input
std::weak_ptr< CSVLogger > m_logger
std::shared_ptr< FrictionBase > FrictionBasePtr
FrictionBase(VehicleBase &my_vehicle)
virtual void evaluate_friction(const FrictionBase::TFrictionInput &input, mrpt::math::TPoint2D &out_result_force_local) const =0
TClassFactory_friction classFactory_friction
ClassFactory< FrictionBase, VehicleBase &, const rapidxml::xml_node< char > * > TClassFactory_friction
void setLogger(const std::weak_ptr< CSVLogger > &logger)
VehicleBase & m_my_vehicle
static FrictionBase::Ptr factory(VehicleBase &parent, const rapidxml::xml_node< char > *xml_node)