17 #ifndef SDF_SURFACE_HH_
18 #define SDF_SURFACE_HH_
20 #include <gz/math/Vector3.hh>
21 #include <gz/utils/ImplPtr.hh>
30 inline namespace SDF_VERSION_NAMESPACE {
59 GZ_UTILS_IMPL_PTR(dataPtr)
78 public:
double Mu()
const;
86 public:
double Mu2()
const;
94 public:
const gz::math::Vector3d &
Fdir1()
const;
98 public:
void SetFdir1(
const gz::math::Vector3d &_fdir);
123 GZ_UTILS_IMPL_PTR(dataPtr)
160 public:
const gz::math::Vector3d &
Fdir1()
const;
165 public:
void SetFdir1(
const gz::math::Vector3d &_fdir);
182 GZ_UTILS_IMPL_PTR(dataPtr)
249 GZ_UTILS_IMPL_PTR(dataPtr)
300 GZ_UTILS_IMPL_PTR(dataPtr)
357 GZ_UTILS_IMPL_PTR(dataPtr)
BulletFriction information for a friction.
Definition: Surface.hh:128
double Friction() const
Get the friction coefficient in first friction pyramid direction.
sdf::ElementPtr Element() const
Get a pointer to the SDF element that was used during load.
const gz::math::Vector3d & Fdir1() const
Get the first friction pyramid direction in collision-fixed reference.
double RollingFriction() const
Get the rolling friction coefficient.
void SetFriction(double _friction)
Set friction coefficient in first friction pyramid direction.
Errors Load(ElementPtr _sdf)
Load BulletFriction friction based on a element pointer.
void SetRollingFriction(double _friction)
Set the rolling friction coefficient.
void SetFdir1(const gz::math::Vector3d &_fdir)
Set the first friction pyramid direction in collision-fixed reference.
double Friction2() const
Get the friction coefficient in second friction pyramid direction.
void SetFriction2(double _friction)
Set friction coefficient in second friction pyramid direction.
BulletFriction()
Default constructor.
Friction information for a surface.
Definition: Surface.hh:254
const sdf::BulletFriction * BulletFriction() const
Get the associated BulletFriction object.
const sdf::ODE * ODE() const
Get the associated ODE object.
void SetODE(const sdf::ODE &_ode)
Set the associated ODE object.
Errors Load(ElementPtr _sdf)
Load the friction based on a element pointer.
void SetBulletFriction(const sdf::BulletFriction &_bullet)
Set the associated BulletFriction object.
const sdf::Torsional * Torsional() const
Get the torsional friction.
sdf::ElementPtr Element() const
Get a pointer to the SDF element that was used during load.
void SetTorsional(const sdf::Torsional &_torsional)
Set the torsional friction.
Friction()
Default constructor.
ODE information for a friction.
Definition: Surface.hh:64
double Slip1() const
Get the slip1.
double Mu2() const
Get the Mu2.
void SetFdir1(const gz::math::Vector3d &_fdir)
Set fdir.
void SetMu(double _mu)
Set Mu.
double Mu() const
Set the Mu.
ODE()
Default constructor.
void SetSlip2(double _slip2)
Set Slip2.
double Slip2() const
Get the Slip2.
void SetSlip1(double _slip1)
Set Slip1.
sdf::ElementPtr Element() const
Get a pointer to the SDF element that was used during load.
void SetMu2(double _mu2)
Set Mu2.
const gz::math::Vector3d & Fdir1() const
Get the fdir.
Errors Load(ElementPtr _sdf)
Load the ODE based on a element pointer.
Surface information for a collision.
Definition: Surface.hh:305
const sdf::Friction * Friction() const
Get the associated friction object.
sdf::ElementPtr ToElement() const
Create and return an SDF element filled with data from this surface.
void SetContact(const sdf::Contact &_contact)
Set the associated contact object.
sdf::ElementPtr ToElement(sdf::Errors &_errors) const
Create and return an SDF element filled with data from this surface.
Surface()
Default constructor.
void SetFriction(const sdf::Friction &_friction)
Set the associated friction object.
sdf::ElementPtr Element() const
Get a pointer to the SDF element that was used during load.
Errors Load(ElementPtr _sdf)
Load the surface based on a element pointer.
const sdf::Contact * Contact() const
Get the associated contact object.
Torsional friction.
Definition: Surface.hh:187
Errors Load(ElementPtr _sdf)
Load torsional friction based on a element pointer.
void SetPatchRadius(double _radius)
Set the radius of contact patch surface.
void SetODESlip(double _slip)
Set the ODE force dependent slip for torsional friction.
double ODESlip() const
Get the ODE force dependent slip for torsional friction.
sdf::ElementPtr Element() const
Get a pointer to the SDF element that was used during load.
void SetSurfaceRadius(double _radius)
Set the surface radius on the contact point.
double SurfaceRadius() const
Get the surface radius on the contact point.
bool UsePatchRadius() const
Get whether the patch radius is used to calculate torsional friction.
void SetUsePatchRadius(bool _usePatchRadius)
Set whether to use patch radius for torsional friction calculation.
Torsional()
Default constructor.
double Coefficient() const
Get the torsional friction coefficient.
double PatchRadius() const
Get the radius of contact patch surface.
void SetCoefficient(double _coefficient)
Set the torsional friction coefficient.
std::vector< Error > Errors
A vector of Error.
Definition: Types.hh:95
std::shared_ptr< Element > ElementPtr
Definition: Element.hh:55
namespace for Simulation Description Format parser
Definition: Actor.hh:35
#define SDFORMAT_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system_util.hh:25