C# Class Tao.Ode.Ode.dSurfaceParameters

Datei anzeigen Open project: WolfgangSt/axiom

Public Properties

Property Type Description
bounce dReal
bounce_vel dReal
mode int
motion1 dReal
motion2 dReal
mu dReal
mu2 dReal
slip1 dReal
soft_cfm dReal
soft_erp dReal

Public Methods

Method Description
dSurfaceParameters ( int _mode, dReal _mu, dReal _mu2, dReal _bounce, dReal _bounce_vel, dReal _soft_erp, dReal _soft_cfm, dReal _motion1, dReal _motion2, dReal _slip1, dReal _slip2 ) : System

Method Details

dSurfaceParameters() public method

public dSurfaceParameters ( int _mode, dReal _mu, dReal _mu2, dReal _bounce, dReal _bounce_vel, dReal _soft_erp, dReal _soft_cfm, dReal _motion1, dReal _motion2, dReal _slip1, dReal _slip2 ) : System
_mode int
_mu dReal
_mu2 dReal
_bounce dReal
_bounce_vel dReal
_soft_erp dReal
_soft_cfm dReal
_motion1 dReal
_motion2 dReal
_slip1 dReal
_slip2 dReal
return System

Property Details

bounce public_oe property

Restitution parameter (0..1). 0 means the surfaces are not bouncy at all, 1 is maximum bouncyness. This is only set if the corresponding flag is set in mode.
public dReal bounce
return dReal

bounce_vel public_oe property

Restitution parameter (0..1). 0 means the surfaces are not bouncy at all, 1 is maximum bouncyness. This is only set if the corresponding flag is set in mode.
public dReal bounce_vel
return dReal

mode public_oe property

Contact flags. This must always be set. This is a combination of one or more of the following flags: dContactMu2 If not set, use mu for both friction directions. If set, use mu for friction direction 1, use mu2 for friction direction 2. dContactFDir1 If set, take fdir1 as friction direction 1, otherwise automatically compute friction direction 1 to be perpendicular to the contact normal (in which case its resulting orientation is unpredictable). dContactBounce If set, the contact surface is bouncy, in other words the bodies will bounce off each other. The exact amount of bouncyness is controlled by the bounce parameter. dContactSoftERP If set, the error reduction parameter of the contact normal can be set with the soft_erp parameter. This is useful to make surfaces soft. dContactSoftCFM If set, the constraint force mixing parameter of the contact normal can be set with the soft_cfm parameter. This is useful to make surfaces soft. dContactMotion1 If set, the contact surface is assumed to be moving independently of the motion of the bodies. This is kind of like a conveyor belt running over the surface. When this flag is set, motion1 defines the surface velocity in friction direction 1. dContactMotion2 The same thing as above, but for friction direction 2. dContactSlip1 Force-dependent-slip (FDS) in friction direction 1. dContactSlip2 Force-dependent-slip (FDS) in friction direction 2. dContactApprox0 TODO: Document me dContactApprox1_1 Use the friction pyramid approximation for friction direction 1. If this is not specified then the constant-force-limit approximation is used (and mu is a force limit). dContactApprox1_2 Use the friction pyramid approximation for friction direction 2. If this is not specified then the constant-force-limit approximation is used (and mu is a force limit). dContactApprox1 Equivalent to both dContactApprox1_1 and dContactApprox1_2.
public int mode
return int

motion1 public_oe property

Surface velocity in friction directions 1 (in m/s). Only set if the corresponding flags are set in mode.
public dReal motion1
return dReal

motion2 public_oe property

Surface velocity in friction directions 1 (in m/s). Only set if the corresponding flags are set in mode.
public dReal motion2
return dReal

mu public_oe property

Coulomb friction coefficient. This must be in the range 0 to dInfinity. 0 results in a frictionless contact, and dInfinity results in a contact that never slips. Note that frictionless contacts are less time consuming to compute than ones with friction, and infinite friction contacts can be cheaper than contacts with finite friction. This must always be set.
public dReal mu
return dReal

mu2 public_oe property

Optional Coulomb friction coefficient for friction direction 2 (0..dInfinity). This is only set if the corresponding flag is set in mode.
public dReal mu2
return dReal

slip1 public_oe property

The coefficients of force-dependent-slip (FDS) for friction directions 1 and 2. These are only set if the corresponding flags are set in mode. FDS is an effect that causes the contacting surfaces to side past each other with a velocity that is proportional to the force that is being applied tangentially to that surface. Consider a contact point where the coefficient of friction mu is infinite. Normally, if a force f is applied to the two contacting surfaces, to try and get them to slide past each other, they will not move. However, if the FDS coefficient is set to a positive value k then the surfaces will slide past each other, building up to a steady velocity of k*f relative to each other. Note that this is quite different from normal frictional effects: the force does not cause a constant acceleration of the surfaces relative to each other - it causes a brief acceleration to achieve the steady velocity. This is useful for modeling some situations, in particular tires. For example consider a car at rest on a road. Pushing the car in its direction of travel will cause it to start moving (i.e. the tires will start rolling). Pushing the car in the perpendicular direction will have no effect, as the tires do not roll in that direction. However - if the car is moving at a velocity v, applying a force f in the perpendicular direction will cause the tires to slip on the road with a velocity proportional to f*v (Yes, this really happens). To model this in ODE set the tire-road contact parameters as follows: set friction direction 1 in the direction that the tire is rolling in, and set the FDS slip coefficient in friction direction 2 to k*v, where v is the tire rolling velocity and k is a tire parameter that you can choose based on experimentation. Note that FDS is quite separate from the sticking/slipping effects of Coulomb friction - both modes can be used together at a single contact point.
public dReal slip1
return dReal

soft_cfm public_oe property

Contact normal ``softness'' parameter. This is only set if the corresponding flag is set in mode.
public dReal soft_cfm
return dReal

soft_erp public_oe property

Contact normal ``softness'' parameter. This is only set if the corresponding flag is set in mode.
public dReal soft_erp
return dReal