MULTIBODY SIMULATION SOFTWARE - API documentation

chrono::ChContactRolling Class Reference

#include <CHcontactRolling.h>

Inheritance diagram for chrono::ChContactRolling:

Inheritance graph
[legend]
Collaboration diagram for chrono::ChContactRolling:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 ChContactRolling (collision::ChCollisionModel *mmodA, collision::ChCollisionModel *mmodB, const ChLcpVariablesBody *varA, const ChLcpVariablesBody *varB, const ChFrame<> *frameA, const ChFrame<> *frameB, const ChVector<> &vpA, const ChVector<> &vpB, const ChVector<> &vN, double mdistance, float *mreaction_cache, float mfriction, float rollfriction, float spinningfriction)
virtual void Reset (collision::ChCollisionModel *mmodA, collision::ChCollisionModel *mmodB, const ChLcpVariablesBody *varA, const ChLcpVariablesBody *varB, const ChFrame<> *frameA, const ChFrame<> *frameB, const ChVector<> &vpA, const ChVector<> &vpB, const ChVector<> &vN, double mdistance, float *mreaction_cache, float mfriction, float rollfriction, float spinningfriction)
virtual ChVector GetContactTorque ()
virtual float GetRollingFriction ()
virtual void SetRollingFriction (float mf)
virtual float GetSpinningFriction ()
virtual void SetSpinningFriction (float mf)
void InjectConstraints (ChLcpSystemDescriptor &mdescriptor)
void ConstraintsBiReset ()
void ConstraintsBiLoad_C (double factor=1., double recovery_clamp=0.1, bool do_clamp=false)
void ConstraintsFetch_react (double factor)
void ConstraintsLiLoadSuggestedSpeedSolution ()
void ConstraintsLiLoadSuggestedPositionSolution ()
void ConstraintsLiFetchSuggestedSpeedSolution ()
void ConstraintsLiFetchSuggestedPositionSolution ()

Protected Attributes

ChLcpConstraintTwoRollingN Rx
ChLcpConstraintTwoRollingT Ru
ChLcpConstraintTwoRollingT Rv
ChVector react_torque


Detailed Description

Class representing an unilateral contact constraint, used by ChContactContainer, that has also rolling friction.

Constructor & Destructor Documentation

chrono::ChContactRolling::ChContactRolling ( collision::ChCollisionModel mmodA,
collision::ChCollisionModel mmodB,
const ChLcpVariablesBody varA,
const ChLcpVariablesBody varB,
const ChFrame<> *  frameA,
const ChFrame<> *  frameB,
const ChVector<> &  vpA,
const ChVector<> &  vpB,
const ChVector<> &  vN,
double  mdistance,
float *  mreaction_cache,
float  mfriction,
float  rollfriction,
float  spinningfriction 
)

< pass A vars

< pass B vars

< pass A frame

< pass B frame

< pass coll.point on A

< pass coll.point on B

< pass coll.normal, respect to A

< pass the distance (negative for penetration)

< pass the pointer to array of N,U,V reactions: a cache in contact manifold. If not available=0.

< friction coeff.

Parameters:
mmodA  model A
mmodB  model B
varA  pass A vars
varB  pass B vars
frameA  pass A frame
frameB  pass B frame
vpA  pass coll.point on A
vpB  pass coll.point on B
vN  pass coll.normal, respect to A
mdistance  pass the distance (negative for penetration)
mreaction_cache  pass the pointer to array of N,U,V reactions: a cache in contact manifold. If not available=0.
mfriction  friction coeff.
rollfriction  rolling friction
spinningfriction  spinning friction


Member Function Documentation

void chrono::ChContactRolling::Reset ( collision::ChCollisionModel mmodA,
collision::ChCollisionModel mmodB,
const ChLcpVariablesBody varA,
const ChLcpVariablesBody varB,
const ChFrame<> *  frameA,
const ChFrame<> *  frameB,
const ChVector<> &  vpA,
const ChVector<> &  vpB,
const ChVector<> &  vN,
double  mdistance,
float *  mreaction_cache,
float  mfriction,
float  rollfriction,
float  spinningfriction 
) [virtual]

Initialize again this constraint.

< pass A vars

< pass B vars

< pass A frame

< pass B frame

< pass coll.point on A

< pass coll.point on B

< pass coll.normal, respect to A

< pass the distance (negative for penetration)

< pass the pointer to array of N,U,V reactions: a cache in contact manifold. If not available=0.

< friction coeff.

Parameters:
mmodA  model A
mmodB  model B
varA  pass A vars
varB  pass B vars
frameA  pass A frame
frameB  pass B frame
vpA  pass coll.point on A
vpB  pass coll.point on B
vN  pass coll.normal, respect to A
mdistance  pass the distance (negative for penetration)
mreaction_cache  pass the pointer to array of N,U,V reactions: a cache in contact manifold. If not available=0.
mfriction  friction coeff.
rollfriction  rolling friction
spinningfriction  spinning friction

virtual ChVector chrono::ChContactRolling::GetContactTorque (  )  [virtual]

Get the contact force, if computed, in contact coordinate system.

virtual float chrono::ChContactRolling::GetRollingFriction (  )  [virtual]

Get the contact rolling friction coefficient.

virtual void chrono::ChContactRolling::SetRollingFriction ( float  mf  )  [virtual]

Set the contact rolling friction coefficient.

virtual float chrono::ChContactRolling::GetSpinningFriction (  )  [virtual]

Get the contact spinning friction coefficient.

virtual void chrono::ChContactRolling::SetSpinningFriction ( float  mf  )  [virtual]

Set the contact spinning friction coefficient.


CHRONO::ENGINE
C++ library for multibody simulation, (C) Alessandro Tasora
This API documentation has been generated on 17 Jul 2009 by Doxygen