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)