20#ifndef _TYRE_CONTACT_OBSERVER_H_
21#define _TYRE_CONTACT_OBSERVER_H_
23#include "mbsim/observers/mechanical_link_observer.h"
24#include <mbsim/utils/openmbv_utils.h>
25#include <openmbvcppinterface/frame.h>
35 std::vector<std::shared_ptr<OpenMBV::Frame>> openMBVContactFrame;
37 std::shared_ptr<OpenMBVInteractionArrow> ombvNormalForce, ombvLongitudinalForce, ombvLateralForce, ombvOverturningMoment, ombvRollingResistanceMoment, ombvAligningMoment;
38 std::vector<std::shared_ptr<OpenMBV::Arrow>> normalForceArrow, longitudinalForceArrow, lateralForceArrow, overturningMomentArrow, rollingResistanceMomentArrow, aligningMomentArrow;
43 void init(
InitStage stage,
const InitConfigSet &config)
override;
45 void initializeUsingXML(xercesc::DOMElement *element)
override;
47 void setOpenMBVContactPoints(
const std::shared_ptr<OpenMBV::Frame> &frame) {
48 openMBVContactFrame[0]=frame;
52 void setOMBVNormalForce(
const std::shared_ptr<OpenMBVInteractionArrow> &arrow) { ombvNormalForce=arrow; }
53 void setOMBVLongitudinalForce(
const std::shared_ptr<OpenMBVInteractionArrow> &arrow) { ombvLongitudinalForce=arrow; }
54 void setOMBVLateralForce(
const std::shared_ptr<OpenMBVInteractionArrow> &arrow) { ombvLateralForce=arrow; }
55 void setOMBVOverturningMoment(
const std::shared_ptr<OpenMBVInteractionArrow> &arrow) { ombvOverturningMoment=arrow; }
56 void setOMBVRollingResistanceMoment(
const std::shared_ptr<OpenMBVInteractionArrow> &arrow) { ombvRollingResistanceMoment=arrow; }
57 void setOMBVAligningMoment(
const std::shared_ptr<OpenMBVInteractionArrow> &arrow) { ombvAligningMoment=arrow; }
InitStage
The stages of the initialization.
Definition: element.h:62
std::string name
name of element
Definition: element.h:260
Definition: mechanical_link_observer.h:33
static std::shared_ptr< CreateType > create()
namespace MBSim
Definition: bilateral_constraint.cc:30